神经网络基本组成
(以一个30_*30_*2的图片举例子)
卷积层
卷积层:特征提取。刚刚开始我就不理解为啥卷积层光靠几行代码就能提取特征?后来通过阅读网上相关文献才得知,卷积层,甚至是整个神经网络其实就是就是一个人的思考过程,我们的大脑在观察一张图片的时候,由于能力有限,有些时候会不会“放眼看全部”,而是“一部分一部分地去看”,也就是“局部观察”,然后提取出每个“局部中比较有价值的线索”,然后将所有“线索”综合考虑,然后再分析出这张图片是什么东西。具体实现就是将一张图片转化成矩阵后,拿出你框出“局部”需要使用的工具——感受野,框出一部分图片,然后再通过“思考”——特征图的大小计算公式,得到一张10_*10_*1的、通过感受野与原图片相结合而产生的一张特征图,也就是我们“脑海中的局部图片”。
池化层
池化层:对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征。池化有平均池化和最大池化,举个例子:我设置2*2、步长为1的池化,第一步会在特征图片大矩阵中圈出一个22的小矩阵,如果是**最大池化**,那么我会在这4个元素中取最大的元素,然后将他作为他们4个的**代表**参与这场"**比赛**"、淘汰其他3个人,选出许多个代表参加“比赛”,如此反复。如果我要求输出55^1的压缩图片,那么最后剩下的就是25个“赢家”,也就是25个能真正代表这张特征图片的元素。整个(最大)池化就类似于一个淘汰赛机制。
全连接层
全连接层:连接所有的特征,将输出值送给分类器。
(图片来自B站up主霹雳吧啦Wz卷积神经网络基础视频)
全连接层类似于由很多个神经元所构成神经网络连接系统,用于传输信息。如果将一列一列的神经元用全连接层连接起来,再加上之前的卷积层和池化层,那么就可以得到一个完整的神经网络。
激活函数
激活函数的作用就是使用非线性因素更好的解决神经网络中的分类等问题。在我看来,如果没有激活函数,就好比教一个人思考问题,你教他1是1,2是2,那么如果你问他1.5是多少,好,他就傻眼了。
(一)关于硬、软饱和
对于一个激活函数f(x),存在某一个常数c,当x>c(x<c),导函数—>0,称为右(左)软饱和;存在某一个常数r,当x>r(x<r),导函数=0,称为右(左)硬饱和
(二) 常见的激活函数:
(1)sigmoid函数
(2)Tanh函数
(3)Relu函数
参考文章以及视频:
(第一次发博客,若有缺漏,敬请指教)