Как нейросети пишут стихи?

#1
Видел много раз в интернете новости что нейросети пишут стихи, рассказы, сюжеты к фильмам и тд. Как такую обучить?
 

Денис

Пользователь
#2
Сразу хочу предупредить что вариант который я предложу я придумал сам, он не претендует на идеал хотя возможно его и используют как стандарт.
Входные и выходные нейроны - это слова, нейросеть их не знает, вы сами должны обозначить какой вход/выход какому слову соответствует.
Разберем на примере, допустим нейросеть анализирует стишок, "Ехал грека через реку", как упоминалось каждое слово в данном стишке должно быть прикреплено к соответствующему нейрону входа/выхода, тренировочный сет должен выглядеть приблизительно так:
(слово/сигнал подаваемый на нейрон) -> ответ нейросети
Ехал/0,9; грека/0,8; через/0,7; реку/0,6 -> ответ сети Видит/1,0
сдвигаемся на слово дальше в следующем тренировочном примере -
грека/0,9; через/0,8; реку/0,7; Видит/0,6 -> ответ сети Грека/1,0
еще на слово дальше в следующем тренировочном примере -
через/0,9; реку/0,8; Видит/0,7; Грека/0,6 -> В/1,0
реку/0,9; Видит/0,8; Грека/0,7; В/0,6 -> реке/1,0
То-есть следующее слово должны предсказывать несколько предыдущих слов (количество вы должны выбрать сами)
Не обязательно подавать на нейроны нисходящий сигнал, можно подавать на все слова 1,0 (полный сигнал), так сеть быстрее обучается, но хуже подбирает следующее слово, так как подсказки о порядке слов нет.
В результате получаем сеть которая по предыдущим словам "подсвечивает" следующее слово, или даже несколько слов, таким образом у вас есть пространство для творчества и корректировки.
В случае когда одно и то же слово попадается несколько раз, я пробовал суммировать сигнал повторяющегося слова и еще раз нормализировать входящие сигналы.