Об авторе ........................................................................................................................ 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
Резюме................................................................................................................................208
Дальнейшее чтение ...........................................................................................................208
Глава 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