卷积神经网络(CNN)学习笔记

本文是吴恩达深度学习课程关于卷积神经网络的学习笔记,涵盖了卷积、padding、步长、池化层等内容。卷积神经网络通过参数共享和稀疏连接减少参数数量,提高模型对平移不变性的捕获能力,防止过拟合。
摘要由CSDN通过智能技术生成

前言

本篇文章是吴恩达《深度学习》课程《卷积神经网络——第一周》的学习笔记。

计算机视觉

计算机视觉面临的一个挑战是图像的数据量巨大。
pic1.png
上述图片是计算机视觉领域的典型应用:图像分类、风格转换、目标检测。
pic2.png
如上图所示,神经网络第一层参数矩阵巨大,具有三十亿个参数。在这种情况下,难以获取足够的数据来防止神经网络发生过拟合和竞争需求。要处理包含三十亿参数的神经网络,巨大的内存需求让人不能接受。

边缘检测示例:

需要注意的两个点

  • filter过滤器在论文中有时也称作kernel核。
  • 在数学中,“*”就是卷积的标准标志,Python中表示乘法或者是元素乘法。
    pic3.png
    pic4.png
    pic5.png

更多边缘检测内容:

pic6.png
pic7.png
pic8.png
Sobel filter的好处是增加了中间一行元素的权重,也就是处在图像中间的像素点,这使得结果的鲁棒性会更高一点。
Scharr filter也是垂直边缘检测滤波器,旋转90度得到水平边缘检测器。
上图下半部分显示,把滤波器当成参数学习,也许胜过其他滤波器,能够检测多角度边缘或者可以学习一些更低级的特征。

Padding

pic9.png
在没有padding时,输入图像维度为 n ∗ n n*n nn,滤波器维度为 f ∗ f f*f ff,那么输出图像维度为 ( n − f + 1 ) ∗ ( n − f + 1 ) (n-f+1)*(n-f+1) (nf+1)(nf+1)。缺点在于:每做一次卷积操作,图像就会缩小。
另外,如上图所示,原图中在角落或者边缘区域的像素点,在输出中采用较少,也就是说filter很少触碰到它们,意味着丢掉了图像边缘位置的信息。
若边缘填充像素个数表示成p,那么输出图像的维度为 ( n + 2 p − f + 1 ) ∗ ( n + 2 p − f + 1 ) (n+2p-f+1)*(n+2p-f+1) (n+2pf+1)(n+2pf+1)。如上图所示,在padding之后,左侧填充绿色像素点的区域(原图左上角像素)影响了右侧填充绿色的像素点。这样,角落或者边缘区域像素点在输出中采用较少的这一缺点就被削弱了。
选择多少像素进行填充,通常由两种方式,分别叫做Valid卷积和Same卷积,如下图所示:
pic10.png
Valid卷积意味着不填充。
Same卷积意味着填充后你的输出图像的大小和输入图像的大小是一样的。Same卷积中padding的大小 p = f − 1 2 p = \frac{f-1}{2}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值