[Перевод] Попугай приземлился. Анонс книги «Генеративное глубокое обучение»

Здравствуйте, коллеги!

С удовольствием сообщаем, что в наших издательских планах на начало будущего года — превосходная новая книга по глубокому обучению «Generative Deep Learning» от Дэвида Фостера

inqsxqabae2mhdipqs1ijzyvp0q.jpeg

Автор, сравнивающий эту работу ни много ни мало с высадкой «Аполлона» на Луну, опубликовал на «Медиуме» подробный обзор своего шедевра, который предлагаем считать близким к реальности тизером.

Приятного чтения, следите за анонсом!
Мое 459-дневное путешествие от блога к книге и обратно

20:17 UTC, 20 июля 2019

50 годами ранее, минута в минуту — прилунился модуль «Игл», пилотируемый Нилом Армстронгом и Баззом Олдрином. Это было высшее проявление инженерной мысли, смелости и подлинной решимости.

Перенесемся на 50 лет вперед — и обнаружим, что вся вычислительная мощность бортового управляющего компьютера КА «Аполлон» (AGC), доставившего этих людей на Луну, сегодня многократно умещается у вас в кармане. На самом деле, вычислительная мощность iPhone 6 позволила бы одновременно довести до Луны 120 миллионов таких космических кораблей как «Аполлон — 11».

Этот факт ни в коем случае не умаляет величия AGC. Учитывая закон Мура, можно взять любое компьютерное устройство и не ошибиться, сказав, что через 50 лет появится машина, которая сможет работать в 2²⁵ раз быстрее.

Маргарет Гамильтон, руководительница команды программистов, написавших код для AGC, отнеслась к аппаратным ограничениям компьютеров того времени не как к преграде, а как к вызову. Она употребила все имевшиеся в ее распоряжении ресурсы, чтобы совершить немыслимое.

lpjmp5-zhxquhgtykmpm8skrov8.jpeg

Маргарет Гамильтон и код для AGC (источник: Science History Images)

И вот, я хочу рассказать вам о…

Книге «Генеративное глубокое обучение»

459 дней назад я получил письмо из издательства «O«Reilly Media», в котором меня спросили, насколько интересно мне было бы написать книгу. Эта идея мне тогда понравилась, так что я согласился и решил написать максимально современное руководство по генеративному моделированию, точнее — практичную книгу, в которой бы рассказывалось, как создавать отвечающие духу времени модели глубокого обучения, которые умеют рисовать, писать тексты, сочинять музыку и играть.

Самое важное — мне хотелось, чтобы по прочтении этой книги читатель подробно разобрался в генеративном глубоком обучении и попробовал создавать модели, которым по силам поистине удивительные вещи; причем, эти модели не требуют огромных и дорогостоящих вычислительных ресурсов, которые все равно работают достаточно медленно.
Я глубоко убежден: чтобы усвоить любую техническую тему, нужно начинать с решения мелких задач по ней, но разбираться в них настолько детально, чтобы вам было понятно обоснование всех строк кода до единой.
Если начинать с огромных множеств данных и с таких моделей, на прогон каждой из которых требуется целый день, а не час, то не выучите ничего сверх минимума — просто потратите на обучение в 24 раза больше времени.

Самое важное, чему нас научила посадка Аполлона на Луну, заключается в том, что можно достичь совершенно поразительных результатов, располагая очень скромными вычислительными ресурсами. Ровно такое же впечатление сложится у вас о генеративном моделировании после того как вы прочтете мою книгу.

А что за дела с попугаем?

Писать для O«Reilly тем более приятно, поскольку они подбирают для обложки твоей книги анималистическую иллюстрацию. Мне достался попугай синелобый краснохвостый, которого я в порыве чувств окрестил Нил Уингстронг.

lv6knndcdgwazvs7sslewypbef4.png

Нил Уингстронг из рода Попугаев.

Итак, попугай приземлился. Чего же следует ожидать от книги?

О чем эта книга?

Эта книга — прикладное руководство по генеративному моделированию.

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

Что рассмотрено в книге?

Я попытался осветить в книге все ключевые разработки в области генеративного моделирования за последние 5 лет. Получается такая шкала.

bzgoj2lwzpx1ster0xfodgqlgqc.png

Книга разделена на две части, краткий обзор глав дан ниже:

Часть 1: Введение в генеративное глубокое обучение

Цель первых четырех глав книги — познакомить вас с ключевыми приемами, которые понадобятся вам, чтобы приступить к построению генеративных моделей глубокого обучения.

1. Генеративное моделирование

Мы в широком контексте рассмотрим дисциплину генеративного моделирования и тип задач, которые мы пытаемся решать при помощи вероятностного подхода. Затем мы исследуем наш первый пример простейшей вероятностной генеративной модели и проанализируем, почему может потребоваться прибегнуть к методам глубокого обучения в случае усложнения генеративной задачи.

2. Глубокое обучение

Эта глава поможет вам сориентироваться в инструментах глубокого обучения и приемах, необходимых для того, чтобы приступить к созданию более сложных генеративных моделей. Здесь вы познакомитесь с Keras, фреймворком для построения нейронных сетей, которые могут пригодиться для конструирования и обучения некоторых ультрасовременных архитектур глубоких нейронных сетей, рассматриваемых в литературе.

3. Вариационные автоэнкодеры

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

4. Генеративно-состязательные сети (GAN)

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

Часть 2: Учим машины рисовать, писать, сочинять музыку и играть

В части 2 представлены кейсы, помогающие понять, как техники генеративного моделирования могут применяться для решения конкретных задач.

5. Рисование

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

6. Написание текстов

В этой главе мы обратимся к машинному написанию текстов; в данной предметной области приходится сталкиваться с иными вызовами, нежели при генерации изображений. Здесь вы познакомитесь с рекуррентными нейронными сетями (RNN) — архитектурой, удобной при решении задач, связанных с последовательными данными. Также мы обсудим, как устроена архитектура энкодер-декодер и сами напишем генератор вопросов и ответов.

7. Сочинение музыки

Эта глава посвящена генерации музыки, и эта задача также связана с генерацией последовательных данных. Но, в отличие от написания текстов, в данном случае возникают и дополнительные сложности — например, моделирование музыкального тембра и ритма. Мы убедимся, что многие техники, использовавшиеся при генерации текста, применимы и в этой предметной области, а также исследуем архитектуру глубокого обучения под названием MuseGAN, которая адаптирует идеи из главы 4 (о GAN) к музыкальным данным.

8. Игра

В этой главе рассказано, как генеративные модели совместимы с другими областями машинного обучения, среди которых — обучение с подкреплением. Мы обсудим одну из интереснейших научных статей, вышедших в последнее время, которая называется «World Models» (Модели мира). Авторы этой статьи показывают, как генеративная модель может использоваться в качестве среды, в которой обучается агент, фактически позволяя агенту «выдумать» возможные сценарии будущего и вообразить, что произойдет, если будут предприняты определенные действия, и все это — полностью в пределах контекста нашей концептуальной модели окружающей среды.

9. Будущее генеративного моделирования

Здесь мы подытоживаем существующий ныне технологический ландшафт генеративного моделирования и оглядываемся назад, вспоминая некоторые техники, представленные в этой книге. Мы также поговорим о том, как наиболее современные архитектуры нейронных сетей, доступные сегодня, например, GPT-2 и BigGAN, могут изменить наши представления о творческой деятельности. Интересно, удастся ли когда-нибудь создать искусственную систему, которая могла бы генерировать произведения, неотличимые от образцов человеческого изобразительного искусства, литературы и музыки.

10. Заключение

Заключительные мысли о том, почему генеративное глубокое обучение может оказаться одним из наиболее важных технологических направлений в области глубокого обучения в ближайшие 5–10 лет.

Итоги

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

Надеюсь, моя книга поможет вам сделать первые шаги к пониманию этих новейших технологий, а также станет для вас интересным и приятным чтением.

© Habrahabr.ru