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

2017 年 10 月 11 日 AI研习社 雨宫夏一

本文原作者雨宫夏一,本文整理自作者在知乎《卷积神经网络工作原理直观的解释?》问题下的回答。AI 研习社已获得转载授权。

其实我们在做线性回归也好,分类(逻辑斯蒂回归)也好,本质上来讲,就是把数据进行映射,要么映射到一个多个离散的标签上,或者是连续的空间里面,一般简单的数据而言,我们很好拟合,只要线性变化一下,然后学习出最好的 W 就可以了。

但是对于一些比较复杂的数据怎么办呢?比如说,对于一个二分类问题,特别是高纬度复杂化之后,数据不一定是线性可分的,这个时候,我们的 basis function 隆重登场,我们可以把数据进行一定的映射,转变,非线性的线性的,转变之后,就可以进行分类。最明显的例子在 andrew NG 在讲 SVM 里面的例子就很好的说明了,但是这个时候问题来了,对于一个很复杂,高维度的数据,我们如何才能找到最好的 basis function 呢?这个时候,神经网络隆重登场,我们把我们的 basis function 打开来,我们把误差转递到 basis function 的里面,通过这样的方式,来得到最好的 basis function,同理,我们可以无限打开 basis function,一直打开,对应的也就是一层神经网络(具体出自于 prml 关于神经网络的章节最开始简介的部分)。

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

这就有了 alex net 的提出,通过对图片进行五层(不知道有没有记忆错误)的卷积,然后后面三层的全连接,我们可以得到一个很好的结果,特别的相对于更大的数据集而言,最好参数越多越好,也就是网络最好更加深,更加的宽。

但是神经网络到底是什么?对于一批数据我们有很多的问题,为什么设置五层最好,batchsize 多少比较好,每一层多少个卷积核(这个到现在我依旧没有一个更好的解释,每一个应该多少卷积核),宽度多少?要不要 LRN?每一层都代表了什么?

这些的解释,就要好好看看今年 CVPR 的文章 Visualizing and Understanding Convolutional Networks  这篇文章写的很棒,而且 2015 CVPR 出了很多对于卷积神经网络理解的文章,这篇文章提出了一个反卷积的方法 (De-convolution) 的方法,这样我们就可以好好看看每一层卷积神经网络到底做了什么事情:

首先第一层的返卷积(上面是反卷积的图片,下面对于第一层来说,激活值最大的图片):

我们看到,第一个卷积层只是表达了简单的图片的边缘而已,我们来看第二层:

第二层稍稍复杂了一点点,可以包含的不仅仅是一个边缘,可以是几个边缘的组合

第三层:

第四层:

第五层:

我们看到,每一层都是对于一张图片从最基础的边缘,不断到最复杂的图片自己本身。

同时在进行反卷积的时候 M.D. Zeiler and R. Fergus 也发现,对于第一层的 alexnet,会得到频度很高的像素(也就是颜色很深),所以他们也提出了应该要减小窗口,这样可以得到频度比较适中的像素:

当图片卷积完之后,会把一个图片对于这一类本身最独特的部分凸显出来,然后来进行判断,这一类到底是什么?有下面的实验截图:

最左边的图像是原图像,作者盖住不同的区域,来分析对于一张图片,经过五次卷积之后,到底是如何判断的,我们看到卷积到最后(左三),比较凸显出来的是狗的头部,左二和右二的意思是,当我们遮住不同的区域,判断是狗的几率,红色区域代表概率很高,蓝色区域代表概率很低,我们发现,当我们遮挡住狗的头的地方的时候,我们得到这个物体时狗的概率最低,这个侧面证明了,所谓卷积神经网络,就是会自动的对于一张图片学习出最好的卷积核以及这些卷积核的组合方式,也就是对于一张图片的任务来说,求出最好的图片对于本任务的特征的表达,然后来进行判断

还有一篇文章也助于理解,

Understanding Deep Image Representations by Inverting Them

这篇对于卷积每一层都不断的还原到最原始的图片:

越是到后面,图片越模糊,但是它自己独特的部分,却凸显了出来。(也就是这个猩猩还是狒狒的头的部分)

还望指正,多谢。


新人福利



关注 AI 研习社(okweiwu),回复  1  领取

【超过 1000G 神经网络 / AI / 大数据,教程,论文】



一文详解卷积神经网络的演变历程!

▼▼▼

登录查看更多
0

相关内容

在数学(特别是功能分析)中,卷积是对两个函数(f和g)的数学运算,产生三个函数,表示第一个函数的形状如何被另一个函数修改。 卷积一词既指结果函数,又指计算结果的过程。 它定义为两个函数的乘积在一个函数反转和移位后的积分。 并针对所有shift值评估积分,从而生成卷积函数。
卷积神经网络的概述论文:分析、应用和展望,21页pdf
专知会员服务
90+阅读 · 2020年4月7日
Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
129+阅读 · 2020年3月15日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
《深度学习》圣经花书的数学推导、原理与Python代码实现
专知会员服务
41+阅读 · 2020年2月20日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
354+阅读 · 2020年2月15日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
卷积神经网络数学原理解析
算法与数学之美
19+阅读 · 2019年8月23日
深入卷积神经网络背后的数学原理
人工智能学家
10+阅读 · 2019年4月26日
干货合集 | 卷积神经网络CNN的基本原理
七月在线实验室
6+阅读 · 2018年7月27日
卷积神经网络的最佳解释!
专知
12+阅读 · 2018年5月1日
CNN图像风格迁移的原理及TensorFlow实现
数据挖掘入门与实战
5+阅读 · 2018年4月18日
【干货】深入理解自编码器(附代码实现)
【干货】卷积神经网络中的四种基本组件
PCA的基本数学原理
算法与数学之美
11+阅读 · 2017年8月8日
卷积神经网络(CNN)学习笔记1:基础入门
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月16日
Arxiv
14+阅读 · 2020年1月27日
Arxiv
10+阅读 · 2019年2月19日
Neural Approaches to Conversational AI
Arxiv
8+阅读 · 2018年12月13日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
Arxiv
12+阅读 · 2018年9月5日
Arxiv
19+阅读 · 2018年6月27日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
10+阅读 · 2018年3月23日
Arxiv
5+阅读 · 2018年1月30日
VIP会员
相关VIP内容
卷积神经网络的概述论文:分析、应用和展望,21页pdf
专知会员服务
90+阅读 · 2020年4月7日
Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
129+阅读 · 2020年3月15日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
《深度学习》圣经花书的数学推导、原理与Python代码实现
专知会员服务
41+阅读 · 2020年2月20日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
354+阅读 · 2020年2月15日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
相关资讯
卷积神经网络数学原理解析
算法与数学之美
19+阅读 · 2019年8月23日
深入卷积神经网络背后的数学原理
人工智能学家
10+阅读 · 2019年4月26日
干货合集 | 卷积神经网络CNN的基本原理
七月在线实验室
6+阅读 · 2018年7月27日
卷积神经网络的最佳解释!
专知
12+阅读 · 2018年5月1日
CNN图像风格迁移的原理及TensorFlow实现
数据挖掘入门与实战
5+阅读 · 2018年4月18日
【干货】深入理解自编码器(附代码实现)
【干货】卷积神经网络中的四种基本组件
PCA的基本数学原理
算法与数学之美
11+阅读 · 2017年8月8日
卷积神经网络(CNN)学习笔记1:基础入门
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月16日
相关论文
Arxiv
14+阅读 · 2020年1月27日
Arxiv
10+阅读 · 2019年2月19日
Neural Approaches to Conversational AI
Arxiv
8+阅读 · 2018年12月13日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
Arxiv
12+阅读 · 2018年9月5日
Arxiv
19+阅读 · 2018年6月27日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
10+阅读 · 2018年3月23日
Arxiv
5+阅读 · 2018年1月30日
Top
微信扫码咨询专知VIP会员