Журнал "Научное Образование" в eLIBRARY.RU

  • na-obr@mail.ru
  • Статьи в следующий номер журнала принимаются по 30.04.2024г.

   Регистрационный номер СМИ: ЭЛ № ФС 77 - 74050 от 19.10.2018г. Смотреть

   Свидетельство регистрации периодического издания: ISSN 2658-3429 Смотреть

   Договор с ООО "НЭБ" (eLIBRARY.RU): № 460-11/2018 от 21.11.2018г.

 
kn2
 
 
kn3
 
 
kn4
 

Проектирование нейронной сети для распознавания структурных формул органических соединений

Дата публикации: 2023-01-22 19:21:40
Статью разместил(а):
Новичихина Алёна Александровна

Проектирование нейронной сети для распознавания структурных формул органических соединений

Neural network design for recognition of structural formulas of organic compounds

Автор: Новичихина Алёна Александровна 

ФГБОУ ВО «Хакасский государственный университет им. Н.Ф. Катанова», г. Абакан, Россия

e-mail: belka15math@gmail.com 

Novichikhina Alena Aleksandrovna 

Katanov Khakass State University, Abakan, Russia

e-mail: belka15math@gmail.com 

 

Аннотация: В статье рассмотрен подход к проектированию нейронной сети для распознавания структурных формул органических соединений методом потенциальных функций. На сегодняшний день нейронные сети и искусственный интеллект находят всё большее применение в различных сферах жизнедеятельности человека. Не является исключением и сфера обучения и образования. Нейронная сеть, описываемая в статье, разрабатывается в целях внедрения в виртуальную образовательную платформу по химии.

Abstract: the article considers an approach to the design of a neural network for the recognition of structural formulas of organic compounds by the method of potential functions. To date, neural networks and artificial intelligence are increasingly being used in various spheres of human activity. The sphere of education and training is no exception. The neural network described in the article is being developed in order to be implemented into a virtual educational platform in chemistry.

Ключевые слова: нейронные сети, искусственный интеллект, метод потенциальных функций, распознавание образов, обучение нейронных сетей.

Keywords: neural networks, artificial intelligence, potential function method, pattern recognition, neural network training.

Тематическая рубрика: IT-технологии и цифровые процессы.

 

В современном образовательном процессе всё большее распространение получают информационно-коммуникационные технологии, цифровые и электронные образовательные ресурсы, в том числе, виртуальные образовательные платформы. Одной из задач, решаемых в рамках разработки образовательных платформ, является организация взаимодействия с обучающимися и контроля знаний.

Количество информации растёт в геометрической прогрессии, всё чаще обработка больших массивов данных перекладывается на машину. Такое решение ускоряет процесс обработки, минимизирует ошибки, оптимизирует пути поиска решений, автоматизирует процесс и снижает загруженность человеческих ресурсов. Большими потенциальными возможностями в данном случае обладают нейронные сети. Даже один нейрон способен решать задачи различения образов, а нейронные сети в этом плане обладают колоссальными возможностями. Однако, широкое распространение технологий нейронных сетей и искусственного интеллекта в образовательном процессе на сегодняшний день ограничено рядом факторов, связанных с обучением, тестированием, требованиями к программному и аппаратному обеспечению [1].

Алгоритмы нейронных сетей выстраиваются по аналогии с человеческим мышлением и по показателям превосходят классические решения. Интеллектуальный анализ данных представляет собой процесс выявления значимых корреляций, образцов и тенденций в больших объёмах слабо формализованных данных. Учитывая высокие темпы роста объёмов накопленной информации, роль интеллектуального анализа в современном мире трудно переоценить. Одной из областей, в которых применение нейросетевых технологий предоставляет широкие возможности, является формализация данных [2].

Внедрение в образовательный процесс технологий нейронных сетей и искусственного интеллекта обладает большими потенциальными возможностями. Описано применение нейронных сетей в вопросах психодиагностики, оценке качества деятельности образовательных организаций, качества дополнительного образования, в системах управления процессом образования, контроля результатов учебного процесса, управления обучением [1].

Нейронная сеть – совокупность нейронов, взаимосвязанных и взаимодействующих друг с другом определённым образом. Нейрон – элемент, который вычисляет выходной сигнал по определённому правилу из совокупности входных сигналов. Последовательность действий нейрона такова: приём сигналов от предыдущих элементов сети, комбинирование входных сигналов, вычисление выходного сигнала, передача выходного сигнала следующим элементам сети [3].

Обучение нейронной сети – это процесс, в котором параметры нейронной сети настраиваются посредством моделирования среды, в которую эта сеть встроена. Тип обучения определяется способом подстройки параметров. Различают алгоритмы обучения с учителем и без учителя. Процесс обучения с учителем заключается в предъявлении нейросети серии обучающих примеров. Каждый образец подаётся на входы нейросети, затем проходит обработку внутри её структуры. Вычисляется выходной сигнал, который сравнивается с соответствующим значением целевого вектора, то есть предполагаемого выходного сигнала [4].

Процесс разработки нейронной сети для распознавания химических формул методом потенциальных функций реализуется поэтапно: изучение предметной области, проектирование интерфейса, разработка нейросети, обучение, тестирование, внедрение разработанного модуля в образовательную платформу. При разработке нейронной сети осуществлялась настройка поля для ввода структурных формул органических соединений, реализация конвертирования пиксельного изображения в бинарные данные, вычисление расстояний по Хэммингу, вычисление потенциалов, сравнение потенциалов и вывод результата.

Логика взаимодействия пользователя с проектируемой нейронной сетью состоит в следующем. Пользователь вносит в систему изображение структурной химической формулы. Система переводит изображение в пиксельный формат, после чего определяет структуру закрашенности пикселей на холсте. Незакрашенные пиксели идентифицируются как «0», закрашенные – как «1». Полученная структура записывается в массив. Данные, полученные от пользователя, сравниваются с эталонными изображениями, находящимися в хранилище. Хранилище образов формируется в ходе обучения нейронной сети. При сравнении вычисляются потенциалы, и по их значению определяется принадлежность формулы конкретному классу. После чего на экран выводится результат в виде сообщения пользователю. В данном случае выводилось сообщение с названием химического вещества, структурную формулу которого нарисовал пользователь.

Для сохранения образов в нейронной сети был задействован атрибут Canvas. Этот элемент версии HTML5 предназначен для создания растрового двухмерного изображения. Также на рабочем окне задействованы несколько кнопок для очистки вводимой области, для сохранения образа в память нейронной сети и непосредственно для распознания изображённого образа. В рамках прототипа и расширения возможностей предусмотрена выгрузка и загрузка данных для нейронной сети.

Отрисовка линий реализована методом drawLine, отрисовка ячеек – методом drawCell, для очистки полотна использован метод clear. Базовыми инструментами при разработке нейронной сети были JavaScript (версии ES6), CSS3, HTML5. Нейронная сеть реализована методом потенциальных функций, с вычислением потенциалов по Хэммингу. Фрагмент листинга кода отрисовки пиксельной сетки представлен далее.

Листинг – Фрагмент отрисовки пиксельной сетки.

this.calculate = function(draw = false) {

            const w = canv.width;

            const h = canv.height;

            const p = w / pixel;

            const xStep = w / p;

            const yStep = h / p;

            const vector = [];

                        let __draw = [];

                        for( let x = 0; x < w; x += xStep )

                          {

                               for( let y = 0; y < h; y += yStep )

                                   {

                                       const data = ctx.getImageData(x, y, xStep, yStep);

                                               let nonEmptyPixelsCount = 0;

                                               for( i = 0; i < data.data.length; i += 10 )

                                               {

                                             const isEmpty = data.data[i] === 0;

                                                           if( !isEmpty )

                                               {

                                                           nonEmptyPixelsCount += 1;

                                               }

                                               }

После обучения программе предлагается «распознать» какой-либо рисунок. Программа вычисляет потенциал, создаваемый в этой точке всеми объектами образа «а», образа «б» и так далее, на которых программу обучали. В результате распознаваемый рисунок относится к классу образов с наибольшим значением потенциала.

Завершив обучение нейронной сети, необходимо провести её тестирование для выявления корректности распознаваемых образов. Для этого рисуется контрольный пример одной из структурных формул, и проверяется на корректность получаемого ответа. В консоли выводится потенциал для каждого из образов.

Обучение и тестирование нейронной сети на малом количестве данных показало корректную работу, что является отправной точкой для доработки программы и внедрения её в качестве самостоятельного модуля в разрабатываемую образовательную платформу по химии, а также указывает на возможность самостоятельного использования разработанного ресурса в качестве обучающего инструмента при изучении курса органической химии в основной школе.

 

Список литературы:

1. Моховиков М.Е. Основные тенденции применения нейронных сетей в сфере образования / М.Е. Моховиков, И.А. Суслова / Издательство «Российского государственного профессионально-педагогического университета». – Екатеринбург, 2020.  

2.  Романова Е.В. Задачи применения нейронных сетей в образовательном процессе / Е.В. Романова, Г.К. Гедро, А.Н. Козлов / Журнал «Образование». – Москва, 2016.

3.  Гафаров Ф.М. Искусственные нейронные сети и приложения: учеб. пособие / Ф.М. Гафаров, А.Ф. Галимянов. – Казань: Изд-во Казан. ун-та, 2018. – 121с. 

4. Хайкин С. Нейронные сети: полный курс, 2-е изд.: пер. с англ. – М.: Издательский дом «Вильямс», 2006. – 1104 с.: ил. – Парал. тит. англ. – ISBN 5-8459-0890-6. 

 

. . . . . . .