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

Lecture 6 convolutional neural network(卷积神经网络)

Image identification

输入比如100*100的图像,三层,每层上数字代表深度,按100*100*3输入,如果输出维度是1000,那么如果全部考虑需要3*10^7,如何简化?

  1. convolution:原理:只根据图片的一小部分就能识别,比如鸟嘴,那么:选一个小区域(receptive field)只关注一个小范围有什么,receptive field可以有大有小,可以重叠,但是通常typical setting:{all channel、kernel size较小,=3、一个field对应一组神经元,移动距离stride,}

 李宏毅机器学习——卷积神经网络_第1张图片

 

问题:比如鸟嘴在不同位置,那么每一个field都有对应甄别鸟嘴的神经元,那么可以共享→2

2.  parameter sharing:神经元里weight都是一样的,但是输入不同

李宏毅机器学习——卷积神经网络_第2张图片

 常见的共享方法:

李宏毅机器学习——卷积神经网络_第3张图片

 

总结:receptive field + parameter sharing=CNN

fully connected 可能会有overfitting问题,弹性高, Receptive field会使弹性变小,加入parameter sharing会更小,bias变大,但是CNN对于特定的问题(图像识别)很好

第二个方式解释 CNN

从filter的角度,假设filter里面参数已知(实际上需要梯度下降找到)把filter分别对应到图像里,一步一步移动

李宏毅机器学习——卷积神经网络_第4张图片

李宏毅机器学习——卷积神经网络_第5张图片

 

Multiple convolution layers

第一次过滤后得到新的“image”,如果64个filter就有64层,可以进行多次convolution

 李宏毅机器学习——卷积神经网络_第6张图片

 李宏毅机器学习——卷积神经网络_第7张图片

 Net work 够深,就可以甄别足够大的范围(上图)

李宏毅机器学习——卷积神经网络_第8张图片

 

3.  Pooling-把图片变小,去边(里面没有参数,没有要learn的东西)

Filter里面得到的数组2*2一组,选取最大的做代表(max pooling)

李宏毅机器学习——卷积神经网络_第9张图片

 李宏毅机器学习——卷积神经网络_第10张图片

 应用:下围棋AlphaGo

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