为什么我们需要在输入自动编码器之前进行 PCA 美白?

机器算法验证 神经网络 主成分分析 降维 自动编码器
2022-04-15 04:38:28

在 UFLDL 教程中,我们看到自动编码器无法压缩不相关随机变量的数据。“如果输入是完全随机的——比如说,每个变量都来自独立于其他特征的独立同分布高斯——那么这个压缩任务将非常困难。”

但是,建议在将数据输入自动编码器之前应用 PCA 白化。使用 PCA,可以使用不相关的新正交变量来表示数据。

自动编码器能否在 PCA 预处理后使用隐藏层压缩数据?

2个回答

自然图像在低空间频率分量中具有大量方差/能量,而在高空间频率分量中具有少量方差/能量*。当使用平方欧几里得距离来评估自动编码器的重建时,这意味着网络将专注于正确获取低空间频率,因为误差与信号的方差成比例。白化将方差归一化,以便网络因低空间频率和高空间频率的错误而受到同等惩罚。

白化有效地改变了目标函数。为输入的协方差,为 PCA 白化, 此外,设为某个输入,为自动编码器的输出,为白化信号。然后 即通过优化而不是CW

C=QDQ,W=D12Q.
xx^y=Wx
||yy^||22=||WxWx^||22=(WxWx^)(WxWx^)=(xx^)WW(xx^)=(xx^)C1(xx^)=||xx^||C12.
y^x^,我们正在有效地优化特定的马氏距离而不是标准的欧几里得距离。

*有关空间频率的说明性示例,请参见http://tdlc.ucsd.edu/images/facescheung.jpg

该教程只说“每个变量都来自独立于其他特征的 IID 高斯”。独立意味着不相关,但不相关并不意味着独立。即使数据被 PCA 处理,特征变得不相关,但这并不意味着特征变得彼此独立。