【论文阅读】主动学习 (Active Learning)
在在线数据的更新时,为了避免重新标注新增所有数据,会采用主动学习的策略。
什么是主动学习
主动学习是机器学习的一种特殊情况,其中学习算法可以交互地查询用户(或某些其他信息源),以用期望的输出标记新的数据点。在统计资料中,有时也称为最佳实验设计。信息源也称为教师或甲骨文。
在某些情况下,未标记的数据很多,但是手动标记的成本很高。在这种情况下,学习算法可以主动向用户/教师查询标签。这种类型的迭代监督学习称为主动学习。由于学习者选择示例,因此学习一个概念的示例数量通常会比正常的监督学习所需的数量少得多。使用这种方法,存在算法被无用信息的示例淹没的风险。最近的发展致力于多标签主动学习,混合主动学习和单遍(在线)上下文中的主动学习,结合了机器学习领域的概念(例如冲突和无知)在线机器学习领域的增量学习策略。
From wikipedia
主动学习应用到深度学习上起源于Wang and Shang [1],
文献[2]应用主动学习,以提高CNNNs的CAPTCHA识别的性能,
这些方案在每次迭代中,都反复从头开始对学习器进行了重新训练,而Zhou等人[3]以增量学习的方式不断地微调CNN,将增量学习与主动学习结合
[1] Wang, Dan, and Yi Shang. "A new active labeling method for deep learning." 2014 International joint conference on neural networks (IJCNN). IEEE, 2014.
[2] Stark, Fabian, et al. "Captcha recognition with active deep learning." Workshop new challenges in neural computation. Vol. 2015. Citeseer, 2015.
[3] Zhou, Zongwei, et al. "Fine-tuning convolutional neural networks for biomedical image analysis: actively and incrementally." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.
文献[3] Fine-tuning convolutional neural networks for biomedical image analysis: actively and incrementally
中文翻译:https://www.leiphone.com/news/201707/GrFoDuRwYNpttISb.html
提出AIFT,结合了主动学习和增量学习。
两个概念:candidate和patch。candidate表示一次训练中所有的训练候选样本,每一个候选样本(candidate)通过数据增强可以生成一系列的patches,由于这些patches来自于同一个候选样本,所以它们的标签跟该候选样本一致。
- 持续微调。
- 主动候选选择。每一个patch使用熵(entropy)和多样性(diversity),熵表示该样本的高信息量(不确定性);多样性表示该样本在一组patches的预测不一致度,使用KL-div衡量。这两个指标越高,越有可能对当前的CNN优化越大。对每个矩阵都可以生成一个包含patch的KL距离和熵的邻接矩阵R。
- 多数选择来处理噪声标签。对每个候选样本的所有patch,计算平均的预测概率,预测均值大于0.5便选择该patch中top ⍺比例的样本,反之选择bottom ⍺比例的样本。因为普遍都会使用一些自动的数据增强的方法,来提高CNN的表现,但是不可避免的给某些候选样本生成了一些难的样本,给数据集注入了一些噪音。
- 预测出的结果有不同的模式:
- patch大部分集中在0.5,不确定性很高,大多数的主动学习算法都喜欢这种候选集。
- 比a还更好,预测从0-1分布均匀,导致了更高的不确定性,因为所有的patch都是通过同一个候选集数据增强得到,他们理论上应该要有差不多的预测。这种类型的候选集有明显优化CNN模型的潜力。
- 预测分布聚集在两端,导致了更高的多样性,但是很有可能和patch的噪声有关,这是主动学习中最不喜欢的样本,因为有可能在fine-tuning的时候迷惑CNN。
- 预测分布集中在一端(0或1),包含更高的确定性,这类数据的标注优先级要降低,因为当前模型已经能够很好的预测它们了。
- 在某些补丁的预测中有更高的确定性,并且有些还和离群点有关联,这类候选集是有价值的,因为能够平滑的改善CNN的表现,尽管不能有显著的贡献,但对当前CNN模型不会有任何伤害。