自动编码器与上下文嵌入技术解析
1. 去噪以强制生成鲁棒表示
人类的感知能力对噪声具有惊人的抵抗能力。例如,在MNIST数据集中,即使图像中一半的像素被损坏,我们仍然能够识别出数字,甚至容易混淆的数字(如2和7)也能区分开来。从概率角度看,即使我们只接触到图像像素的随机样本,只要有足够的信息,大脑仍能以最大概率推断出像素所代表的真实内容。
基于此,2008年Vincent等人引入了去噪自动编码器(Denoising Autoencoder)。其基本原理是将输入图像中固定比例的像素置为零,得到损坏版本的图像 $C_X$。去噪自动编码器与普通自动编码器的唯一区别在于,编码器网络的输入是损坏的 $C_X$ 而非原始输入 $X$,这迫使自动编码器学习一种对损坏机制具有抗性的代码,能够通过缺失信息进行插值以重建原始未损坏的图像。
从几何角度理解,对于具有各种标签的二维数据集,特定类别中的数据点子集 $S$ 存在一种潜在的统一几何结构,称为流形(manifold)。自动编码器在学习通过瓶颈层(代码层)重建数据时,会隐式地学习这个流形。去噪操作会人为地扩展数据集,使其不仅包含流形,还包括流形周围空间中的所有点。最终,自动编码器需要学习将这些扩展的数据点映射回流形。
以下是构建去噪自动编码器的代码示例:
import tensorflow as tf
def corrupt_input(x):
corrupting_matrix = tf.random_uniform(shape=tf.shape(x),
minval=0,maxval=2,d
自动编码器与词嵌入技术详解
超级会员免费看
订阅专栏 解锁全文
1503

被折叠的 条评论
为什么被折叠?



