НЕЙРОННАЯ СЕТЬ, КАК ОДНО ИЗ ПЕРСПЕКТИВНЫХ НАПРАВЛЕНИЙ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
Аннотация
В статье проводится обзор основ моделирования нейронной сети на примере перцеп-трона, решающего задачу классификации объектов. Проанализированы основные составляющие моделирования перцпетрона.
Ключевые слова
искусственный интеллект, нейрон, перцептрон, импульс, нейронная сеть
АВТОРЫ
Подзорова Марина Ивановна,
кандидат педагогических наук, доцент ФГБОУ ВО «Московский государственный технический университет им. Н. Э. Баумана», г. Москва [email protected]
Птицына Инга Вячеславовна,
кандидат физико-математических наук, доцент ФГБОУ ВО «Московский государственный технический университет им. Н. Э. Баумана», г. Москва [email protected]
Бахтиярова Ольга Николаевна,
кандидат технических наук, доцент ФГБОУ ВО «Московский государственный технический университет им. Н. Э. Баумана», г. Москва [email protected]
Введение
Сегодня человеческая деятельность очень тесно связана с информационными технологиями. Современные компьютерные приложения учитывают особенности человеческого мозга, а человеческий мозг учитывает особенности технологий и, если возникает необходимость в поиске маршрута, для этого можно использовать приложение «Яндекс.Карты».
По сути, нейрон можно представить в виде узла со многими входами и одним выходом. Нейросеть, в свою очередь, складывается из множества взаимосвязанных нейронов. Фактически это «примитивное» устройство, которое служит для получения данных на вход и выдачи ответа. В начале нейронная сеть учится соотносить входящие и выходящие сигналы друг с другом - это называется обучением. А когда нейронная сеть начинает работать, она получает входные данные, генерируя выходные сигналы, основываясь на накопленных умениях.
Предположительно первоначальная эволюционная задача нейросети в природе заключалась в том, чтобы изолировать сигнал от шума. Шум - это случайный, плохо воссоздаваемый паттерн. Сигнал - это импульс (электрический, механический, молекулярный), который не является совершенно случайным. В настоящее время нейронные системы в технологии (вместе с биологическими) уже научились не только различать сигналы и шум между собой, но также производить новые уровни абстракции
для идентификации разных состояний окружающего нас мира. Таким образом, кроме принятия во внимание факторов, обозначенных программистами, нейросети способны определять эти факторы самостоятельно.
Как и человеческий мозг, нейронные сети состоят из большого количества связанных элементов, которые имитируют нейроны. Глубокие нейронные сети основаны на таких алгоритмах, благодаря которым компьютеры учатся на собственном опыте, формируя в процессе обучения многоуровневые, иерархические представления о мире.
Разработчики глубокого обучения всегда учитывают особенности человеческого мозга - построение его нейронных сетей, процессы обучения и памяти и т. д., пытаясь использовать принципы своей работы и моделируя структуру миллиардов взаимосвязанных нейронов. В результате этого глубокое обучение представляет собой пошаговый процесс, похожий на процесс обучения человека. Для глубокого обучения необходимо предоставить нейронной сети огромное количество данных, чтобы обучить систему четко и точно классифицировать данные.
Фактически, нейросеть получает группу импульсов в качестве входных данных и обеспечивает выходной сигнал так же, как и человеческий мозг. В любой момент любой нейрон имеет чёткое значение (можно провести аналогию с электрическим потенциалом биологических нейронов), и если это значение превосходит пороговое, то нейрон пересылает один импульс, и его значение ниспадает до уровня ниже среднего в течение 2-30 мс (аналогично процессу реабилитации в биологических нейронах, так называемый рефрактерный период). Когда он выходит из равновесия, потенциал нейрона начинает стремиться к среднему значению.
Актуальность данной работы обусловлена тем, что нейронные сети в настоящее время активно изучаются, развиваются и разрабатываются. Все поисковые системы, системы целевой рекламы, системы предложений в социальных сетях работают благодаря нейросетевым технологиям.
Методология и результаты исследования
Нейронная сеть состоит из узлов, являющихся аналогами нервных клеток -нейронов и их соединений - синаптических связей [1].
Перцептрон, или персептрон (англ. регсер^оп от лат. регсер^'о - восприятие; нем. Регеер^оп) - математическая или компьютерная модель восприятия информации мозгом (кибернетическая модель мозга), предложенная Фрэнком Розенблаттом в 1958 году. Таким образом, перцептрон есть простейшая нейронная сеть.
Он представляет собой упрощенную модель биологического нейрона. Несмотря на то, что сложность биологических моделей нейронов зачастую необходима для достаточно глубокого понимания поведения нейронов, исследования показывают, что перцептроноподобная линейная модель способна вызывать такое поведение, которое наблюдается в реальных нейронах.
Простейшая пороговая функция активации состоит в том, что нейрон суммирует произведение энергетических долей импульса на веса дендритов и вычитает пороговое значение.
Основные принципы теории перцептронов
Известно, что для человека необходимо наличие знаний в различных сферах. Особенная необходимость наличия определенных знаний ощущается в процессе исследования, в науке. Если мы впервые начинаем знакомиться с определенной теорией, пытаемся в ней разобраться, то наличие некоторых знаний может помочь нам ускорить этот процесс. Следовательно, необходимо знать основные теоремы и основные определения. Это помогает детально и полноценно разобраться в изучении неизвестной ранее теории.
Некоторые компоненты перцептрона могут быть частными случаями искусственных нейронов с пороговыми передаточными функциями.
Вначале необходимо идентифицировать эти компоненты.
Простой А-элемент (ассоциативный) является логическим определяющим элементом. Этот элемент дает выходной сигнал, равный +1, в том случае, когда алгебраическая величина суммы входных сигналов превышает определенный предел в (они указывают на активность элемента), в противном случае выходной сигнал равен нулю.
Простой Б-элемент (сенсорный элемент) является чувствительным элементом. Он реализует процесс получения сигналов от воздействия всех видов энергии (например, света, тепла, давления, звука и т. д.). В случае, когда входной сигнал превышает заданный порог в, мы получаем +1 на выходной элемент, если нет, то 0.
Простой R-элемент (который реагирует, т. е. активен) - это элемент, который выдает сигнал +1 в случаях, когда количество входных сигналов действительно положительно, и сигнал -1, когда количество входных сигналов строго отрицательно.
В случае, если мы получаем единицу на выходе определенного элемента, мы имеем основание полагать, что элемент возбужден или же активен.
Эти элементы реализуют скачкообразные функции, которые называются простыми.
Согласно Розенблатту, существуют и другие типы функций - линейные. Розен-блатт вводит следующее определение:
Перцептрон - это сеть, состоящая из элементов S, А, R, с переменной матрицей взаимодействия W (элементы щ которой являются весовыми коэффициентами), определяемой последовательностью прошлых состояний сетевой активности [2].
Перцептрон с последовательным соединением - это система, в которой все связи, начинающиеся с элемента с логическим расстоянием d от ближайшего элемента S, заканчиваются элементом с логическим расстоянием d + 1 от ближайшего элемента S.
Простой перцептрон может представлять собой различные системы. Для этого он должен соответствовать определенным требованиям:
1) эта система характеризуется наличием только одного элемента R (все элементы А связываются с этим элементом);
2) система является перцептроном с последовательными связями. Данные связи проходят только от элементов S до элементов А и от элементов А до элементов R;
3) неизменными сохраняются веса всех связей от элементов S до элементов А (связей S-A);
4) время передачи каждого сообщения равно нулю или постоянной величине;
5) все функции активации элементов S, А, R имеют вид и i ( t) = f (а I ( t)), где а I (t)- алгебраическая сумма всех сигналов, которые поступают на вход элемента и / •
Перцептроны, в которых все элементы простые, называются элементарными перцептронами.
Скрещенный перцептрон - это система, в которой имеются соединения между элементами одного типа А или R), которые расположены на одинаковом логическом расстоянии от элемента S, а все другие ссылки имеют последовательный тип [3].
Обратная связь перцептрона - это система, в которой существует, по крайней мере, одно соединение от гораздо более логичного элемента к более дальнему элементу. Согласно современной терминологии эта сеть называется повторяющейся [4].
Перцептрон с переменными связями S-A - это система, в которой устранены фиксированные граничные ограничения от элемента S до элемента А. Путем оптимизации связей S-A можно значительно улучшить характеристики перцептрона [5].
В процессе сравнения разработок Розенблатта с современными статьями и обзорами можно выделить четыре разных класса перцептронов [6]:
1. Перцептрон со скрытым слоем.
Это классический перцептрон, который является основным продуктом многих работ Розенблатта. Он имеет только один слой элементов S, A и R.
2. Однослойный перцептрон.
Это - модель, в которой входной элемент напрямую связан с выходом через систему взвешивания [6]. Это самая простая сеть прямого распространения - линейный классификатор и особый случай классического перцептрона, где каждый элемент S явно соответствует элементу A, связь SA имеет вес +1, а все элементы A имеют пороговое значение в = 1. Можно сказать, что этот однослойный перцептрон на самом деле является формальным нейроном - пороговым элементом МакКаллока-Питтса. Он характеризуются большим количеством ограничений. Например, им довольно сложно определить ситуации, когда сигналы могут быть поданы на их входы («задача XOR»).
3. Многослойный перцептрон Розенблатта.
Этот перцептрон характеризуется дополнительным содержанием слоя A элемента. Розенблатт анализирует этот перцептрон в своей книге, которая является третьей частью.
4. Многослойный перцептрон Румельхарта.
В этом перцептроне имеется дополнительный уровень элемента А. Обучение сети выполняется с использованием метода ошибки обратного распространения, и все уровни элемента-наблюдателя проходят обучение (включая S-A). Это частный случай многослойного перцептрона Розенблатта.
Алгоритмы обучения перцептрона
Важным свойством любой нейронной сети является способность к обучению. Процедура установки весов и порогов, которая делается для уменьшения разницы между желаемым (целевым) и результирующим выходным вектором, называется процессом обучения. Розенблатт, пытаясь классифицировать различные алгоритмы обучения перцептрона, называет их «системами сбора данных».
Разнородный набор правил, на основе которых через некоторое время изменяется матрица взаимодействия перцептрона (или состояние памяти), называется системой усиления.
В процессе описания этой системы усиления, а также в процессе определения возможных типов, Розенблатт опирался на идеи в обучении Д. Хебба, предложенном в 1949 году. Эти идеи можно обобщить в следующих правилах.
1. Сила соединения увеличивается в том случае, если по обе стороны синапса (соединения) активировать два нейрона (синхронно).
2. В случае, когда происходит активация двух нейронов с обеих сторон синапса асинхронно, синапс может ослабнуть или умереть.
Обучение с учителем
Классический метод обучения перцептронов - метод исправления ошибок [7]. При таком типе подготовки с учителем вес соединения остается неизменным, пока текущий отклик перцептрона остается нормальным. В случае реакции, которая может считаться неправильной, вес может измениться на единицу, а знак ( + /-), напротив, становится противоположностью знака ошибки.
Пусть, например, наша цель состоит в том, чтобы обучить перцептрон разделять два класса объектов так, чтобы результат перцептрона был положительным (+1) с точки зрения представления объектов первого класса, а в случае представления объектов второго класса - отрицательным ( -1).
Для достижения этой цели можно использовать следующий алгоритм.
1. Пороговые значения для элемента A выбирают случайным образом, и затем устанавливают S-A-соединения (они не изменятся в будущем).
2. Начальный коэффициент Wi полагают равным нулю.
3. Определяют учебные примеры: объекты (например, квадраты, круги), которые указывают класс, в котором они находятся.
Перцептрону показывают объект первого класса. Кроме того, некоторые элементы А возбуждают. Коэффициенты wï, соответствующие этим возбужденным элементам, увеличиваются на 1.
Затем перцептрону показывают объект второго класса. Коэффициенты Wi тех элементов A, которые возбуждаются во время данного отображения. уменьшаются на 1.
4. Завершают обе части шага 3 для всего обучающего образца. В результате обучения будут сформированы значения весов связи wi.
Ф. Розенблатт разработал и доказал теорему сходимости перцептрона. Эта теорема показывает, что не существует начального состояния взвешивания, которое влияет на базовую тренировку перцептрона, коэффициент или последовательность стимулов. Другими словами, ограниченное время безусловно приведет к решению. В процессе своей исследовательской деятельности Розенблатт сотрудничал с различными учеными (Блок, Кестен и Джозеф).
В дополнение к классическому методу обучения перцептрона Розенблатт также ввел концепцию обучения без учителя и предложил следующий метод обучения [7]:
Такая система подкрепления, где веса всех активных связей с i j , которые ведут к элементу u i j , изменяются на одно и то же определенное количество r, называется альфа-системой подкрепления. В течение этого времени веса неактивных связей не меняются.
Альфа-система модифицируется в процессе разработки концепции многослойного перцептрона и известна как дельта-правило. Целью появления этой модификации является стремление сделать функцию обучения различимой (например, сигмовидная). Эта ситуация необходима для использования метода градиентного спуска, который позволяет изучать более одного слоя.
Для обучения многослойных сетей ряд ученых, в том числе Д. Румельхарт, предложили алгоритм обучения градиенту, передающий сигналы ошибок, которые рассчитываются от выхода перцептрона на его вход, слой за слоем [8]. Данный метод стал очень популярным в современном мире т. к. обладает некоторыми преимуществами. К ним можно отнести легкость расчетов прямо на месте, а также появление вероятности формирования для слоев нейронных сетей. Стоит заметить, что такой метод отличается длинной. Для того чтобы осуществить этот метод необходимо выполнение следующего условия: требуется отличать передаточную функцию нейронов. В свою очередь, перцептрон необходим для использования непрерывного значения на входе, а также оставления двоичного сигнала.
Моделирование перцептрона
В машинном обучении перцептрон - это алгоритм контролируемого обучения бинарных классификаторов. Двоичный классификатор является функцией, которая способна определить принадлежность (или ее отсутствие) входа, который представлен вектором чисел, к некому определенному классу. Данный тип линейного классификатора или, иначе говоря, алгоритм классификации, осуществляет свои предсказания на основе линейной функции предиктора, которая, в свою очередь, объединяет набор весов с вектором признаков.
Уолтер Питтс и Уоррен МакКаллох в 1943 году в статье «Логическое исчисление идей, связанных с нейронной деятельностью» выдвинули концепцию искусственных
нейронных сетей. Данные исследователи предложили модель искусственных нейронов. Затем Дональд Хебб в своей организации поведения в 1949 году предложил основные принципы обучения нейронов.
Известный ученый Ф. Розенблатт сумел продолжить и развить предложенные учеными идеи. Исследователи предложили схему устройства, которая имитирует процесс человеческого восприятия. Розенблатт дал этому устройству название «перцептрон». Это устройство передает сигналы от фотоэлементов, которые являются сенсорными полями, к электромеханическим ячейкам памяти. Следуя принципам связности, эти ячейки связаны случайным образом. Симуляция перцептрона на компьютере IBM 704 была успешной в 1957 году в лаборатории аэронавтики Корнелла. Несколько лет спустя, в Корнелльском университете, 23 июня 1960 года, первый нейрокомпьютер Mark1 смог распознать несколько букв английского алфавита.
Несмотря на то, что первое использование перцептрона было в программном обеспечении для IBM 704, он был задуман изначально не как программа, а как машина. В дальнейшем, в построенном специально для этого оборудовании, он был реализован как «перцептрон Mark 1». Целью данной машины было распознавание образов. Данная машина имела массив из 400 фотоэлементов, которые были соединены с «нейронами» случайно. В потенциометрах были закодированы веса. В свою очередь, в процессе обучения при помощи электродвигателей осуществлялось обновление веса.
Чтобы «научить» перцептрон классифицировать изображения, были разработаны специальные методы итеративного обучения методом проб и ошибок, напоминающие человеческое обучение - методы исправления ошибок [9]. В процессе распознавания определенной буквы, характерные ее черты могли быть подчеркнуты перцептроном по статистике чаще, в отличие от незначительных различий в других отдельных случаях. Таким образом Перцептрону удалось в одну общую картину обобщить буквы, которые были написаны различными способами (почерк). Однако, несмотря на это, перцептрон был по-прежнему ограничен в своих возможностях.
Процесс распознавания некоторых букв может быть достаточно сложен. Буквы, которые имеют разный размер, и буквы, которые вложены частично, могут быть сдвинуты или иметь некоторое вращение. Это создает трудности для машины: процесс достижения точного распознавания становится сложным. В свою очередь, процесс распознавания букв на этапах обучения не представляет подобной сложности.
В 1958 году впервые появился отчет о результатах. Затем Розенблатт опубликовал статью «Перцептрон: вероятностная модель для хранения и организации информации в мозге», а в 1962 году книгу «Принципы нейродинамики: перцепторы и теория механизмов мозга, мозга и мозга», в которой описал свою гипотезу и теорию о процессе восприятия. В этой книге рассматривается готовая модель восприятия со скрытыми слоями и многослойными связями с пересечениями (в третьей главе) и обратными взаимосвязями (в четвертой главе), а также излагаются и вводятся важные теоремы и идеи, представленные, например, в процессе демонстрации теоремы сходимости восприятия.
Несмотря на то, что сначала перцептрон для многих казался многообещающим, вскоре было доказано, что перцептроны не могут быть обучены распознавать многие классы паттернов. Данное обстоятельство впоследствии привело к тому, что в течение долгих лет сфера исследования нейронных сетей находилась в состоянии застоя. Это происходило до тех пор, пока не было признано, что в отличие от перцептронов с одним слоем (однослойный перцептрон) большей вычислительной мощностью обладает прямая нейронная сеть с двумя или более слоями (так называемый многослойный перцептрон).
Однослойные перцептроны способны изучать только линейно разделяемые паттерны. Для задачи классификации с некоторой функцией активации шага один узел
будет иметь одну линию, разделяющую точки данных, образующие шаблоны. Большее число узлов может создать больше разделительных линий, но эти линии должны быть каким-то образом объединены для формирования более сложных классификаций. Второй слой перцептронов, или даже линейных узлов, достаточен для решения множества других неразрывных задач.
В 1969 году знаменитая книга Марвина Мински и Сеймура Паперта под названием «Перцептроны» показала, что для этих классов сетей невозможно изучить функцию XOR (исключающее ИЛИ). Часто считается (ошибочно), что они также предположили, что подобный результат будет иметь значение лишь для многослойной сети перцеп-тронов. Однако данное обстоятельство ошибочно, потому как Папперт и Мински были уже осведомлены о способности многослойных перцептронов к производству функции XOR. Но, все же, ошибочный текст Папперта и Мински имел определенные последствия, которые привели к ощутимому снижению не только интереса в области нейронных сетей, но и, вследствие этого, к уменьшению финансирования исследований. Только в 1987 году, спустя десять лет, эта книга была переиздана, чему способствовал интерес к возрождению исследования в области нейронных сетей, которое произошло в 1980-х годах.
Еще в 1964 году Айзерманом и другими был представлен алгоритм перцептрона ядра. Позже, в 1998 году, Фрейндом и Шапиром были даны гарантии маржинальных границ для алгоритма перцептрона в общем неотделимом случае. Впоследствии, в 2013 году, Ростамизаде и Мору удалось расширить предыдущие результаты и представить новые границы L1.
Перцептрон является упрощенной моделью биологического нейрона. Хотя сложность биологических моделей нейронов часто требуется для полного понимания нейронного поведения, исследования показывают, что подобная перцептрону линейная модель может вызвать некоторое поведение, наблюдаемое в реальных нейронах [10].
Идея перцептрона аналогична принципу действия основной обрабатывающей единицы мозга-нейрона. Нейрон состоит из множества входных сигналов, переносимых дендритами, телом клетки и одного выходного сигнала, переносимого по аксону. Нейрон запускает сигнал действия, когда клетка достигает определенного порога. Это действие либо происходит, либо нет. «Частичного» срабатывания нейрона быть не может.
Аналогично, перцептрон имеет множество входов (часто называемых признаками), которые подаются в линейную единицу, которая производит один двоичный выход. Таким образом, перцептроны могут быть применены при решении задач бинарной классификации, когда выборка должна быть идентифицирована как принадлежащая к одному из предопределенных двух классов.
Заключение
Искусственная нейронная сеть или сокращённо «нейросеть» - программа, в основе которой лежит принцип человеческого мозга. Сегодняшний день невозможен без понятия «искусственный интеллект», а нейронные сети - одно из важнейших его направлений. Исследованиями в этой области занимаются такие компании, как Microsoft и Google. Прогресс в направлении развития нейросетей идёт достаточно быстрыми темпами. Они активно используются в сфере безопасности, бизнесе, маркетинговой работе, развлечения и других областях и помогают в решении большого числа задач.
ССЫЛКИ НА ИСТОЧНИКИ
1. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика. - М.: Мир, 1992. - 240 с.
2. Тимонин В.А. Обзор и применение методов нелинейной оптимизации для обучения ИНС многослойный перцептрон. - М.: ИБРАЭ РАН, 1999. - 29 с.
3. Назаренко М.А. Распознавание среднего гауссовской случайной величины двухслойным перцеп-троном при наличии равномерного шума. - Дубна: ОИЯИ, 1996. - 6 с.
4. Минский М., Пейперт С. Персептроны. - М.: Мир, 1971. - 261 с.
5. Иванов В.В. Методы второго порядка для обучения многослойного перцептрона. - Дубна: ОИЯИ, 1994. - 10 с.
6. Агабабян К.Г. Проблемы Ф. Розенблатта и совершенствования перцептрона. - Киев, 1975. - 23 с.
7. Долматов Я.М. Использование искусственных нейронных сетей для решения задачи классификации // Литература и культура Дальнего Востока, Сибири и Восточного зарубежья. Проблемы межкультурной коммуникации: материалы участников VII Всероссийской научно-практической конференции с международным участием, 17 февраля 2017 года. - Владивосток: Дальневосточный федеральный ун-т, 2017. - С. 227-232.
8. Агабабян К.Г. Проблемы Ф. Розенблатта и совершенствования перцептрона. - Киев, 1975. - 23 с.
9. Бонгард М. М. Проблема узнавания. - М.: Наука, 1967. - 320 с.
10. Перцептрон - система распознавания образов /Под общ. ред. чл.-кор. АН УССР А. Г. Ивахненко -Киев : Наук. думка, 1975. - 431 с.
Marina I. Podzorova,
Candidate of Pedagogical Sciences, Associate Professor, Moscow State Technical University named after N.E. Bauman, Moscow, Russia [email protected] Inga V. Ptitsyna,
Candidate of Physical and Mathematical Sciences, Associate Professor, Moscow State Technical University
named after N.E. Bauman, Moscow, Russia
Olga N. Bakhtiyarova,
Candidate of Technical Sciences, Associate Professor, Moscow State Technical University named after N.E. Bauman, Moscow, Russia olga-bakh06@mail. ru
Neural network as one of the promising directions of artificial intelligence
Abstract. The article provides an overview of the basics of neural network modeling using the example of a perceptron that solves the problem of object classification. The main components of perceptron modeling are analyzed.
Keywords: artificial intelligence, neuron, perceptron, impulse, neural network.