参与:黄小天、李亚洲 2016 年 9 月,Fjodor Van Veen 写了一篇名为《The Neural Network Zoo》的文章(详见图文并茂的神经网络架构大盘点:从基本原理到衍生关系),全面盘点了神经网络的大量框架,并绘制了直观示意图进行说明。近日,他又发表了一篇题为《The Neural Network Zoo Prequel:Cells and Layers》文章,该文是其上篇文章的前篇,对于文中涉及但没有深入展开的神经网络的单元与层的部分再次做了一个图文并茂的介绍。机器之心对该文进行了编译,原文链接见文末。
Cell(单元) 《The Neural Network Zoo》一文展示了不同类型的单元和不同的层连接风格,但并没有深入探讨每个单元类型是如何工作的。大量的单元类型拥有彼此不同的颜色,从而更清晰地区分网络,但是自此之后我发现这些单元的工作方式大同小异,下面我对每个单元逐一描述。
基本的神经网络单元,属于常规性前馈架构之中的类型,且相当简单。单元通过权重与其他神经元相连接,即,它可以连接到前一层的所有神经元。每个连接有其自身的权重,在开始时它常常是一个随机数。一个权重可以是负数、正数、小值、大值或者为 0。它连接的每一个单元值被其各自的连接权重相乘,得到的结果值全部相加。在其顶部,也会相加一个偏置项。偏置项可以防止单元陷入零点输出(outputting zero),加速其操作,并减少解决问题所需的神经元数量。偏置项也是一个数,有时是常数(通常是 -1 或 1),有时是变量。这一总和接着传递至激活函数,得到的结果值即是单元值。 卷积单元和前馈单元很像,除了前者通常连接到前一层的仅仅少数几个神经元之外。它们常用于保护空间信息,因为其连接到的不是少数几个随机单元,而是一定距离内的所有单元。这使得它们很适合处理带有大量局部信息的数据,比如图像和音频(但大部分是图像)。解卷积单元与卷积单元相反:前者倾向于通过局部连接到下一层来解码空间信息。两个单元通常有独自训练的克隆(clone),每个克隆各有其权重,并以相同的方式相互连接。这些克隆可被看做具有相同结构的分离网络。两者本质上和常规单元相同,atv,但是使用不同。 池化和内插单元(interpolating cell)频繁地与卷积单元相连接。这些单元实际上并不是单元,而是原始操作。池化单元接收输入的连接并决定哪些连接获得通过。在图像中,这可被看做是缩小图片。你再也看不到所有的像素,并且它不得不学习哪些像素应该保留哪些舍弃。内插单元执行相反的操作,它们接收一些信息并将其映射到更多的信息。额外信息是组成的,就像放大一个低分辨率图片一样。内插单元不是池化单元唯一的反转操作,但是二者相对来讲比较普遍,因为其实现快速而简单。它们各自连接,这很像卷积与解卷积。 平均值与标准差单元(几乎完全是作为概率性单元被成对发现)用于表征概率分布。平均值就是平均值,标准差是指在两个方向上能偏离这个平均值有多远。例如,一个用于图像的概率 cell 可以包含一个特定像素上有多少红色的信息。比如说平均值为 0.5,标准差为 0.2。当从这些概率单元中取样时,需要在高斯随机数生成器中输入这些值,值在 0.4 到 0.6 之间的为可能性相当大的结果;那些远离 0.5 的值可能性则很低(但依然有可能)。平均值与标准差 cell 经常全连接到前一层或下一层,并且没有偏差。
循环单元不仅连接到层,并且随着时间推移还会有连接。每个单元内部存储有先前的值。它们就像基本单元一样被更新,但是带有额外的权重:连接到单元的先前值,并且绝大部分时间也连接到同一层的所有单元。当前值和存储的先前值之间的这些权重更像是一个易失性存储器(a volatile memory),就像 RAM,接收拥有一个特定「状态」的属性,同时如果没被馈送则消失。由于先前值被传递到激活函数,并且通过激活函数每一个更新传递这个激活的值连带其他的权重,所以信息将不断丢失。事实上,保留率是如此之低,以至于在 4 至 5 次迭代之后,几乎所有的信息都丢失了。 (责任编辑:本港台直播) |