不懂卷积神经网络?别怕,看完这几张萌图你就明白了
来源:互联网 发布:plc模块化编程 编辑:程序博客网 时间:2024/04/29 18:57
林鳞 编译自 authomaton.blogspot
量子位 出品 | 公众号 QbitAI
这篇文章用最简明易懂的方式解释了卷积神经网络(CNN)的基本原理,并绕开了里面的数学理论。
同时,如果想对从头开始构建CNN网络之类的问题感兴趣,作者推荐去读《 Artificial Intelligence for Humans Volume 3: Deep Learning and Neural Networks》中第10章节的内容。
不多说了,开始CNN之旅——
网络结构
CNN的模型通常建立在前馈神经网络模型之上,它的结构你也应该不陌生。不同是的,“隐藏层”将被以下这些层取代:
卷积层(Convolutional Layers)
池化层(Pooling Layers)
全连接层(稠密层,Dense Layers)
结构类似下图:
卷积
在此阶段,输入图像被一个grid扫描,并作为输入传递到网络。之后,这个网络将一层卷积层应用于输入的图像,将它分割成包含3张图像的三维立方体结构。这3三张图像个框架分别呈现原图的红色、绿色和蓝色信息。
随后,它将卷积滤波器(也称神经元)应用到图像中,和用PhotoShop中的滤镜突出某些特征相似。例如在动画片《Doc And Mharti》中,用罗伯茨交叉边缘增强滤波器处理过的效果如下图所示:
△ 原图
△ 处理后
可以想象,拥有100多个不同滤波器的神经网络筛选复杂特征的能力有多强大,这将大大助力它识别现实世界中事物。一旦神经网络已经将卷积滤波器应用到图像中,我们就能得到特征/激活图。
特征图谱会被指定区域内的特定神经元激活,比如我们将边缘检测滤波器添加到下面左图中,则它的激活图如右图所示:
△ 这些点代表0的行(表明这些区域可能是边缘)。在二维数组中,“30”的值表明图像区域存在边缘的可能性很高
激活层
当我们有了激活图,就能在其中让激活函数大显身手了,我们用研究人员的首选函数——ReLU激活函数(修正线性单元)举个例子。然而,一些研究人员仍然认为用Sigmoid函数或双曲切线能得到提供最佳的训练结果,但我不这么认为。
使用激活层是在系统中引入非线性,这样可以提高输入和输出的一般性。ReLU(x)函数只返回max(0、x)或简单地返回激活图中的负权值。
池化层
之后的最佳做法通常是在特征图中应用最大池化(或任何其他类型的池)。应用最大池化层的原理是扫描小型grid中的图像,用一个包含给定grid中最高值的单个单元替换每个grid:
这样做的重要原因之一是,一旦我们知道给定特征在一个给定的输入区域,我们可以忽略特征的确切位置将数据普遍化,减少过拟合。举个例子,即使训练精度达到99%,但拿到没见过的新数据上测试时,它的精确度也只有50%。
输出层
最大池化层后我们讲讲剩下的另一个激活图,这是传递给全连接网络的一部分信息。它包含一个全连接层,将上一层中每个神经元的输出简单映射到全连接层的一个神经元上,并将softmax函数应用到输出中,就是和我们之前提到的ReLU函数类似的激活函数。
因为我们将用神经网络将图片分类,因此这里使用了softmax函数。softmax输出返回列表的概率求和为1,每个概率代表给定图像属于特定输出类的概率。但后来涉及到图像预测和修复任务时,线性激活函数的效果就比较好了。
值得注意的是,讲到这里我们只考虑了单卷积层和单池层的简单情况,如果要实现最佳精度通常需要它们多层堆叠。经过每个完整的迭代后,通过网络反向根据计算损失更新权重。
原文地址:https://authomaton.blogspot.co.uk/2017/10/machine-learning-but-funner-02.html
— 完 —
加入社群
量子位AI社群10群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot3入群;
此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。
进群请加小助手微信号qbitbot3,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI
վ'ᴗ' ի 追踪AI技术和产品新动态
- 不懂卷积神经网络?别怕,看完这几张萌图你就明白了
- 不懂卷积神经网络?别怕,看完这几张萌图你就明白了
- 如何建设IDC数据中心机房?看完你就明白了!
- 你的Scrum迭代够精益吗?看完就全明白了
- 【转】如何让安卓手机GPS定位加速 看完你就明白了
- 啥叫“姜还是老的辣”?看完这个故事你就明白了
- 为什么安卓没有IOS流畅?看完你就明白了
- 程序员工作多幸苦?看完知乎回答你就明白了
- Swarm、Kubernetes哪个更好用?看完这三点你就明白了!(下)
- 大学毕业你就明白了
- 看完你就知道什么是 HTTPS 了------其实我发现很多人不懂https, 包括我!所以来学下这篇佳作!
- 人生没有捷径,看完这个你就明白
- 外汇问题全明白(看完本文,你就可…
- 用心看完,你就成熟了
- 看完你就知道什么是 HTTPS 了
- 看完你就知道什么是 HTTPS 了
- 看完这些你就懂了主力
- JNDI是什么?看完就明白
- 最强AlphaGo怎样炼成?刚刚,DeepMind团队进行了全面解读
- 98、定时器
- vue-router动态路由详解
- WCF中 DataContract、DataMember的作用
- 软件测试基础知识学习
- 不懂卷积神经网络?别怕,看完这几张萌图你就明白了
- 史上最性感App横空出世:这群伯克利学生要用AI帮你保护羞羞的皂片
- 地平线获近亿美元A+轮融资,AI时代的英特尔被英特尔领投
- 主从复制和读写分离
- 2017中国HPC TOP100:AI成最大赢家,浪潮和老黄都笑了
- 例题7-10 编辑书稿(Editing a Book, UVa 11212)
- 安卓自定义组合式View 加减
- ofbiz实战3——创建booking项目首页
- 15. 3Sum