机器学习中的特征表示学习:去噪自编码器与Word2Vec框架
1. 去噪以强制实现鲁棒表示
人类的感知能力对噪声具有惊人的抗性。例如,即使图像中一半的像素被损坏,我们仍然能够辨认出数字,甚至容易混淆的数字(如2和7)也能区分开来。从概率的角度来看,即使我们只接触到图像像素的随机样本,只要有足够的信息,我们的大脑仍然能够以最大概率推断出像素所代表的真实内容。
1.1 去噪自编码器的原理
去噪自编码器通过对输入图像的部分像素进行损坏(例如将一定比例的像素设置为零),并将损坏后的图像 $C_X$ 作为编码器网络的输入,而不是原始输入 $X$。这样,自编码器被迫学习一种对损坏机制具有抗性的编码,并且能够通过插值缺失信息来重建原始的、未损坏的图像。
1.2 几何角度的理解
假设我们有一个二维数据集,其中特定类别的数据点集合为 $S$。这些数据点背后存在一种潜在的几何结构,称为流形。去噪自编码器在学习如何通过瓶颈层(编码层)重建数据时,实际上是在隐式地学习这个流形。
具体来说,损坏操作会使数据集人为地扩展,不仅包括流形本身,还包括流形周围一定误差范围内的所有点。而去噪自编码器的任务就是将这些扩展后的点映射回流形,从而近似 $S$ 的潜在流形。
1.3 代码实现
以下是一个简单的代码示例,用于实现输入的损坏操作:
import torch
def corrupt_input(x):
corrupting_matrix = 2.0*torch.rand_like(x)
return x
超级会员免费看
订阅专栏 解锁全文
881

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



