人工智能初学- 1.3 卷积神经网络

  • 卷积知识

卷积就是:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加。

这里写图片描述

参考博客:https://blog.csdn.net/bitcarmanlee/article/details/54729807

 

  • 神经网络(NN)

下面这个是典型的神经网络三层模型:Layer L1是输入层,Layer L2是隐含层,Layer L3是隐含层

参考下面的博客可以详细知道这个模型是如何工作的:

BP 神经网络:

http://www.cnblogs.com/charlotte77/p/5629865.html

https://blog.csdn.net/fendouaini/article/details/79789440

  • 卷积神经网络(CNN)

分为三层:

  • 卷积层(Conv Layer)

举个例子,现在有一个4*4的图像,我们设计两个卷积核,看看运用卷积核后图片会变成什么样。

 

卷积核跟图像内积的过程可以看下面的动图:

0?wx_fmt=gif

  • 池化层(Pooling Layer)

通过上一层2*2的卷积核操作后,我们将原始图像由4*4的尺寸变为了3*3的一个新的图片。池化层的主要目的是通过降采样的方式,在不影响图像质量的情况下,压缩图片,减少参数。简单来说,假设现在设定池化层采用MaxPooling,大小为2*2,步长为1,取每个窗口最大的数值重新,那么图片的尺寸就会由3*3变为2*2:(3-2)+1=2。从上例来看,会有如下变换:

池化层神经网络不会改变三维矩阵的深度,但是可以缩小矩阵的大小。

通过池化层可以进一步缩小最后全连接层中节点个数,从而达到减少整个神经网络中参数的目的。

  • 全连接层(Fully Connected Layer)

到这一步,其实我们的一个完整的“卷积部分”就算完成了,如果想要叠加层数,一般也是叠加“Conv-MaxPooing",通过不断的设计卷积核的尺寸,数量,提取更多的特征,最后识别不同类别的物体。做完Max Pooling后,我们就会把这些数据“拍平”,丢到Flatten层,然后把Flatten层的output放到full connected Layer里,采用softmax对其进行分类。

 

这一部分参考博客https://www.cnblogs.com/charlotte77/p/7759802.html

 

 

具体的计算实例可以参考下面这篇文章,写的超级棒:

https://blog.csdn.net/cwcww1314/article/details/73413169

阅读更多

没有更多推荐了,返回首页