Так, GAN можуть використовуватися для тексту. Однак існує проблема поєднання того, як працюють GAN і як текст, як правило, генерується нейронними мережами:
- GAN працюють шляхом розповсюдження градієнтів через композицію Generator і Discriminator.
- Текст, як правило, генерується за допомогою остаточного шару softmax над токеновим простором, тобто вихід мережі зазвичай є ймовірністю генерації кожного маркера (тобто дискретної стохастичної одиниці).
Ці 2 речі не працюють добре самостійно, тому що ви не можете поширювати градієнти через дискретні стохастичні одиниці. Для цього можна вирішити два основні підходи: алгоритм REINFORCE та репараметрізація Gumbel-Softmax (також відомий як розподіл бетону ). Враховуйте, що REINFORCE, як відомо, має великі відмінності, тому вам потрібні великі обсяги даних, щоб отримати хороші оцінки градієнта.
Як приклад REINFORCE для текстових GAN можна переглянути статтю SeqGAN . Приклад Gumbel-Softmax ви можете переглянути в цій статті .
Іншим абсолютно іншим варіантом є відсутність дискретного стохастичного блоку як виходу генератора (наприклад, генерування жетонів детерміновано у вбудованому просторі), отже, усунення первісної проблеми зворотного розповсюдження через них.