本文主要是介绍Convolutional layers/Pooling layers/Dense Layer 卷积层/池化层/稠密层,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Convolutional layers/Pooling layers/Dense Layer 卷积层/池化层/稠密层
Convolutional layers 卷积层
Convolutional layers, which apply a specified number of convolution filters to the image. For each subregion, the layer performs a set of mathematical operations to produce a single value in the output feature map. Convolutional layers then typically apply a ReLU activation function to the output to introduce nonlinearities into the model.
卷积层,就是使用一系列filter对图片做卷积计算,提取特征。并且典型的卷积层会使用ReLU激活函数来引入非线性因数。
卷积过程 引用自:[https://cs231n.github.io/convolutional-networks/][1]
卷积的计算过程方法如下图,也就是用filter扫描整个图片,并做wx+b计算:
计算模型 引用自:[https://cs231n.github.io/convolutional-networks/][1]
学习到这里,作为小白,又遇到了障碍:
- ReLU激活函数是什么?
- 引入非线性有什么作用?
查看了各种文章后,我得出了结论:
ReLU激活函数,它就是一个非线性函数,
引入非线性的作用:
a)减少计算 b)避免梯度消失 c)网络的稀疏性,避免过拟合。
Pooling layers 池化层
池化这个概念相对简单,类似于压缩图片。
如下图,max pool即取设定矩形里最大的值作为输出数据:
max pool 引用自:[https://cs231n.github.io/convolutional-networks/][1]
Dense(fully connected) Layer 稠密层(全连接层)
通过卷积和池化,然后得到了众多特征,稠密层的每一个节点都与这些特征节点相连构成稠密层(全连接层)。稠密层的作用就是分类。简单的说就是每一个特征节点手里握着一定的权重来决定输入是属于那个分类,最终全部特征的权重共同决定了输入所属分类的权重或概率。
总结
本文通过查阅资料,总结出其中关键的概念,浅尝则止,没有做深入探究,避免了过多不明概念对学习目标的阻碍。
References
https://cs231n.github.io/convolutional-networks/
http://brohrer.github.io/how_convolutional_neural_networks_work.html
http://blog.csdn.net/cyh_24/article/details/50593400
https://www.zhihu.com/question/29021768
https://baike.baidu.com/item/线性整流函数/20263760?fr=aladdin
https://en.wikipedia.org/wiki/Activation_function
[1]: https://cs231n.github.io/convolutional-networks/
[2]: http://brohrer.github.io/how_convolutional_neural_networks_work.html
[3]: http://blog.csdn.net/cyh_24/article/details/50593400 “激活函数”
---------------------
【转载】:https://blog.csdn.net/fenjiehuang/article/details/79247215
这篇关于Convolutional layers/Pooling layers/Dense Layer 卷积层/池化层/稠密层的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!