神经网络与深度学习笔记——卷积神经网络的原理

神经网络与深度学习笔记系列一共有五个专题,分别是
第一章使用神经网络识别手写数字——梯度下降算法是什么。主要介绍了神经网络的基础例如感知器激活函数等概念,最主要介绍了梯度下降算法。
第二章反向传播算法如何工作——反向传播算法原理。主要介绍了反向传播算法的工作原理。

第三章改变神经网络的学习方法——代价函数,规范化,过拟合。主要介绍了不同的代价函数,以及规范化等对传统代价函数的改造。

第四章深度神经网络为何难以训练——梯度消失和爆炸。主要介绍了梯度消失问题和梯度爆炸问题。

第五章深度学习

5.1卷积神经网络的原理

    卷积神经网络(Convolutional Neural Networks, CNN)是一种特别适应于识别图像的网络结构,它包括局部感受野(local receptive fields)共享权重(shared weights)池化层(pooling)

    局部感受野:和全连接网络不同同,对于卷积神经网络,网络的输入是图像,例如MNIST数据中,网络的输入就是一个28×28的图像,如下图:

    但是和全连接层不同的是,这里的输入神经元并不是每一个都和隐藏层的神经元相连,而是每一个区域,例如一个5×5的区域,这个区域内的输入神经元和隐藏层的一个隐藏神经元相连接,也就是说,下一层的每一个隐藏神经元都只负责输入层的一个固定区域的输入神经元,如下图所示:

    这个输入图像的区域,例如上例中的这个5×5的区域,就被叫做是局部感受野。隐藏层的每一个隐藏神经元,将每一个和它相连的连接学习一个权重,同时也学习一个总的偏置。我们从图像的左上角开始,按照一定的跨距移动局部感受野,一直到局部感受野遍历整幅图像为止。跨距可以自己设置,这里跨距设置为1时局部感受野的移动情况为:

    共享权重和偏置:我们已经知道,每一个隐藏层的神经元具有一个偏置和连接到它的局部感受野的5×5的权重,权重和偏置共享的概念在于,对于同一层的隐藏单元而言,我们将采用相同的偏置和5×5的权重。这意味着同一层的隐藏神经元检测完全相同的特征,只是在输入图像的不同位置上进行检测。我们有时候把输入层到隐藏层的映射称为一个特征映射。我们把定义特征映射的权重称为共享权重,把这种方式定义的偏置称为共享偏置,共享权重和偏置经常被称为一个卷积核或者滤波器。一个完整的卷积层由几个不同的特征映射所构成,如图:

    池化层:池化层要做的是简化从卷积层输出的信息。池化层的每一个神经元都概括了前一层的一个区域。一个常见的池化方式成为最大值池化(max-pooling)。最大值池化就是从前一层的特定区域中输出其中最大的激活值。例如对一个2×2的区域进行最大值池化的示意图为:

    对上面三个特征映射都进行最大值池化的示意图为:

    池化的方式不仅有最大值池化,还有一种常用的池化方式叫做L2池化(L2 pooling)。这里取一个区域中所有神经元的激活值的平方和的平方根。

    最后将卷积层,池化层综合到一起,最后连接输出层的一个识别MNIST手写数字的神经网络结构为:

    这里需要说明一点的是,最后的输出层与最后的池化层之间采用的是全连接的方式,即池化层的每一个神经元都与输出层的每一个神经元进行连接。

5.2其他网络模型

循环神经网络RNN:RNN是某种体现出了随时间动态变化的特性的网络。RNN在处理时序数据上效果很好。

长短时记忆网络LSTM:主要是为了解决RNN的梯度不稳定而诞生。

5.3神经网路的未来

发布了23 篇原创文章 · 获赞 6 · 访问量 1332

猜你喜欢

转载自blog.csdn.net/weixin_42194139/article/details/105207840
今日推荐