Видео проигрыватель загружается.Воспроизвести видеоВоспроизвестиБез звукаТекущее время 0:00/Продолжительность 2:21Загрузка: 0.00%0:00Тип потока ОНЛАЙНSeek to live, currently behind liveОНЛАЙНОставшееся время -2:21 1xСкорость воспроизведения2x1.75x1.5x1.25x1x, выбрано0.75x0.5xГлавыГлавыОписанияОтключить описания, выбраноСубтитрынастройки субтитров, откроется диалог настройки субтитровСубтитры выкл., выбраноЗвуковая дорожкаPicture-in-PictureПолноэкранный режимThis is a modal window.Начало диалоговго окна. Кнопка Escape закроет или отменит окноТекстColorБелыйЧерныйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйФонColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйПрозрачныйОкноColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачныйПолупрозрачныйПрозрачностьРазмер шрифта50%75%100%125%150%175%200%300%400%Стиль края текстаНичегоПоднятыйПониженныйОдинаковыйТеньШрифтПропорциональный без засечекМоноширинный без засечекПропорциональный с засечкамиМоноширинный с засечкамиСлучайныйПисьменныйМалые прописныеСбросить сбросить все найстройки по умолчаниюГотовоЗакрыть модальное окноКонец диалогового окна.
В режиме реального времени мы можем видеть, как наша сеть обучается. Я уже запускала обучение этой сети, поэтому она начала обучаться не с нулевой итерации, а с 1000-ой. 1000 итераций прошло буквально за несколько секунд, и теперь мы можем переходить к генерации имён с помощью обычной RNN-ки. Давайте попробуем сгенерировать несколько имён! Для этого нам, всего лишь, нужно несколько раз и сделать forward pass в цикле, предсказать несколько символов и сконкатенировать их в одно слово. Посмотрим на 10 имён, которые отсэмплирует наша нейронная сеть. Отлично! Мы получили какие-то фамилии, и они очень похожи на настоящие фамилии, например — "Чермеев", "Лобовский", "Баторов"... Готовы поспорить, что люди с такими фамилиями действительно живут в России. Кроме того, мы можем осуществить генерацию имён, которые начинаются с определённого набора символов — например, с букв "АР". И мы получаем фамилии "Араскин", "Ардиский", "Артроев" и некоторые другие. Что ещё мы можем менять при генерации фамилий? Например, мы можем менять такой параметр, как температура. Давайте попробуем поставить её равной "0.2". Получаем какой-то достаточно логичный вывод. Теперь поставим температуру равной "2" и мы видим что-то совсем нелогичное — например, пробелы внутри фамилий или какие-то странные заглавные буквы внутри фамилий. Если же мы поставим совсем маленькую температуру, например "0.01", мы будем получать одну и ту же фамилию каждый раз (практически одну и ту же). Почему так происходит? Если мы ставим маленькую температуру, сеть будет генерировать такие фамилии в которых она наиболее уверена. Оказалось, что наша сеть уверена, что фамилии "Ардуров", "Артамов" и... кажется, всё — это наиболее вероятные фамилии, которые начинаются на буквы "АР". Возможно, они встречались в нашем датасете или были какие-то фамилии, похожие на эти две фамилии. Если же мы ставим большую температуру, то наша сеть будет генерировать очень разнообразный выход, но при этом, зачастую, достаточно нелогичный, потому что она могла выучить некоторые странные особенности нашего датасета. Наша задача — выбрать такую температуру, которая будет обеспечивать достаточное разнообразие нашего датасета и, при этом, генерировать логичные фамилии и логичные имена.

К сожалению, у нас пока нет статистики ответов на данный вопрос, но мы работаем над этим.