几分钟理解卷积神经网络(一):空间变换

浏览: 2181

作者:YJango(日本会津大学 人机界面实验室在读博士)
链接:https://www.zhihu.com/question/22553761/answer/126474394
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一、基本变换:层

神经网络是由一层一层构建的,那么每究竟在做什么?

  • 数学式子,其中是输入向量,是输出向量,是偏移向量,是权重矩阵,是激活函数。每一层仅仅是把输入经过如此简单的操作得到

  • 数学理解:通过如下5种对输入空间(输入向量的集合)的操作,完成 输入空间 ——> 输出空间 的变换 (矩阵的行空间到列空间)。 注:用“空间”二字的原因是被分类的并不是单个事物,而是一类事物。空间是指这类事物所有个体的集合。

0.gif

每层神经网络的数学理解:用线性变换跟随着非线性变化,将输入空间投向另一个空间
  • 物理理解:对  的理解就是通过组合形成新物质又符合了我们所处的世界都是非线性的特点。

    • 情景:是二维向量,维度是碳原子和氧原子的数量[C;O],数值且定为[1;1],若确定是三维向量,就会形成如下网络的形状 (神经网络的每个节点表示一个维度)。通过改变权重的值,可以获得若干个不同物质。右侧的节点数决定了想要获得多少种不同的新物质。(矩阵的行数)

image.png

1.如果权重W的数值如(1),那么网络的输出 就会是三个新物质,[二氧化碳,臭氧,一氧化碳]。  

image.png

2.也可以减少右侧的一个节点,并改变权重W至(2),那么输出 就会是两个新物质

image.png

.如果希望通过层网络能够从[C, O]空间转变到

image.png

空间的话,那么网络的学习过程就是将W的数值变成尽可能接近(1)的过程 。如果再加一层,就是通过组合

image.png

  • 这三种基础物质,形成若干更高层的物质。  

  • 4.重要的是这种组合思想,组合成的东西在神经网络中并不需要有物理意义。

每层神经网络的物理理解:通过现有的不同物质的组合形成新物质


二、理解视角

现在我们知道了每一层的行为,但这种行为又是如何完成识别任务的呢?

数学视角:“线性可分”

  • 一维情景:以分类为例,当要分类正数、负数、零,三类的时候,一维空间的直线可以找到两个超平面(比当前空间低一维的子空间。当前空间是直线的话,超平面就是点)分割这三类。但面对像分类奇数和偶数无法找到可以区分它们的点的时候,我们借助 x % 2(取余)的转变,把x变换到另一个空间下来比较,从而分割。

image.png

二维情景:平面的四个象限也是线性可分。但下图的红蓝两条线就无法找到一超平面去分割。

image.png

神经网络的解决方法依旧是转换到另外一个空间下,用的是所说的5种空间变换操作。比如下图就是经过放大、平移、旋转、扭曲原二维空间后,在三维空间下就可以成功找到一个超平面分割红蓝两线 (同SVM的思路一样)。

image.png

上面是一层神经网络可以做到的,如果把 当做新的输入再次用这5种操作进行第二遍空间变换的话,网络也就变为了二层。最终输出是。 设想网络拥有很多层时,对原始输入空间的“扭曲力”会大幅增加,如下图,最终我们可以轻松找到一个超平面分割空间。

0 (1).gif

当然也有如下图失败的时候,关键在于“如何扭曲空间”。所谓监督学习就是给予神经网络网络大量的训练例子,让网络从训练例子中学会如何变换空间。每一层的权重W就控制着如何变换空间,我们最终需要的也就是训练好的神经网络的所有层的权重矩阵。

0 (2).gif

这里有非常棒的可视化空间变换demo(http://cs.stanford.edu/people/karpathy/convnetjs//demo/classify2d.html),一定要打开尝试并感受这种扭曲过程。

更多内容请看:http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/

线性可分视角:神经网络的学习就是学习如何利用矩阵的线性变换加激活函数的非线性变换,将原始输入空间投向线性可分/稀疏的空间去分类/回归。 增加节点数:增加维度,即增加线性转换能力。 增加层数:增加激活函数的次数,即增加非线性转换次数。

物理视角:“物质组成”

  • 类比:回想上文由碳氧原子通过不同组合形成若干分子的例子。从分子层面继续迭代这种组合思想,可以形成DNA,细胞,组织,器官,最终可以形成一个完整的人。继续迭代还会有家庭,公司,国家等。这种现象在身边随处可见。并且原子的内部结构与太阳系又惊人的相似。不同层级之间都是以类似的几种规则再不断形成新物质。你也可能听过分形学这三个字。可通过观看从1米到150亿光年(http://video.tudou.com/v/XMjAzNzM4MzcyOA==.html)来感受自然界这种层级现象的普遍性。

image.png

人脸识别情景:我们可以模拟这种思想并应用在画面识别上。由像素组成菱角再组成五官最后到不同的人脸。每一层代表不同的不同的物质层面 (如分子层)。而每层的W存储着如何组合上一层的物质从而形成新物质。 如果我们完全掌握一架飞机是如何从分子开始一层一层形成的,拿到一堆分子后,我们就可以判断他们是否可以以此形成方式,形成一架飞机。

附:Tensorflow playground(http://playground.tensorflow.org/)展示了数据是如何“流动”的。

image.png

物质组成视角:神经网络的学习过程就是学习物质组成方式的过程。 增加节点数:增加同一层物质的种类,比如118个元素的原子层就有118个节点。 增加层数:增加更多层级,比如分子层,原子层,器官层,并通过判断更抽象的概念来识别物体。


-END-


往期回顾

机器学习中的数学知识(二):微积分

机器学习中的数学知识(一):线性代数

手把手教你搭建谷歌TensorFlow深度学习开发环境!

零基础学爬虫(一):不用编程抓取B站弹幕信息

零基础学爬虫(二):几分钟完成你的第一个爬虫程序!

零基础学爬虫(三):抓取网页的多个元素

零基础学爬虫(四):不规则分页的抓取和反爬虫应对方法

情人节这天,这对90后新婚夫妻做的事情震惊了所有人!

【创客】手把手教你DIY四轴无人飞行器(建议收藏!)

《腾讯传》:孤独星球的社交帝国

推荐 0
本文由 李亮辰 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册