吴恩达深度学习课程笔记之卷积神经网络基本操作详解

卷积层

CNN中卷积层的作用:

CNN中的卷积层,在很多网络结构中会用conv来表示,也就是convolution的缩写。

卷积层在CNN中扮演着很重要的角色——特征的抽象和提取,这也是CNN区别于传统的ANN或SVM的重要不同。

对于图片而言,图片是一个二维度的数据,我们怎样才能通过学习图片正确的模式来对于一张图片有正确的对于图片分类呢?这个时候,有人就提出了一个观点,我们可以这样,对于所有的像素,全部都连接上一个权值,我们也分很多层,然后最后进行分类,这样也可以,但是对于一张图片来说,像素点太多,参数太多了。然后就有人提出来,我们只看一部分怎么样,就是对于一张图片来说,我们只看一个小窗口就可以了,对于其他的地方,我们也提供类似的小窗口,我们知道,当我们对图片进行卷积的时候,我们可以对图片进行很多操作,比如说图片整体模糊,或者是边缘的提取,卷积操作对于图片来说可以很好的提取到特征,而且通过BP误差的传播,我们可以根据不同任务,得到对于这个任务最好的一个参数,学习出相对于这个任务的最好的卷积核,之所以权值共享的逻辑是:如果说一个卷积核在图片的一小块儿区域可以得到很好的特征,那么在其他的地方,也可以得到很好的特征。



填充(Padding)

valid:也就是不填充。
same:在图像边缘填充,使得输入和输出大小相同。

不采用padding的后果:

  • 边缘信息采样小
  • 输出图像变小

而paddding通常可以保证卷积过程中输入和输出的维度是一样的。它还可以使图像边缘附近的帧对输出的贡献和图像中心附近的帧一样。

假设输入的图像大小为:n*n,过滤器大小为f*f,填充的大小为p,步长为s;

那么,输出的大小为

①假设步长stride大小为1,并且没有填充,则输出为:

(n−f+1)∗(n−f+1)

②假设步长stride大小为1,并且填充的大小为p,则输出为:

(n+2p−f+1)∗(n+2p−f+1)

根据以上公式可以看出,加入我们没有填充的话,输出的大小会小于输入的大小,然而在实际中,我们往往希望,输出的大小能够与输入的大小相同,于是,我们可以得到下面这个等式:

(n+2p−f+1)∗(n+2p−f+1)=n∗n

解得:

p=f−12

由以上式子可知,当f为奇数时,填充的大小也随之确定。也许你会问,难道过滤器的大小一定要为奇数吗?理论上,f为偶数也是可以的。但是在实际工程应用中,f一般会取奇数(很多情况下取3),原因如下:

  • 若为偶数,则有可能是不对称填充,显然我们不喜欢这样的操作
  • 奇数有中心像素点,便于我们定位过滤器的位置


步长(Stride)

③假设步长大小为s,并且填充的大小为p,则输出为:

⌊n+2p−fs⌋+1

需要注意的是,当结果不为整数时,我们一般采取下取整操作!



池化(Pooling):卷积层是对图像的一个邻域进行卷积得到图像的邻域特征,池化层就是使用pooling技术将小邻域内的特征点整合得到新的特征。

优点:

  • 显著减少参数数量
  • 池化单元具有平移不变性

在实际中经常使用的是最大池化。



卷积神经网络减少参数的手段:

1)稀疏连接

一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息。网络部分连通的思想,也是受启发于生物学里面的视觉系统结构。视觉皮层的神经元就是局部接受信息的(即这些神经元只响应某些特定区域的刺激)。如下图所示:左图为全连接,右图为稀疏连接。

在上右图中,假如每个神经元只和10×10个像素值相连,那么权值数据为1000000×100个参数,减少为原来的千分之一。而那10×10个像素值对应的10×10个参数,其实就相当于卷积操作。

2)参数共享

但其实这样的话参数仍然过多,那么就启动第二级神器,即权值共享。在上面的局部连接中,每个神经元都对应100个参数,一共1000000个神经元,如果这1000000个神经元的100个参数都是相等的,那么参数数目就变为100了。

怎么理解权值共享呢?我们可以这100个参数(也就是卷积操作)看成是提取特征的方式,该方式与位置无关。这其中隐含的原理则是:图像的一部分的统计特性与其他部分是一样的。这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。

更直观一些,当从一个大尺寸图像中随机选取一小块,比如说 8×8 作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个 8×8 样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。特别是,我们可以用从 8×8 样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。

如下图所示,展示了一个33的卷积核在55的图像上做卷积的过程。每个卷积都是一种特征提取方式,就像一个筛子,将图像中符合条件(激活值越大越符合条件)的部分筛选出来。



参考文献:

技术向:一文读懂卷积神经网络CNN

卷积神经网络工作原理直观的解释?

时间: 2024-08-02 07:20:47

吴恩达深度学习课程笔记之卷积神经网络基本操作详解的相关文章

我从吴恩达深度学习课程中学到的21个心得:加拿大银行首席分析师“学霸“笔记分享

今年8月,吴恩达的深度学习课程正式上线,并即刻吸引了众多深度学习粉丝的"顶礼膜拜".一如吴恩达此前在Coursera上的机器学习课程,这几门深度学习课程也是好评如潮. 在诸多粉丝中,加拿大国家银行金融市场的首席分析师Ryan J. Shrott从前三门深度学习课程中总结出了21点心得,总结了该系列课程的诸多精华. 今天,文摘菌就带大家一起来读一读这份"学霸"笔记. 首先来看一下Ryan对该课程的总体评价: 吴恩达先生(Andrew Ng)的3门课程都超级有用,教会了

深度学习系列2:卷积神经网络

本文讲的是深度学习系列2:卷积神经网络, 原文地址:Deep Learning 2: Convolutional Neural Networks 原文作者:Rutger Ruizendaal 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:lsvih 校对者:edvardHua,lileizhenshuai 深度学习系列2:卷积神经网络 CNN 是怎么学习的?学习了什么? 这篇文章是深度学习系列的一部分.你可以在这里查看第一部分,以及在这里查看第三部分

吴恩达的21节Deeplearning.ai课程学习经验总结

截止到2017年10月25日,吴恩达在Coursera上目前有3门新的深度学习课程: 1.神经网络和深度学习(Neural Networks and Deep Learning) 2.改善深度神经网络:调优超参数,正则化和优化(Improving Deep Neural Networks: Hyperparamater tuning, Regularization and Optimization) 3.构建机器学习项目(Structuring Machine Learning Projects

吴恩达deeplearning.ai将于11月6日开放第四课,主讲卷积神经网络

截止到2017年10月25日,吴恩达在Coursera上有3门深度学习课程: 第一课:神经网络和深度学习(Neural Networks and Deep Learning) 第二课:改善深度神经网络:调优超参数,正则化和优化(Improving Deep Neural Networks: Hyperparamater tuning, Regularization and Optimization) 第三课:构建机器学习项目(Structuring Machine Learning Projec

MXNet爆红,大神Yann LeCun和吴恩达最新演讲|AI科技评论周刊

美国时间 11 月 22 日,亚马逊 CTO Werner Vogels 在博文中写到 MXNet 被 AWS 正式选择成为其云计算的官方深度学习平台. MXNet 是一个全功能.灵活且高扩展性的深度学习框架,支持深度学习模型中的卷积神经网络和长期短期记忆网络.由学术界发起,由华盛顿大学和卡内基梅隆大学的研究人员联合发起. MXNet 联合发起人解浚源表示: "MXNet 发展到现在有一年多时间,是一个相对成熟的项目.我对我们的技术很有信心.MXNet 的速度,节省内存,接口灵活性,和分布式效率

吴恩达导师Michael I. Jordan刚去清华手写版书讲了三天课,这有一份他的课程笔记

被称为"机器学习之父"的Michael I. Jordan教授上周(9月12-14日)在清华进行了为期三天的校内公开课,面对清华同学分享了他在伯克利AMP Lab和RISE Lab的最新研究成果. Jordan教授本次亲自上阵授课实属难得,为保证教学质量,本次系列课程也只面向清华学生开放,且不设录像直播,颇为珍贵.据大数据文摘了解,Jordan教授授课风格颇传统,全程抛弃多媒体设备,手写版书公式.本次讲座内容由机器学习方法和系统组成,主要涉及概率图模型.统计推断和模型评判,以及大规模机

谷歌大脑之父吴恩达加盟百度 主攻深度学习

中介交易 SEO诊断 淘宝客 云主机 技术大厅 5月16日,<第一财经日报>记者获悉,百度今日在内部公布了Google Brain项目创始人Andrew Ng(中文名吴恩达)加入百度的内部邮件.邮件显示,吴恩达出任百度首席科学家职务,向百度高级副总裁王劲汇报.据了解,他将负责百度深度学习研究院工作,尤其是Baidu Brain计划. 公开资料显示,吴恩达是斯坦福大学人工智能实验室主任,人工智能和机器学习领域国际上最权威的学者之一.此前,吴恩达与谷歌合作研究深度学习,并领导谷歌X实验室团队斥巨资

吴恩达 NIPS 2016:利用深度学习开发人工智能应用的基本要点(含唯一的中文版PPT)

雷锋网按:为了方便读者学习和收藏,雷锋网(公众号:雷锋网)特地把吴恩达教授在NIPS 2016大会中的PPT做为中文版,由三川和亚峰联合编译并制作. 今日,在第 30 届神经信息处理系统大会(NIPS 2016)中,百度首席科学家吴恩达教授发表演讲:<利用深度学习开发人工智能应用的基本要点(Nuts and Bolts of Building Applications using Deep Learning)>. 此外,吴恩达教授曾在今年 9 月 24/25 日也发表过同为<Nuts a

深度学习前瞻:吴恩达 + 百度 &gt; 谷歌吗?

导读:百度是中国网民上网时的常用工具,它致力于成为影响全球的力量.作为世界上人工智能领域的顶尖研究员,吴恩达先生能否助其成功挑战硅谷最大的互联网公司? 百老汇音乐厅位于旧金山北海岸,是新古典主义建筑,已拥有95年历史,历经岁月磨蚀,四周环绕数不清的脱衣舞俱乐部.从Blondie(金发女郎)到Ramones(莱蒙斯),曾有许多朋克乐队在此演出.但今年六月某个明亮的早晨,一位完全不同类型的"摇滚明星"在此登场.一小撮参加科技创业会议的人群簇拥着一位身穿蓝色礼服衬衫和深蓝套装.个子高高.说话