Состязательные сети. Проекты
Покупка
Тематика:
Локальные компьютерные сети. Интранет
Издательство:
ДМК Пресс
Автор:
Ахирвар Кайлаш
Перевод:
Яроцкий Владимир Александрович
Год издания: 2020
Кол-во страниц: 252
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Магистратура
ISBN: 978-5-97060-783-1
Артикул: 739792.01.99
В книге представлены сквозные проекты построения порождающих состязательных сетей (GAN), способных к самообучению. Структура книги предусматривает повышение уровня сложности от главы к главе. Читатель узнает о том, что такое состязательные сети и как они обучаются генерировать 3D-формы, создавать анимационных персонажей и реалистичные фотоизображения, превращать картины в фотографии и делать многое другое. Издание предназначено для специалистов по данным и машинному обучению, а также для тех, кого интересуют принципы работы и перспективы развития искусственного интеллекта.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Магистратура
- 09.04.02: Информационные системы и технологии
- 09.04.03: Прикладная информатика
- 09.04.04: Программная инженерия
- ВО - Специалитет
- 09.05.01: Применение и эксплуатация автоматизированных систем специального назначения
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Кайлаш Ахирвар Состязательные сети. Проекты
BIRMINGHAM – MUMBAI Kailash Ahirwar Generative Adversarial Networks Projects Build next-generation generative models using TensorFlow and Keras
Кайлаш Ахирвар Москва, 2020 Состязательные сети. Проекты Постройте порождающие сети следующего поколения, используя библиотеки TensorFlow и Keras
УДК 004.89 ББК 32.972 А95 Ахирвар К. А95 Состязательные сети. Проекты / пер. с анг. В. А. Яроцкого. – М.: ДМК Пресс, 2020. – 252 с.: ил. ISBN 978-5-97060-783-1 В книге представлены сквозные проекты построения порождающих состязательных сетей (GAN), способных к самообучению. Структура книги предусматривает повышение уровня сложности от главы к главе. Читатель узнает о том, что такое состязательные сети и как они обучаются генерировать 3D-формы, создавать анимационных персонажей и реалистичные фотоизображения, превращать картины в фотографии и делать многое другое. Издание предназначено для специалистов по данным и машинному обучению, а также для тех, кого интересуют принципы работы и перспективы развития искусственного интеллекта. УДК 004.89 ББК 32.972 Authorized Russian translation of the English edition of Generative Adversarial Networks Projects ISBN 9781789136678 © 2019 Packt Publishing. This translation is published and sold by permission of Packt Publishing, which owns or controls all rights to publish and sell the same. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-78913-667-8 (анг.) © 2019 Packt Publishing ISBN 978-5-97060-783-1 (рус.) © Оформление, издание, перевод, ДМК Пресс, 2020
Содержание Об авторе ........................................................................................................................ 10 О рецензенте ................................................................................................................. 11 Предисловие .................................................................................................................. 12 Глава 1. Введение в порождающие состязательные сети ........................ 16 Что такое порождающие сети ............................................................................................ 16 Что такое сеть генератора ............................................................................................. 16 Что такое сеть дискриминатора .................................................................................... 17 Обуче ние сети GAN посредством состязательной игры ............................................. 17 Практические применения сетей GAN ............................................................................. 17 Детализация архитектуры сети GAN ................................................................................. 18 Архитектура генератора ................................................................................................ 19 Архитектура дискриминатора ...................................................................................... 20 Важные понятия, связанные с сетью GAN.................................................................... 21 Алгоритмы оценки ......................................................................................................... 23 Варианты сетей GAN .......................................................................................................... 25 Глубокие порождающие состязательные сети свертки ............................................... 25 Сеть StackGAN ................................................................................................................ 25 Сеть CycleGAN ................................................................................................................. 25 Сеть 3D-GAN ................................................................................................................... 26 Сеть Age-cGAN ................................................................................................................ 26 Сеть pix2pix ..................................................................................................................... 26 Преимущества сетей GAN .................................................................................................. 27 Проблемы обуче ния сетей GAN ......................................................................................... 27 Режим коллапса .............................................................................................................. 27 Исчезающие градиенты ................................................................................................. 28 Внутренний ковариантный сдвиг ................................................................................. 28 Решение проблем стабильности при обуче нии сетей GAN ............................................. 29 Соответствие характеристик ......................................................................................... 29 Мини-пакетная дискриминация .................................................................................. 29 Усреднение истории....................................................................................................... 31 Одностороннее сглаживание маркировки ................................................................... 31 Пакетная нормализация ................................................................................................ 31 Нормализация образцов ................................................................................................ 32 Резюме ................................................................................................................................. 33 Глава 2. Сеть 3D-GAN – генерация форм 3D с использованием сетей GAN ................................................................................. 34 Введение в сети 3D-GAN .................................................................................................... 34 Свертки 3D ...................................................................................................................... 35
Содержание Архитектура сети 3D-GAN ............................................................................................. 35 Целевая функция ............................................................................................................ 40 Обуче ние сетей 3D-GAN ................................................................................................ 40 Создание проекта ............................................................................................................... 40 Подготовка данных ............................................................................................................. 41 Загрузка и извлечение набора данных ......................................................................... 41 Изучение набора данных ............................................................................................... 42 Реализация сети 3D-GAN в Keras ....................................................................................... 45 Сеть генератора .............................................................................................................. 45 Сеть дискриминатора .................................................................................................... 46 Обуче ние сети 3D-GAN ....................................................................................................... 48 Обуче ние сетей ............................................................................................................... 48 Сохранение моделей ...................................................................................................... 51 Тестирование моделей ................................................................................................... 51 Визуализация потерь ..................................................................................................... 52 Визуализация графов ..................................................................................................... 53 Оптимизация гиперпараметров........................................................................................ 53 Практическое применение сетей 3D-GAN ........................................................................ 54 Резюме ................................................................................................................................. 55 Глава 3. Старение лица с использованием условной сети сGAN ........... 56 Введение в сети cGAN для старения лица ......................................................................... 56 Понимание сетей cGAN ................................................................................................. 57 Архитектура сети Age-cGAN .......................................................................................... 58 Этапы обуче ния сети Age-cGAN .................................................................................... 59 Создание проекта ............................................................................................................... 60 Подготовка данных ............................................................................................................. 61 Загрузка набора данных ................................................................................................ 62 Извлечение набора данных ........................................................................................... 62 Реализация сети Age-cGAN в Keras .................................................................................... 63 Сеть кодировщика .......................................................................................................... 64 Сеть генератора .............................................................................................................. 66 Сеть дискриминатора .................................................................................................... 69 Обуче ние сетей cGAN ......................................................................................................... 71 Обуче ние сети cGAN ...................................................................................................... 71 Аппроксимация начального скрытого вектора ........................................................... 77 Оптимизация скрытого вектора ................................................................................... 79 Визуализация потерь ..................................................................................................... 81 Визуализация графов ..................................................................................................... 82 Практические применения сетей Age-cGAN .................................................................... 82 Резюме ................................................................................................................................. 83 Глава 4. Создание анимационных персонажей с использованием сети DCGAN .............................................................................. 84 Введение в сети DCGAN ..................................................................................................... 85 Детали архитектуры сети DCGAN ................................................................................. 85 Создание проекта ............................................................................................................... 92
Содержание 7 Загрузка и подготовка набора данных анимационных персонажей .............................. 93 Загрузка набора данных ................................................................................................ 93 Изучение набора данных ............................................................................................... 93 Обрезка и изменение размера изображений в наборе данных .................................. 94 Реализация сети DCGAN с использованием Keras ............................................................ 96 Генератор ........................................................................................................................ 96 Дискриминатор .............................................................................................................. 98 Обуче ние сети DCGAN .......................................................................................................101 Загрузка образцов .........................................................................................................101 Построение и компиляция сетей .................................................................................102 Обуче ние сети дискриминатора ..................................................................................104 Обуче ние сети генератора ............................................................................................104 Генерация изображений ...............................................................................................105 Сохранение модели .......................................................................................................106 Визуализация генерированных изображений ............................................................107 Визуализация потерь ....................................................................................................108 Визуализация графов ....................................................................................................109 Настройка гиперпараметров ........................................................................................109 Практические применения сети DCGAN .........................................................................110 Резюме ................................................................................................................................111 Глава 5. Использование сетей SRGAN для создания реалистичных фотоизображений .......................................................................112 Введение в сети SRGAN .....................................................................................................113 Архитектура сети SRGAN ..............................................................................................113 Целевая функция обуче ния ..........................................................................................117 Создание проекта ..............................................................................................................118 Загрузка набора данных CelebA ........................................................................................119 Реализация сети SRGAN в Keras ........................................................................................120 Сеть генератора .............................................................................................................120 Сеть дискриминатора ...................................................................................................124 Сеть VGG19 .....................................................................................................................127 Состязательная сеть ......................................................................................................128 Обуче ние сети SRGAN .......................................................................................................129 Построение и компиляция сетей .................................................................................129 Обуче ние сети дискриминатора ..................................................................................132 Обуче ние сети генератора ............................................................................................132 Сохранение моделей .....................................................................................................133 Визуализация генерированных изображений ............................................................134 Визуализация потерь ....................................................................................................135 Визуализация графов ....................................................................................................136 Практическое применение SRGAN ...................................................................................137 Резюме ................................................................................................................................137 Глава 6. Сети StackGAN – cинтез текста в реалистичные фотоизображения ......................................................................................................138 Введение в сети StackGAN .................................................................................................138 Архитектура сети StackGAN ..............................................................................................139
Содержание Сеть кодировщика текста .............................................................................................140 Блок расширения условий ............................................................................................140 Этап I ..............................................................................................................................141 Этап II .............................................................................................................................145 Создание проекта ..............................................................................................................151 Подготовка данных ............................................................................................................152 Загрузка набора данных ...............................................................................................152 Извлечение набора данных ..........................................................................................152 Изучение набора данных ..............................................................................................153 Реализация сети StackGAN в Keras ...................................................................................153 Этап I ..............................................................................................................................153 Этап II .............................................................................................................................161 Обуче ние сети StackGAN ...................................................................................................169 Обуче ние сети StackGAN этапа I ..................................................................................169 Обуче ние сети StackGAN этапа II .................................................................................176 Визуализация генерируемых изображений ................................................................180 Визуализация потерь ....................................................................................................181 Визуализация графов ....................................................................................................182 Практические применения сети StackGAN ......................................................................182 Резюме ................................................................................................................................183 Глава 7. Сети CycleGAN – превращение картин в фотографии ..............184 Введение в сети CycleGAN .................................................................................................185 Архитектура сети CycleGAN .........................................................................................186 Целевая функция обуче ния ..........................................................................................189 Настройка проекта ............................................................................................................191 Загрузка набора данных ....................................................................................................192 Реализация сети CycleGAN с Keras ....................................................................................192 Сеть генератора .............................................................................................................193 Сеть дискриминатора ...................................................................................................195 Обуче ние сети CycleGAN ...................................................................................................197 Загрузка набора данных ...............................................................................................197 Построение и компиляция сетей .................................................................................198 Начало обуче ния ...........................................................................................................201 Сохранение модели .......................................................................................................203 Визуализация генерируемых изображений ................................................................204 Визуализация потерь ....................................................................................................205 Визуализация графов ....................................................................................................206 Практическое применение сетей CycleGAN ....................................................................207 Резюме ................................................................................................................................207 Дальнейшее чтение ...........................................................................................................207 Глава 8. Условная сеть GAN – преобразование изображения в изображение с использованием условных состязательных сетей ....209 Введение в сети pix2pix .....................................................................................................210 Архитектура сети pix2pix ..............................................................................................210 Целевая функция обуче ния ..........................................................................................216 Создание проекта ..............................................................................................................217
Содержание 9 Подготовка данных ............................................................................................................218 Визуализация изображений .........................................................................................220 Реализация сети pix2pix в Keras ........................................................................................222 Сеть генератора .............................................................................................................222 Сеть дискриминатора ...................................................................................................228 Состязательная сеть ......................................................................................................232 Обуче ние сети pix2pix .......................................................................................................234 Сохранение моделей .....................................................................................................238 Визуализация генерированных изображений ............................................................239 Визуализация потерь ....................................................................................................240 Визуализация графов ....................................................................................................241 Практические применения сети pix2pix ..........................................................................241 Резюме ................................................................................................................................242 Глава 9. Прогнозирование будущего сетей GAN ..........................................243 Наш прогноз будущего сетей GAN ...................................................................................244 Совершенствование существующих методов глубокого обуче ния ...........................244 Эволюция коммерческих приложений сетей GAN .....................................................245 Совершенствование процесса обуче ния сетей GAN ...................................................245 Потенциальные будущие применения сетей GAN ..........................................................245 Создание инфографики из текста ................................................................................245 Создание дизайна сайта ...............................................................................................245 Сжатие данных ..............................................................................................................246 Открытие и разработка лекарственных препаратов ..................................................246 Сети GAN для генерации текста ...................................................................................246 Сети GAN для генерации музыки ................................................................................246 Изучение сетей GAN ..........................................................................................................246 Резюме ................................................................................................................................247 Предметный указатель ............................................................................................248
Об авторе Кайлаш Ахирвар (Kailash Ahirwar) – энтузиаст машинного обуче ния и глубокого обуче ния. Он работал во многих областях искусственного интеллекта (ИИ) – от обработки естественного языка и компьютерного зрения до моделирования с использованием GAN. Является соучредителем и техническим директором компании Mate Labs. Ахирвар применяет GAN для построения различных моделей, таких как превращение рисунков в фотографии и управление глубоким синтезом изображений с помощью текстурных исправлений. Он очень оптимистичен в отношении AGI и считает, что искусственный интеллект станет рабочей лошадкой эволюции человека. Эта книга не была бы возможна без помощи моей семьи. Она поддерживала и поощряла меня во время этой работы. Я хотел бы поблагодарить Рахула Вишвакарму (Rahul Vishwakarma) и всю команду Mate Labs за их поддержку. Кроме того, большое спасибо Руби Мохан (Ruby Mohan), Ниту Даниэль (Neethu Daniel), Абхишеку Кумару (Abhishek Kumar), Танаи Агарвалу (Tanay Agarwal), Амаре Ананд Кумар (Amara Anand Kumar) и другим за их ценный вклад.