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

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

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

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

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) и другим 
за их ценный вклад. 

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