студент, кафедра электронных вычислительных машин, Вятский государственный университет, РФ, г. Киров
РАЗРАБОТКА СПЕЦИАЛИЗИРОВАННОГО ПРОГРАММНОГО МОДУЛЯ ФОРМИРОВАНИЯ ОБУЧАЮЩЕЙ ВЫБОРКИ ДЛЯ НЕЙРОГОРОСКОПА
АННОТАЦИЯ
В статье рассматривается проектирование и разработка специализированного программного модуля формирования обучающей выборки для нейрогороскопа. Анализируются и сравниваются такие факторы, как модель нейронной сети, алгоритм обучения нейронной сети, способы оптимизации обучения нейронной сети. Приводятся результаты обучения нейронной сети, оцененные по параметрам «точность» и «потеря». Описывается структура нейронной сети, диаграммы, характеризующие функционирование модуля и структура обучающей выборки.
ABSTRACT
The article discusses the design and development of a specialized software module for the formation of a training sample for a neurogoroscope. Factors such as the neural network model, the neural network training algorithm, and ways to optimize neural network training are analyzed and compared. The results of neural network training, estimated by the parameters "accuracy" and "loss", are presented. The structure of the neural network, diagrams characterizing the functioning of the module and the structure of the training sample are described.
Ключевые слова: обучающая выборка, нейрогороскоп, астрология нейронные сети, рекуррентные нейронные сети, LSTM, знаки зодиака.
Keywords: training sample, neurogoroscope, astrology neural networks, recurrent neural networks, LSTM, zodiac signs.
Индустрия развлечений постоянно развивается и использует новые технологии, включая искусственный интеллект [1]. НейроГороскоп может быть полезен для тех, кто интересуется астрологией и хочет получить более точный и персонализированный гороскоп. Он также может быть использован для развлечения или для создания интересного контента на сайтах и в социальных сетях. Однако, стоит помнить, что точность НейроГороскопа зависит от качества введенных данных и настроек.
Поэтому, перед использованием НейроГороскопа, необходимо убедиться в его точности и надежности.
Актуальность обусловлена необходимостью генерации качественных гороскопов, которые пользуются большой популярностью среди людей. Использование нейронных сетей для этой цели открывает новые перспективы и может значительно повысить точность и достоверность предсказаний.
Нейронные сети являются инструментом прогнозирования, в том числе политических событий, спортивных состязаний [2], биржевых данных. Нейронные сети могут быть использованы для создания нейрогороскопа, который предсказывает будущее на основе анализа исторических данных. Вот шаги, которые могут быть предприняты для создания нейрогороскопа:
- Сбор данных, формирование обучающей выборки.
- Обучение модели нейронной сети.
- Тестирование модели.
- Применение обученной модели.
- Визуализация результатов.
Для повышения качества сгенерированных текстов, в том числе астрологических, было принято решение разработать модуль, блок, который будет формировать обучающую выборку для нейронной сети на основе текстов различных гороскопов.
Разрабатываемый программный продукт должен обладать следующими функциональными возможностями:
- генерация прогнозов: необходимо, чтобы нейрогороскоп был способен генерировать корректные прогнозы для конкретного пользователя.
- в блоке обучающей выборки необходимо предусмотреть данные на каждый знак зодиака (12 знаков зодиака).
- блок обучающей выборки должен иметь достаточное количество записей, чтобы нейронная сеть могла обучаться корректно и выдавать точный результат.
- записи каждого знака зодиака в блоке обучающей выборки должны быть сбалансированы и отражать все возможные ситуации, которые могут возникнуть у людей, рожденных под данным знаком зодиака.
По характеру связей нейронные сети классифицируются на:
- Нейронные сети прямого распространения
- Рекуррентные нейронные сети
В данной работе будет использоваться рекуррентная нейронная сеть, так как она имеет обратную связь, которая позволяет обрабатывать текст.
Рекуррентные нейронные сети — вид нейронных сетей, где связи между элементами образуют направленную последовательность. Благодаря этому появляется возможность обрабатывать серии событий во времени или последовательные пространственные цепочки. В отличие от многослойных перцептронов, рекуррентные сети могут использовать свою внутреннюю память для обработки последовательностей произвольной длины. Поэтому сети RNN применимы в таких задачах, где нечто целостное разбито на части, например: распознавание рукописного текста или распознавание речи.
Simple RNN, LSTM и GRU – это типы рекуррентных нейронных сетей (RNN), которые используются в задачах обработки естественного языка (Natural Language Processing, NLP) и других задачах обработки последовательностей. Они отличаются друг от друга постоянством запоминания и обработки информации, способности избегать проблему исчезающего градиента и количеству параметров, необходимых для обучения.
- Simple RNN – простая рекуррентная нейронная сеть, которая сохраняет прошлое состояние и объединяет его со входом на каждом шаге. Однако, она имеет проблему исчезающего градиента, что затрудняет обучение при длинных последовательностях. Кроме того, она имеет низкую способность к запоминанию длинных зависимостей [3].
- LSTM (Long Short-Term Memory) – нейронная сеть, созданная для борьбы с проблемой исчезающего градиента и для улучшения способности к запоминанию длинных зависимостей. Она использует специальный механизм, называемый "ворота", который позволяет сохранять или забывать информацию на каждом шаге. LSTM состоит из 3 взаимодействующих ворот: ворот забывания, ворот входа и ворот выхода [4].
- GRU (Gated Recurrent Unit) – подобная LSTM сеть, но более простая и использующая только 2 ворота: ворот входа и ворот обновления. GRU содержит меньше параметров, чем LSTM, что упрощает ее обучение. GRU показала хорошие результаты в задачах обработки естественного языка [5].
При проектировании была выбрана рекуррентная сеть LSTM, так как она подходит для генерации длинных текстов, благодаря «запоминанию» последовательностей. При проектировании блока использовалась детализированная диаграмма потоков данных для того, чтобы отследить как каждый процесс преобразует свои входные данные в выходные, а также выявляет отношения. Это метод, с помощью которого проводится графический структурный анализ, в котором описаны внешние для системы источники данных, функции, потоки и хранилища данных, к которым имеется доступ.
На данной диаграмме показаны основные шаги, которые необходимо выполнить для формирования блока обучающей выборки нейронной сети.
Получение данных. Для формирования блока обучающей выборки необходимы данные, полученные из различных источников, таких как астрологические таблицы и книги, интернет-ресурсы или обращение к профессиональным астрологам.
Форматирование данных. Собранные данные необходимо отформатировать для использования в нейронной сети.
Обработка данных. Данные могут содержать ошибки и неточности, которые необходимо обработать. Также необходимо избавиться от выбросов и выбрать только те данные, которые будут наиболее значимыми для предсказания.
Формирование блока обучающей выборки. Данные необходимо разбить на две выборки – обучающую и тестовую. Обучающая выборка будет использоваться для обучения нейронной сети, а тестовая – для проверки ее эффективности и точности.
Обучение нейронной сети. Обучение нейронной сети происходит на основе обучающей выборки. Нейронная сеть должна быть обучена предсказывать будущее на основе собранных данных.
Таким образом, диаграмма потоков данных показывает последовательность шагов, которые необходимо выполнить для формирования блока обучающей выборки и использования нейронной сети для создания нейрогороскопа.
Рисунок 1. Детализированная диаграмма потоков данных
Так как модель строится сверху вниз, то формирование выборки может быть представлена в нотации IDEF0.
Описание процесса формирования блока обучающей выборки
- Определение исходных данных для формирования блока обучающей выборки;
- Описание шагов для формирования блока обучающей выборки на основе этих данных.
Контекстная диаграмма выполняется в нотации IDEF0 и показывает систему c точки зрения внешнего наблюдателя. IDEF0 – методология функционального моделирования и графическая нотация, предназначенная для формализации и описания бизнес – процессов.
Построение модели формирования обучающей выборки начинается с описания функционирования системы в целом в виде контекстной диаграммы (рисунок 2).
Рисунок 2. Контекстная диаграмма IDEF0 «Формирование блока обучающей выборки»
Формирование блока обучающей выборки – сложный процесс, который включает в себя несколько основных функций:
- Отбор гороскопов из открытых источников для формирования исходных данных;
- Фильтрация данных с учетом регистра слов, знаков препинания;
- Разбиение данных на токены (на слова);
- Преобразование данных;
Поэтому после описания контекстной диаграммы можно произвести ее декомпозицию (рисунок 3).
Рисунок 3. Декомпозированная контекстная диаграмма IDEF0 «Формирование блока обучающей выборки»
На детализированной диаграмме система разделена на четыре части.
В первой части происходит извлечение гороскопов из разных источников, таких как журналы, газеты и интернет-сайты.
Вторая часть – обработка данных, которая включает в себя фильтрацию и преобразование данных. В процессе фильтрации данные проверяются на соответствие заданным критериям, таким как регистр слов, знаки препинания, используемые в текстах из источников. В процессе преобразования данных гороскопы приводятся к унифицированному формату, чтобы они могли быть использованы для тренировки нейронной сети.
Третья часть – разбиение данных на единицы учета (токены). В ходе преобразования данные разобьются на слова и знаки. Каждое слово и знак будут подсчитаны, чтобы выявить самые часто используемые.
Наконец, четвертая часть – преобразование данных в векторы, поступающие на вход нейронной сети.
Рисунок 4. Структура нейронной сети LSTM
Пример обучающей выборки приведен ниже.
«Скорпион сегодня тебе стоит проявить свою силу характера и решительность. Не бойся брать на себя ответственность и действовать по своим убеждениям. Ты можешь достичь больших успехов, если будешь настойчивым и решительным.»
[('Скорпион', 5), ('сегодня', 6), ('тебе', 15), ('стоит', 9), ('проявить', 10), ('свою', 6), ('силу', 2), ('характера', 1), ('и', 145), ('решительность.', 1)]
В настоящее время, продолжается тестирование приложения. Оцениваются возможности его модернизации и масштабирования.
Список литературы:
- Искусственный интеллект в сфере развлечений. URL: https://hub.forklog.com/hleba-i-zrelishh-iskusstvennyj-intellekt-v-sfere-razvlechenij/ (дата обращения 13.10.2023)
- Мельцов В.Ю., Подковырин В.Д., Клюкин В.Л., Крутиков А.К., Использование каскадной нейронной сети прямой передачи для прогнозирования спортивных достижений в толкании ядра. [Текст] – Казань: Научно-технический вестник Поволжья №4, 2018. с.136-139.
- Хайкин С. Нейронные сети: полный курс, 2-е издание: пер. с англ. – М.: ООО «И.Д. Вильямс», 2016. – 1104 с.
- Рекуррентные нейронные сети, проблема исчезающего градиента и LSTM. URL: https://skine.ru/articles/333588/ (дата обращения 13.10.2023)
- Chung, Junyoung; Gulcehre, Caglar; Cho, KyungHyun; Bengio, Yoshua. "Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling", Neural and Evolutionary Computing, arXiv:1412.3555, 2014.