реклама
Бургер менюБургер меню

Терренс Сейновски – Антология машинного обучения. Важнейшие исследования в области ИИ за последние 60 лет (страница 26)

18px

Порождающие состязательные сети[233]

В главе 7 машина Больцмана была представлена как порождающая модель, умеющая создавать новые входные выборки, когда выходные данные ограничены категорией, которую она обучена распознавать, и шаблоны активности проникают на входной слой. Йошуа Бенджио и его коллеги из Университета Монреаля показали, что можно обучить сети прямого распространения создавать еще более качественные образцы в обстоятельствах состязания[234]. Порождающую сверточную сеть может научить синтезировать хорошие примеры изображений в попытке обмануть другую сверточную сеть, которая должна решить, являются ли входные данные настоящим изображением или поддельным (рис. 9.5). Выходные данные порождающей сети поступают как входные данные дискриминантной сверточной сети, обученной выдавать один выходной сигнал: 1, если входные данные – реальное изображение, и 0 – если поддельное. Эти две сети конкурируют друг с другом. Порождающая сеть пытается увеличить частоту ошибок дискриминантной сети, которая пытается их уменьшить. Конфликт между двумя целями создает удивительные фотореалистичные изображения (см. рис. 9.5).

Рис. 9.5. Порождающие состязательные сети. Вверху: сверточная сеть используется для создания выборки изображений, предназначенных обманывать дискриминативную сеть. Входные данные слева – 100-мерные непрерывные векторы, выбранные случайным образом для генерирования различных изображений. Затем входной вектор активирует слои фильтров, все больше увеличивая пространственный масштаб. Внизу: пример изображений, созданных GAN, после обучения на фотографиях из одной категории. [Alec Radford, Luke Metz, Soumith Chintala, Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, arXiv:1511.06434, 2016.]

Имейте в виду, что эти изображения искусственные и объекты на них никогда не существовали. Они являются обобщенными версиями непомеченных изображений в обучающем наборе. Обратите внимание, что порождающие состязательные сети (Generative adversarial networks; GAN) неконтролируемы, что позволяет им использовать неограниченное количество данных. Есть много других приложений, начиная от приложений для удаления шумов на астрономических изображениях галактик со сверхразрешением[235] до приложений для изучения представлений эмоциональной речи[236].

Рис. 9.6. Векторная арифметика в порождающих состязательных сетях: комбинация входных данных в порождающую сеть, обученную на лицах, превращалась в выходные данные слева, которые затем, складывая и вычитая выбранные входные векторы, использовались для создания комбинации справа. Поскольку смешивание происходит на самом высоком уровне представления, части и позы незаметно для пользователя сочетаются, а не усредняются, как при морфинге[237]. [Alec Radford, Luke Metz, Soumith Chintala, Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, arXiv:1511.06434, 2016.]

Плавно изменяя входной вектор, можно постепенно сдвигать изображение так, что его части, допустим, окна, постепенно появляются или превращаются в другие объекты, например в шкафы[238],[239]. Еще удивительнее то, что можно складывать и вычитать векторы, представляющие состояние сети, для получения смеси объектов на изображении, как показано на рис. 9.6. Смысл этих экспериментов в том, что представление изображений в порождающей сети показывает комнаты так, как если бы мы описывали части картинки. Технология быстро развивается, и следующий рубеж – создание реалистичных фильмов. Тренируя порождающую состязательную сеть на фильмах, например, с Мэрилин Монро, можно будет воскресить старые шедевры и создать новые.

Рис. 9.7. Показ мужской одежды от Джорджо Армани в Милане. Коллекция весна-лето 2018

Неделя моды в Милане. Модели с отрешенными лицами вышагивают по подиуму (рис. 9.7). Что-то меняется в мире моды: «Многие рабочие места исчезают, – сказала Сильвия Вентурини-Фенди перед показом. – Андроиды займут прежние рабочие места, но единственное, что они не смогут заменить, – наш разум и умение творить»[240]. Теперь представьте себе порождающие состязательные сети, которые были обучены создавать новые стили и моделировать модную одежду с почти бесконечным разнообразием. Возможно, мир моды стоит на пороге новой эры, как и многие сферы бизнеса, связанные с творчеством.

Все дело в масштабировании

Большинство современных алгоритмов обучения были открыты более 25 лет назад. Так почему же им потребовалось столько времени, чтобы начать влиять на реальный мир? С компьютерами и размеченными данными[241], которые были доступны исследователям в 1980-х годах, было возможно продемонстрировать только принцип работы в «лабораторных условиях». Несмотря на отдельные многообещающие результаты, мы не знали, насколько хорошо будет масштабироваться сетевое обучение и производительность, так как количество единиц и соединений увеличивалось в соответствии со сложностью реальных проблем. Многие алгоритмы ИИ плохо масштабировались и никогда не выходили за рамки игрушечных задач. Теперь мы знаем, что обучение нейронных сетей хорошо масштабируется, а производительность продолжает расти с размером сети и количеством слоев. Особенно хорошо масштабируется алгоритм обратного распространения ошибки.

Стоит ли удивляться? Кора головного мозга – «изобретение» млекопитающих, она наиболее развита у приматов и особенно у людей. По мере ее разрастания стало доступно больше возможностей и увеличилось число слоев в ассоциативной зоне для представлений более высокого порядка. Сложных систем, которые так же хорошо масштабируются, единицы. Интернет – одна из немногих спроектированных систем, размер которой так же был увеличен в миллион раз. Интернет развивался после того, как были созданы протоколы для передачи сообщений, подобно тому, как генетический код ДНК позволил развиваться клеткам.

Обучение множества глубоких сетей одним и тем же набором данных приводит к появлению большого числа различных сетей с примерно одинаковым средним уровнем производительности. Нам хотелось бы знать, что общего у всех тех одинаково неплохих сетей, и анализ одной сети этого не выявит. Еще один подход к пониманию принципов, лежащих в основе глубокого обучения, – дальнейшее исследование пространства алгоритмов обучения. Мы отметили лишь несколько точек в этом пространстве. При более широком исследовании теория обучения может выйти столь же основательной, как и теории в других областях науки[242]. Вычислительная теория обучения может пролить свет и на алгоритмы обучения, созданные природой.

Рис. 9.8. Йошуа Бенджио – содиректор программы CIFAR «Обучение машин и мозга». Канадский специалист по вычислениям, родившийся во Франции, Йошуа был лидером в применении глубокого обучения к проблемам живого языка. Достижения Джеффри Хинтона, Яна Лекуна и Йошуа Бенджио стали основополагающими в глубоком обучении

Йошуа Бенджио[243] (рис. 9.8) из Монреальского университета и Ян Лекун сменили Джеффри Хинтона на посту директора программы «Нейронные вычисления и адаптивное восприятия» Канадского института перспективных исследований (Canadian Institute for Advanced Research; CIFAR)[244], когда она, пройдя десятилетний путь, была переименована в «Обучение в машинах и мозге» («Learning in Machines and Brains»). Бенджио возглавлял команду в Монреальском университете, которая применяла глубокое обучение к естественному языку, что и стало новым направлением для этой программы. На встречах в течение десяти с лишним лет небольшая группа из двух десятков преподавателей и стипендиатов положила начало глубокому обучению. Заметный прогресс в применении глубокого обучения ко многим проблемам, которые ранее казались неразрешимыми, можно проследить до их деятельности, но, конечно, они лишь небольшой частью гораздо большего сообщества, которое будет рассмотрено в главе 11.

Сети глубокого обучения зарекомендовали себя во многих приложениях, но они никогда не выживут в реальном мире самостоятельно[245]. С ними нянчатся исследователи, которые кормят эти сети данными, настраивают свои гиперпараметры, такие как скорость обучения, количество слоев и число единиц в каждом слое, чтобы улучшить сходимость и предоставить им огромные вычислительные ресурсы. Кора головного мозга также не выжила бы в мире без тела и остальной части мозга, которые обеспечивают ей поддержку и автономию. Автономия в изменчивом мире – гораздо более сложная проблема, чем распознавание образов. В следующей главе будет представлен древний алгоритм обучения, который важен для выживания в природе, так как мотивирует нас искать полезный опыт.

Глава 10. Обучение с подкреплением

Согласно легенде, уходящей корнями в Средневековье, изобретателю игры в шахматы предложили пшеничное поле в качестве подарка от благодарного правителя. Вместе поля изобретатель попросил положить одно зерно на первый квадрат, два зерна – на второй, четыре зерна – на третий, и так далее, удваивая количество зерен на каждом последующем квадрате, пока все 64 квадрата на шахматной доске не будут заполнены зерном. Правитель посчитал это скромной просьбой и удовлетворил ее. Но на самом деле правитель отдал все зерно своего королевства, так как количество зерен на 64-м квадрате составляет 264, и в сумме выходит 18 446 744 073 709 551 615[246] зерен. Это называется экспоненциальным ростом: хоть 64 – небольшое число, такой показатель степени очень велик[247]. Количество позиций в таких настольных играх, как шахматы и го, растет даже быстрее, чем количество зерен пшеницы. На каждый ход в шахматной партии приходится в среднем 35 вариантов, в го – 250. Это делает скорость экспоненциальный рост гораздо выше.