出于为了解决AE中的梯度消失,是否可以使用残差网络或者dense net解决的心态,我搜到了这篇文章Deep Embedded Clustering with Asymmetric Residual Autoencoder。
本文的亮点:
-
使用了一个非对称的、残差的autoencoder来训练样本;
-
将clustering融合入模型,解决end-to-end问题;
-
非对称训练得到的AE更加适合clustering;
-
因为将模型融合,导致AE的训练存在一些constraint(满足clustering),优化更加容易。
A clustering layer has been incorporated into ADREC to form an end to end solution and optimize the network with the help of the clustering result feedback.
模型分为两个部分,embedding部分和clustering部分。如图1,左边是一个4-res-Blocks的残差网络,右边是一个Dense+3-TransposeConv,文中用的clustering是k-means。
损失由2个部分组成。
L r L_r Lr是MSEi重构误差, L c L_c Lc是一个KL散度(相对熵)。
其中
q
i
j
q_{ij}
qij是i
个数据分到j
类的概率,
μ
j
\mu_j
μj是j类的聚类中心,假设了一个student分布。如下图,v=1,于是有式(3)
式(4)比较扯,没搞懂,暂且认为是非线性即可。
最后因为只有clustering,会导致AE的嵌入空间失真,所以将他们组合起来。
According to [11], the embedded space will be distorted if the encoder is finetuned only using the clustering loss.
结果还行,在常见的数据集中。