【Batch Witening - 批次白化】(一)批次白化的含义、方式和效果

文章详细介绍了数据白化概念,包括降低数据维度间相关性和归一化。PCA白化可能导致随机轴交换问题,而ZCA白化解决了这一问题,更适合用于深度学习中的批次白化。文中还探讨了ZCA白化在深度学习模块(DBN)的应用,展示其能加速模型收敛和提高深层网络训练效果,并通过实验对比了DBN在不同深度和宽度的残差网络中的表现,显示了其在Cifar和ILSVRC-2012数据集上的优势。

参考文献
[1] Huang, L. , Yang, D. , Lang, B. , & Deng, J. . (2018). Decorrelated Batch Normalization. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. IEEE.

本篇博客是对以上参考文献的阅读笔记,会穿插一部分笔者自己的思考结果。

1.白化的含义

白化是对数据的一种变换操作,它可以降低多维数据的各个维度之间的相关性,并且将数据的各个维度归一化。假设我们有一批数据:x={ x1,x2,…,xn},xi∈Rd\textbf{x}=\{x_1,x_2,\dots,x_n\}, x_i\in\R^dx={ x1,x2,,xn},xiRd, 它们的均值和协方差矩阵分别是μ=1n∑i=1nxiΣ=1n∑j=1n(xj−μ)⋅(xj−μ)T\mu=\frac{1}{n}\sum_{i=1}^nx_i\\ \Sigma=\frac{1}{n}\sum_{j=1}^n(x_j-\mu)\cdot(x_j-\mu)^Tμ=n1i=1nxiΣ=n1j=1n(xjμ)(xjμ)T白化就是找到一个可逆线性变换的矩阵:WWW,使得WTW=Σ−1W^TW=\Sigma^{-1}WTW=Σ1. 然后将这个矩阵左乘在原始的数据上,得到白化后的数据:x^=Wx\hat{x}=Wxx^=Wx.
这样的操作结果是,变换后的数据,其协方差矩阵变成了单位矩阵:Σ^=1n∑j=1n(x^j−μ^)(x^j−μ^)T=1n∑j=1n(Wxj−Wμ)⋅(Wxj−Wμ)T=W1n∑j=1n(xj−μ)⋅(xj−μ)TWT=WΣWT=WΣΣ−1W−1=I\begin{align*}\hat{\Sigma} &=\frac{1}{n}\sum_{j=1}^n(\hat{x}_j-\hat{\mu})(\hat{x}_j-\hat{\mu})^T\\ &=\frac{1}{n}\sum_{j=1}^n(Wx_j-W\mu)\cdot(Wx_j-W\mu)^T\\ &=W\frac{1}{n}\sum_{j=1}^n(x_j-\mu)\cdot(x_j-\mu)^TW^T\\ &=W\Sigma W^T\\ &=W\Sigma\Sigma^{-1}W^{-1}\\ &=I\end{align*}Σ^=n1j=1n(x^jμ^)(x^jμ^)T=n1j=1n(WxjWμ)(WxjWμ)T=Wn1j=1n(xjμ)(xjμ)TWT=WΣWT=WΣΣ1W1=I这种操作存在的前提是,协方差矩阵必须满秩. 然而协方差矩阵不满秩,意味着所有数据严格分布于某一超平面上,这种情况是极其少见的,因为实际采集的数据一般都带有噪声. 而且即使这种情况出现了,我们也可以在白化过程中人为引入一定的偏置来解决.(详见2.1)

1.1白化矩阵的旋转不变性

注意到,对于一个白化矩阵:WWW, 其左乘以任何一个正交矩阵QQQ,得到的结果W^=QW\hat{W}=QWW^=QW满足:W^TW^=(QW)TQW=WTQTQW=WT⋅I⋅W=Σ−1 \begin{align*} \hat{W}^T\hat{W}&=(QW)^TQW\\ &=W^TQ^TQW\\ &=W^T\cdot I \cdot W\\ &=\Sigma^{-1} \end{align*} W^TW^=(QW)TQW=WTQTQW=WTIW=Σ1并且W^\hat{W}W^是可逆的. 因此W^\hat{W}W^也是白化矩阵. 这说明一组数据的白化矩阵不是唯一的,而且是白化矩阵的性质是旋转不变的.

1.2批次白化

前面我们描述的白化,是针对全体数据的白化. 但是在深度学习中,数据集的规模一般十分庞大,难以对其整体进行白化操作. 而且深度学习的训练算法,例如SGD,一般采用小批次的数据进行训练,所以针对小批次的数据进行白化,更符合逻辑.
假设x=[x1,x2,…,xm]∈Rd×m\textbf{x}=[x_1,x_2,\dots,x_m]\in \R^{d\times m}x=[x1,x2,,x

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值