为了将feature learning与clustering结合起来,我们提出了DAC算法,它将聚类问题映射成为一个二元成对分类框架来判断图像对是否属于同一个类。DAC中,similarities根据深度卷积网络生成的label feature间的余弦距离来计算。通过引入一个约束,学习到的label feature趋近于一个one-hot向量,可以被直接用于聚类图像。由于ground-truth similarities是未知的,我们也提出了an Adaptive Learning algorithm,一种交替迭代的方法来优化我们的模型。每次迭代中,已经被计算出similarities的图像对基于fixed ConvNet被选择,随后,DAC以监督的方式利用这些选择的已被标记的样本来训练ConvNet。当所有样本都被用于训练时二值成对分类问题的目标函数就无法进一步提高了。最终图像通过label feature的局部最大响应被聚类。

深度学习 image enhancement 算法 deep adaptive image clustering_神经网络

      目标函数定义如Eq(1),rij表示xi与xj的真实关系,属于一个类,则rij值为1,否则为0.   该函数有两个问题需要解决:1仅仅计算xi与xj之间的相似度无法获知两个点所属的类,2聚类过程中rij的值也是未知的。

      我们通过引入约束,模型变为下式:

深度学习 image enhancement 算法 deep adaptive image clustering_聚类_02

满足该约束时,学习到的label feature趋近于one-hot,此时图像就可以通过label feature自动地被聚类。问题1得到解决。

      首先,我们给出公式Eq(6):

深度学习 image enhancement 算法 deep adaptive image clustering_迭代_03

当label feature点积高于某阈值时,rij=1,低于某阈值时,rij=0,否则值为None,表示当前训练过程样本xi与xj被忽略。最初,高可信度(li·lj很高或很低)的样本被选为训练样本来发现大致的类,随后,被训练过的ConvNet又可以用于提取更有效的label feature,随之选择更多的样本来发现精炼类,这个过程是通过参数λ来控制的。此时两个问题都得到了解决。

      问题变为下式:

深度学习 image enhancement 算法 deep adaptive image clustering_迭代_04

深度学习 image enhancement 算法 deep adaptive image clustering_聚类_05

其中,

深度学习 image enhancement 算法 deep adaptive image clustering_神经网络_06

表示样本

深度学习 image enhancement 算法 deep adaptive image clustering_聚类_07

被选择用于训练,否则表示样本未用于训练,意味着当前参数下,样本

深度学习 image enhancement 算法 deep adaptive image clustering_聚类_08

的可信度不够。

深度学习 image enhancement 算法 deep adaptive image clustering_神经网络_09

是训练样本的惩罚项,通过降低该值,可以逐渐增加用于训练的样本,直到所有的样本都用于训练。

Adaptive learning

      为了优化Eq(7)中的模型,自适应学习算法,一种交替迭代的算法被研究出来,算法主要解决两个问题:clustering constraint和迭代优化。

深度学习 image enhancement 算法 deep adaptive image clustering_迭代_10


总结流程:随机初始化神经网络的w,输入图像,经神经网络输出label feature,选择成对的label feature中点积较大或较小的作为训练数据优化神经网络权重w,更新w后随之调整阈值,再次选择合适的label feature作为训练数据,直到所有的输入都被用作训练数据为止。训练结束后的神经网络输出即近似为k维的one-hot向量,一个图像的label feature中局部相应最大的就是该图像所属的类。