Введение
Нейросеть в машинном обучении – это математическая модель, которая работает по принципу нейронной сети живого организма. В отличие от нейросети животного, которая передаёт сигнал от мозга к другим органам и полностью регулирует жизнедеятельность организма, компьютерная нейросеть учится решать только ту задачу, которую ей ставит человек.
Суть работы нейронных сетей – смоделировать способ решения задачи, присущий людям. Использование нейронных сетей опирается на накопленный опыт в виде данных и подходит для решения задач, с которыми человечество уже знакомо.
Рассматриваемая идея состоит в том, чтобы получить автомобиль, который сам по себе избегает препятствий виртуального мира. Каждое мгновение автомобиль самостоятельно решает, как изменить свои скорость и направление движения исходя из окружающей обстановки. Для достижения большей реалистичности автомобиль должен воспринимать только ту информацию, которую воспринимал бы на его месте человек. При наличии реальных входных данных искусственный интеллект мог бы быть использован в реальном транспортном средстве и работать так же хорошо [1].
Целью данной работы является выполнение краткого описания принципа работы нейронных сетей в контексте управления транспортным средством.
Описание нейронной сети
Каждое животное на Земле имеет нервную систему, обеспечивающую регуляцию деятельности всех систем организма и реакцию на изменение условий внутренней и внешней среды. Нервная система человека функционирует как единое целое с органами чувств и управляется головным мозгом. Человеческий мозг, одним из свойств которого является способность хранить информацию, состоит из биологических нейронных сетей. Органы чувств передают информацию о раздражителе нейронным сетям, а те в свою очередь обрабатывают ее, благодаря чему мы чувствуем тепло и холод, ветер, влагу, можем распознать людей, вещи, запомнить информацию и так до бесконечности.
Искусственный нейрон – это тот же биологический нейрон, но только сильно упрощенный. Ему необходим лишь алгоритм работы биологического нейрона, чтобы осуществлять задуманное – самообучение компьютерных систем.
1. Принцип работы нейронной сети
Алгоритм работы нейронной сети в точности повторяет алгоритм работы биологических нейронов. Каждый нейрон из сети умеет обрабатывать сигнал, а поскольку их миллиарды, то входящая информация на входе преобразуется в правильный сигнал на выходе. Важно учитывать то, что алгоритм работы каждого нейрона одинаков, поэтому возникает вопрос: если все нейроны работают по одинаковому примеру, то почему нейросети могут выдавать разные ответы, а не один и тот же постоянно? Дело в том, что помимо самих нейронов существуют еще и синапсы. Синапс – это место соединения выхода одного нейрона и входа другого, при этом сигнал при прохождении через синапс либо усиливается, либо ослабляется. Каждый из биологических нейронов обладает тысячами входов для других нейронов, а значит и синапсов также тысячи [1]. Например, у человека около 85 млрд. нейронов в головном мозге.
Каждый синапс индивидуален, он либо усиливает, либо ослабляет сигнал нейрона, проходящий через него. В течение жизни синапсы меняются, а значит, и изменяются проходящие через них сигналы. Именно совместная работа нейрона и синапса преобразуют входящие сигналы в верные решения на выходе [1].
С точки зрения кибернетики синапс это связь между двумя нейронами. У синапсов есть 1 параметр — вес. Благодаря ему, входная информация изменяется, когда передается от одного нейрона к другому. Допустим, есть 3 нейрона, которые передают информацию следующему. Тогда у нас есть 3 веса, соответствующие каждому из этих нейронов. У того нейрона, у которого вес будет больше, та информация и будет доминирующей в следующем нейроне. На самом деле, совокупность весов нейронной сети или матрица весов – это своеобразный мозг всей системы. Именно благодаря этим весам, входная информация обрабатывается и превращается в результат. Как выглядит математический вид нейрона показано на рисунке 1.
Нейрон состоит из входов, на которые подаются числа, весов (те же синапсы) и сумматора. Поступающие на входы числа умножаются на соответствующие веса, после чего произведения суммируются. Сумма всех результатов не является окончательным решением и для выдачи готового результата используется функция активации. Функция активации вычисляет выходной сигнал сумматора в правильное решение [1].
Нейрон – это вычислительная единица, которая получает информацию, производит над ней простые вычисления и передает ее дальше. Они делятся на три основных типа: входной (на рисунке 2 обозначен синим цветом), скрытый (на рисунке 2 обозначен красным цветом) и выходной (на рисунке 2 обозначен зеленым цветом).
В том случае, когда нейросеть состоит из большого количества нейронов, вводят термин слоя. Соответственно, есть входной слой, который получает информацию, какое-то количество скрытых слоев, которые ее обрабатывают и выходной слой, который выводит результат. У каждого из нейронов есть 2 основных параметра: входные данные и выходные данные.
2. Типы нейронных сетей
Рассмотрим классификацию нейронных сетей и их основные типы.
Каждая сеть имеет первый слой нейронов, который называется входным. Он не выполняет никаких вычислений и преобразований, его задача состоит только в одном: принять и распределить по остальным нейронам входные сигналы. Это единственный слой, который является общим для всех типов нейронных сетей, дальнейшая их структура и является критерием для основного деления [1].
Однослойная нейронная сеть. Это структура взаимодействия нейронов, при которой после попадания входных данных в первый входной слой они сразу передаются в слой выхода конечного результата. При этом первый входной слой не считается, так как он не выполняет никаких действий, кроме приёма и распределения. Второй слой производит все нужные вычисления и обработки и сразу выдаёт конечный результат. Входные нейроны объединены с основным слоем синапсами, имеющими различный весовой коэффициент, обеспечивающий качество связей.
Многослойная нейронная сеть. Этот вид нейронных сетей помимо входного и выходного слоёв имеет ещё и промежуточные слои. Их количество зависит от степени сложности самой сети. Она в большей степени напоминает структуру биологической нейронной сети. Такие виды сетей были разработаны совсем недавно, до этого все процессы были реализованы с помощью однослойных сетей. Соответственно подобное решение имеет намного больше возможностей, чем её предшественник. В процессе обработки информации каждый промежуточный слой представляет собой промежуточный этап обработки и распределения информации.
В зависимости от направления распределения информации по синапсам от одного нейрона к другому, можно также классифицировать сети на две категории [1].
Сети прямого распространения или однонаправленная, то есть структура, в которой сигнал движется строго от входного слоя к выходному. Движение сигнала в обратном направлении невозможно. Подобные разработки достаточно широко распространены и в настоящий момент с успехом решают такие задачи, как распознавание, прогнозы или кластеризация.
Сети с обратными связями или рекуррентная. Подобные сети позволяют сигналу двигаться не только в прямом, но и в обратном направлении. В таких сетях результат выхода может возвращаться на вход исходя из этого, выход нейрона определяется весами и сигналами входа, и дополняется предыдущими выходами, которые снова вернулись на вход. Таким сетям свойственна функция кратковременной памяти, на основании которой сигналы восстанавливаются и дополняются в процессе обработки.
Обобщая сказанное можно сделать вывод, что каждая сеть имеет первый слой нейронов, который называется входным. Он не выполняет никаких вычислений и преобразований, его задача состоит только в одном: принять и распределить по остальным нейронам входные сигналы. Это единственный слой, который является общим для всех типов нейронных сетей, дальнейшая их структура и является критерием для основного деления [2].
В настоящее время известны следующие области применения нейронных сетей:
- распознавание образов и классификация;
- принятие решений и управление;
- кластеризация;
- прогнозирование;
- аппроксимация;
- сжатие данных и ассоциативная память;
- анализ данных;
- оптимизация.
В общем случае решение этих задач включает следующие этапы:
- сбор данных для обучения;
- выбор топологии сети;
- экспериментальный подбор характеристик сети;
- экспериментальный подбор параметров обучения;
- обучение сети;
- проверка адекватности обучения.
Проект нейронной сети, обучающейся управлению транспортным средством
В современном мире искусственные нейронные сети широко используются при решении самых разнообразных задач особенно там, где обычные алгоритмические решения оказываются неэффективными или вовсе невозможными.
Для данного проекта была выбрана модель машинного обучения «Обучение без учителя», когда машина сама должна найти среди хаотичных данных верное решение (рис. 3). Потому что мы имеем дело с компьютерной симуляцией, в которой неверные действия нейронной сети не принесут вреда, поэтому у нейросети есть множество попыток для обучения и для них не нужна обширная база данных с входной информацией.
Для ориентирования в пространстве нейронной сети будут доступны несколько векторов, которые формируют угол обзора водителя, и расстояние, на котором вектор пересекается с другим объектом (препятствием), как входные данные.
Выходные данные представляют собой реакцию нейросети на возникновение препятствий, т.е. увеличение или снижение скорости и поворот влево или вправо.
Заключение
Искусственные нейронные сети получили большое распространение при решении многих задач. Вместе с тем изучение большинства их возможностей находится в экспериментальной стадии. Технологии нейронных сетей не должны рассматриваться как универсальное средство решения всех интеллектуальных задач. Их применение оправдано в тех областях, в которых существует значительное число однотипных примеров, отражающих скрытые взаимосвязи [3].
Принципиальное отличие искусственных нейросетей от обычных программных систем, состоит в том, что они не требуют программирования. Они сами настраиваются, т.е. обучаются тому, что требуется пользователю.
В данной работе было рассмотрено и описано устройство нейронной сети, нейрона, а также типы нейронных сетей. Выбран и аргументирован подход машинного обучения для дальнейшей разработки системы управления транспортным средством.
Список литературы
- Портал habr.com [Электронный ресурс] / Режим доступа: https://habr.com/ru/post/101789/. – Загл. с экрана.
- Большая российская энциклопедия [Электронный ресурс] / Режим доступа: https://bigenc.ru/technology_and_technique/text/4114009. – Загл. с экрана.
- РБК [Электронный ресурс] / Режим доступа: https://trends.rbc.ru/trends/industry/60c85c599a7947f5776ad409. – Загл. с экрана.