深度学习的大致流程
概念
线性问题:低维的线性不可分可转换为高维的线性可分
大致过程:前向传播通过激活函数获取输出,损失函数计算损失, 达到条件则停止,否则后向传播更新参数从而减小损失,再次前向传播
模型
线性模型(Liner Regression):连续值的预测
二分类模型(Logistic Regression):判断预测,输出1或2个值
多分类模型(Classification):分类预测
生成模型(Generative Model):生成不包含在训练数据集中的新数据
标准化数据(normalization)
归一化:$x_i=\frac{x_i-x_{min}}{x-x_{max}}$
BN(Batch normalization):
- 将当前数据转换为标准正态分布,进行数据归一化
- $x_i^\prime=\gamma x_i + \beta$,还原数据分布
激活函数
为网络提供非线性建模能力
sigmoid:$f(x)=\frac{1}{1+e^{-x}}$将数据压缩到0到1之间
tanH:$f(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}$将数据压缩到-1到1之间
relu:$f(x)=\begin{cases}0,&\text{x<0}\\x,&\text{x>0}\end{cases}$
激活函数之前使用BN算法的必要性:sigmoid和tanH等两端趋于饱和的激活函数需要$\gamma$进行数据缩放,缓解梯度弥散; relu等线性转折类激活函数需要$\beta$进行偏置,否则会出现均值为固定值的现象
损失函数
均方差:一般在meta-learning中使用
交叉熵:一般在分类问题中使用
优化方法
梯度下降法:标准梯度下降(GD)、批量梯度下降(BGD)、随机梯度下降(SGD)
动量优化法:Momentum、NAG
自适应学习率优化法:AdaGrad、RMSProp、AdaDelta、Adam
文档信息
- 本文作者:Weikang Yu
- 本文链接:https://AccelYu.github.io/2020/07/29/deep_learning01/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)