81
правка
Изменения
м
→TextKD-GAN: minor fixes
[[Файл:TextKD-GAN_Model.png|thumb|right|x400px|Рисунок 27.<ref name="TextKD-GAN"/> Модель TextKD-GAN для генерации текста.]]
В общепринятом текстовом подходе к распознавании, реальные и сгенерированные входные данные дискриминатора будут иметь разные типы ([https://en.wikipedia.org/wiki/One-hot one-hot] и [https://en.wikipedia.org/wiki/Softmax_function softmax]), и он может обыкновенно отличить их друг от друга. Один из способов избежать этой проблемы состоит в получении непрерывно гладкого представление слов (, а не one-hot представления), и обучении дискриминатора различать их. Здесь используется общепринятый атокодировщик(учитель), чтобы заменить one-hot представление выходом, перестроенным softmax-реконструированным выходомфункцией, который является гладким представлением, дающим меньшую дисперсию градиентов. Предложенная модель изображена на рисунке справа27. Как видно, вместо one-hot представления реальных слов смягченный реконструированный выход атокодировщика автокодировщика подается на вход дискриминатору. Эта техника значительно усложняет различение распознавание для самого дискриминатора. Генератор GAN с softmax выходом пытается имитировать распределение выходного сигнала атокодировщика автокодировщика вместо общепринятого one-hot представления.
Обучение модели происходит следующим образом: AE автокодировщика и TextKD-GAN обучаются происходит одновременно. Чтобы добиться этого, необходимо раздробить целевую функцию на три члена:# реконструирующий член для автоэнкодераавтокодировщика: <tex>\min\limits_{(\varphi, \psi)} L_{AE}(\varphi, \psi) = \min\limits_{(\varphi, \psi)} \| x - \mathrm{softmax}(\mathrm{dec}_\psi(\mathrm{enc}_\varphi(x))) \| ^ 2</tex># [[Функция потерь и эмпирический риск | функция потерь ]] для дискриминатора с градиентным штрафом(англ. ''discriminator loss function with gradient penalty''): <tex>\min\limits_{w \in W} L_{discriminator}(w) = \min\limits_{w \in W} -E_{x \sim P_x} [f_w(\mathrm{dec}_\psi(\mathrm{enc}_\varphi(x)))] + E_{z \sim P_z} [f_w(G(z))] + \lambda_2 E_{\hat{x} \sim P_{\hat{x}}} [(\| \nabla_{\hat{x}} f_w(\hat{x}) \| _2 - 1)^2]</tex># состязательная стоимость (англ. ''adversarial cost'') генератора: <tex>\min\limits_\theta L_{Gen}(\theta) = -\min\limits_\theta E_{z \sim P_z} [f_w(G(z))]</tex>
Эти функции потерь обучаются поочередно, чтобы оптимизировать различные части модели. В члене штрафа градиента необходимо посчитать норму градиента случайных выборок <tex>\hat{x} \sim P_{\hat{x}}</tex>.
<div class="oo-ui-panelLayout-scrollable" style="display: block; vertical-align:middle; height: auto; width: auto;">[[Файл:TextKD-GAN&Co.png|thumb|center|x500px|Рисунок 28.<ref name="TextKD-GAN"/> Дивергенция Дженсена-Шеннона (англ. ''Jensen-Shannon divergence, JSD'') между сгенерированным и обучающимся предложениями (n-граммами) полученных из эксперимента SNLI <ref>[https://nlp.stanford.edu/projects/snli/ The Stanford Natural Language Inference (SNLI) Corpus]</ref> (Stanford Natural Language Inference, Стэнфордский Вывод Естественного Языка).]]</div>
=== MCA-GAN ===