Справочник от Автор24
Поделись лекцией за скидку на Автор24

Искусственные нейронные сети

  • 👀 1199 просмотров
  • 📌 1148 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Искусственные нейронные сети» pdf
Основы искусственного интеллекта зм Лекция 2 Искусственные нейронные сети Одним из наиболее мощных инструментов создания интеллектуальных систем являются искусственные нейронные сети (ИНС), моделирующие базовые механизмы обработки информации, присущие человеческому мозгу. Известно, что мозг работает принципиально другим образом и зачастую более эффективно, чем любая вычислительная машина, созданная человеком. Мозг представляет собой чрезвычайно сложную систему обработки информации. Он обладает способностью организовывать свои структурные компоненты, называемые нейронами, так, чтобы они могли выполнять конкретные задачи (такие как распознавание образов, обработку сигналов органов чувств, моторные функции) во много раз быстрее, чем могут позволить самые быстродействующие современные компьютеры. Примером такой задачи обработки информации может служить обычное зрение. В функции зрительной системы входит создание представления окружающего мира в таком виде, который обеспечивает возможность взаимодействия с этим миром. Мозг последовательно выполняет ряд задач распознавания (например, распознавание знакомого лица в незнакомом окружении), и затрачивает на это 100-200 миллисекунд. При рождении человека его мозг уже имеет совершенную структуру, позволяющую строить собственные правила на основании того, что обычно называется “опытом”. Опыт накапливается с течением времени до последних дней жизни человека, при этом особенно масштабные изменения происходят в первые два года жизни. Развитие нейронов связано с понятием пластичности мозга – способности настройки нервной системы в соответствии с окружающими условиями. Пластичность играет самую важную роль в работе нейронов в качестве элементарных единиц обработки информации в человеческом мозге. Аналогичным образом в ИНС происходит настройка искусственных нейронов. В общем случае ИНС представляет собой машину, моделирующую способ решения мозгом конкретной задачи. Эта сеть реализуется с помощью электронных компонентов (нейропроцессоров) или моделируется программой, выполняемой на цифровом компьютере. Для того, чтобы добиться высокой производительности, в ИНС используют множество взаимосвязей между элементарными ячейками вычислений – нейронами. Среди множества определений нейронных сетей наиболее точным является определение ИНС как адаптивной машины: Искусственная нейронная сеть — это распределенный параллельный процессор, состоящий из типовых элементов обработки информации, накапливающих экспериментальные знания и предоставляющие их для последующей обработки. Нейронная сеть сходна с мозгом в двух аспектах: 1. Знания поступают в нейронную сеть из окружающей среды и используются сетью в процессе обучения; 2. Для накопления знаний используются межнейронные связи, называемые также синаптическими весами. Основы искусственного интеллекта зм Процедура, используемая для осуществления процесса обучения, называется алгоритмом обучения. Ее функция состоит в модификации синаптических весов ИНС определенным образом так, чтобы сеть приобрела необходимые свойства. Модификация весов является традиционным способом обучения ИНС. Однако для ИНС существует еще и возможность модификации собственной топологии, основывающаяся на том факте, что в живом мозге нейроны могут отмирать, а новые синаптические связи могут создаваться. Таким образом, ИНС реализуют свою вычислительную мощь, благодаря двум основным своим свойствам: существенно параллельно-распределенной структуре и способности обучаться и обобщать полученные знания. Под свойством обобщения понимается способность ИНС генерировать правильные выходы для входных сигналов, которые не были учтены в процессе обучения (тренировки). Эти два свойства делают ИНС системой обработки информации, которая решает сложные многомерные задачи, которые на сегодняшний день являются трудноразрешимыми. Особенности нейрокомпьютерной обработки информации Мозг управляет организмом в целом, его восприятием окружающей среды, движением, оперативно реагируя на всевозможные изменения среды. Высшие формы живых организмов в ходе эволюции выработали способность к изменению и адаптации в течение жизни организма - благодаря особому свойству нервной системы – пластичности. Вес мозга человека составляет примерно 5% от общего веса тела, при этом он потребляет около 20% энергии. Обычно мозг не задействован «на полную мощность»: одновременно активны в нем 2-3% нейронов. Благодаря такой избыточности, мозг человека обладает огромным запасом прочности, позволяющим ему работать даже несмотря на серьезные повреждения. Известны случаи, когда люди продолжали сознательную жизнь после удаления большей части коры головного мозга. Этой способности лишены современные компьютеры. Восприятие Существующие компьютерные системы позволяют вводить в них изображения, звуковую и другие виды информации. Однако, в отличие от компьютера, снабженного сканером, телекамерой и микрофоном, мозг обладает вниманием, свойством, которое позволяет ему сосредотачиваться на важной в данный момент информации и игнорировать несущественную. Эффективные системы предобработки сенсорной информации, выработанные в течение жизни путем обучения, позволяют мозгу эффективно распознавать различные образы. Эта способность пока мало освоена современными компьютерами. Память Основы искусственного интеллекта зм Компьютеры имеют память, в которую можно записать программы, данные, изображения. Однако, все они храняться как некоторые именованые переменные. Специальные процедуры позволяют вычислить по имени переменной ее адрес в физической памяти, и именно по этому адресу будет извлекаться соответствующая запись. Никакой связи между адресом, по которому находяться данные, и содержанием самих данных не существует. Такая адресация предполагает пассивность данных в процессе поиска. Это обстоятельство чрезвычайно затрудняет поиск данных с частично известным содержанием. Мозг использует другой способ поиска информации – не по адресу, а по содержанию, вернее по его достаточно представительной части. Несколько нот известной мелодии позволяют восстановить недостающие фрагменты и вспомнить текст песни. Очевидно, что эти ноты составляют лишь часть песни, в которой музыка вместе с текстом составляют единый информационный образ. Память, способная восстанавливать полную информацию по ее достаточной части называется содержательно-адресованной. При этом, мозг способен извлекать информацию и в случае, если исходные данные (ключ) не являются ее частью, но связаны с ней устойчивой связью. Такая память называется в общем случае ассоциативной. Еще одним свойством нашей памяти является ее распределенность. Это означает, что в мозге нет специализированного нейрона, отвечающего за распознавание того или иного образа. Наоборот, в запоминании некоторой информации участвует множество нейронов, так что разрушение некоторых из них обычно не удаляет соответствующий образ из памяти. Более того, мозг обладает огромной компенсаторной способностью: поражение обширных участков приводит к тому, что соответствующие функции берут на себя другие его части. Такое свойство системы называется робастностью (robust – крепкий, здоровый). Напротив, если испортить несколько бит в компьютерной программе, то это приведет к катастрофическим последствиям для последней. Итак, человеческая память отличается от компьютерной тем, что она: содержательно-адресованная, ассоциативная и робастная. Мышление Современные компьютеры способны решать задачи высокой вычислительной сложности. Они способны интегрировать сложнейшие системы дифференциальных уравнений, осуществлять логический вывод, играть в шахматы не хуже человека. Однако, Основы искусственного интеллекта зм все эти задачи могут быть решены путем формализации – представления решения в виде алгоритма – последовательности арифметических и логических операций. Современный компьютер является быстродействующим арифмометром, способным выполнить любую инструкцию, заключенную в программе. Структура компьютера является реализацией универсальной машины Тьюринга, в которой структура машины полностью отделена и независима от обрабатываемых данных. Американский математик Ричард Беллман заметил, что современные компьютеры по своей природе наиболее приспособлены для решения задач с начальными условиями (задачи Коши). Такие задачи могут быть решены последовательным получением решения от одного момента времени к другому. Математические вычисления и логический вывод доступны и мозгу человека. Реализацию этих функций обычно связывают с одним левым полушарием человеческого мозга. Однако, они не исчерпывают того, что понимается под мышлением. Работа левого полушария позволяет нам говорить, строить грамматически правильные фразы, писать. Оно ответственно за наше восприятие времени и, похоже, обрабатывает информацию последовательно, шаг за шагом. Между тем, математика, логика и наука в целом являются позднейшими достижениями человеческого мышления. То есть, развитие вычислительной техники началось с имитации наиболее поздних результатов эволюции человеческого мозга. Пропущенным оказался целый пласт его возможностей, реализованных в другом, правом полушарии. Многие исследования свидетельствуют в пользу того, что правое полушарие мозга ответственно за наше восприятие пространства, за смысл слов, интуицию, образное мышление. Похоже, что в отличие от левого полушария, оно обрабатывает информацию параллельным способом. Одним из основных отличий правого полушария от левого является то, что оно работает не с абстрактными именами объектов- символами, а с образами конкретных объектов, информацию о которых мозг получает из внешнего мира. Все виденное нами в жизни храниться в правом полушарии, все имена – в левом. Можно сказать, что понятие «автомобиль» известно левому полушарию, а вот образ конкретного «Запорожца» находиться в правом. Правое полушарие способно учиться узнавать предметы по их предъявлению, а не по описанию, в его способе функционирования данные и метод составляют единое целое. Способность обучаться на примерах объясняется в теории нейронных сетей пластичностью синаптических связей – их способностью менять свою силу, настраиваясь на решение определенной задачи. Образное мышление, воображение и интуиция, которые связывают с работой правого полушария, дают нам возможность принимать решения в тех случаях, когда никакого рецепта не существует, или он нам неизвестен. Эти качества являются более древними приобретениями мозга, чем логическое мышление и имеют прямую связь с творчеством. Нейрокомпьютерный подход к обработке информации и должен реализовать возможности, заложенные в правом полушарии мозга. Основы искусственного интеллекта зм Нейрокомпьютерный подход к обработке информации должен не заменить существующие компьютерные методы, а лишь восполнить те возможности, для которых не удается построить формальных алгоритмических схем. Подобно тому, как в человеческом мозге левое и правое полушарие работают сообща, современные информационные системы должны использовать симбиоз традиционных алгоритмических и нейрокомпьютерных методов для полноценной и продуктивной обработки информации (табл.1). Особенности обработки информации Традиционная обработка информации в ЭВМ (условное левое полушарие) Последовательная обработка Заданный алгоритм обработки Иерархическая структура алгоритмов, разбиение сложной задачи на простые Таблица 1 Нейрокомпьютерная обработка информации (условное правое полушарие) Параллельная обработка Алгоритм формируется путем обучения на примерах Непосредственные операции с образами Подведем промежуточный итог. Для передачи сигналов компьютер использует простой двоичный код. В мозге человека работают множество нейронов, которые обмениваются разнообразными сигналами, меняющимися в зависимости от обстоятельств. В компьютере есть специальное устройство, в котором хранятся данные. В мозге человека нет конкретного участка, отвечающего за память, — и запоминание, и распознавание свойственно всем нейронам. Мозг человека, в отличие от компьютера, обладает огромной компенсаторной способностью: он может работать даже при серьезных повреждениях. Мозг ищет информацию по содержанию и ассоциациям, компьютер – по определенному адресу. Мозг работает с образами, а компьютер – с символами. Мозгу человека свойственны творческая активность, жажда знаний, интуиция и воображение. ИСКУССТВЕННЫЙ НЕЙРОН Искусственный нейрон (или просто нейрон) является элементарным функциональным модулем, из которых строятся ИНС. Он представляет собой модель живого нейрона, только лишь в смысле осуществляемых им преобразований, а не способа функционирования. Известны логические, непрерывные и импульсные модели нейрона. Логические модели нейрона активно исследовались в 60-70-х годах, но не получили дальнейшего развития. Импульсные модели более близки к физической природе процессов, Основы искусственного интеллекта зм происходящих в нервной клетке, однако их теория не так развита как у непрерывных, и они все еще не находят широкого применения. Непрерывная модель нейрона имитирует в первом приближении свойства биологического нейрона и включает в себя три основных элемента: 1. Набор синапсов или связей, каждая из которых характеризуется своим весом (weight). В частности, сигнал xi на входе синапса i, умножается на на вес wi. Положительные значения весов wi. соответствуют возбуждающим синапсам, отрицательные – тормозным. 2. Сумматор вычисляет взвешенную относительно соответствующих синапсов сумму входных сигналов нейрона. 3. Функция активации ограничивает амплитуду выходного сигнала нейрона. Эта функция также называется функцией сжатия. Обычно нормализованный диапазон амплитуд выхода нейрона лежит в интервале [0,1] или [-1,1]. Рис.1 Схема формального нейрона Математическую модель формального нейрона можно представить уравнением: n s   wi xi  w0 i 1 y  f (s) , где (1) y – выходной сигнал нейрона; f(s) – функция активации нейрона; wi – весовой коэффициент синаптической связи i –го входа; xi – i-й входной сигнал нейрона; w0 – начальное состояние (возбуждение) нейрона; i = 1,2…n –номера входов нейрона; n – число входов. Выражению (1) может быть поставлена в соответствие схема формального нейрона, представленная на рис.1. В общем случае работа формального нейрона заключается в следующем. Перед началом работы на блок сумматора подают сигнал начального состояния (возбуждения) нейрона – w0. На каждый i-й вход нейрона поступают сигналы xi либо от других нейронов, либо с устройства ввода исходного образа. Каждый i-й входной сигнал xi умножается на Основы искусственного интеллекта зм коэффициент синаптической связи wi. В блоке сумматора взвешенные входные сигналы и начальное возбуждение w0 алгебраически складываются. Результат суммирования (взвешенная сумма) s подается на блок функционального преобразования f(s). Нейрон, схема которого приведена на рис.1, является классическим. Вместе с тем, в некоторых случаях используются и другие модели формальных нейронов. К таким нейронам относятся нейроны с квадратичным сумматором, нейрон со счетчиком совпадений и др. Выбор модели нейронов определяется прежде всего характером решаемой задачи. Функции активации Активационная функция нейрона f(s) определяет нелинейное преобразование, осуществляемое нейроном. Существует множество видов активационных функций, среди которых можно выделить основные (табл.2). Активационные функции нейронов Таблица 2 N Название Формула Область значений 1 Линейная (–, ) 2 Полулинейная f(s)= ks ks, s  0 f(s)=   0, s  0 3 Логистическая (сигмоидальная) 4 Симметричная сигмоидальная 5 Рациональная сигмоидальная 6 7 f(s) = f(s) = 1 1  e  as e as  e  as e as  e as (0, ) (0, 1) (–1, 1) s a | s | (-1, 1) Пороговая 1, s   f(s)=  0, s   (0, 1) Сигнатурная  1, s   f(s)=   1, s   (-1, 1) f(s) = Наиболее распространенными функциями активации являются пороговая, линейная (в том числе с насыщением) и сигмоидальные – логистическая и гиперболический тангенс. Пороговая и сигнатурная (симметричная пороговая) функции относятся к классу дискретных функций (рис. 2). Основным недостатком нейронов с пороговыми функциями активации является отсутствие достаточной гибкости при обучении и настройке ИНС на решаемую задачу. Если значение вычисляемого скалярного произведения wixi не достигает заданного порога, то выходной сигнал не формируется, и нейрон “не срабатывает”. Это означает, что теряется интенсивность выходного сигнала данного нейрона и, следовательно, формируется невысокое значение уровня на взвешенных входах в Основы искусственного интеллекта зм следующем слое нейронов. По этой причине пороговые функции активации обычно используются для представления нейросетями функций логического типа. Нейроны с пороговыми функциями активации используются также в сетях, обучаемых по методу конкуренции. Нейрон с наибольшим значением вычисляемого скалярного произведения wixi (победитель) получает право иметь на выходе значение y=1, формируемое пороговой функцией. Рис.2 Графики функций активации а) сигнатурная б) пороговая Сигмоидные функции активации относятся к классу непрерывных функций (рис.3). Эти функции удовлетворяют основным условиям, предъявляемым к непрерывным активационным функциям нейронов, используемых в обучаемых ИНС: непрерывность, монотонное возрастание и дифференцируемость. Можно отметить, что с уменьшением коэффициента наклона a сигмоиды становятся более пологими, а при a-> превращаются в пороговую и сигнатурную функции соответственно. В числе их достоинств следует также упомянуть относительную простоту и непрерывность производных и свойство усиливать слабые сигналы лучше, чем большие.Рациональная или «упрощенная» сигмоида представляет интерес в силу простоты ее программной реализации. Сигмоидные функции в силу своей нелинейности позволяют выделять в поисковом пространстве области сложной формы, в том числе невыпуклые. Рис. 3 Графики сигмоидных функций активации а) симметричная б) логистическая Линейные функции активации также относятся к классу непрерывных функций (рис.4.). Линейный участок такой функции активации позволяет оперировать с непрерывными сигналами. Зоны нечувствительности определяются физической реализуемостью этих функций. Основы искусственного интеллекта зм Рис.4. Графики линейных функций активации с насыщением а) линейная б) полулинейная Выбор функции активации определяется: 1. Спецификой задачи. 2. Удобством реализации (на ЭВМ, в виде электрической схемы или другим способом). 3. Алгоритмом обучения: некоторые алгоритмы накладывают ограничения на вид функции активации, их нужно учитывать. Удачный выбор функции активации может сократить время обучения в несколько раз. Формальный нейрон фактически представляет собой процессор с очень ограниченной специальной системой команд (нейросетевым базисом). Формальные нейроны по способу представления информации бывают аналоговые и цифровые. И те и другие выполняют единообразные вычислительные действия и не требуют внешнего управления. Большое число параллельно работающих процессоров обеспечивают высокое быстродействие. Рассмотренная простая модель искусственного нейрона игнорирует многие свойства своего биологического двойника: 1. Вычисления выхода нейрона предполагаются мгновенными, не вносящими задержки. Непосредственно моделировать динамические системы, имеющие "внутреннее состояние", с помощью таких нейронов нельзя. 2. В модели отсутствуют нервные импульсы. Нет модуляции уровня сигнала плотностью импульсов, как в нервной системе. Не появляются эффекты синхронизации, когда скопления нейронов обрабатывают информацию синхронно, под управлением периодических волн возбуждения-торможения. 3. Нет четких алгоритмов для выбора функции активации. 4. Нет механизмов, регулирующих работу сети в целом (пример - гормональная регуляция активности в биологических нервных сетях). 5. Чрезмерная формализация понятий: "порог", "весовые коэффициенты". В реальных нейронах нет числового порога, он динамически меняется в зависимости от активности нейрона и общего состояния сети. Весовые коэффициенты синапсов тоже не постоянны. "Живые" синапсы обладают пластичностью и стабильностью: весовые коэффициенты настраиваются в зависимости от сигналов, проходящих через синапс. 6. Существует большое разнообразие биологических синапсов. Они встречаются в различных частях клетки и выполняют различные функции. Тормозные и возбуждающие Основы искусственного интеллекта зм синапсы реализуются в данной модели в виде весовых коэффициентов противоположного знака, но разнообразие синапсов этим не ограничивается. Дендро-дендритные, аксоаксональные синапсы не реализуются в модели формального нейрона. Несмотря на эти ограничения, сети, построенные из формальных нейронов, обнаруживают свойства, сильно напоминающие биологическую систему. Схема абстрактного нейрокомпьютера (НК) Искусственной нейронной сетью или просто нейронной сетью называется динамическая система, состоящая из совокупности связанных между собой формальных нейронов, способная генерировать выходную информацию в ответ на входное воздействие. Связь формальных нейронов осуществляется по типу узлов направленного графа. Нейронная сеть является основной операционной частью нейронных компьютеров (НК), реализуемых аппаратным или программным способом. Нейронная сеть реализует алгоритм решения поставленной задачи. Структурную схему абстрактного НК, построенного из формальных нейронов можно представить в следующем виде (рис.5). Такую схему можно назвать обобщенной, т.к. она поясняет принцип работы любого НК независимо от его конструктивного исполнения. Эта схема напоминает классическую схему вычислительной машины Дж. Фон Неймана, представленную им еще в 1945г. Однако, НК в принципе отличается от этой машины. Рис. 5. Схема абстрактного НК Основным операционным блоком НК, его процессором, является ИНС. Сеть представляет собой совокупность простейших модулей, называемых формальными нейронами, соединенными каналами передачи информации. Количественная характеристика каждого канала определяется решаемой задачей. Нейронная сеть не производит вычислений, как это делает арифметико-логическое устройство (АЛУ) машины фон Неймана. Она трансформирует входной сигнал (входной образ) в выходной в соответствии со своей топологией и значениями коэффициентов межнейронной связи. В запоминающем устройстве (ЗУ) НК хранится не программа решения задачи, как это имеет место в ЭВМ, а программа изменения коэффициентов связи между нейронами. Устройства ввода и вывода информации в принципе выполняют те же Основы искусственного интеллекта зм функции, что и в ЭВМ. Устройство управления (УУ) служит для синхронизации работы всех структурных блоков НК при решении конкретной задачи. Для абстрактного НК характерно наличие двух главных режимов работы: - режим обучения; - режим функционирования (решения задачи). Для того, чтобы НК решил требуемую задачу, его ИНС должна пройти обучение на эту задачу. Суть режима обучения заключается в настройке коэффициентов межнейронных связей на совокупность входных образов этой задачи. Настройка коэффициентов осуществляется на примерах, сгруппированных в обучающие множества (выборки). При подаче на вход ИНС очередного эталонного образа выходной сигнал отличается от желаемого. Блок обучения оценивает величину ошибки и корректирует коэффициенты синаптических связей с целью ее уменьшения. При каждой последующей подаче на вход ИНС этого же эталонного входного образа ошибка уменьшается. Процесс продолжается до тех пор, пока ошибка не достигнет требуемого значения. С математической точки зрения процесс обучения представляет собой решение задачи оптимизации, целью которой является минимизация функции ошибки на данном множестве примеров путем выборки коэффициентов синаптических связей. В рабочем режиме блок обучения, как правило, отключен, и на вход ИНС подаются сигналы, требующие распознавания. На эти сигналы (входные образы), как правило, наложен шум. Обученная ИНС фильтрует шум и относит образ к нужному классу. КЛАССИФИКАЦИЯ НЕЙРОСЕТЕВЫХ МОДЕЛЕЙ Можно выделить три основных признака, положенных в основу классификации ИНС: архитектура межнейронных связей, тип обучения, класс решаемых задач. Архитектура нейронных сетей тесно связана с используемыми алгоритмами обучения и определяется постановкой задачи. Классификация по типам связей между нейронами ИНС может рассматриваться как направленный граф со взвешенными связями, в котором искусственные нейроны являются узлами. По архитектуре связей ИНС могут быть сгруппированы в два класса (рис. 6): сети прямого распространения, в которых графы не имеют петель, и рекуррентные сети, или сети с обратными связями. Основы искусственного интеллекта зм Рис. 6. Классификация ИНС по видам межнейронных связей. К первому классу сетей относятся многослойные сети прямого распространения или ацикличные сети. В этих сетях нейроны располагаются по слоям. В простейшем случае в такой сети существует входной слой узлов источника сигнала, информация от которого передается на выходной слой нейронов (вычислительные узлы), но не наоборот. На рис. 7 показана структура такой сети для случая четырех узлов во входном слое и трех узлов в выходном. Такая нейронная сеть называется однослойной, при этом под единственным слоем подразумевается слой вычислительных элементов (нейронов). При подсчете числа слоев не принимаются во внимание узлы источника, так как они не выполняют никаких вычислений. Рис. 7 Сеть прямого распространения с одним слоем (однослойный персептрон). Другой класс нейронных сетей прямого распространения характеризуется наличием одного или нескольких скрытых слоев, узлы которых называются скрытыми нейронами. Функция последних заключается в дополнительной вычислительной обработке информации и посредничестве между внешним входным сигналом и выходом нейронной Основы искусственного интеллекта зм сети. Добавляя скрытые слои, можно выделить статистические закономерности высокого порядка. Такая сеть позволяет выделять глобальные свойства данных за счет наличия дополнительных синаптических связей и повышения уровня взаимодействия нейронов. Узлы источника входного слоя сети формируют входной вектор образа, поступающий на нейроны второго слоя (первого скрытого слоя). Выходные сигналы второго слоя используются в качестве входных для третьего слоя и т.д. Обычно нейроны каждого из слоев сети используют в качестве входных сигналов выходные сигналы нейронов только предыдущего слоя. Набор выходных сигналов нейронов выходного слоя сети определяет общий отклик сети на данный входной образ, сформированный узлами входного слоя. В общем случае сеть прямого распространения с m входами, h1 нейронами первого скрытого слоя, h2 нейронами второго скрытого слоя и q нейронами выходного слоя называется сетью m-h1-h2-q. На рис.8 показана сеть 3-4-2 (3 входных узлов, 4 скрытых и 2 выходных нейрона). Рис.8 Сеть прямого распространения с одним скрытым слоем ИНС считается полносвязной в том смысле, что все узлы каждого слоя соединены со всеми узлами смежных слоев. Если некоторые из синаптических связей отсутствуют, такая сеть называется неполносвязной или частично связной. В таких прямонаправленных ИНС нейроны одного слоя связаны только с определенной частью нейронов следующего слоя. Эта архитектура позволяет заложить в ИНС априорные знания о желаемом законе обработки сигналов в сети. Трехслойные прямонаправленные ИНС широко используются для решения задач классификации, распознавания образов, аппроксимации и управления. Рекуррентная нейронная сеть отличается от сети прямого распространения наличием по крайней мере одной обратной связи. Рекуррентная сеть может состоять из единственного слоя нейронов, каждый из которых направляет свой выходной сигнал на входы всех остальных нейронов слоя (рис.9). В приведенной структуре отсутствуют обратные связи нейронов с самими собой, в ней отсутствуют скрытые нейроны. Обратная связь подразумевает использование элементов единичной задержки (обозначенные как z-1), что приводит к нелинейному динамическому поведению. Наличие обратных связей в Основы искусственного интеллекта зм рекуррентных сетях оказывает непосредственное влияние на способность таких сетей к обучению и на их производительность. Рис. 9 Однослойная рекуррентная сеть без скрытых нейронов. Рекуррентные сети могут содержать слои скрытых нейронов (рис.10). В этом случае каждый нейрон получает, кроме входных сигналов, еще и все выходные сигналы сети. Часть ИНС, охваченная обратными связями может иметь и большее количество скрытых слоев. Рис.10 Рекуррентная сеть со скрытыми нейронами Одним из главных применений рекуррентных ИНС являются нейроэмуляторы динамических объектов, то есть их нейросетевые модели. Такие сети могут также использоваться для решения задач аппроксимации временных последовательностей, классификации, распознавания образов и управления. Сети прямого распространения являются статическими в том смысле, что на заданный вход они вырабатывают одну совокупность выходных значений, не зависящих от предыдущего состояния сети. Рекуррентные сети являются динамическими, так как в силу обратных связей в них модифицируются входы нейронов, что приводит к изменению состояния сети. Классификация по методам обучения. Способность к обучению является фундаментальным свойством мозга. Применительно к ИНС процесс обучения может рассматриваться как настройка архитектуры сети и весовых коэффициентов для эффективного выполнения специальной Основы искусственного интеллекта зм задачи. Обычно нейронная сеть должна настроить весовые коэффициенты по имеющейся обучающей выборке. Функционирование сети улучшается по мере выполнения итераций этой настройки. Свойство сети обучаться на примерах делает их более привлекательными по сравнению с системами, которые следуют определенной системе правил функционирования, сформулированной экспертами. Для конструирования процесса обучения, прежде всего, необходимо иметь модель внешней среды, в которой функционирует нейронная сеть, т.е. знать доступную для сети информацию. Эта модель определяет способ обучения. Во-вторых, необходимо понять, как модифицировать весовые параметры сети - какие правила обучения управляют процессом настройки. Алгоритм обучения означает процедуру, в которой используются правила обучения для настройки весов. Существует множество определений термина «обучение»”, однако применительно к ИНС наиболее подходит следующее, данное Менделем и Маклареном: Обучение — это процесс, при котором свободные параметры нейронной сети адаптируются в результате ее непрерывной стимуляции внешним окружением. Тип обучения определяется тем способом, которым производятся изменения параметров. Это определение процесса обучения предполагает следующую последовательность событий: 1. В нейронную сеть поступают стимулы из внешней среды. 2. В результате этого изменяются свободные параметры нейронной сети 3. После изменения внутренней структуры нейронная сеть отвечает на возбуждения уже иным образом. Кроме термина «обучение» также используются равноправные понятия «тренировка сети» и «настройка параметров сети». Можно выделить два основных вида обучения: контролируемое обучение (supervised learning) и самообучение (self-organized learning). Первый вид подразумевает наличие «учителя», который наблюдает реакцию сети и направляет изменения ее параметров. Во втором случае сеть самоорганизуется под действием внешней среды и изучает ее самостоятельно, без помощи «учителя». Самообучение свойственно задачам категоризации (кластеризации). При решении задач классификации образов и управления обычно используется контролируемое обучение ИНС. Существует две разновидности контролируемого обучения: прямое контролируемое обучение и стимулируемое обучение (reinforcement learning). Так как первый вид появился раньше второго и более распространен, то обычно на него ссылаются просто как на контролируемое обучение. На рис.11 представлена схема прямого контролируемого обучения. Присутствующий на ней «учитель» обладает знаниями о внешней среде, представленными в виде набора образцов вход-выход. Пара таких образцов называется тренировочным Основы искусственного интеллекта зм шаблоном, который включает в себя, соответственно, входной шаблон и выходной шаблон. Множество этих пар данных называется тренировочным набором шаблонов. ИНС изначально никакими знаниями не обладает. В процессе обучения «учитель» и сеть подвергаются воздействию со стороны внешней среды, то есть на их входы поступает тренировочный сигнал, совпадающий с одним из входных шаблонов. «Учитель» сообщает сети, какова должна быть правильная (желаемая) реакция на поступившее воздействие, выдавая соответствующий выходной шаблон. На основании величины ошибки между реальным и желаемым выходами сети по определенному правилу проводится настройка ее синаптических связей. Повторяя этот процесс итеративно можно настроить ИНС так, что она будет эмулировать «учителя», то есть его знания о внешней среде перейдут к ней. Рис. 11 Схема прямого контролируемого обучения Типичными задачами, решаемыми с помощью прямого обучения, являются аппроксимация неизвестной функции, описываемой набором данных и классификация образов, т.е.отнесение образа к одному из заранее известных классов. В этих задачах известны входные сигналы и правильная реакция на них, то есть тренировочный набор шаблонов. Наиболее известным методом прямого контролируемого обучения многослойных прямонаправленных ИНС (персептронов) является алгоритм обратного распространения ошибки (backpropagation algorithm), представляющий собой обобщение метода наименьших квадратов. Стимулируемое обучение не использует знания «учителя» о желаемом выходе ИНС, вместо этого обучение проводится по результату оценки проводимого сетью преобразования вход-выход. Оценку выполняет внешнее окружение после подачи на вход сети тренировочного воздействии. При этом настройка параметров ИНС проводится так, чтобы максимизировать скалярный индекс этой оценки, называемый стимулом (reinforcement signal). Идея такого способа опирается на реальный процесс обучения, проходящий у живых существ. В психологии он известен, как закон действия Торндайка. Применительно к стимулируемому обучению ИНС этот закон может быть перефразирован следующим образом [ ]: Если действие, предпринятое системой обучения, приводит к удовлетворительному результату, то тенденция системы проводить это же действие увеличивается (система стимулируется). В противном случае тенденция производить такое действие уменьшается. Основы искусственного интеллекта зм Характерным примером стимулируемого обучения является адаптивная система управления. В ней обучаемой частью является контроллер, а объект управления, внешние воздействия и сигналы задания выступают его внешней средой. В результате воздействия из этой среды контроллер вырабатывает определенный управляющий сигнал, который переводит объект управления в новое состояние. При этом качество управления можно оценить лишь по выходному сигналу объекта. Так как требуемая реакция контроллера, обеспечивающая заданное состояние объекта, заранее неизвестна, то нельзя сформировать тренировочный набор шаблонов, и, следовательно, применить прямое контролируемое обучение. В этом случае возможно лишь стимулируемое обучение контроллера по качеству работы всей системы управления в целом, то есть по оценке состояния внешней среды. Самообучение (самоорганизация) также не использует знания «учителя» о желаемом выходе ИНС. Обучение проводится по реакции системы на тренировочное воздействие (рис. 12). Рис.12 Схема самообучения Можно заметить, что система, обучающаяся лишь по результатам своего взаимодействия с внешней средой, является более интеллектуальной, чем использующая дополнительную информацию «учителя». Классификация по решаемым задачам. Типовые задачи, решаемые в контексте ИНС и представляющие научный и практический интерес можно подразделить следующим образом. 1. Классификация образов. Задача состоит в указании принадлежности входного образа (например, речевого сигнала или рукописного символа), представленного вектором признаков, одному или нескольким предварительно определенным классам. К известным приложениям относятся распознавание букв, распознавание речи, классификация сигнала электрокардиограммы, классификация клеток крови. 2. Кластеризация/категоризация. При решении задачи кластеризации, которая известна также как классификация образов «без учителя», отсутствует обучающая выборка с метками классов. Алгоритм кластеризации основан на подобии образов и размещает близкие образы в один кластер. Кластеризация применяется для извлечения знаний, сжатия данных и исследования свойств данных. 3. Аппроксимация функций. Предположим, что имеется обучающая выборка ((x1, y1), (x2, y2)..., (xn, yn)), т.е. пары данных вход-выход. Выборка генерируется неизвестной Основы искусственного интеллекта зм функцией y(x), искаженной шумом. Задача аппроксимации состоит в нахождении оценки неизвестной функции y’(x). Аппроксимация функций необходима при решении многочисленных инженерных и научных задач моделирования. 4. Предсказание/прогноз. Пусть заданы n дискретных отсчетов {y(t1), y(t2)..., y(tn)} в последовательные моменты времени t1, t2,..., tn . Задача состоит в предсказании значения y(tn+1) в некоторый будущий момент времени tn+1. Прогнозирование играет важную роль при принятии решений в бизнесе, науке и технике. Предсказание цен на фондовой бирже и прогноз погоды являются типичными приложениями техники предсказания/прогноза. 5. Оптимизация. Многочисленные проблемы в математике, статистике, технике, науке, медицине и экономике могут рассматриваться как проблемы оптимизации. Задачей алгоритма оптимизации является нахождение такого решения, которое удовлетворяет системе ограничений и максимизирует или минимизирует целевую функцию. Задача коммивояжера, относящаяся к классу NP-полных, является классическим примером задачи оптимизации. 6. Память, адресуемая по содержанию. В модели вычислений фон Неймана обращение к памяти доступно только посредством адреса, который не зависит от содержания памяти. Более того, если допущена ошибка в вычислении адреса, то может быть найдена совершенно иная информация. Ассоциативная память, или память, адресуемая по содержанию, доступна по указанию заданного содержания. Содержимое памяти может быть вызвано даже по частичному входу или искаженному содержанию. Использование ассоциативной памяти крайне желательно при создании мультимедийных информационных баз данных. 7. Управление. Рассмотрим динамическую систему, заданную совокупностью {u(t), y(t)}, где u(t) является входным управляющим воздействием, а y(t) - выходом системы в момент времени t. В системах управления с эталонной моделью целью управления является расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью. Примером является оптимальное управление двигателем. Основы искусственного интеллекта зм ПЕРСЕПТРОНЫ Первые исследования ИНС были проведены в 40-е годы ХХв. Стремясь воспроизвести функции человеческого мозга, исследователи создали простые аппаратные модели биологического нейрона и системы его соединений. Эти первые модели были достаточно грубыми аппроксимациями. Тем не менее, с их помощью были получены результаты, стимулировавшие дальнейшие исследования, приведшие к созданию более сложных сетей. Формальный нерон МакКаллока - Питтса Первое систематическое изучение ИНС сетей было предпринято У.МакКалокком и У.Питтсом в 1943 г. У.МакКаллок по образованию был психиатром и нейроанатомом и более 20 лет занимался вопросами представления событий в нервной системе. У.Питтс был талантливым математиком; он присоединился к исследованиям У.МакКаллока в 1942 году. В своей новаторской работе они описали результаты, полученные группой специалистов по нейромоделированию из университета Чикаго. Они сформулировали основные положения теории деятельности головного мозга. Ими были получены следующие результаты: 1. Разработана модель нейрона как простейшего процессорного элемента, выполняющего вычисление функции от скалярного произведения вектора входных сигналов и вектора весовых коэффициентов; 2. Предложена конструкция сети таких элементов для выполнения логических и арифметических операций; 3. Сделано основополагающее предположение о том, что такая сеть способна обучаться, распознавать образы, обобщать полученную информацию; 4. Предложено для возбуждающих связей вводить положительные весовые коэффициенты, а для тормозных - отрицательные. Рис.13 Модель нейрона по МакКаллоку и Питтсу. n s   xi wi i 1  1, net  0 y  sgn(s)   0, net  0 Основы искусственного интеллекта зм Простая нейронная модель, показанная на рис.13, использовалась в большей части их работы. Значения хi поступающие на каждый вход нейрона умножаются на соответствующий вес wi и суммируются. Если эта сумма больше заданного порогового значения, выход y равен единице, в противном случае – нулю (или -1). Такие сети получили название персептронов. Они состоят из одного слоя искусственных нейронов, соединенных с помощью весовых коэффициентов с множеством входов. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Пороговый вид функции не предоставляет нейронной сети достаточную гибкость при обучении и настройке на заданную задачу. Если значение вычисленного скалярного произведения, даже незначительно, не достигает заданного порога, что выходной сигнал не формируется совсем и нейрон «не срабатывает». Это значит, что теряется интенсивность выходного сигнала (аксона) данного нейрона и, следовательно, формируется малое значение уровня на взвешенных входах в следующем слое нейронов. Способность формального нейрона к обучению проявляется в возможности изменения значений вектора весов W , соответствующей пластичности синапсов биологических нейронов. Рассмотрим обучение формального нейрона на примере простейшей задачи детектирования границы. Пусть имеется образ, составленный из одномерной цепочки черных и белых клеток. Черные клетки соответствуют единичному сигналу, а белые клетки - нулевому. Сигнал на входах формального нейрона устанавливается равным значениям пар примыкающих клеток рассматриваемого образа. Нейрон обучается всякий раз возбуждаться и выдавать единичный выходной сигнал, если его первый вход x1 соединен с белой клеткой, а второй x2 - с черной. Таким образом, нейрон должен служить детектором границы перехода от светлого к темному тону образа. Рис.14 Формальный нейрон с двумя входами, предназначенный для обработки образа в виде одномерной цепочки черных и белых клеток. Функция, выполняемая нейроном для детектирования перехода от светлого к темному (x1 = 0, x2 = 1), определяется следующей таблицей. Таблица 1. Вход 1 Вход 2 Выход 1 1 1 1 1 Основы искусственного интеллекта зм Для данной задачи значения весов и порога нейрона могут быть предъявлены и без специальной процедуры обучения. Легко убедиться, что нужным требованиям удовлетворяет набор w1 = -1, w2 = +1. В случае задачи детектирования границы перехода от темного к светлому веса нужно поменять местами. Персептрон Розенблатта Простейший классический персептрон Ф.Розенблатта содержит нейроподобные элементы трех типов (рис.15), назначение которых в целом соответствует нейронам рефлекторной нейронной сети. S-элементы формируют сетчатку сенсорных клеток, принимающих двоичные сигналы от внешнего мира. Далее сигналы поступают в слой ассоциативных или A-элементов (для упрощения изображения часть связей от входных Sэлементов к A-нейронам не показана). Только ассоциативные элементы, представляющие собой формальные нейроны, выполняют нелинейную обработку информации и имеют изменяемые веса связей. R-элементы с фиксированными весами формируют сигнал реакции персептрона на входной стимул (связи между А-нейронами и R-элементами также показаны частично). В 60-е годах XXв. в Корнельской авиационной лаборатории была разработана электротехническая модель персептрона MARK-1, которая содержала 8 выходных Rэлементов и 512 A-элементов, которые можно было соединять в различных комбинациях. На этом персептроне была проведена серия экспериментов по распознаванию букв алфавита и геометрических образов. Персептрон рассматривался его автором не как конкретное техническое вычислительное устройство, а как модель работы мозга. Рис.15. Элементарный персептрон Ф.Розенблатта. Розенблатт называл такую нейронную сеть трехслойной, однако по современной терминологии, представленная сеть обычно называется однослойной, так как имеет только один слой нейропроцессорных элементов. Однослойный персептрон характеризуется матрицей синаптических связей W от S- к A-элементам. Элемент матрицы wij отвечает связи, ведущей от i-го S-элемента к j-му A-элементу. Основы искусственного интеллекта зм Ф.Розенблатт ввел в рассмотрение понятия представляемости и обучаемости персептрона. Представляемость персептрона Под представляемостью понимается способность персептрона, или другой ИНС, моделировать (представлять) определенную функцию. Обучаемость же требует наличия систематической процедуры настройки весов сети для реализации этой функции. Рис.16 Устройство распознавания четных и нечетных цифр Проблему представляемости можно проиллюстрировать на следующем примере. Пусть у нас есть множество карт, помеченных цифрами от 0 до 9. Допустим, что мы обладаем гипотетической машиной, способной отличать карты с нечетным номером от карт с четным номером и зажигающей индикатор на своей панели при предъявлении карты с нечетным номером (рис. 16). Представима ли такая машина персептроном? То есть, может ли быть сконструирован персептрон и настроены его веса (неважно каким образом) так, чтобы он обладал такой же разделяющей способностью? Если это так, то говорят, что персептрон способен представлять желаемую машину. Обучаемость персептрона Для обучения персептрона Ф.Розенблатт предложил процедуру настройки весовых коэффициентов каждого нейрона. Пусть имеется набор пар векторов (xq, yq), q = 1..p, называемый обучающей выборкой. Будем называть нейронную сеть обученной на данной обучающей выборке, если при подаче на входы сети каждого вектора xq на выходах всякий раз получается соответствующий вектор yq Предложенный Ф.Розенблаттом метод обучения состоит в итерационной подстройке матрицы весов, последовательно уменьшающей ошибку в выходных векторах. Алгоритм включает несколько шагов: 1. Начальные значения весов всех нейронов W(t=0) полагаются случайными, где t – номер итерации обучения сети. 2. Сети предъявляется входной образ xq. В результате формируется выходной образ ~ yq  yq . Основы искусственного интеллекта зм 3. y q  y q ) , на выходе сети. Предполагается, что Вычисляется вектор ошибки  q  ( ~ изменение вектора весовых коэффициентов в области малых ошибок должно быть пропорционально ошибке на выходе, и равно нулю если ошибка равна нулю. 4. Вектор весов модифицируется по следующей формуле: W (t  1)  W (t )  xq ( q )T , (1) где  - темп обучения, причем 0    1 . 5. Шаги 2-4 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки называется эпохой обучения. Процедура настройки весов завершается по истечении нескольких эпох, когда: - или итерации сойдутся, т.е. вектор весов перестает изменяться; - или просуммированная по всем векторам, квадратичная ошибка на выходе сети станет меньше некоторого допустимого малого значения. Использование формулы 1 приводит к следующим особенностям процесса обучения персептрона: 1. модифицируются только компоненты матрицы весов, отвечающие ненулевым значениям входов xq; 2. знак приращения веса соответствует знаку ошибки, т.е. положительная ощибка  q  0 , когда значение выхода меньше требуемого значения, проводит к усилению связи; 3. обучение каждого нейрона происходит независимо от обучения остальных нейронов, что соответствует важному с биологической точки зрения, принципу локальности обучения. Данный метод обучения был назван Ф.Розенблаттом «методом коррекции с обратной передачей сигнала ошибки». Позднее более широко стало применяться название «  -правило». Представленный алгоритм относится к широкому классу алгоритмов обучения с учителем, поскольку известны как входные вектора, так и требуемые значения выходных векторов (имеется учитель, способный оценить правильность ответа ученика). Теорема о сходимости обучения по «  -правилу» говорит о том, что персептрон способен обучится любому обучающему набору, который он способен представить. В работах Ф.Розенблатта был сделано заключение о том, что нейронная сеть рассмотренной им архитектуры будет способна к воспроизведению любой логической функции. Однако, как было показано позднее, этот вывод оказался неточным. Были выявлены принципиальные неустранимые ограничения однослойных персептронов не позволяющие им представить многие простые логические функции. Основы искусственного интеллекта зм С сегодняшних позиций однослойный персептрон представляет скорее исторический интерес, но на его примере могут быть изучены основные понятия и простые алгоритмы обучения нейронных сетей. Проблема обучаемости персептронов Функция «ИСКЛЮЧАЮЩЕЕ ИЛИ» Известно, что однослойный персептрон не может воспроизвести такую простую функцию, как «ИСКЛЮЧАЮЩЕЕ ИЛИ» (XOR). Это функция от двух аргументов, таблица истинности которой приведена в табл.2 Проблему можно проиллюстрировать с помощью однослойной однонейронной сети с двумя входами, показанной на рис.17. Обозначим один вход через х1, а другой через x2, тогда все их возможные комбинации будут состоять из четырех точек на плоскости аргументов х1-x2, как показано на рис.18. Например, точка х1 = 0 и x2 = 0 обозначена на рисунке как точка А0 Соответствие между точками на плоскости х1x2 и значениями функции XOR приведены в таблице. Сочетания значений аргументов, которые должны давать нулевой выход, помечены А0 и А1, единичный выход – В0 и В1. Рис. 17 Однонейронная персептронная ИНС В сети на рис.17 функция f(s) является обычным порогом, так что y принимает значение ноль, когда y меньше θ, и единица в случае, когда y больше или равно θ. Нейрон выполняет следующее вычисление: s = x1w1 + x2w2 (2) Никакая комбинация значений двух весов не может дать соотношения между входом и выходом, задаваемого табл.2. Чтобы понять это ограничение, достаточно попарно сложить неравенства из табл.2. Первое и четвертое неравенства дают условие: w1+w2<2θ. Второе и третье неравенства дают условие: w1+w2≥2θ. Несовместимость этих двух условий не позволяет реализовать функцию XOR путем настройки коэффициентов w1, w2 и выбором порога θ. Таблица истинности для функции XOR Таблица 2 Номер примера Точки на плоскости x1-x2 Вход х1 Вход х2 Желаемый выход y Условие превышения порога θ 1 A0 w1*0+w2*0 < θ 2 B0 1 1 w1*1+w2*0 ≥ θ 3 A1 1 1 w1*0+w2*1 ≥ θ 4 B1 1 1 w1*1+w2*1 < θ Иначе можно представить значения s как поверхность (в данном случае плоскость) над плоскостью аргументов функции x1-x2. Каждая точка этой s-поверхности находится над соответствующей точкой плоскости x1-x2 на расстоянии, равном значению s в этой точке. Основы искусственного интеллекта зм Наклон s-плоскости постоянен и определяется значениями весов w1, w2. Все точки, в которых значение s равно величине порога s=θ, лежат на линии констант, образованной пересечением плоскостей s = x1w1 + x2w2 и s=θ. (рис.18) Проекция линии констант на плоскость x1-x2 образует разделяющую прямую (рис.19). Рис.18 Персептронные поверхности Ясно, что все точки по одну сторону линии констант спроецируются в значения s, большие порога, а точки по другую сторону дадут меньшие значения s. Таким образом, разделяющая прямая разбивает плоскость x1-x2 на две области. Во всех точках по одну сторону разделяющей прямой значение y=1, по другую сторону – y=0. Входные значения x1 и x2 с одной стороны прямой обеспечат значения s больше порога, следовательно, y=1. Входные значения по другую сторону прямой обеспечат значения меньше порогового значения, т.е. y=0. Изменения значений w1, w2 и θ будут менять наклон и положение прямой. Для того чтобы сеть реализовала функцию XOR, заданную табл.2, нужно расположить прямую так, чтобы точки Аi были с одной стороны прямой, а точки Вi – с другой. Попытавшись нарисовать такую прямую на рис.19, убеждаемся, что это невозможно. Это означает, что какие бы значения ни принимали веса wi и порог θ, сеть не способна воспроизвести соотношение между входом и выходом, требуемое для представления функции XOR. Рис.19 Проблема представляемости XOR. Линейная разделимость Функция XOR, к сожалению, не является единственным примером функции, которую не способен представить однослойный персептрон. Имеется обширный класс Основы искусственного интеллекта зм функций, не реализуемых однослойной сетью. Об этих функциях говорят, что они являются линейно неразделимыми, и они накладывают определенные ограничения на возможности однослойных сетей. Линейная разделимость ограничивает однослойные сети задачами классификации, в которых множества точек (соответствующих входным значениям) могут быть разделены геометрически. Для случая с двумя входами разделитель является прямой линией. В случае трех входов разделение осуществляется плоскостью, рассекающей трехмерное пространство. Для четырех или более входов визуализация невозможна и необходимо мысленно представить n-мерное пространство, разделяемое «гиперплоскостью» – геометрическим объектом, который рассекает пространство четырех или большего числа измерений. Так как линейная разделимость ограничивает возможности персептронного представления, то важно знать, является ли данная функция разделимой. К сожалению, не существует простого способа определить это, если число переменных велико. Нейрон с n двоичными входами может иметь 2n различных входных образов, состоящих из нулей и единиц. Так как каждый входной образ может соответствовать двум n различным бинарным выходам (единица и ноль), то всего имеется 22 функций от n переменных. Линейно разделимые функции Таблица 3 Число линейно разделимых функций 1 Число функций от n n переменных - 22 4 2 16 14 3 256 104 Число двоичных входов - n 4 4 65536 1882 Как видно из табл.3, вероятность того, что случайно выбранная функция окажется линейно разделимой, весьма мала даже для малого числа переменных. По этой причине применение однослойные персептроны на практике ограничено простыми задачами. Преодоление ограничения линейной разделимости Когда проблема линейной разделимости была хорошо понята и проанализирована, был предложен способ преодоления этого серьезного ограничения представляемости логических функций однослойными персептронами. Способ заключается в добавлении дополнительных слоев нейронов. Например, двухслойные сети можно получить каскадным соединением двух однослойных сетей. На рис.20 показана двуслойная сеть, способная представить функцию XOR. Основы искусственного интеллекта зм Рис.20 Двуслойная сеть, реализующая функцию XOR. Допустим, что весовые коэффициенты сети имеют значения w11=w22=w13=w23=w, w21=w12=-w, а значения порогов θ = w. Тогда таблицу истинности для XOR можно представить в следующем виде (табл. 4) Таблица истинности для реализации функции XOR Таблица 4. x1 x2 s1 s2 y1 y2 s y 1 -w w 1 w 1 1 w -w 1 w 1 1 1 В общем случае, для того, чтобы порог θ был превышен и на выходе y нейрона второго слоя появилась единица, требуется, чтобы оба нейрона первого слоя на выходе имели единицу. Таким образом, выходной нейрон реализует логическую функцию «И». На рис. 21. каждый нейрон первого слоя разбивает плоскость x1-x2 на две полуплоскости, один обеспечивает единичный выход для входов ниже верхней линии, другой – для входов выше нижней линии. На рис.21 показан результат такого двойного разбиения, где выходной сигнал нейрона второго слоя y равен единице только внутри V-образной области. Аналогично во втором слое может быть использовано три нейрона с дальнейшим разбиением плоскости и созданием области треугольной формы. Включением достаточного числа нейронов во входной слой может быть образован выпуклый многоугольник любой желаемой формы. Так как они образованы с помощью операции «И» над областями, задаваемыми линиями, то все эти многоугольники выпуклы. Рис.21 Выпуклая область решений, задаваемая двухслойной сетью Основы искусственного интеллекта зм Нейрон второго слоя не ограничен функцией «И». Он может реализовывать многие другие функции при подходящем выборе весов и порога. Например, можно сделать так, чтобы единичный выход любого из нейронов первого слоя приводил к появлению единицы на выходе нейрона второго слоя, реализовав тем самым логическое «ИЛИ» Входы персептрона не обязательно должны быть двоичными. Вектор непрерывных входов может представлять собой произвольную точку на плоскости x1-x2. В этом случае речь идет о способностью сети разбивать плоскость на непрерывные области, а не о разделении дискретных множеств точек. Для всех этих функций линейная разделимость показывает, что выход нейрона второго слоя равен единице только в части плоскости x1-x2, ограниченной выпуклой многоугольной областью. Поэтому для разделения плоскостей P и Q необходимо, чтобы все точки P лежали внутри выпуклой многоугольной области, не содержащей точек Q (или наоборот). Точки, не образующие выпуклые области, не могут быть отделены от других точек плоскости двухслойной сетью. Область называется выпуклой, если для любых двух ее точек соединяющий их отрезок целиком лежит в области. Область называется ограниченной, если ее можно заключить в некоторый круг. Неограниченную область невозможно заключить внутрь круга (например, область между двумя параллельными линиями). Примеры выпуклых ограниченных и неограниченных областей представлены на рис.22. Рис.22 Выпуклые ограниченные и неограниченные области Таким образом, двуслойные персептроны способны решать более широкий класс задач классификации, отделяя те точки, которые содержатся в выпуклых ограниченных или неограниченных областях. Трехслойные персептроны могут разделять точки, образующие области любой формы, как выпуклые, так и невыпуклые. Их возможности классификации образов ограничены лишь числом искусственных нейронов и весов. Нейрон третьего слоя принимает в качестве входа набор выпуклых многоугольников, и их логическая комбинация может быть невыпуклой. На рис.23 иллюстрируется случай, когда две треугольные области A и B, скомбинированные с помощью функций «A и не B», задают невыпуклую область. При добавлении нейронов и весов число сторон многоугольников может неограниченно возрастать. Это позволяет аппроксимировать область любой формы с любой точностью. Вдобавок не все выходные области второго слоя должны пересекаться. Следовательно возможно объединять различные области, выдавая на выходе единицу всякий раз, когда входной вектор принадлежит одной из них. Основы искусственного интеллекта зм Рис.23 «Вогнутая» область решений, формируемая трехслойной сетью Несмотря на то, что возможности многослойных сетей были известны, в течение многих лет не было теоретически обоснованного алгоритма для настройки их весовых коэффициентов. ОБУЧЕНИЕ МЕТОДОМ ОБРАТНОГО РАСПРОСТРАНЕНИЯ ОШИБКИ Среди различных структур ИНС одной из наиболее известных является многослойная сеть, состоящая из множества сенсорных элементов (входных узлов или узлов источника), одного или нескольких скрытых слоев (hidden layer) вычислительных нейронов и одного выходного слоя (output layer) нейронов. В этих сетях каждый нейрон скрытого слоя связан со всеми нейронами следующего слоя, а входной сигнал распространяется в прямом направлении, от слоя к слою. Такие сети называются многослойными персептронами (рис.24). Рис. 24. Структура обучаемой сети Многослойные персептроны имеют три отличительные признака: 1. Каждый нейрон имеет нелинейную функцию активации. Эта функция является гладкой (т.е. всюду дифференцируемой), в отличие от пороговой функции, используемой в персептроне Розенблатта. Чаще всего используется логистическая функция , удовлетворяющая этому требованию. Наличие нелинейности играет очень важную роль, так как в противном случае сеть можно свести к обычному однослойному персептрону. 2. Сеть содержит один или несколько слоев скрытых нейронов, не являющихся частью входа или выхода сети. Эти нейроны позволяют сети обучаться решению сложных задач, последовательно извлекая наиболее важные признаки из входного образа (вектора). 3. Сеть обладает высокой синаптических соединений. степенью связности, реализуемой посредством Основы искусственного интеллекта зм Под обучением многослойного персептрона понимается процесс адаптации сети к предъявленным эталонным образцам путем модификации весовых коэффициентов связей между нейронами. В однослойной сети алгоритм обучения с учителем очевиден, так как желаемые выходные состояния нейронов единственного выходного слоя tk заведомо известны. Подстройка синаптических связей идет в направлении минимизации ошибки E на выходе сети. В многослойных сетях желаемое значение выходов нейронов всех внутренних слоев, кроме последнего, неизвестны. Поэтому многослойный персептрон уже невозможно обучить, руководствуясь только величинами ошибок на выходе ИНС. Обучение многослойного персептрона методом обратного распространения ошибки предполагает два прохода по всем слоям сети: прямого и обратного. При прямом проходе образ (входной вектор) подается на сенсорные узлы сети, после чего распространяется по сети от слоя к слою. В результате генерируется набор выходных сигналов, который и является фактической реакцией сети на данный входной образ. Во время прямого прохода все синаптические веса сети фиксированы. Во время обратного прохода все синаптические веса сети настраиваются в соответствии с правилом коррекции ошибок, а именно: фактический выход сети вычитается из желаемого отклика, в результате чего формируется сигнал ошибки. Этот сигнал впоследствии распространяется по сети в направлении, обратном направлению синаптических связей. Отсюда и название – алгоритм обратного распространения ошибки или упрощенно - алгоритм обратного распространения. Для многослойного персептрона выделяют два типа сигналов: 1. Функциональный сигнал. Это входной сигнал (стимул) поступающий в сеть и передаваемый в прямом направлении от нейрона к нейрону. Такой сигнал достигает конца сети в виде в виде выходного сигнала, то есть сеть реализует некоторую функциональную зависимость выхода от стимула. 2. Сигнал ошибки. Этот сигнал берет свое начало на выходе сети и распространяется в обратном направлении от слоя к слою. Он получил свое название благодаря тому, что вычисляется каждым нейроном сети на основе функции ошибки, представленной в той или иной форме. Каждый нейрон многослойного персептрона может выполнять два типа вычислений: 1. Вычисление функционального сигнала на выходе нейрона, реализуемого в виде непрерывной нелинейной функции от входного сигнала и синаптических весов, связанных с данным нейроном. 2. Вычисление оценки вектора градиента ошибки по синаптическим весам на входе данного нейрона. Эти значения необходимы для обратного прохода через сеть. Рассмотрим простой метод обучения, в котором веса обновляются для каждого обучающего примера в пределах одной эпохи обучения. Настройка весов выполняется в соответствии с ошибками, вычисленными для каждого образа, представленного сети. Основы искусственного интеллекта зм Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки ИНС является величина: P K E (w)    ( y(kN, p)  t k , p) 2 , где p 1 k 1 (N ) yk , p - выходное состояние нейрона k выходного слоя n = N при подаче на вход образа номер p из обучающей выборки. Структура обучающей выборки имеет вид: Обучающая выборка Номер образа Вход x1 x2 … xq Таблица 5.1 Желаемый выход … xQ t1 t2 … tk … tK 1 … p … P где P – количество эталонных образов; Q- размерность векторов входных образов сети; K – количество нейронов в выходном слое сети. Минимизация целевой функции ведется методом градиентного спуска, что означает подстройку весовых коэффициентов сети согласно дельта-правилу: wij ( n)   E , где  wij ( n) wij - приращение весового коэффициента синаптической связи, соединяющей i-й нейрон слоя n-1 c j-м нейроном слоя n, - скорость обучения (коэффициент), причем 0    1. Доказано, что E E dy j s j    , где sj - взвешенная сумма входных сигналов wij y j ds j wij нейрона j, т.е. аргумент активационной функции. Так как множитель dyj/dsj является производной этой функции по ее аргументу, из этого следует, что производная активационной функция должна быть определена на всей оси абсцисс. В связи с этим функция единичного скачка и прочие активационные функции с разрывами не подходят для рассматриваемых ИНС. В них применяются такие гладкие функции, как гиперболический тангенс или классическая сигмоидная функция (рис. 25) Основы искусственного интеллекта зм Рис.25 Нейрон j промежуточного слоя Третий множитель sj/wij = yi(n-1) = xij(n) , где yi(n-1) – выход нейрона i предыдущего слоя n, т.е. вход нейрона j слоя n. Доказано, что первый множитель легко раскладывается следующим образом: E E dyk sk E dyk ( n 1)      w jk y j dsk y j k yk dsk k yk Суммирование по k выполняется среди нейронов следующего слоя n+1. Введем новую переменную:  (jn )  E dy j ,  y j ds j и получим рекурсивную формулу для расчетов величин j(n) слоя n из величин k(n+1) более старшего слоя n+1:   dy  (jn)    (kn1)  w(jkn1)   j ds   k (5.1) j Для выходного слоя :  k( N )  ( yk( N )  tk )  dyk dsk (5.2) Теперь можно записать в раскрытом виде : wij(n)     (j n)  yi(n 1) (5.3) Чем меньше параметр скорости обучения η, тем меньше корректировка синаптических весов, осуществляемая на каждой итерации, и тем более гладкой является траектория в пространстве весов. Однако это улучшение происходит за счет замедления процесса обучения. С другой стороны, если увеличить параметр η для повышения скорости обучения, то результирующие большие изменения синаптических весов могут привести систему в неустойчивое состояние. Простейшим способом повышения скорости обучения без потери устойчивости является изменение дельта-правила (5.3) за счет добавления к нему коэффициента инерционности. wij( n) (t )  (  wij( n) (t  1)     (j n) (t )  yi( n1) (t )) , (5.4) где  – коэффициент инерционности, t – номер текущего шага обучения. Уравнение (5.4) называют обобщенным дельта-правилом, при =0 оно вырождается в обычное дельтаправило. Основы искусственного интеллекта зм Таким образом, полный алгоритм обучения ИНС с помощью процедуры обратного распространения ошибки строится так: 1. Подать на входы сети один из возможных образов и в режиме обычного функционирования ИНС, когда сигналы распространяются от входов к выходам, рассчитать значения последних: I s (jn )   yi( n 1)  wij( n ) , i 0 где I – число нейронов в слое n-1 с учетом того, что yi(n-1)=xij(n) – i-ый вход нейрона j слоя n; yj(n) = f(sj(n)), где f() – активационная функция нейрона; yq(0)=xq; где xq – q-ая компонента вектора входного образа. 2. Вычислить  k( N ) для всех нейронов выходного слоя по формуле (5.2). Рассчитать ) по формуле (5.3) изменения весовых коэффициентов w (n jk слоя n=N. ) 3. Вычислить по формулам (5.1) и (5.3) величины  (n и wij(n) для всех остальных j слоев n
«Искусственные нейронные сети» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot