编码器的作用,多摩川编码器接线图解

首页 > 经验 > 作者:YD1662022-11-06 15:27:18

增加一个「瓶颈(bottleneck)」是通过使潜在特征的维度比输入的维度更低(通常要低得多)来实现的。这就是本文将详细讨论的情况。但在研究这种情况之前,需要提到正则化问题。

直观地说,正则化意味着在潜在特征输出中加强稀疏性。实现这一点的最简单方法是在损失函数中加入 l_1 或 l_2 正则项。

前馈自编码器

前馈自编码器(Feed-Forward Autoencoder,FFA)是由具有特定结构的密集层组成的神经网络,如下图 2 所示:

编码器的作用,多摩川编码器接线图解(9)

经典的 FFA 架构层的数量为奇数(尽管不是强制性要求),并且与中间层对称。通常,第一层有一定数量的神经元 n_1 = n(输入观察值 x_i 的大小)。向网络中心移动时,每一层的神经元数量都会有所下降。中间层通常有最少的神经元。事实上,这一层的神经元数量小于输入的大小,这是前面提到的「瓶颈」。

在几乎所有的实际应用中,中间层之后的图层是中间层之前图层的镜像版本。包括中间层在内及之前的所有层构成了所谓的编码器。如果 FFA 训练是成功的,结果将是输入的一个近似值,换句话说是

编码器的作用,多摩川编码器接线图解(10)

。需要注意的是,解码器只需要使用比最初的输入观测值 (n) 少得多的特征数 (q) 就可以重构输入。中间层的输出也称为输入观测值 x_i 的学习表示。

输出层的激活函数

在基于神经网络的自编码器中,输出层的激活函数起着特别重要的作用。最常用的函数是 ReLU 和 Sigmoid。

ReLU 激活函数可以假设范围 [0,∞] 内的所有值。作为余数,它的公式是 ReLU (x) = max (0,x)。当输入的观测值 x_i 假设范围很广的正值时,ReLU 是个很好的选择。如果输入 x_i 可以假设负值,那么 ReLU 当然是一个糟糕的选择,而且恒等函数是一个更好的选择。

Sigmoid 函数 σ 可以假定所有值的范围在] 0, 1 [ 。作为余数,它的公式是

编码器的作用,多摩川编码器接线图解(11)

只有当输入的观测值 x_i 都在] 0,1 [范围内,或者将它们归一化到这个范围内,才能使用这个激活函数。在这种情况下,对于输出层的激活函数来说,Sigmoid 函数是一个不错的选择。

损失函数

与任何神经网络模型一样,这里需要一个损失函数来最小化。这个损失函数应该测量输入 x_i 和输出 x˜i 之间的差异有多大:

编码器的作用,多摩川编码器接线图解(12)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.