ISSN 2542-1468, Лесной вестник /Forestry Bulletin, 2019. Т. 23. № 4. С. 106-111. © МГТУ им. Н.Э. Баумана, 2019
Вычислительная техника. Математическое моделирование. Технологии Разработка комплекса лабораторных...
УДК 004.855.5 DOI: 10.18698/2542-1468-2019-4-106-111
РАЗРАБОТКА КОМПЛЕКСА ЛАБОРАТОРНЫХ И ПРАКТИЧЕСКИХ РАБОТ ПО ИЗУЧЕНИЮ НЕЙРОННЫХ СЕТЕЙ
Е.В. Санников1, А.С. Несмелова2, К.С. Несмелова3, Д.А. Герасименко3
1Хакасский государственный университет имени Н.Ф. Катанова, 655000, Республика Хакасия, г. Абакан, ул. Ленина, д. 90 2ПАО РКК «Энергия» им. С.П. Королева, 141070, Московская обл., г. Королев, ул. Ленина, д. 4а 3МГТУ им. Н.Э. Баумана, 105005, г. Москва, ул. 2-я Бауманская, д. 5, стр. 1
Рассмотрены возможности искусственного интеллекта на примере работы простейших нейронных сетей и подходы к его изучению во время обучения студентов. Разработан и внедрен в учебный процесс комплекс лабораторных и практических работ по изучению нейронных сетей на основе проектирования и реализации интерфейса однослойной нейронной сети методами объектно-ориентированного программирования. Создана простейшая нейросеть, позволяющая распознавать и классифицировать монохромные изображения. В качестве модели нейрона представлена известная модель простого процессорного элемента. Приведена математическая модель нейронной сети, в виде компьютерной модели, в которой применяется метод Хебба. Обучение нейронов реализовано с помощью применения алгоритма расчета весовых коэффициентов. На основе данной модели на языке C++ в среде Builder C++ разработано учебное приложение «Neural nets are easy», позволяющее успешно решать задачи распознавания монохромных изображений. Создание и внедрение в учебный процесс предлагаемого курса лабораторных и практических работ позволит студентам детально разобраться в строении нейронных сетей, принципе их создания и работы, а также существенно повысить свой багаж знаний в области прикладного искусственного интеллекта.
Ключевые слова: нейронные сети, искусственный интеллект, комплекс лабораторных работ
Ссылка для цитирования: Санников Е.В., Несмелова А.С., Несмелова К.С., Герасименко Д.А. Разработка комплекса лабораторных и практических работ по изучению нейронных сетей // Лесной вестник / Forestry Bulletin, 2019. Т. 23. № 4. С. 106-111. DOI: 10.18698/2542-1468-2019-4-106-111
В середине XX в. появился термин «нейронная сеть». Первопроходцами в этой области стали У.С. Мак-Каллок и В. Питтс [1]. Ими была создана компьютерная модель нейросети, в основе которой лежали теории работы головного мозга и математические алгоритмы [2]. Нейронные сети и искусственный интеллект всегда интересовали ученых. Термин «нейронная сеть» окончательно вошел в повседневное употребление несколько лет тому назад.
Нейронные сети — это одно из направлений научных исследований в области создания искусственного интеллекта, в основе которого лежит имитация нервной системы человека, а также создание математической модели и ее аппаратная или программная реализация.
Любая нейронная сеть состоит из искусственных (формальных) нейронов или математических нейронов Мак-Калока — Питса. Внутри сети нейроны представлены в виде узлов. Термин «узел» применяется для обозначения и представления единичного нейрона в структуре нейронной сети в рамках ее графовой модели, т. е. является упрощенной моделью естественного нейрона [3]. Узлы искусственных нейронов бывают трех видов: входные, скрытые, выходные.
На входные и скрытые узлы не поступают входные данные и не считываются выходные данные нейронной сети, а выходные данные выходных узлов образуют выходной сигнал ней-
ронной сети (рис. 1). В математических моделях они представляются как нелинейные функции от единственного элемента линейной комбинацией всех входных сигналов. Результат отправляется на единственный выход. Это дает возможность объединять такие нейроны в сети, соединяя выходы одних нейронов с входами других.
Идея нейронных сетей состоит в том, чтобы максимально близко смоделировать работу и структуру человеческой нервной системы. Одной из особенностей искусственного интеллекта является возможность самостоятельного обучения, использования предыдущего опыта и выполнения действий на его основе при уменьшении количества ошибок [3].
Отметим, что простые модели искусственных нейронов игнорируют многие свойства естественных нейронов. В математических моделях пренебрегают задержкой времени, влияющей на динамику системы, т. е. входные сигналы сразу же, мгновенно, порождают выходной сигнал. Еще одно важное отличие состоит в том, что в подобных моделях нейрона не учитываются частотные модуляции или синхронизирующие функции естественных нейронов [3].
Каждая нейронная сеть состоит из большого числа отдельных вычислительных элементов. Это означает, что к определенному слою сети относятся определенные «нейроны». Входные данные проходят обработку последовательно на всех слоях сети.
Рис. 1. Узлы искусственных нейронов: входной (синий),
скрытый (красный), выходной (зеленый) Fig. 1. The nodes of artificial neurons: input (blue), hidden (red), output (green)
Параметры вычислительных элементов, в зависимости от результатов, полученных на предыдущих наборах входных данных, могут изменяться, как следствие, изменяя порядок работы всей системы.
Часть задач, которые могут решать нейронные сети, так или иначе связана с обучением. Нейронные сети применяются в таких областях, как принятие решений, распознавание образов, оптимизация, анализ данных и прогнозирование.
Искусственная нейронная сеть лежит в основе современных систем распознавания и синтеза речи, распознавания и обработки изображений. Она применяется в навигационных системах промышленных роботов, беспилотных автомобилей и летательных аппаратов.
Алгоритмы на основе нейронных сетей защищают информационные системы от атак злоумышленников и помогают выявлять незаконный контент в сети [4].
Возможности искусственного интеллекта широко применяются в космической отрасли: для контроля и диагностики подсистем космических аппаратов [5], анализа данных дистанционного зондирования Земли [6], расчета аэродинамических характеристик [7, 8], распознавания пространственных данных на космических снимках [9]. Благодаря нейросетям сокращается время обработки данных и появляется возможность получения четких изображений из размытых снимков.
Цель работы
Цель работы — создание комплекса лабораторных и практических работ по изучению нейронных сетей. Для достижения поставленной цели было необходимо изучение их строения, взаимосвязи принципов создания и обучения; проведение анализа существующих методов создания и обучения; построение математической модели нейронной сети, ее реализация и разработка учебного приложения.
Описание модели
В МГТУ им. Баумана нейронные сети изучают в основном в среде МА^АВ, хотя существует и множество других подходов, один из них реализован в Хакасском государственном университете имени Н.Ф. Катанова.
Распознавание образов формально определяется как процесс, в котором получаемый образ/сигнал следует отнести к одному из предопределенных классов. Для решения задач распознавания образов с помощью нейронной сети необходимо сначала обучить нейросеть, подавая последовательность входных образов вместе с категориями, к которым принадлежат эти образы. После обучения сети на вход подается ранее не использованный образ, принадлежащий тому же набору категорий, что и множество образов, использованных при обучении. Благодаря полученной информации, выделенной из данных обучения, сеть сможет классифицировать представленный образ и отнести его к конкретному классу.
Распознавание, выполняемое нейронной сетью, является статистическим. Образы при этом являются отдельными точками в многомерном пространстве решений. Все пространство решений разделяется на отдельные области, каждая из которых ассоциируется с определенным классом. Границы этих областей формируются в процессе обучения. Построение границ выполняется статистически на основе дисперсии, присущей данным отдельных классов [3].
Коллективом авторов разработан и внедрен в учебный процесс комплекс лабораторных и практических работ по изучению нейронных сетей на основе проектирования и реализации интерфейса однослойной нейронной сети методами объектно-ориентированного программирования, а также создана простейшая нейросеть, позволяющая распознавать и классифицировать монохромные изображения.
В качестве модели нейрона взята известная модель простого процессорного элемента (рис. 2). На его входы поступает вектор X = (хь ..., хп) входных сигналов, являющихся выходными сигналами других нейронов, и единичный сигнал смещения [10].
Рис. 2. Процессорный элемент как модель нейрона Fig. 2. The processor element as a neuron model
Xjo-
Xj o-
Ф()
-°Ук = ф(*у)
ф(-)
~°Ук = ф(*у)
б
Рис. 3. Граф прохождения сигнала: типы связей (а — акти-
вационная связь; б — синаптическая связь) Fig. 3. Signal flow graph: types of links (a — activation link; b — synaptic link)
*o =+1
що =h
(i)
i=i
у-
[l, если S> 0; [-1, если S< 0.
(2)
Для упрощенного представления моделей нейронных сетей используют направленные графы. Известные варианты графов прохождения сигналов в нейросети представлены на рис. 3 [1].
На рис. 3 ф — в общем случае нелинейная функция активации.
Граф передачи сигнала для одного нейрона представлен на рис. 4.
Как известно, под обучением нейрона следует понимать определенный алгоритм расчета весовых коэффициентов. В используемой модели применялся метод Хебба (рис. 5)
со,(i +1) = со,(t) + xty, i = 0.„л,
(3)
Vk ф(-) Ук
Рис. 4. Граф передачи сигнала для одного нейрона: bk — порог k-го нейрона; и — индуцированное локальное поле нейрона, т. е. Ut = ¿ш^ +bt
J=l
Fig. 4. Signal transmission graph for one neuron: bk — threshold of the k-th neuron; и — induced local field of the neuron,
■ HI
M
Все входные сигналы x, включая сигнал смещения w0, умножаются на весовые коэффициенты своих связей w, и суммируются:
Полученный сигнал поступает на вход блока, реализующего функцию активации нейрона. В используемой модели она имеет вид биполярной функции активации
где w i(t) и w i(t + 1) вес i-й связи нейрона до и после адаптации; y — ожидаемый выходной сигнал нейрона, соответствующий классу предъявленного изображения.
Описанная выше математическая модель ней-росети реализована в виде компьютерной модели и представлена диаграммой классов (рис. 6).
На основе данной модели на языке C++ в среде Builder C++ разработано учебное приложение «Neural nets are easy», позволяющее успешно решать задачи распознавания монохромных изображений (рис. 7). Используя данное приложение, студенты лучше поймут суть работы нейронных сетей.
Используемая модель нейрона является детерминистской, но легко может быть преобразована в стохастическую, где выходное значение функции активации нейрона будет определяться с некоторой вероятностью
fl, с вероятностью P(S); У-i (4)
[-1, с вероятностью l-P(S),
где P(S) является известной сигмоидальной функцией
P(S)=-4r. (5)
1 + е г
Параметр T является аналогом температуры и управляет термальными флуктуациями, определяющими эффект синаптического шума.
Следующим этапом развития модели станет ее модификация, позволяющая распознавать и классифицировать мультиспектральные изображения.
В дальнейшем предполагается реализовать аналогичные компьютерные модели для нейронной сети Хемминга и перцептрона Розенблатта, используя адаптацию весов связей с помощью а- и у-систем подкрепления.
а
пт
Рис. 5. Нейронная сеть из га-нейронов Fig. 5. Neural network of га-neurons
1
Определить класс изображения
Изображение принадлежит * классу "1"
TNeuroNet T Neuron
+int size +vector<TNeuron> Neurons +vector<char> x +TBrtmap* pic +il1t S.I2S -Hint V_expected -Hint v_calculated +vector< short> w
+TNeuroNet() +Pictu re_from_fi le_to_a rrayQ +Leam_Neyron() +Calculate_NeyronAetivity() +TNeuron() +M0
Рис. 7. Элементы визуально-компонентного интерфейса
разработанного приложения «Neural nets are easy» Fig. 7. Elements of the visual component interface of the developed application «Neural nets are easy»
Выводы
Нейронные сети прочно вошли в нашу жизнь и используются во многих отраслях науки и техники, поэтому крайне важно подготовить специалистов, которые смогут работать с нейронными сетями.
Создание и внедрение в учебный процесс предлагаемого курса лабораторных и практических работ позволит студентам разобраться в строении нейронных сетей, принципе их создания и работы, существенно расширить свои знания в области прикладного искусственного интеллекта.
Список литературы
[1] Мак-Каллок УС., Питтс В. Логическое исчисление идей, относящихся к нервной активности // Автоматы / под ред. К.Э. Шеннона, Дж. Маккарти. М.: Изд-во иностр. лит., 1956. С. 363-384.
[2] Нейронные сети: история развития теории. Серия «Нейрокомпьютеры и их применения». Кн. 5 / под ред. А.И. Галушкина, Я.З. Цыпкина. М.: ИПРЖР, 2001. С. 840.
Рис. 6. UML-диаграмма простейшей учебной нейросети TNeuroNet для распознавания монохромных изображений
Fig. 6. UML diagram of the simplest training neural network TNeuroNet for recognition of monochrome images
[3] Хайкин С. Нейронные сети: полный курс = Neural Networks: A Comprehensive Foundation. 2-е изд. М.: Ви-льямс, 2006. 1104 с.
[4] Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение = Deep Learning. М.: ДМК-Пресс, 2017. 652 с.
[5] Абрамов Н.С., Заднепровский В.Ф., Талалаев А.А., Фраленко А.П. Применение искусственных нейронных сетей в задачах контроля и диагностики подсистем космических аппаратов // Современные проблемы науки и образования, 2014, № 3. С. 62.
[6] Исматова Х.Р. Нейронная экспертная система для анализа и картирования процессов засорения почв по данным дистанционного зондирования // Современные проблемы дистанционного зондирования Земли из космоса, 2006. Т. 3. № 2. С. 320-329.
[7] Игнатьев Д.И. Применение искусственных нейронных сетей для моделирования нестационарных аэродинамических характеристик // Вестник московского авиационного института, 2010. Т. 17. № 6. С. 1.
[8] Хлопков Ю.И., Дорофеев Е.А., Зея Мьо, Полякова М.С., Хлопков А.Ю., Агаева Илаха. Разработка нейронных сетей для расчета аэродинамических характеристик высокоскоростных летательных аппаратов // Фундаментальные исследования, 2013, № 11-9. С. 1834-1840.
[9] Гамбарова Е.М. Применение нейронных сетей для распознавания пространственных данных на космических снимках IKONOS // Информация и космос, 2007, № 4. С. 83-91.
[10] Дмитриенко В.Д., Заковоротный А.Ю. Архитектуры и алгоритмы функционирования нейронных сетей Хем-минга и Хебба, способных дообучаться и распознавать новую информацию // Радюелектронжа, шформатиа, управлшня, 2014, № 2 (31). С. 100-109.
Сведения об авторах
Санников Евгений Владимирович — канд. физ.-мат. наук, Хакасский государственный университет имени Н.Ф. Катанова, [email protected]
Несмелова Анастасия Сергеевна—инженер-программист, ПАО РКК «Энергия», [email protected] Несмелова Ксения Сергеевна — студентка кафедры систем автоматического управления МГТУ им. Н.Э. Баумана, [email protected]
Герасименко Даниил Андреевич — студент кафедры систем автоматического управления, МГТУ им. Н.Э. Баумана, [email protected]
Поступила в редакцию 19.04.2019.
Принята к публикации 15.07.2019.
DEVELOPMENT OF LABORATORY AND PRACTICAL WORKS COMPLEX TO STUDY NEURAL NETWORKS
E.V.Sannikov1, A.S. Nesmelova2, K.S. Nesmelova3, D.A. Gerasimenko3
'Khakass state university of N.F. Katanov, 90, Lenin st., 655000, Abakan, Republic of Khakassia, Russia 2S.P. Korolev Rocket and Space Corporation Energia, 4a, lenina st., 141070, Korolev, Moscow reg., Russia 3BMSTU, 5, Block 1, 2nd Baumanskaya st., 105005, Moscow, Russia
In the modern world, neural nets have become an integral part of our life. They are already being used in many spheres of human activity and are constantly being developed. Thus, teaching students to deal with neural nets has become a matter of topical interest. Considering the principles of how simple neural nets function, the article discusses the capabilities of artificial intelligence as well as the approaches to studying it. Well-coordinated work has allowed the authors to devise a university course combining the elements of theory and practice. The course is aimed at mastering students' skills in the field of neural nets. The educational process is built around teaching students to develop and exploit the interface of a single-layer neural net with the methods of object-oriented programming. The authors created a simple neural net allowing to identify and classify monochrome imagery. To imitate the neuron, the well-known central processing element model was chosen. A mathematical model of the neural net was developed and described on the basis of the Hebb's rule. The process of neuron training became possible with the use of the weight coefficient calculation algorithm. The mathematical model was transformed into a computer-based model. This model underlies the creation of a learning appliance called «Neural nets are easy». Written in the C++ programming language, it successfully accomplishes the task of identifying monochrome imagery. This course will deepen students' understanding of the structure of neural nets, the principles of their work and enhance their knowledge of applied artificial intelligence. Keywords: Neural nets, artificial intelligence, university course
Suggested citation: Sannikov E.V., Nesmelova A.S., Nesmelova K.S., Gerasimenko D.A. Razrabotka kompleksa laboratornykh i prakticheskikh rabot po izucheniyu neyronnykh setey [Development of laboratory and practical works complex to study neural networks]. Lesnoy vestnik / Forestry Bulletin, 2019, vol. 23, no. 4, pp. 106-111. DOI: 10.18698/2542-1468-2019-4-106-111
References
[1] Mak-Kallok U.S., Pitts V. Logicheskoe ischislenie idey, otnosyashchikhsya knervnoy aktivnost [Logical Calculus of Ideas Relating to Nervous Activity], Avtomaty [Automata], Ed. K.E. Shannon and J. McCarthy. Moscow: Izd-vo inostr. lit. [Publishing house inostr. Lit.], 1956, pp. 363-384.
[2] Neyronnye seti: Istoriya razvitiya teorii. Seriya «Neyrokomp'yutery i ikh primeneniya» [Neural networks: The history of the development of the theory. A series of "Neurocomputers and their applications"]. Ed. A.I. Galushkin, Ya.Z. Tsypkin. Moscow: IPRZHR, b. 5, 2001, p. 840.
[3] Khaykin S. Neyronnye seti: polnyy kurs = Neural Networks: A Comprehensive Foundation [Neural networks: a full course = Neural Networks: A Comprehensive Foundation]. 2nd ed. Moscow: Williams, 2006, 1104 pp.
[4] Goodfellow J., Bengio I., Curville A. Glubokoe obuchenie = Deep Learning [Deep Learning = Deep Learning]. Moscow: DMK-Press, 2017, 652 p.
[5] Abramov N.S., Zadneprovskiy V.F., Talalaev A.A., Fralenko A.P. Primenenie iskusstvennykh neyronnykh setey v zadachakh kontrolya i diagnostiki podsistem kosmicheskikh apparatov [The use of artificial neural networks in tasks of monitoring and diagnostics of spacecraft subsystems] Sovremennye problemy nauki i obrazovaniya [Modern Problems of Science and Education], 2014, no. 3, p. 62.
[6] Ismatova Kh.R. Neyronnaya ekspertnaya sistema dlya analiza i kartirovaniyaprotsessov zasoreniyapochvpo dannym distan-tsionnogo zondirovaniya [Neural expert system for the analysis and mapping of soil clogging processes according to remote sensing data] Sovremennye problemy distantsionnogo zondirovaniya Zemli iz kosmosa [Modern problems of remote sensing of the Earth from space], 2006, v. 3, no. 2, pp. 320-329.
[7] Ignat'ev D.I. Primenenie iskusstvennykh neyronnykh setey dlya modelirovaniya nestatsionarnykh aerodinamicheskikh kharak-teristik [The use of artificial neural networks for modeling unsteady aerodynamic characteristics] Vestnik moskovskogo avi-atsionnogo instituta [Bulletin of the Moscow Aviation Institute], 2010, v. 17, no. 6, p. 1.
[8] Khlopkov Yu.I., Dorofeev E.A., Zeya M'o, Polyakova M.S., Khlopkov A.Yu., Agaeva Ilakha Razrabotka neyronnykh setey dlya rascheta aerodinamicheskikh kharakteristik vysokoskorostnykh letatel'nykh apparatov [Development of neural networks for calculating the aerodynamic characteristics of high-speed aircraft] Fundamental'nye issledovaniya [Basic Research], 2013, no. 11-9, pp. 1834-1840.
[9] Gambarova E.M. Primenenie neyronnykh setey dlya raspoznavaniya prostranstvennykh dannykh na kosmicheskikh snimkakh IKONOS [The use of neural networks for recognition of spatial data on IKONOS satellite images] Informatsiya i kosmos [Information and space], 2007, no. 4, pp. 83-91.
[10] Dmitrienko V.D., Zakovorotnyy A.Yu. Arkhitektury i algoritmy funktsionirovaniya neyronnykh setey Khemminga i Khebba, sposobnykh doobuchat'sya i raspoznavat' novuyu informatsiyu [The architectures and algorithms of the functioning of the Hamming and Hebb neural networks capable of further learning and recognizing new information] Radioelektronika, infor-matia, upravlinnya [Radioelectronics, informatics, control], 2014, no. 2 (31), pp. 100-109.
Authors' information
Sannikov Evgeniy Vladimirovich — Cand. Sci. (Ph.-M.) of the Khakass state university of N.F. Katanov, [email protected]
Nesmelova Anastasiya Sergeevna — Engineer of the S.P. Korolev Rocket and Space Corporation Energia, [email protected]
Nesmelova Kseniya Sergeevna — Student of Department Automatic control system of the BMSTU, [email protected]
Gerasimenko Daniil Andreevich — Student of Department Automatic control system, of the BMSTU, [email protected]
Received 19.04.2019.
Accepted for publication 15.07.2019.