01-深度学习引言

书籍

深度学习框架

  • pytorch

  • tensorflow

采用pytorch做笔记

什么是机器学习?

机器学习是对研究问题进行建模假设,利用计算机从训练数据中学习得到模型参数,并最终对数据进行预测和分析的一门学科,其基础主要是归纳和统计。

什么是深度学习?

深度学习是一种实现机器学习的技术,是机器学习重要的分支。其源于人工神经网络的研究,深度学习的模型结构是一种含多隐层的神经网络并且通过组合底层特征形成更加抽象的高层特征。

深度学习网络往往包含多个中间层即隐藏层,且网络结构要更复杂一些。

什么是神经网络?

神经网络是一个具有相连节点层的计算模型,其分层结构与大脑中的神经元网络结构相似。神经网络可通过数据进行学习,因此,可训练其识别模式、对数据分类和预测未来事件。

神经网络的一部分神奇之处在于,当你实现它之后,你要做的只是输入$x$,就能得到输出$y$。

神经网络的类别:

  • 标准神经网络

  • 卷积神经网络

  • 循环神经网络

  • 递归神经网络

  • 生成式神经网络

  • 长短时记忆网络

神经网络的运行过程

神经网络的运行过程分为三步: 前向传播、 反向传播、 参数更新, 通过不断迭代进行 模型参数的更新, 以从数据中挖掘出有价值的信息, 如图所示。

  1. 前向传播: 给定输入和参数, 逐层向前进行计算, 最后输出预测结果;

  2. 反向传播: 基于前向传播得到的预测结果, 使用损失函数得到损失值, 然后计算 相关参数的梯度, 该计算方法称为反向传播(back-propagation) , 具体的细节后面将详细 介绍;

  3. 参数更新: 使用梯度下降算法对参数进行更新, 重复上述过程, 逐步迭代, 直到 模型收敛 。

image-20210227210111418

常见激活函数

  • sigmoid函数

σ(x)=11+ex\sigma(x) = \frac{1}{1+e^{-x}}
  • tanh函数

tanh(x)=exexex+ex\tanh(x) = \frac{e^x-e^{-x}}{e^x+e^{-x}}
  • ReLU函数

ReLU(x)=max(0,x)\mathrm{ReLU}(x) = \max(0,x)
  • LeakyReLU函数

LeakyReLU(x)={xif x>0λxif x0λ>0,通常λ=0.2\mathrm{LeakyReLU}(x) = \left\{\begin{matrix}x& if\ x\gt 0\\ \lambda x& if\ x\le 0,\lambda>0,通常\lambda=0.2\end{matrix}\right.
  • PReLU函数

PReLU(x)={xif x>0αxif x0\mathrm{PReLU}(x) = \left\{\begin{matrix}x& if\ x\gt 0\\ \alpha x & if\ x\le 0\end{matrix}\right.
  • ELU函数

ELU(x)={xif x0α(ex1)if x<0\mathrm{ELU}(x) = \left\{\begin{matrix}x& if\ x\ge 0\\ \alpha (e^x-1) & if\ x\lt 0\end{matrix}\right.

常见损失函数

  • 0/1损失函数

L(y,f(x))={1,yf(x)0,y=f(x)L(y,f(x)) = \left\{\begin{align}1,y\not=f(x)\\0,y=f(x) \end{align}\right.
  • 绝对值损失函数

L(y,f(x))=yf(x)L(y,f(x)) = |y-f(x)|
  • log对数损失函数

L(y,P(yx))=logP(yx)L(y,P(y|x)) = -\log{P(y|x)}
  • 平方损失函数

L(yf(x))=N(yf(x))2L(y|f(x)) = \sum\limits_{N}(y-f(x))^2
  • 指数损失函数

L(yf(x))=eyf(x)L(y|f(x)) = e^{-yf(x)}
  • Hinge损失函数

L(y,f(x))=max(0,1yf(x))L(y,f(x)) = max(0,1-yf(x))
  • 感知损失函数

L(y,f(x))=max(0,f(x))L(y,f(x)) = max(0,-f(x))
  • 交叉熵损失函数

C=1nx[ylna+(1y)ln(1a)]C = -\frac{1}{n}\sum\limits_{x}[y\ln a+(1-y)\ln(1-a)]

配置环境

安装anaconda

image-20210222154138571

根据操作系统下载并安装Anaconda(或者mini版本Miniconda)并学会常用的几个conda命令,例如如何管理python环境、如何安装卸载包等;

安装好之后,检查环境变量是否正确添加;检查完后,创建一个新环境:

conda create -n 环境名字 python=3

比如:

conda create -n tensorflow python=3

运行新环境:

conda activate 环境名字

比如:

conda activate tensorflow

之后,安装jupyter notebook

conda install jupyter notebook

安装tensorflow

conda install tensorflow

安装pytorch

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch

最后更新于

这有帮助吗?