使用TensorFlow相似性的自我监督学习来提高你的模型的准确性

261 阅读2分钟

发布者:Elie BurszteinOwen Vallis,谷歌

TensorFlow的相似性现在支持关键的自我监督学习算法,以帮助你在没有大量的标记数据时提高模型的准确性。

基本的自我监督训练。

通常在训练一个新的机器学习分类器时,我们有很多未标记的数据,如照片,比标记的例子多。自监督学习技术旨在利用这些未标记的数据来学习有用的数据表征,通过对这些未标记的例子进行预训练阶段来提高分类器的准确性。在某些情况下,利用丰富的未标记数据的能力可以显著提高模型的准确性。

也许最知名的成功自我监督训练的例子是转化器模型,如BERT,它通过对大量的文本(如维基百科或网络)进行预训练来学习有意义的语言表示。

自监督学习可以应用于任何类型的数据和各种数据规模。例如,如果你只有几百张标记的图片,使用自我监督学习可以通过对中等规模的数据集(如ImageNet)进行预训练来提高模型的准确性。例如,SimCLR使用ImageNet ILSVRC-2012数据集来训练表征,然后在其他12个图像数据集上评估转移学习性能,如CIFAR、牛津-IIIT Pets、Food-101等。自监督学习在更大的范围内也能发挥作用,在数十亿的例子上进行预训练也能提高准确性,包括文本转换器视觉转换器

自监督学习如何在图像上发挥作用的高度概述。

其核心是,自我监督学习通过对比同一个例子的两个增强的 "视图 "来工作。该模型的目标是使这些视图之间的相似性最大化,以学习对下游任务有用的表征,如训练一个监督分类器。在实践中,在对大量未标记的图像进行预训练后,训练图像分类器的方法是在冻结的预训练表征之上添加一个单一的softmax密集层,并像往常一样使用少量标记的例子进行训练。

来自hello world笔记本的CIFAR10上的一对增强视图的例子。

TensorFlow相似性目前提供了三种关键的方法来学习自我监督的表示。SimCLRSimSiamBarlow Twins,这些方法开箱即用。TensorFlow Similarity还提供了所有必要的组件来实现其他形式的无监督学习。这些包括回调、度量和数据采样器。

你可以开始探索如何利用自监督学习的hello worldnotebook,它展示了如何在CIFAR10上将准确率提高一倍。