将误差反向传播到嵌入矩阵

数据挖掘 机器学习 深度学习 词嵌入 反向传播 嵌入
2022-02-27 06:43:33

我了解神经网络的反向传播算法,以及错误如何在层中反向传播。也就是说,我知道给定一个 3 层前馈网络,W1 的变化量取决于第 2 层和第 3 层的权重,以及它们的激活函数的导数。

问题:当您的第一层是嵌入层(即,考虑使用手套初始化嵌入矩阵)时,网络如何使用反向传播更新该矩阵?您如何将该层表示为由输入和一些权重矩阵组成的方程?

1个回答

嵌入层实际上是一个线性层。它使用矩阵乘法将输入映射到输出,乘法后没有任何激活函数。因此,反向传播与线性层完全一样。

那我们为什么不直接称它为线性层呢?

在理论层面,嵌入层对输入执行矩阵乘法。但是,在实践中,编码实现略有不同。这是因为输入作为一个类别是用 one-hot 方式编码的,并且矩阵乘以 one-hot 编码向量就像查找一样容易,因此不需要乘整个矩阵。