Image Classification (卷积神经网络基础)

目录

1.激活函数

1.1.sigmoid激活函数

1.2.ReLU激活函数

2.卷积层

3.池化层

4.误差的计算

5.CrossEntropyLss交叉熵损失

5.1.针对多分类问题(softmax输出,所有输出概率和为1)

5.2.针对二分类问题(sigmoid输出,每个输出节点之间互不相干)

6.误差的反向传播

7.权重的更新 

 8.优化器

8.1.SGD优化器(Stochastic Gradient Descent)

8.2.SGD+Momentum优化器

8.3.Adagrad优化器(自适应学习率)

8.4.RMSProp优化器(自适应学习率)

8.5.Adam优化器(自适应学习率)

9.过拟合


1.激活函数

1.1.sigmoid激活函数

f(x)=\frac{1}{1+e^{-x}}

缺点:Sigmoid激活函数饱和时梯度值非常小,故网络层数较深时易出现梯度消失。

1.2.ReLU激活函数

f(x)=Max(0,x)

缺点:当反向传播过程中有一个非常大的梯度经过时,反向传播更新后可能导致权重分布中心小于0,导致该处的倒数始终为0,反向传播无法更新权重,即进入失活状态。

2.卷积层

Image Classification (卷积神经网络基础)_第1张图片

  • 目的:进行图像特征提取
  • 在卷积过程中,矩阵经卷积操作后的尺寸由以下几个因数决定:
  1. 输入图片大小W×W
  2. Filter大小F×F
  3. 步长S
  4. padding的像素数P
  • 经卷积后的矩阵尺寸大小计算公式为:N=(W-F+2P)/S+1。
  • 卷积特性:拥有局部感知机制;权值共享。

3.池化层

  • 目的:对特征图进行稀疏处理,减少数据运算量。
  • MaxPooling下采样层

Image Classification (卷积神经网络基础)_第2张图片

  •  AveragePooling下采样层

Image Classification (卷积神经网络基础)_第3张图片

  •  池化层总结:没有训练参数;只改变特征矩阵的w和h,不改变channel;一般poolsize和stride相同。

4.误差的计算

Image Classification (卷积神经网络基础)_第4张图片

 \sigma =\frac{1}{1+e^{-x}}o_{i}=\frac{e^{y_{i}}}{\sum _{j}e^{y_{j}}} 

经过SoftMax处理后所有输出节点的概率和为1,即o_{1}=\frac{e^{y_{1}}}{e^{y_{1}}+e^{y_{2}}},o_{2}=\frac{e^{y_{2}}}{e^{y_{1}}+e^{y_{2}}}

5.CrossEntropyLss交叉熵损失

5.1.针对多分类问题(softmax输出,所有输出概率和为1)

H=-\sum _{i}o_{i}^{*}log(o_{i})

5.2.针对二分类问题(sigmoid输出,每个输出节点之间互不相干)

H=-\frac{1}{N}\sum_{i=1}^{N}[o_{i}^{*}logo_{i}+(1-o_{i}^{*})log(1-o_{i})]

其中o_{i}^{*}为真实标签值,o_{i}为预测值,默认log以e为底等于ln。 

6.误差的反向传播

 Image Classification (卷积神经网络基础)_第5张图片

Image Classification (卷积神经网络基础)_第6张图片

Image Classification (卷积神经网络基础)_第7张图片

7.权重的更新 

Image Classification (卷积神经网络基础)_第8张图片在实际应用中往往不可能一次新将所有数据载入内存(算力也不够),所以只能分批次(batch)训练。若使用整个样本集进行求解,损失梯度只想全局最优方向;若使用分批次样本进行求解,损失梯度只想当前批次最优方向。

 8.优化器

8.1.SGD优化器(Stochastic Gradient Descent)

W_{i+1}=W_{i}-\alpha \cdot g(W_{i})

 其中α为学习率,g(W_{i})为i时刻对参数W_{i}的损失梯度。缺点:易受样本噪声影响;可能陷入局部最优解。

8.2.SGD+Momentum优化器

V_{i}=\eta \cdot V_{i-1}+\alpha \cdot g(W_{i}),W_{i+1}=W_{i}-V_{i}

其中α为学习率,g(W_{i})为i时刻对参数W_{i}的损失梯度,η(0.9)为动量系数。

8.3.Adagrad优化器(自适应学习率)

S_{i}=S_{i-1}+g(W_{i})\cdot g(W_{i}),W_{i+1}=W_{i}-\frac{\alpha }{\sqrt{S_{i}+\varepsilon }}\cdot g(W_{i})

其中α为学习率,g(W_{i})为i时刻对参数W_{i}的损失梯度,\varepsilon (10^{-7})为防止分母为零的小数。缺点:学习率下降的太快可能还没收敛就停止训练。

8.4.RMSProp优化器(自适应学习率)

S_{i}=\eta \cdot S_{i-1}+(1-\eta )\cdot g(W_{i})\cdot g(W_{i}),W_{i+1}=W_{i}-\frac{\alpha }{\sqrt{S_{i}+\varepsilon }}\cdot g(W_{i})

 其中α为学习率,g(W_{i})为i时刻对参数W_{i}的损失梯度,η(0.9)控制衰减速度,\varepsilon (10^{-7})

为防止分母为零的小数。

8.5.Adam优化器(自适应学习率)

m_{i}=\beta_{1} \cdot m_{i-1} +(1-\beta _{1})\cdot g(W_{i}), V_{i}=\beta _{2} \cdot V_{t-1}+(1-\beta_{2})\cdot g(W_{i})\cdot g(W_{i}), \hat{m_{i}}=\frac{m_{i}}{1-\beta_{1}^{i}},\hat{V_{i}}=\frac{V_{i}}{1-\beta_{2}^{i}},W_{i+1}=W_{i}-\frac{\alpha }{\sqrt{\hat{V_{i}}+\varepsilon }}\cdot \hat{m_{i}}

  其中α为学习率,g(W_{i})为i时刻对参数W_{i}的损失梯度,\beta _{1}(0.9),\beta _{2}(0.999)控制衰减速度,\varepsilon (10^{-7})为防止分母为零的小数。

9.过拟合

  • 特征维度过多,模型假设过于复杂,参数过多,训练数据过少,噪声过多,导致拟合的函数完美的预测训练集,但对新数据的测试集预测结果差。过度的拟合了训练数据,而没有考虑到泛化能力。
  • 解决方法:使用DropOut的方式在网络正向传播过程中随机失活一部分神经元。

你可能感兴趣的