Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Состязательные сети. Проекты

Покупка
Новинка
Артикул: 882734.01.99
Доступ онлайн
899 ₽
В корзину
В книге представлены сквозные проекты построения порождающих состязательных сетей (GAN), способных к самообучению. Структура книги предусматривает повышение уровня сложности от главы к главе. Читатель узнает о том, что такое состязательные сети и как они обучаются генерировать 3D-формы, создавать анимационных персонажей и реалистичные фотоизображения, превращать картины в фотографии и делать многое другое. Издание предназначено для специалистов по данным и машинному обучению, а также для тех, кого интересуют принципы работы и перспективы развития искусственного интеллекта.
16
33
Ахирвар, К. Состязательные сети. Проекты : практическое руководство / К. Ахирвар ; пер. с анг. В. А. Яроцкого. - Москва : ДМК Пресс, 2020. - 254 с. - ISBN 978-5-97060-783-1. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2260366 (дата обращения: 08.10.2026). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Кайлаш Ахирвар
Состязательные сети.  
Проекты


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


6    Содержание
Архитектура сети 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


8    Содержание
Сеть кодировщика текста..............................................................................................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) и другим 
за их ценный вклад. 


Доступ онлайн
899 ₽
В корзину