Feed Forward and Backward Run in Deep Convolution Neural Network 论文阅读笔记

徒手实现CNN:综述论文详解卷积网络的数学本质


Abstract

对卷积网络的数学本质和过程仍然不是太清楚,这也就是本论文的目的。

  • 我们使用灰度图作为输入信息图像,
  • ReLU 和 Sigmoid 激活函数构建卷积网络的非线性属性,
  • 交叉熵损失函数用于计算预测值与真实值之间的距离。

1 Introduction


2 Architecture

这里写图片描述

2.1 卷积层

reference
* [CNN学习笔记]http://blog.csdn.net/u010067397/article/details/78881614

  • 卷积层是一组平行的特征图(feature map),它通过在输入图像上滑动不同的卷积核并执行一定的运算而组成。
  • 一张特征图中的所有元素都是通过一个卷积核计算得出的,也即一张特征图共享了相同的权重和偏置项。

这里写图片描述

2.2 激活函数

  • 激活函数定义了给定一组输入后神经元的输出。

这里写图片描述

2.3 池化层

reference
深度学习笔记5:池化层的实现

  • 池化层是指下采样层,它把前层神经元的一个集群的输出与下层单个神经元相结合。
  • 池化层有助于减少参数的数量并避免过拟合。

这里写图片描述

2.4 全连接层

2.5 损失函数

  • 损失函数用于测量模型性能以及实际值 y_i 和预测值 y hat 之间的不一致性。

这里写图片描述

2.5.1 均方误差

  • MSE 不好的地方在于,当它和 Sigmoid 激活函数一起出现时,可能会出现学习速度缓慢(收敛变慢)的情况。

这里写图片描述

2.5.2 Mean Squared Logarithmic Error

这里写图片描述

2.5.3 L2 Loss function

这里写图片描述

2.5.4 L1 Loss function

这里写图片描述

2.5.5 Mean Absolute Error

这里写图片描述

2.5.6 Mean Absolute Percentage Error

这里写图片描述

  • 缺点: 对于类标为0的点不能用。

2.5.7 交叉熵

这里写图片描述


3 卷积网络的学习

3.1 前馈推断过程

这里写图片描述

  • 卷积网络的前馈传播过程可以从数学上解释为将输入值与随机初始化的权重相乘,然后每个神经元再加上一个初始偏置项,最后对所有神经元的所有乘积求和以馈送到激活函数中,激活函数对输入值进行非线性变换并输出激活结果。

这里写图片描述

I 为图像, K为卷积核。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

3.2 反馈过程

reference
神经网络之梯度下降与反向传播(上)
神经网络之梯度下降与反向传播(下)

一下推导都是0-1预测

  • 在反馈的过程中,损失函数的梯度计算:最后一层的首先计算,第一层的最后计算。
  • 一个层的偏导数在计算另一个层的时由于链式法则会被重用,这使得计算梯度在每一层更加有效。
  • 模型的表现随着Loss的减小而变得更好。

在反馈的过程中,我们需要更新 W, b,K这些参数。

这里写图片描述

对最后一层偏导数,也就是输出求导

这里写图片描述

对 W 求导

这里写图片描述

这里写图片描述


4 Conclusion

  • 我们介绍了CNN结构, 包括各种激活函数,损失函数。
  • 一步一步解释前馈和反馈过程。
  • 为了数学公式的方便,我们使用灰度图、卷积核步长设置为1,补边为0,使用非线性形式在中间层,最后一层使用ReLU和sigmoid激活函数。
  • 使用交叉熵评估模型。
  • 大量优化和正则方式最小化损失,增加学习率或者避免过拟合
  • 本文尝试使用数学角度解释CNN。

猜你喜欢

转载自blog.csdn.net/u010067397/article/details/78857768