Литмир - Электронная Библиотека
Содержание  
A
A

Резкий рост интереса к автоэнкодерам начался уже в 2010-е гг. В 2011 г. была опубликована революционная работа исследователей из группы Юргена Шмидхубера в лаборатории искусственного интеллекта швейцарского института IDSIA (Istituto Dalle Molle di Studi sull’Intelligenza Artificiale, Институт исследований искусственного интеллекта Далле Молле) под названием «Сгруппированные свёрточные автокодировщики для извлечения иерархических признаков» (Stacked Convolutional Auto-Encoders for Hierarchical Feature Extraction)[1518], в которой впервые описаны свёрточные автоэнкодеры [convolutional autoencoders], ставшие результатом комбинации автокодировщиков со свёрточными нейронными сетями. В свёрточном автоэнкодере роль кодировщика выполняет свёрточная сеть, а обратную ей роль декодера — развёрточная [deconvolutional].

В дальнейшем, по мере развития свёрточных нейронных сетей, совершенствовались и свёрточные автокодировщики. Также было придумано множество модификаций целевых функций, позволяющих улучшить результаты подобных моделей при решении различных задач. В целом за три последних десятилетия автокодировщики прошли большой путь — от теоретических моделей до гигантских нейронных сетей, предназначенных для обработки самых разных видов данных — от текстов до изображений и звуков.

Концепция кодировщиков и декодеров легла в основу многих важных моделей глубокого обучения. Фактически на её базе возникла целая подотрасль, получившая название «обучение представлениям» (или «обучение признакам») [representation learning] и занимающаяся изучением и разработкой техник, позволяющих системам машинного обучения автоматически находить представления, необходимые для выявления отдельных признаков или классификации данных. Благодаря обучению представлениям в наши дни активно развиваются методы машинного обучения с частичным привлечением учителя. К их числу относится, например, «контрастное обучение» [contrastive learning], о котором мы расскажем немного подробнее.

Контрастное обучение — это метод машинного обучения, используемый для изучения общих характеристик набора неразмеченных данных путём обучения модели тому, насколько похожи друг на друга его отдельные элементы (прецеденты). При этом контрастное обучение принято рассматривать как часть более широкой области, получившей название «метрическое обучение» [metric learning].

Представим себе маленького ребёнка, играющего в детский деревянный конструктор, в составе которого есть детали в форме куба, цилиндра, шара, прямоугольного параллелепипеда, тетраэдра и так далее. Ребёнок никогда не слышал этих слов, но в процессе игры его мозг способен изучить различные высокоуровневые признаки этих объектов: наличие или отсутствие плоских граней, их число, соотношения длин сторон и так далее. Благодаря этому позже, узнав, например, слово «куб», ребёнок сможет соотнести его сразу со всеми кубами, включая даже те, которые он раньше никогда не видел и не держал в руках.

Решая эту задачу при помощи автокодировщика, мы хотим добиться того, чтобы выучиваемые им представления (т. е. латентные векторы) обладали следующим свойством: для двух похожих предметов расстояние между соответствующими им векторами должно быть по возможности минимальным, в то время как расстояние между различающимися предметами должно быть по возможности максимальным. То есть мы, по сути, стремимся расположить соответствующие представлениям точки таким образом, чтобы границы между различными классами объектов были максимально «контрастными».

Однако по условию задачи у нас изначально нет метки класса как таковой. Ввиду этого исследователи применяют хитрый приём: каждый прецедент подвергается множеству трансформаций, которые не должны привести к смене метки целевого класса. Например, если мы имеем дело с изображениями, то к числу таких трансформаций могут относиться повороты, зеркальные отражения, размытие, добавление различных видов шума, изменение яркости, контраста, сдвиги цветов и так далее. При помощи таких трансформаций из одного изображения можно получить множество, составляющее отдельный псевдокласс. Теперь, имея полученный обогащённый набор данных, можно приступать к задаче обучения модели. В качестве целевой функции мы будем использовать такую функцию, которая будет максимизировать расстояние между представлениями прецедентов, относящихся к разным псевдоклассам, и минимизировать расстояние между представлениями, соответствующими прецедентам из одного и того же псевдокласса. В последние годы был разработан целый ряд разновидностей контрастного обучения. Например, можно составить обучающую выборку из пар прецедентов и обучать на ней сеть, состоящую из двух подсетей-кодировщиков с одинаковыми весами, выходы которых будут пропускаться через третью подсеть, вычисляющую расстояние между выходами двух первых подсетей. На выходе третья подсеть должна будет сделать предсказание — относятся прецеденты в паре к одному или тому же псевдоклассу или нет. Такой подход получил название «сиамских сетей» (поскольку веса сетей-кодировщиков идентичны, они являются как бы сиамскими близнецами)[1519]. Вместо вычисления расстояний можно использовать и более хитрые способы оценки представлений, выучиваемых кодировщиками. В результате развития этой идеи в последние годы появилось множество интересных архитектур (MoCo[1520], MoCo v2[1521], SwAV[1522], BYOL[1523], SimCLR[1524], SimCLR v2[1525] и др.).

Остановимся для примера на одной из них. В 2021 г. целый ряд работ был посвящён новому подходу, получившему название «близнецы Барлоу» [Barlow twins][1526]. Он был создан командой исследователей из компании Facebook под впечатлением от исследования нейрофизиолога Хораса Барлоу. В его статье[1527], написанной ещё в 1961 г., была предложена смелая гипотеза о кодировании сенсорной информации в нервной системе, в соответствии с которой цель обработки сенсорной информации мозгом — избавиться от избыточности и перекодировать сигнал в код, компоненты которого будут статистически независимы. Для того чтобы оценить статистическую независимость представлений двух прецедентов, относящихся к одному псевдоклассу, создатели «близнецов Барлоу» заставляют сеть вычислить матрицу взаимной корреляции (кросс-корреляции) двух представлений. В идеальном случае главная диагональ этой матрицы должна быть заполнена единицами (соответствующие элементы двух представлений линейно зависимы, что означает, что представление оказалось инвариантным относительно внесённых искажений), а остальные элементы — нулями (отсутствует корреляция между всеми другими парами компонентов представления). Степень отклонения от этого идеального случая и есть функция потерь, которая в процессе обучения должна быть подвергнута минимизации. При этом второй компонент функции потерь (отличие от нуля недиагональных элементов матрицы) включается в неё с некоторым заданным весом, который можно настраивать. Такой подход позволяет при обучении обойтись без отрицательных примеров и хорошо работает с представлениями достаточно большой размерности. Почему это работает? Как и в случае других методов глубокого обучения, исследователи уже придумали несколько весьма остроумных объяснений наблюдаемому эффекту, отталкиваясь от метода «информационного бутылочного горлышка» [Information bottleneck method] Нафтали Тишби[1528], критерия независимости Гильберта — Шмидта [Hilbert-Schmidt Independence Criterion][1529], [1530] и других страшных слов и фамилий.

вернуться

1518

Masci J., Meier U., Cireșan D., Schmidhuber J. (2011). Stacked convolutional autoencoders for hierarchical feature extraction / International Conference on Artificial Neural Networks, pp. 52—59 // http://people.idsia.ch/~juergen/icann2011stack.pdf

вернуться

1519

Bromley J., Bentz J. W., Bottou L., Guyon I., LeCun Y., Moore C., Sackinger E., Shah R. (1993). Signature verification using a siamese time delay neural network / International Journal of Pattern Recognition and Artificial Intelligence, Vol. 7, Iss. 4, pp. 669—688 // https://dl.acm.org/doi/10.5555/2987189.2987282

вернуться

1520

He K., Fan H., Wu Y., Xie S., Girshick R. (2019). Momentum Contrast for Unsupervised Visual Representation Learning // https://arxiv.org/abs/1911.05722

вернуться

1521

Chen X., Fan H., Girshick R., He K. (2020). Improved Baselines with Momentum Contrastive Learning // https://arxiv.org/abs/2003.04297

вернуться

1522

Caron M., Misra I., Mairal J., Goyal P., Bojanowski P., Joulin A. (2020). Unsupervised Learning of Visual Features by Contrasting Cluster Assignments // https://arxiv.org/abs/2006.09882

вернуться

1523

Grill J.-B., Strub F., Altché F., Tallec C., Richemond P. H., Buchatskaya E., Doersch C., Pires B. A., Guo Z. D., Azar M. G., Piot B., Kavukcuoglu K., Munos R., Valko M. (2020). Bootstrap your own latent: A new approach to self-supervised Learning // https://arxiv.org/abs/2006.07733

вернуться

1524

Chen T., Kornblith S., Norouzi M., Hinton G. (2020). A Simple Framework for Contrastive Learning of Visual Representations // https://arxiv.org/abs/2002.05709

вернуться

1525

Chen T., Kornblith S., Swersky K., Norouzi M., Hinton G. (2020). Big Self-Supervised Models are Strong Semi-Supervised Learners // https://arxiv.org/abs/2006.10029

вернуться

1526

Zbontar J., Jing L., Misra I., LeCun Y., Deny S. (2021). Barlow Twins: Self-Supervised Learning via Redundancy Reduction // https://arxiv.org/abs/2103.03230

вернуться

1527

Barlow H. (1961). Possible Principles Underlying the Transformations of Sensory Messages // https://doi.org/10.7551/mitpress/9780262518420.003.0013

вернуться

1528

Tishby N., Pereira F. C., Bialek W. (1999). The Information Bottleneck Method / The 37th annual Allerton Conference on Communication, Control, and Computing, pp. 368—377 // https://arxiv.org/abs/physics/0004057

вернуться

1529

Tsai Y.-H. H., Bai S., Morency L.-P., Salakhutdinov R. (2021). A Note on Connecting Barlow Twins with Negative-Sample-Free Contrastive Learning // https://arxiv.org/abs/2104.13712

вернуться

1530

Gretton A., Fukumizu K., Teo C. H., Song L., Schölkopf B., Smola A. J. (2007). A kernel statistical test of independence / NIPS'07: Proceedings of the 20th International Conference on Neural Information Processing Systems, pp. 585—592 // https://dl.acm.org/doi/10.5555/2981562.2981636

164
{"b":"936964","o":1}