Глава 10. Генеративное глубокое обучение
423
Рис. 10.15.
Примеры кривых потерь процесса обучения ACGAN. dLoss — потери с шага обучения
дискриминатора. Если точнее, они представляют собой сумму бинарной перекрестной энтропии
от предсказания подлинности изображений и разреженной категориальной перекрестной
энтропии от предсказания классов цифр. gLoss — потери с шага обучения генератора. Подобно
dLoss, gLoss равны сумме потерь от бинарной классификации подлинности и многоклассовой
классификации цифр
Батч меток классов цифр всегда представляет собой упорядоченный вектор из
десяти элементов, от 0 до 9, поэтому батч сгенерированных изображений всегда
представляет собой упорядоченный массив изображений от 0 до 9. Эти изображе
ния соединяются с помощью функции
tf.concat()
и выводятся в элементе
div
на
вебстранице (рис. 10.16,
вверху
). При сравнении с выбранными случайным образом
настоящими изображениями MNIST (см. рис. 10.16,
внизу
) видно, что эти сгенери
рованные ACGAN изображения выглядят как настоящие. Кроме того, их классы
цифр правильны, что демонстрирует успешность обучения ACGAN. Чтобы полу
чить больше выходных изображений от генератора ACGAN, нажмите на странице
кнопку
Generator
. При каждом нажатии этой кнопки генерируется и выводится на
странице новый батч из десяти фальшивых изображений. Можете поэксперимен
тировать с этой возможностью, чтобы лучше прочувствовать качество генерации
изображений.
424
Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
Рис. 10.16.
Пример изображений (верхний блок 10
×
1), сгенерированных генератором обученного
ACGAN. Для сравнения показан нижний блок, содержащий таблицу 10
×
10 настоящих изображений
из набора данных MNIST. При нажатии кнопки Show Z-vector Sliders открывается область,
заполненная 100 слайдерами, с помощью которых можно поменять элементы латентного вектора
(z-вектора) и посмотреть, что поменяется в сгенерированных изображениях MNIST. Учтите, что
влияние на изображения большинства слайдеров при изменении их по одному очень незначительно
и малозаметно. Но иногда можно случайно натолкнуться на слайдер с более заметным эффектом
Материалы для дальнейшего изучения
z
z
Goodfellow I., Bengio Y., Courville A.
Deep Generative Models // Deep Learning,
chapter 20, MIT Press, 2017. (
Гудфеллоу Я., Бенджио Б., Курвилль А.
Глубокое
обучение. — М.: ДМКПресс, 2018; глава 20 «Глубокие порождающие модели».)
z
z
Langr J., Bok V.
GANs in Action: Deep Learning with Generative Adversarial
Networks, Manning Publications, 2019.
z
z
Karpathy A.
The Unreasonable Effectiveness of Recurrent Neural Networks // blog,
21 May 2015:
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
.
z
z
Hui J.
GAN — What is Generative Adversary Networks GAN? // Medium, 19 June
2018:
http://mng.bz/Q0N6
.
z
z
GAN Lab — интерактивная вебсреда для исследования работы GAN, созданная
с помощью TensorFlow.js:
Kahng M. et al.:
https://poloclub.github.io/ganlab/
.
Do'stlaringiz bilan baham: |