datawhale李宏毅机器学习——task06“卷积神经网络“

卷积神经网络也就是CNN,在图像处理上有很大用处。那为什么要用CNN呢,这种网络相比其他网络有什么得天独厚的优势吗?
拿前面提到的很经典的多层前馈神经网络来说,这个网络很重要的一点是后一层与前一层全连接。而神经元与神经元之间连接会有权重参数,这样一来,一张几百个像素点的小尺寸相片也需要几千个参数,这样一来网络太庞杂了,很可能存在冗余。
而CNN正是从这一点出发,简化原来这种全连接网络的架构。
那cnn如何简化呢?又如何确保这种简化能够完成工作呢?
以图像识别为例,图像识别是将识别照片中的所有特征点进行组合然后判断。
但是图像里的某个特征只存在于图像的某一块像素中,也就是说识别这个特征并不需要输入整张图,只需要看某一个区域就够了。其次,图像中的某个特征处于什么位置并不重要,识别这种特征的神经元应当能识别出任意位置的这种特征。最后,我们看一张图,如果这种图被下采样了(下采样也就是按照一定规律去掉一些原来的像素点)我们还是能看出来这张图就是原来的图,因此可以利用这个特点将原来的输入image尺寸变小,这样可以减少网络的参数。
datawhale李宏毅机器学习——task06“卷积神经网络“_第1张图片
CNN架构如上图所示,输入一张图片,做一次卷积,然后池化,再然后卷积-池化,卷积池化要做多少次是你自己要提前设定好的,就像之前的前馈神经网络有多少层也是自己提前设定的一样。做卷积就相当于提取特征,池化就是将图片的尺寸变小。最后将flatten的output做为输入送进全连接网络得到图像识别的结果。
卷积和全连接的区别在于原来隐藏层的一个neuron和输入层全连接,但现在一个neuron只和某些输入的pixel连接,并且其他neuron也是这样,而且同一个隐藏层的neuron与输入层的pixel连接的权重参数组是一样的,这样一来就大大精简了网络的参数。

你可能感兴趣的:(机器学习,cnn,人工智能)