Tak-po-siriusovski AI

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Автор: Владимир Константинов

21 мая 2022 года. Пока появилось свободное время между подготовкой к экзаменам, кружками, тренировками и сном, решил заняться нейронными сетями.

Меня всегда поражала возможность создания почти интеллекта, тем более возможность задать его всего лишь набором чисел. Но благо, уровень математики в 2022 году позволяет нам это сделать. Сейчас повсеместно распространены нейронные сети (доставщики-роботы Яндекса, механизмы предсказания курсов акций и т. д.) и данная область информатики продолжает неустанно развиваться. Поэтому и я решил немножко (совсем чуть-чуть) «заглянуть» в эту тему. У меня был небольшой опыт, поэтому для меня это было не впервой и не сложно.

Сначала стоило определиться с идеей проекта. Так как я не первый человек, решивший просто ради развития создать нейронную сеть (вспомните OpenAI или нейронки от Сбера), надо было придумать что-то оригинальное и в тоже время не слишком лёгкое (простых путей не ищем!). Сразу отпадают нейронки-классификаторы (которые, используя данные о предмете, определяют его класс), так как их в интернете вагон и ещё маленькая тележка. Поэтому решено было делать генератор текста. Следующий вопрос был решён за два дня: что она будет генерировать? Сначала я пробовал научить её генерировать новости (кстати, успешно), но потом на ум мне пришла идея научить мою новоиспечённую ИИ на цитатах из паблика Так по-сириусовски… Почему именно эта группа? Ну, во-первых, я люблю Сириус. Во-вторых, в группе очень много постов с осмысленным, но коротким текстом. Ну и просто классная группа.

Раз уж решено было делать нейронную сеть, генерирующую текст, то нужно было организовать для неё память. Само понятие памяти расплывчатое, но гении математики и информатики для нас придумали LSTM (дословно: сеть долгой краткосрочной памяти). Такая сеть как раз подходит нам: она будет хорошо помнить последний сгенерированный символ и отдалённо — старые, причём чем раньше был «создан» символ, тем меньше его «влияние» на значение нового символа.

Сама нейронная сеть состояла из трех слоёв:

  1. Embedding слой. Этот слой преобразует значение вводимых символов в вектор некоторых значений алфавита. Для понимания, этот слой «переводит» наши буквы в язык, более-менее понятный нейронке.
  2. LSTM слой. О нём вроде уже подробно рассказал…
  3. Linear слой. Этот слой просто помогает LSTM слою, делая немножко линейных преобразований с результатом работы нейросети.

На самом деле такое объяснение работы сети слишком грубое и не затрагивает многих моментов, усложняющих работу с сетью. Тем не менее через 124 эпохи обучения ошибки нейронки достигли своего минимума (на самом деле она обучалась 500 эпох, но наилучший результат среди 500 эпох — это 124 эпоха (видимо, учиться много тоже вредно).

Вот несколько интересных фактов об этой нейронной сети:

  1. После 4 эпохи в начале каждого предложения нейронная сеть генерировала многоточие.
  2. Самым частым предложением, которое нейронка генерировала после обучения, стала фраза «...бросить». Эту фразу нейросеть генерирует без единой ошибки (что было бы странно, если бы это предложение не так часто встречалось в постах данной группы).
  3. Самый частый смайлик, который генерировала нейросеть, это ?.
  4. В английских названиях и вообще словах нейронная сеть допускает меньше ошибок, чем в русских (сказывается сложность нашего языка).
  5. Датасет, или просто набор данных, на которых я обучал нейросеть, содержал в себе 1336 предложений, или же 87861 символ.

Результатом работы нейронной сети стало множество предложений. Вот пример некоторых из них:

Пример работы нейросети

Я выбрал самые лучшие фразы, которые сгенерировала моя нейронная сеть. Вот они:

Лучшие фразы

Ну и вот они списочком:

  1. ...всё-таки не сириусовский раза после «Сириуса» в Сириусе…
  2. ...ходить в Сириус : ?
  3. ...выложить из кураторов сирников ???
  4. ...записать на балконе…
  5. ...вылиться толстовку ???
  6. ...бросить
  7. ...узнать, что ты у не попадёшь в библиотеке в номере.
  8. ...тусить тусовках в номере ?
  9. ...а теперь пылессисять!
  10. ...создать ночного куратора в номере.
  11. …узнать, что Наука!

Кстати, смайлики нейросеть генерировала сама, так что можно сказать, что она научилась определять эмоциональную окраску у определённых предложений.


Источник: m.vk.com

Комментарии: