李宏毅机器学习笔记-10:卷积神经网络CNN

CNN通常使用在影像辨识上面

CNN整体架构

输入Data,经过卷积(Convolution),池化(Pooling),卷积,池化…(碾平(Flatten))全连(Fully Conneted),其中卷积层,池化层的层数由自己决定
李宏毅机器学习笔记-10:卷积神经网络CNN_第1张图片

CNN—Convolution

理解下Filter,Stride,然后是卷积的过程,对于没颜色的图片,高度就是1,Filter的深度就是1,直接对应相乘得到output,对于彩色图片来说,高度是3,那么Filter的深度就是3,每层对应相乘后要对应想加。
李宏毅机器学习笔记-10:卷积神经网络CNN_第2张图片
李宏毅机器学习笔记-10:卷积神经网络CNN_第3张图片
李宏毅机器学习笔记-10:卷积神经网络CNN_第4张图片

Convolution与Fully Connected的比较

Convolution只用到9个参数,Fully Connected用到所有参数
李宏毅机器学习笔记-10:卷积神经网络CNN_第5张图片
李宏毅机器学习笔记-10:卷积神经网络CNN_第6张图片

CNN—Max Pooling

除了Max Pooling还有Average Pooling,Max Pooling就是设置好的一个区域内取最大值,Average Pooling就是取平均值

李宏毅机器学习笔记-10:卷积神经网络CNN_第7张图片
当卷积层数足够后就得到一张很小但却很深的图片,然后将其展平,后面是一个全连,再进行反向传播减小误差。最后输出10类
李宏毅机器学习笔记-10:卷积神经网络CNN_第8张图片
通过Keras实现
其实通过Padding可以让图片保持原来的大小,Padding=1,就是在图片外加一圈0,图片卷积一次后的大小跟Padding,Stride,Filter的大小有关系

李宏毅机器学习笔记-10:卷积神经网络CNN_第9张图片
李宏毅机器学习笔记-10:卷积神经网络CNN_第10张图片
李宏毅机器学习笔记-10:卷积神经网络CNN_第11张图片

你可能感兴趣的:(李宏毅机器学习笔记,深度学习)