За последнее десятилетие машинное обучение беспрецедентно продвинулось в таких разных областях, как распознавание образов, робомобили и сложные игры типа го. Эти успехи в основном были достигнуты через обучение глубоких нейросетей с одной из двух парадигм – обучение с учителем и обучение с подкреплением. Обе парадигмы требуют разработки человеком обучающих сигналов, передающихся затем компьютеру. В случае обучения с учителем это «цели» (к примеру, правильная подпись под изображением); в случае с подкреплением это «награды» за успешное поведение (высокий результат в игре от Atari). Поэтому пределы обучения определяются людьми.
И если некоторые учёные считают, что достаточно обширной программы тренировок – к примеру, возможность успешно выполнить широкий набор задач – должно быть достаточно для порождения интеллекта общего назначения, то другие думают, что истинному интеллекту потребуются более независимые стратегии обучения. Рассмотрим, к примеру, процесс обучения младенца. Его бабушка может сесть с ним и терпеливо показывать ему примеры уток (работая обучающим сигналом при обучении с учителем) или награждать его аплодисментами за решение головоломки с кубиками (как при обучении с подкреплением). Однако большую часть времени младенец наивным образом изучает мир, и осмысливает окружающее через любопытство, игру и наблюдение. Обучение без учителя – это парадигма, разработанная для создания автономного интеллекта путём награждения агентов (компьютерных программ) за изучение наблюдаемых ими данных безотносительно каких-то конкретных задач. Иначе говоря, агент обучается с целью обучиться.
Ключевая мотивация в обучении без учителя состоит в том, что если данные, передаваемые обучающимся алгоритмам имеют чрезвычайно богатую внутреннюю структуру (изображения, видеоролики, текст), то цели и награды в обучении обычно весьма сухие (метка «собака» относящаяся к этому виду, или единица/ноль, обозначающие успех или поражение в игре). Это говорит о том, что большая часть того, что изучает алгоритм, должна состоять из понимания самих данных, а не из применения этого понимания к решению определённых задач.
2012-й стал знаковым годом для глубокого обучения, когда AlexNet (названная в честь ведущего архитектора Алекса Крижевского) смела конкурентов на конкурсе классификации ImageNet. Её способность распознавать изображения не имела аналогов, однако ещё более удивительным было то, что происходит под капотом. Проанализировав действия AlexNet, учёные обнаружили, что она интерпретирует изображения через построение всё усложняющихся внутренних репрезентаций входных данных. Низкоуровневые особенности, к примеру, текстуры и грани представляются нижними слоями, а потом из них на слоях повыше комбинируются концепции более высокого уровня, вроде колёс или собак.
Это удивительно похоже на то, как обрабатывает информацию наш мозг – простые грани и текстуры в основных областях, связанных с органами чувств, собираются в сложные объекты вроде лиц в более высоких областях мозга. Таким образом сложную сцену можно собрать из визуальных примитивов, примерно так же, как смысл возникает из отдельных слов, из которых состоит предложение. Без непосредственных установок слои AlexNet обрнаужили фундаментальный зрительный «словарь», подходящий для решения задачи. В каком-то смысле, сеть научилась играть в то, что Людвиг Витгенштейн называл "языковой игрой", пошагово переходящей от пикселей к меткам изображений.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/0e0/495/f64/0e0495f644806cd55f03b9c51e8c5059.png)
Зрительный словарь свёрточной нейросети. Для каждого слоя создаются изображения, максимально активирующие определённые нейроны. Затем реакцию этих нейронов на другие изображения можно интерпретировать, как наличие или отсутствие визуальных «слов»: текстур, книжных полок, морд собак, птиц.
С точки зрения интеллекта общего назначения самое интересное в словаре AlexNet состоит в том, что его можно использовать повторно, или переносить, на другие зрительные задачи, к примеру, на распознавание не только отдельных объектов, но и сцен целиком. Перенос в постоянно меняющемся мире совершенно необходим, и люди отлично с ним справляются: мы способны быстро приспосабливать навыки и понимание, полученные из опыта (модель мира) к любой текущей ситуации. К примеру, пианист с классическим образованием достаточно легко обучится играть джаз. Искусственные агенты, формирующие правильное внутреннее представление о мире, вероятно, должны иметь такие же возможности.
Тем не менее, у репрезентаций, полученных такими классификаторами, как AlexNet, есть свои ограничения. В частности, поскольку сеть обучена ставить сообщениям метки одного класса (собака, кошка, машина, вулкан) остальную информацию – неважно, насколько она может быть полезной для других задач – она проигнорирует. К примеру, репрезентации могут не уловить фон изображений, если метки относятся только к объектам на переднем плане. Возможное решение – дать более всесторонние тренировочные сигналы, к примеру, подробные описания изображений: не просто «собака», а «корги ловит фрисби в солнечном парке». Однако такие метки тяжело проставлять, особенно в больших масштабах, и их всё равно может быть недостаточно для восприятия всей информации, необходимой для выполнения задачи. Основное предположение обучения без учителя состоит в том, что лучший способ обучиться легко переносимым репрезентациям – это попытаться узнать о данных всё, что можно.
Если понятие переноса через обучение репрезентаций кажется вам слишком абстрактным, представьте ребёнка, обучившегося рисовать людей в стиле «палка, палка, огуречик». Он обнаружил репрезентацию внешнего вида человека, которая как очень компактна, так и хорошо адаптируется. Дополняя каждую фигурку определёнными особенностями, он может создавать портреты всех одноклассников: очки для его лучшего друга, любимую красную футболку его соседу по парте. И он выработал этот навык не для того, чтобы выполнить определённую задачу или получить вознаграждение, но в ответ на базовую потребность отображать окружающий мир.
Возможно, простейшая цель обучения без учителя, это обучить алгоритм создавать собственные примеры данных. Т.н. генеративные модели должны не просто воспроизводить данные, на которых их обучали (это просто неинтересное «запоминание»), но создавать модель класса, из которого были взяты данные. Не определённую фотографию лошади или радуги, но набор фотографий лошадей и радуг; не определённое высказывание конкретного докладчика, но общее распределение словесных высказываний. Основной принцип генеративных моделей состоит в том, что возможность создания убедительного примера данных является сильнейшим свидетельством того, что их поняли: как говорил Ричард Фейнман, «то, что я не могу создать, я не понимаю».
Пока что наиболее успешной генеративной моделью для изображений остаётся генеративно-состязательная сеть (ГСС), в которой две сети – генератор и дискриминатор – вступают в соревнование по распознаванию, похожее на соревнование специалиста по подделке и детектива. Генератор выдаёт изображения, пытаясь заставить дискриминатор поверить в их реальность; дискриминатор же награждают за то, что он обнаруживает подделки. Сгенерированные изображения сперва получаются случайными и неаккуратными, затем улучшаются за много подходов, и динамическое взаимодействие сетей приводит к появлению всё более реалистичных изображений, которые во многих случаях невозможно отличить от реальных фотографий. ГСС также могут выдавать детальные ландшафты на основании грубых набросков пользователей.
Одного взгляда на изображения ниже будет достаточно для того, чтобы убедиться, что сеть научилась изображать множество ключевых особенностей фотографий, на которых она обучалась – структуру тел животных, текстуру травы и подробности игры света и тени (даже в отражении мыльного пузыря). Тщательное изучение обнаруживает небольшие аномалии, типа лишней ноги у белой собаки и странный прямой угол у струй одного из фонтанов. И хотя создатели генеративных моделей пытаются избавиться от подобных несовершенств, то, что мы можем их видеть, говорит об одном из преимуществ воссоздания таких знакомых нам данных, как изображения: изучая образцы, исследователи могут понять, чему модель обучилась, а чему ещё нет.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/a9c/6b1/bdd/a9c6b1bdd0e76da554429897796de392.png)
Ещё одно примечательное семейство сетей в классе обучения без учителя – авторегрессивные модели, в которых данные разбиваются на небольшие кусочки, каждый из которых модель предсказывает по очереди. Такие модели можно использовать для генерации данных следующим образом: сначала сеть угадывает, что идёт дальше, эту догадку скармливают ей на вход, и она угадывает снова. Наиболее известным примером будут модели языка, где каждое следующее слово предсказывается на основе предыдущих: этим модели работают с предсказаниями текста, которые появляются в различных приложениях и при отправке емейла. Недавние разработки в моделировании языка позволяют создавать удивительно разумные пассажи – вот, например, взятый из OpenAI GPT-2:
Контролируя входную последовательность, используемую для подстройки предсказаний, можно использовать авторегрессивные модели для перевода одной последовательности в другой. Эта демонстрация использует условную авторегрессивную модель для перевода текста в реалистичный рукописный вид. WaveNet преобразует текст в речь естественного звучания, и сейчас используется для генерации голоса для Google Assistant. Сходный прогресс подстройки и авторегрессивной генерации можно использовать для переводов с одного языка на другой.
Авторегрессивные модели изучают данные, пытаясь предсказывать каждую их часть в определённом порядке. Можно создать более обобщённый класс сетей с обучением без учителя, строя предсказания о любой части данных на основе любой другой. К примеру, это может означать, что мы удалим одно слово из предложения и попытаемся предсказать его на основе остального текста. Обучая систему через запрос у неё множества локальных предсказаний, мы заставляем её изучать все данные в целом.
Одна из проблем генеративных моделей состоит в возможности их злонамеренного использования. Манипуляции с уликами в виде фотографий, видеороликов и аудиозаписей были возможны уже долгое время, но генеративные модели могут сильно облегчить редактирование этих материалов со злым умыслом. Мы уже видели демонстрацию т.н. deepfake – к примеру, подложное видео с Обамой. Отрадно видеть наличие серьёзных попыток, пытающихся ответить на эти вызовы – к примеру, использование статистических техник для обнаружения синтетических материалов и подтверждения аутентичных, ознакомление общественности с происходящим, и дискуссии по поводу ограничения доступности обученных генеративных моделей. Кроме того, генеративные модели и сами можно использовать для обнаружения сфабрикованных материалов и аномальных данных – к примеру, обнаруживать поддельную речь или определять аномальные платежи для защиты пользователей от мошенников. Исследователям необходимо работать над генеративными моделями, чтобы лучше понимать их и уменьшать риски в будущем.
Генеративные модели сами по себе очень интересны, однако мы в DeepMind относимся к ним, как к этапу пути к интеллекту общего назначения. Наделять агента способностью генерировать данные – это примерно как давать ему воображение, а, следовательно, и возможность планировать и рассуждать по поводу будущего. Наши исследования показывают, что обучение предсказанию различных аспектов окружения даже без специальной задачи по генерации данных обогащают модель мира агента, и, следовательно, улучшают его возможности по решению задач.
Эти результаты перекликаются с нашим интуитивным пониманием человеческого разума. Наша способность изучать мир без специального надзора – одно из фундаментальных свойств интеллекта. На тренировочной поездке мы можем равнодушно смотреть в окно, трогать вельвет на сиденьях, рассматривать пассажиров, едущих с нами. В этих исследованиях у нас нет цели: мы почти не можем отвлечься от сбора информации, и наш мозг без устали работает над пониманием мира вокруг нас и нашего места в нём.
И если некоторые учёные считают, что достаточно обширной программы тренировок – к примеру, возможность успешно выполнить широкий набор задач – должно быть достаточно для порождения интеллекта общего назначения, то другие думают, что истинному интеллекту потребуются более независимые стратегии обучения. Рассмотрим, к примеру, процесс обучения младенца. Его бабушка может сесть с ним и терпеливо показывать ему примеры уток (работая обучающим сигналом при обучении с учителем) или награждать его аплодисментами за решение головоломки с кубиками (как при обучении с подкреплением). Однако большую часть времени младенец наивным образом изучает мир, и осмысливает окружающее через любопытство, игру и наблюдение. Обучение без учителя – это парадигма, разработанная для создания автономного интеллекта путём награждения агентов (компьютерных программ) за изучение наблюдаемых ими данных безотносительно каких-то конкретных задач. Иначе говоря, агент обучается с целью обучиться.
Ключевая мотивация в обучении без учителя состоит в том, что если данные, передаваемые обучающимся алгоритмам имеют чрезвычайно богатую внутреннюю структуру (изображения, видеоролики, текст), то цели и награды в обучении обычно весьма сухие (метка «собака» относящаяся к этому виду, или единица/ноль, обозначающие успех или поражение в игре). Это говорит о том, что большая часть того, что изучает алгоритм, должна состоять из понимания самих данных, а не из применения этого понимания к решению определённых задач.
Расшифровка элементов зрения
2012-й стал знаковым годом для глубокого обучения, когда AlexNet (названная в честь ведущего архитектора Алекса Крижевского) смела конкурентов на конкурсе классификации ImageNet. Её способность распознавать изображения не имела аналогов, однако ещё более удивительным было то, что происходит под капотом. Проанализировав действия AlexNet, учёные обнаружили, что она интерпретирует изображения через построение всё усложняющихся внутренних репрезентаций входных данных. Низкоуровневые особенности, к примеру, текстуры и грани представляются нижними слоями, а потом из них на слоях повыше комбинируются концепции более высокого уровня, вроде колёс или собак.
Это удивительно похоже на то, как обрабатывает информацию наш мозг – простые грани и текстуры в основных областях, связанных с органами чувств, собираются в сложные объекты вроде лиц в более высоких областях мозга. Таким образом сложную сцену можно собрать из визуальных примитивов, примерно так же, как смысл возникает из отдельных слов, из которых состоит предложение. Без непосредственных установок слои AlexNet обрнаужили фундаментальный зрительный «словарь», подходящий для решения задачи. В каком-то смысле, сеть научилась играть в то, что Людвиг Витгенштейн называл "языковой игрой", пошагово переходящей от пикселей к меткам изображений.
![](https://habrastorage.org/getpro/habr/post_images/0e0/495/f64/0e0495f644806cd55f03b9c51e8c5059.png)
Зрительный словарь свёрточной нейросети. Для каждого слоя создаются изображения, максимально активирующие определённые нейроны. Затем реакцию этих нейронов на другие изображения можно интерпретировать, как наличие или отсутствие визуальных «слов»: текстур, книжных полок, морд собак, птиц.
Обучение переносом
С точки зрения интеллекта общего назначения самое интересное в словаре AlexNet состоит в том, что его можно использовать повторно, или переносить, на другие зрительные задачи, к примеру, на распознавание не только отдельных объектов, но и сцен целиком. Перенос в постоянно меняющемся мире совершенно необходим, и люди отлично с ним справляются: мы способны быстро приспосабливать навыки и понимание, полученные из опыта (модель мира) к любой текущей ситуации. К примеру, пианист с классическим образованием достаточно легко обучится играть джаз. Искусственные агенты, формирующие правильное внутреннее представление о мире, вероятно, должны иметь такие же возможности.
Тем не менее, у репрезентаций, полученных такими классификаторами, как AlexNet, есть свои ограничения. В частности, поскольку сеть обучена ставить сообщениям метки одного класса (собака, кошка, машина, вулкан) остальную информацию – неважно, насколько она может быть полезной для других задач – она проигнорирует. К примеру, репрезентации могут не уловить фон изображений, если метки относятся только к объектам на переднем плане. Возможное решение – дать более всесторонние тренировочные сигналы, к примеру, подробные описания изображений: не просто «собака», а «корги ловит фрисби в солнечном парке». Однако такие метки тяжело проставлять, особенно в больших масштабах, и их всё равно может быть недостаточно для восприятия всей информации, необходимой для выполнения задачи. Основное предположение обучения без учителя состоит в том, что лучший способ обучиться легко переносимым репрезентациям – это попытаться узнать о данных всё, что можно.
Если понятие переноса через обучение репрезентаций кажется вам слишком абстрактным, представьте ребёнка, обучившегося рисовать людей в стиле «палка, палка, огуречик». Он обнаружил репрезентацию внешнего вида человека, которая как очень компактна, так и хорошо адаптируется. Дополняя каждую фигурку определёнными особенностями, он может создавать портреты всех одноклассников: очки для его лучшего друга, любимую красную футболку его соседу по парте. И он выработал этот навык не для того, чтобы выполнить определённую задачу или получить вознаграждение, но в ответ на базовую потребность отображать окружающий мир.
Обучение через творчество: генеративные модели
Возможно, простейшая цель обучения без учителя, это обучить алгоритм создавать собственные примеры данных. Т.н. генеративные модели должны не просто воспроизводить данные, на которых их обучали (это просто неинтересное «запоминание»), но создавать модель класса, из которого были взяты данные. Не определённую фотографию лошади или радуги, но набор фотографий лошадей и радуг; не определённое высказывание конкретного докладчика, но общее распределение словесных высказываний. Основной принцип генеративных моделей состоит в том, что возможность создания убедительного примера данных является сильнейшим свидетельством того, что их поняли: как говорил Ричард Фейнман, «то, что я не могу создать, я не понимаю».
Пока что наиболее успешной генеративной моделью для изображений остаётся генеративно-состязательная сеть (ГСС), в которой две сети – генератор и дискриминатор – вступают в соревнование по распознаванию, похожее на соревнование специалиста по подделке и детектива. Генератор выдаёт изображения, пытаясь заставить дискриминатор поверить в их реальность; дискриминатор же награждают за то, что он обнаруживает подделки. Сгенерированные изображения сперва получаются случайными и неаккуратными, затем улучшаются за много подходов, и динамическое взаимодействие сетей приводит к появлению всё более реалистичных изображений, которые во многих случаях невозможно отличить от реальных фотографий. ГСС также могут выдавать детальные ландшафты на основании грубых набросков пользователей.
Одного взгляда на изображения ниже будет достаточно для того, чтобы убедиться, что сеть научилась изображать множество ключевых особенностей фотографий, на которых она обучалась – структуру тел животных, текстуру травы и подробности игры света и тени (даже в отражении мыльного пузыря). Тщательное изучение обнаруживает небольшие аномалии, типа лишней ноги у белой собаки и странный прямой угол у струй одного из фонтанов. И хотя создатели генеративных моделей пытаются избавиться от подобных несовершенств, то, что мы можем их видеть, говорит об одном из преимуществ воссоздания таких знакомых нам данных, как изображения: изучая образцы, исследователи могут понять, чему модель обучилась, а чему ещё нет.
![](https://habrastorage.org/getpro/habr/post_images/a9c/6b1/bdd/a9c6b1bdd0e76da554429897796de392.png)
Создание через предсказание
Ещё одно примечательное семейство сетей в классе обучения без учителя – авторегрессивные модели, в которых данные разбиваются на небольшие кусочки, каждый из которых модель предсказывает по очереди. Такие модели можно использовать для генерации данных следующим образом: сначала сеть угадывает, что идёт дальше, эту догадку скармливают ей на вход, и она угадывает снова. Наиболее известным примером будут модели языка, где каждое следующее слово предсказывается на основе предыдущих: этим модели работают с предсказаниями текста, которые появляются в различных приложениях и при отправке емейла. Недавние разработки в моделировании языка позволяют создавать удивительно разумные пассажи – вот, например, взятый из OpenAI GPT-2:
Подсказка системе (написанная человеком)Одно из интересных несоответствий – описание единорогов, как «четырёхрогих»: забавно изучать ограничения понимания сети.
Учёные сделали шокирующее открытие, обнаружив стадо единорогов, живущих в удалённой и ранее неизученной долине Анд. Ещё более удивительным для исследователей было то, что единороги разговаривали на отличном английском языке.
Законченный моделью текст (после 10 попыток)
Учёные назвали популяцию «единороги Овида» из-за их отличительных рогов. Эти четырёхрогие серебристо-белые единороги ранее были неизвестны науке. И вот, наконец, спустя два столетия загадка того, что породило это странное явление, решена.
Доктор Хорхе Перес, биолог-эволюционист из Университета Лапаза и несколько его компаньонов изучали Анды, когда обнаружили небольшую долину, где не было никаких других животных и людей. Перес заметил в долине нечто, похожее на естественный фонтан, окружённый двумя скалистыми пиками и серебристым снегом.
Затем Перес и остальные отправились дальше в эту долину. «Когда мы добрались до одного из пиков, вода казалась голубой, и на её поверхности было немного кристаллов», — сказал Перес.
Перес и его друзья были поражены, увидев стадо единорогов. Эти существа можно было видеть с воздуха, не приближаясь к ним слишком близко, чтобы их увидеть – они были настолько близко, что они могли прикоснуться к их рогам.
Контролируя входную последовательность, используемую для подстройки предсказаний, можно использовать авторегрессивные модели для перевода одной последовательности в другой. Эта демонстрация использует условную авторегрессивную модель для перевода текста в реалистичный рукописный вид. WaveNet преобразует текст в речь естественного звучания, и сейчас используется для генерации голоса для Google Assistant. Сходный прогресс подстройки и авторегрессивной генерации можно использовать для переводов с одного языка на другой.
Авторегрессивные модели изучают данные, пытаясь предсказывать каждую их часть в определённом порядке. Можно создать более обобщённый класс сетей с обучением без учителя, строя предсказания о любой части данных на основе любой другой. К примеру, это может означать, что мы удалим одно слово из предложения и попытаемся предсказать его на основе остального текста. Обучая систему через запрос у неё множества локальных предсказаний, мы заставляем её изучать все данные в целом.
Одна из проблем генеративных моделей состоит в возможности их злонамеренного использования. Манипуляции с уликами в виде фотографий, видеороликов и аудиозаписей были возможны уже долгое время, но генеративные модели могут сильно облегчить редактирование этих материалов со злым умыслом. Мы уже видели демонстрацию т.н. deepfake – к примеру, подложное видео с Обамой. Отрадно видеть наличие серьёзных попыток, пытающихся ответить на эти вызовы – к примеру, использование статистических техник для обнаружения синтетических материалов и подтверждения аутентичных, ознакомление общественности с происходящим, и дискуссии по поводу ограничения доступности обученных генеративных моделей. Кроме того, генеративные модели и сами можно использовать для обнаружения сфабрикованных материалов и аномальных данных – к примеру, обнаруживать поддельную речь или определять аномальные платежи для защиты пользователей от мошенников. Исследователям необходимо работать над генеративными моделями, чтобы лучше понимать их и уменьшать риски в будущем.
Повторное изобретение интеллекта
Генеративные модели сами по себе очень интересны, однако мы в DeepMind относимся к ним, как к этапу пути к интеллекту общего назначения. Наделять агента способностью генерировать данные – это примерно как давать ему воображение, а, следовательно, и возможность планировать и рассуждать по поводу будущего. Наши исследования показывают, что обучение предсказанию различных аспектов окружения даже без специальной задачи по генерации данных обогащают модель мира агента, и, следовательно, улучшают его возможности по решению задач.
Эти результаты перекликаются с нашим интуитивным пониманием человеческого разума. Наша способность изучать мир без специального надзора – одно из фундаментальных свойств интеллекта. На тренировочной поездке мы можем равнодушно смотреть в окно, трогать вельвет на сиденьях, рассматривать пассажиров, едущих с нами. В этих исследованиях у нас нет цели: мы почти не можем отвлечься от сбора информации, и наш мозг без устали работает над пониманием мира вокруг нас и нашего места в нём.