ЛЕКЦИЯ 3. Биологический нейрон и его кибернетическая модель.
Нейробиология. Биологический нейрон, его строение и функции. Об'единение нейронов в сети. Биологическая изменчивость и обучаемость нейронных сетей. Кибернетическая модель нейрона - формальный нейрон МакКаллока и Питса. Обучение нейрона задаче детектирования границы яркости.
Эта лекция посвящена биологическим основаниям науки о вычислительных нейронных сетях. Также, как и в предыдущей лекции, изложение будет носить справочный характер, и предназначено для читателя, не имеющего специальных знаний по биологии. Более глубокие профессиональные сведения можно найти в относительно недавно переведенной книге Н.Грина, У. Стаута и Д.Тейлора, а также в монографии Г.Шеперда. Для ознакомительного чтения можно порекомендовать книгу Ф.Блума, А.Лейзерсона и Л.Хофстедтера.
На протяжении книги нашей основной целью будет исследование методов и кибернетических систем, имитирующих функции мозга при решениии информационных задач. Такой путь разработки искусственных вычислительных систем во многом представляется естественным - высшие биологические организмы, и особенно человек, легко справляются с такими, крайне сложными при математическом рассмотрении проблемами, как, например, распознавание образов (зрительных, слуховых, сенсорных и других), память и устойчивое управление движением тела. Биологический фундамент при изучении этих функций является крайне важным, природное многобразие дает исключительно богатый исходный материал для направленного создания искусственных моделей.
В завершении лекции будет представлена классическая кибернетическая модель нейрона - так называемый формальный нейрон Маккалока и Питтса. Некоторые свойства формального нейрона будут изучены на задаче детектирования границы перехода "черное-белое" в простом изображении.
Метод нейробиологии.
К предмету нейробилологии относится изучение нервной системы и ее главного органа - мозга. Принципиальным вопросом для этой науки является выяснение соотношения между строением нервной системы и ее функцией. При этом рассмотрение проводится на на нескольких уровнях: молекулярном, клеточном, на уровне отдельного органа, организма в целом, и далее на уровне социальной группы. Таким образом, классический нейробилогический подход состоит в последовательном продвижении от элементарных форм в направлении их усложнения.
Для наших практических целей отправной точкой будет клеточный уровень. По современным представлениям, именно на нем совокупность элементарных молекулярных химико-биологических процессов, протекающих в отдельной клетке, формирует ее как элементарных процессор, способный к простейшей переработке информации.
Биологический нейрон.
Элементом клеточной структуры мозга является нервная клетка - нейрон. Нейрон в своем строении имеет много общих черт с другими клетками биоткани: тело нейрона окружено плазматической мембраной, внутри которой находится цитоплазма, ядро и другие составляющие клетки. Однако нервная клетка существенно отличается от иных по своему функциональному назначению. Нейрон выполняет прием, элементарное преобразование и дальнейшую передачу информации другим нейронам. Информация переносится в виде импульсов нервной активности, имеющих электрохимическую природу.
Нейроны крайне разнообразны по форме, которая зависит от их местонахождения в нервной системе и особенностей фунционирования. На Рис. 3.1. приведена схема строения "типичного" нейрона. Тело клетки содержит множество ветвящихся отростков двух типов. Отростки первого типа, называемые дендритами за их сходство с кроной раскидистого дерева, служат в качестве входных каналов для нервных импульсов от других нейронов. Эти импульсы поступают в сому или тело клетки размером от 3 до 100 микрон, вызывая ее специфическое возбуждение, которое затем распространяется по выводному отростку второго типа - аксону. Длина аксонов обычно заметно превосходит размеры дентритов, в отдельных случаях достигая десятков сантиметров и даже метров. Гигантский аксон кальмара имеет толщину около миллиметра, и именно наблюдение за ним послужило выяснению механизма передачи нервных импульсов между нейронами.
Тело нейрона, заполненное проводящим ионным раствором, окружено мембраной толщиной около 75 ангстрем, обладающей низкой проводимостью. Между внутреннней поверхностью мембраны аксона и внешней средой поддерживается разность электрических потенциалов. Это осуществляется при помощи молекулярного механизма ионных насосов, создающих различную концентрацию положительных ионов K+ и Na+ внутри и вне клетки. Проницаемость мембраны нейрона селективна для этих ионов. Внутри аксона клетки, находящейся в состоянии покоя, активный транспорт ионов стремится поддерживать концентрацию ионов калия более высокой, чем ионов натрия, тогда как в жидкости, окружающей аксон, выше оказывается концентрация ионов Na+. Пассивная диффузия более подвижных ионов калия приводит к их интенсивному выходу из клетки, что обуславливает ее общий отрицательный относительно внешней среды потенциал покоя, составляющий около -65 милливольт.
Рис. 3.1.Общая схема строения биологического нейрона.
Под воздействием стимулирующих сигналов от других нейронов мембрана аксона динамически изменяет свою проводимость. Это происходит, когда суммарный внутренний потенциал превышает пороговое значение масштаба -50 мв. Мембрана на короткое время, сотавляющее около 2 миллисекунд, изменяет свою полярность (деполяризуется) и достигает потенциала действия около +40 мв. На микроуровне это объясняется кратковременным повышением проницаемости мембраны для ионов Na+ и активным поступлением их в аксон. В дальнейшем, по мере выхода ионов калия, положительный заряд с внутренней стороны мембраны меняется на отрицательный, и наступает так называемый период рефрактерности, длящийся около 200 мс. В течении этого времени нейрон является полностью пассивным, практически неизменно сохраняя потенциал внутри аксона на уровне около -70 мв.
Импульс деполяризации клеточной мембраны, называемый спайком, распространяется вдоль аксона практически без затухания, поддерживаясь локальными ионными градиентами. Скорость перемещения спайка является относительно невысокой и составляет от 100 до 1000 сантиметров в секунду.
Возбуждение нейрона в виде спайка передается другим нейронам, которые таким образом объеденены в проводящую нервные импульсы сеть. Участки мембраны на аксоне, где размещаются области контакта аксона данного нейрона с дендритами другими нейронов, называются синапсами. В области синапса, имеющего сложное строение, происходит обмен информацией о возбуждении между нейронами. Механизмы синаптической передачи достаточно сложны и разнообразны. Они могут иметь химическую и электрическую природу. В химическом синапсе в передаче импульсов участвуют специфические химические вещества - нейромедиаторы, вызывающие изменения проницаемости локального участка мембраны. В зависимости от типа вырабатываемого медиатора синапс может обладать возбуждающим (эффективно проводящим возбуждение) или тормозящим действием. Обычно на всех отростках одного нейрона вырабатывается один и тот же медиатор, и поэтому нейрон в целом функционально является тормозящим или возбуждающим. Это важное наблюдение о наличии нейронов различных типов в последующих главах будет существенно использоваться при проектировании искуственных систем.
Нейронные сети.
Взаимодействующие между собой посредством передачи через отростки возбуждений нейроны формируют нейронные сети. Переход от рассмотрения отдельного нейрона к изучению нейронных сетей является естественным шагом в нейробиологической иерархии.
Общее число нейронов в центральной нервной системе человека достигает 1010 - 1011, при этом каждая нервная клетка связана в среднем с 103 - 104 других нейронов. Установлено, что в головном мозге совокупность нейронов в объеме масштаба 1 мм3формирует относительно независимую локальную сеть, несущую определенную функциональную нагрузку.
Выделяют несколько (обычно три) основных типов нейронных сетей, отличающихся структурой и назначением. Первый тип составляют иерархические сети, часто встречающиеся в сенсорных и двигательных путях. Информация в таких сетях передается в процессе последовательного перехода от одного уровня иерархии к другому.
Рис. 3.2.Структура простой рефлекторной нейронной сети.
Нейроны образуют два характерных типа соединений - конвергентные, когда большое число нейронов одного уровня контактирует с меньшим числом нейронов следующего уровня, и дивергентные, в которых контакты устанавливаются со все большим числом клеток последующих слоев иерархии. Сочетание конвергентных и дивергентных соединений обеспечивает многократное дублирование информационных путей, что является решающим фактором надежности нейронной сети. При гибели части клеток, сохранившиеся нейроны оказываются в состоянии поддерживать функционирование сети. Ко второму типу нейронных сетей относятся локальные сети, формируемые нейронами с ограниченными сферами влияния. Нейроны локальных сетей производят переработку информации в пределах одного уровня иерархии. При этом функционально локальная сеть представляет собой относительно изолированную тормозящую или возбуждающую структуру. Важную роль также играют так называемые дивергентные сети с одним входом. Командный нейрон, находящийся в основании такой сети может оказывать влияние сразу на множество нейронов, и поэтому сети с одним входом выступают согласующим элементом в сложном сочетании нейросетевых систем всех типов.
Рассмотрим схематически нейронную сеть, формирующую простой рефлекторную цепь с передачей возбуждения от раздражителя к двигательной мышце (Рис. 3.2).
Сигнал внешнего раздражителя воспринимается сенсорными нейронами, связанными с чувствительными клетками-рецепторами. Сенсорные нейроны формируют первый (нижний) уровень иерархии. Выработанные ими сигналы передаются нейронам локальной сети, содержащим множество прямых и обратных связей с сочетанием дивергентных и конвергентных соединений. Характер преобразованного в локальных сетях сигнала определяет состояние возбуждения моторных нейронов. Эти нейроны, составляющие верхний в рассматриваемой сети уровень иерархии, образно говоря, "принимают решение", которое выражается в воздействии на клетки мышечной ткани посредством нервно-мышечных соединений.
Формальный нейрон.
Исторически первой работой, заложившей теоретический фундамент для создания искусственных моделей нейронов и нейронных сетей, принято считать опубликованную в 1943 г. статью Уоррена С.Мак-каллока и Вальтера Питтса "Логическое исчислени идей, относящихся к нервной активности". Главный принцип теории Маккалока и Питтса заключается в том, что произвольные явления, относящиеся к высшей нервной деятельности, могут быть проанализированы и поняты, как некоторая активность в сети, состоящей из логических элементов, принимающих только два состояния ("все или ничего"). При этом для всякого логического выражения, удовлетворяющего указанным авторами условиям, может быть найдена сеть логических элементов, имеющая описываемое этим выражением поведение. Дискуссионные вопросы, касающиеся возможности моделирования психики, сознания и т.п. находятся за рамками этой книги.
Рис.4.1. Функциональная схема формального нейрона Маккалока и Пиитса.
В качестве модели такого логического элемента, получившего в дальнейшем название "формальный нейрон", была предложена схема, приведенная на Рис. 4.1. С современной точки зрения, формальный нейрон представляет собой математическую модель простого процессора, имеющего несколько входов и один выход. Вектор входных сигналов (поступающих через "дендриды") преобразуется нейроном в выходной сигнал (распространяющийся по "аксону") с использованием трех функциональных блоков: локальной памяти, блока суммирования и блока нелинейного преобразования.
Вектор локальной памяти содержит информацию о весовых множителях, с которыми входные сигналы будут интерпретироваться нейроном. Эти переменные веса являются аналогом чувствительности пластических синаптических контактов. Выбором весов достигается та или иная интегральная функция нейрона.
В блоке суммирования происходит накопление общего входного сигнала (обычно обозначаемого символом net), равного взвешенной сумме входов:
В модели Маккалока и Питтса отсутствуют временные задержки входных сигналов, поэтому значение net определяет полное внешненее возбуждение, воспринятое нейроном. Отклик нейрон далее описывается по принципу "все или ничего", т. е. переменная подвергается нелинейному пороговому преобразованию, при котором выход (состояние активации нейрона) Y устанавливается равным единице, если net > , и Y=0 в обратном случае. Значение порога (часто полагаемое равным нулю) также хранится в локальной памяти.
Фомальные нейроны могут быть объединены в сети путем замыкания выходов одних нейронов на входы других, и по мысли авторов модели, такая кибернетическая система с надлежаще выбранными весами может представлять произвольную логическую функцию. Для теоретического описания получаемых нейронных сетей предлагался математический язык исчисления логических предикатов.
Нужно отметить, что сегодня, спустя 50 лет после работы Маккалока и Питтса, исчерпывающей теории синтеза логических нейронных сетей с произвольной функцией, по-видимому, нет. Наиболее продвинутыми оказались исследования в области многослойных систем и сетей с симметричными связями. Большинство моделей опираются в своей основе на различных модификациях формального нейрона. Важным развитием теории формального нейрона является переход к аналоговым (непрерывным) сигналам, а также к различным типам нелинейных переходных функций. Опишем наиболее широко используемые типы переходных функций Y=f(net).
-
Пороговая функция (рассмотренная Маккалоком и Питтсом):
-
Линейная функция, а также ее вариант - линейная функция с погашением отрицательных сигналов:
Как указывалось еще С.Гроссбергом, сигмоидальная функция обладает избирательной чувствительностью к сигналам разной интенсивности, что соответсвует биологическим данным. Наибольшая чувствительность наблюдается вблизи порога, где малые изменения сигнала net приводят к ощутимым изменениям выхода. Напротив, к вариациям сигнала в областях значительно выше или ниже порогового уровня сигмоидальная функция не чувствительна, так как ее производная при больших и малых аргументах стремится к нулю.
В последнее время также рассматриваются математические модели формальных нейронов, учитывающие нелинейные корреляции между входами. Для нейронов Маккалока и Питтса предложены электротехнические аналоги, позволяющие проводить прямое аппаратное моделирование.
ПЕРСЕПТРОН Розенблатта.
Простейшая нейронная сеть - ПЕРСЕПТРОН Розенблатта. Линейная разделимость и теорема об обучении персептрона.
В этой и последующих лекциях мы приступаем к непосредственному рассмотрению основных, описанных в литературе, моделей искусственных нейронных сетей и решаемых ими задач. Исходным будет изложение ПЕРСЕПТРОНА - первой нейросетевой парадигмы, доведенной до кибернетической реализации.
ПЕРСЕПТРОН Розенблатта.
Одной из первых искусственных сетей, способных к перцепции (восприятию) и формированию реакции на воспринятый стимул, явился PERCEPTRON Розенблатта (F.Rosenblatt, 1957). Персептрон рассматривался его автором не как конкретное техническое вычислительное устройство, а как модель работы мозга. Нужно заметить, что после нескольких десятилетий исследований современные работы по искусственным нейронным сетям редко преследуют такую цель.
Рис. 4.1. Элементарный персептрон Розенблатта.
Простейший классический персептрон содержит нейрободобные элементы трех типов (см. Рис. 4.1), назначение которых в целом соответствует нейронам рефлекторной нейронной сети, рассмотренной в предыдущей лекции. S-элементы формируют сетчатку сенсорных клеток, принимающих двоичные сигналы от внешнего мира. Далее сигналы поступают в слой ассоциативных или A-элементов (для упрощения изображения часть связей от входных S-клеток к A-клеткам не показана). Только ассоциативные элементы, представляющие собой формальные нейроны, выполняют нелинейную обработку информации и имеют изменяемые веса связей. R-элементы с фиксированными весами формируют сигнал реакции персептрона на входной стимул.
Розенблатт называл такую нейронную сеть трехслойной, однако по современной терминологии, используемой в этой книге, представленная сеть обычно называется однослойной, так как имеет только один слой нейропроцессорных элементов. Однослойный персептрон характеризуется матрицей синаптических связей W от S- к A-элементам. Элемент матрицы отвечает связи, ведущей от i-го S-элемента к j-му A-элементу.
В Корнельской авиационной лаборатории была разработана электротехническая модель персептрона MARK-1, которая содержала 8 выходных R-элементов и 512 A-элементов, которые можно было соединять в различных комбинациях. На этом персептроне была проведена серия экспериментов по распознаванию букв алфавита и геометрических образов.
В работах Розенблатта был сделано заключение о том, что нейронная сеть рассмотренной архитектуры будет способна к воспроизведению любой логической функции, однако, как было показано позднее М.Минским и С.Пейпертом (M.Minsky, S.Papert, 1969), этот вывод оказался неточным. Были выявлены принципиальные неустранимые ограничения однослойных персептронов, и в последствии стал в основном рассматриваться многослойный вариант персептрона, в котором имеются несколько слоев процессорных элементов.
С сегодняшних позиций однослойный персептрон представляет скорее исторический интерес, однако на его примере могут быть изучены основные понятия и простые алгоритмы обучения нейронных сетей.
Задача обучения нейронной сети на примерах.
По своей организации и функциональному назначению искусственная нейронная сеть с несколькими входами и выходами выполняет некоторое преобразование входных стимулов - сенсорной информации о внешнем мире - в выходные управляющие сигналы. Число преобразуемых стимулов равно n - числу входов сети, а число выходных сигналов соответствуе числу выходов m. Совокупность всевозможных входных векторов размерности n образует векторное пространство X, которое мы будем называть признаковым пространством (При рассмотрении соответсвующих пространств предполагается использование обычных векторных операций сложения и умножения на скаляр (подробнее см. Лекцию 2). Аналогично, выходные вектора также формируют признаковое пространство, которое будет обозначаться Y. Теперь нейронную сеть можно мыслить, как некоторую многомерную функцию F: X Y , аргумент которой принадлежит признаковому пространству входов, а значение - выходному признаковому пространству.
При произвольном значении синаптических весовых коэффициентов нейронов сети функция, реализуемая сетью также произвольна. Для получения требуемой функции необходим специфический выбор весов. Упорядоченная совокупность всех весовых коэффициентов всех нейронов может быть представлена, как вектор W. Множество всех таких векторов также формирует векторное пространство, называемое пространством состояний или конфигурационным (фазовым) пространством W. Термин "фазовое пространство" пришел из статистической физики систем многих частиц, где под ним понимается совокупность координат и импульсов всех частиц, составляющих систему.
Задание вектора в конфигурационном пространстве полностью определяет все синаптические веса и, тем самым, состояние сети. Состояние, при котором нейронная сеть выполняет требуемую функцию, называют обученным состоянием сети W*. Отметим, что для заданной функции обученное состояние может не существовать или быть не единственным. Задача обучения теперь формально эквивалентна построению процесса перехода в конфигурационном пространстве от некоторого произвольного состояния W0 к обученному состоянию.
Требуемая функция однозначнно описывается путем задания соотвествия каждому вектору признакового пространства X некоторого вектора из пространства Y. В случае сети из одного нейрона в задаче детектирования границы, рассмотренной в конце третьей Лекции, полное описание требуемой функции достигается заданием всего четырех пар векторов. Однако в общем случае, как например, при работе с видеоизображением, признаковые пространства могут иметь высокую размерность, поэтому даже в случае булевых векторов однозначное определение функции становится весьма громоздким (при условии, конечно, если функция не задана явно, например, формулой; однако для явно заданных функций обычно не возникает потребности представления их нейросетевыми моделями). Во многих практических случаях значения требуемых функций для заданных значений аргумента получаются из эксперимента или наблюдений, и, следовательно, известны лишь для ограниченной совокупности векторов. Кроме того, известные значения функции могут содержать погрешности, а отдельные данные могут даже частично противоречить друг другу. По этим причинам перед нейронной сетью обычно ставится задача приближенного представления функции по имеющимся примерам. Имеющиеся в распоряжении исследователя примеры соответствий между векторами, либо специально отобранные из всех примеров наиболее представительные данные называют обучающей выборкой. Обучающая выборка определяется обычно заданием пар векторов, причем в каждой паре один вектор соотвествует стимулу, а второй - требуемой реакции. Обучение нейронной сети состоит в приведении всех векторов стимулов из обучающей выборки требуемым реакциям путем выбора весовых коэффициентов нейронов.
Общая проблема кибернетики, заключающаяся в построении искусственной системы с заданным функциональным поведением, в контексте нейроных сетей понимается, как задача синтеза требуемой искусственной сети. Она может включать в себя следующие подзадачи: 1) выбор существенных для решаемой задачи признаков и формирование признаковых пространств; 2) выбор или разработка архитектуры нейронной сети, адекватной решаемой задаче; 3) получение обучаюшей выборки из наиболее представительных, по мнению эксперта, векторов признаковых пространств; 4) обучение нейронной сети на обучающей выборке.
Отметим, что подзадачи 1)-3) во многом требуют экспертного опыта работы с нейронными сетями, и здесь нет исчерпывающих формальных рекомендаций. Эти вопросы рассматриваются на протяжении всей книги в применении к различным нейросетевым архитектурам, с иллюстрациями особенностей их обучения и применения.
Различие экспертных и нейросетевых систем по характеру знаний
Важно отметить различие в характере неявных “знаний”, запомненных искусственной нейронной сетью, и явных, формальных “знаний”, заложенных в экспертных системах. Некоторые сходства и различия представлены в следующей таблице.
|
Экспертные системы (ЭС)
|
Нейросетевые системы (НС)
|
Источник знаний
|
Формализованный опыт эксперта, выраженный в виде логических утверждений - правил и фактов, безусловно принимаемых системой
|
Совокупный опыт эксперта-учителя, отбирающего примеры для обучения + индивидуальный опыт обучающейся на этих примерах нейронной сети
|
Характер знаний
|
Формально-логическое “левополушарное” знание в виде правил
|
Ассоциативное “правополушарное” знание в виде связей между нейронами сети
|
Развитие знаний
|
В форме расширения совокупности правил и фактов (базы знаний)
|
В форме дообучения на дополнительной последовательности примеров, с уточнением границ категорий и формированием новых категорий
|
Роль эксперта
|
Задает на основе правил полный объем знаний экспертной системы
|
Отбирает характерные примеры, не формулируя специально обоснование своего выбора
|
Роль искусственной системы
|
Поиск цепочки фактов и правил для доказательства суждения
|
Формирование индивидуального опыта в форме категорий, получаемых на основе примеров и категоризация образов
|
Различия в характере экспертных и нейросетевых ситем обуславливают и различия в их сферах применения. Экспертные системы применяются в узких предметных областях с хорошо структурированными знаниями, наример в классификации неисправностей конкретного типа оборудования, фармокологии, анализе химсостава проб и т.д. Нейронные сети применяютмся кроме перечисленных областей и в задачах с плохо структурированной информацией, например при распознавании образов, рукописного текста, анализе речи и т.д.
ЛЕКЦИЯ 6. Многослойный ПЕРСЕПТРОН.
Ограничения однослойных нейронных сетей. Необходимость иерархической организации нейронной системы. Многослойный ПЕРСЕПТРОН. Алгоритм обратного распространения ошибок.
Необходимость иерархической организации нейросетевых архитектур.
На предыдущих лекциях нам уже пришлось встретиться с весьма жесткими ограничениями на возможности однослойных сетей, в частности с требованием линейной разделимости классов. Особенности строения биологических сетей подталкивают тсследователя к использованию более сложных, и в частности, иерархических архитектур. Идея относительно проста - на низших уровнях иерархии классы преобразуются таким образом, чтобы сформировать линейно разделимые множества, которые в свою очередь будут успешно распознаваться нейронами на следующих (высших) уровнях иерархии.
Однако основной проблемой, традиционно ограничивающей возможные сетевые топологии простейшими структурами, является проблема обучения. На этапе обучения сети пред'являются некоторые входные образы, называемые обучающей выборкой, и исследуются получаемые выходные реакции. Цель обучения состоит в приведении наблюдаемых реакций на заданной обучающей выборке к требуемым (адекватным) реакциям путем изменения состояний синаптических связей. Сеть считается обученной, если все реакции на заданном наборе стимулов являются адекватными. Данная классическая схема обучения с учителем требует явного знания ошибок при функционировании каждого нейрона, что, разумеется, затруднено для иерархических систем, где непосредственно контролируются только входы и выходы. Кроме того, необходимая избыточность в иерархических сетях приводит к тому, что состояние обучения может быть реализовано многими способами, что делает само понятие “ошибка, делаемая данным нейроном” весьма неопределенным.
Наличие таких серьезных трудностей в значительной мере сдерживало прогресс в области нейронных сетей вплоть до середины 80-х годов, когда были получены эффективные алгоритмы обучения иерархических сетей.
Многослойный ПЕРСЕПТРОН.
Рассмотрим иерархическую сетевую структуру, в которой связанные между собой нейроны (узлы сети) об'единены в несколько слоев (Рис. 6.1). На возможность построения таких архитектур указал еще Ф.Розенблатт, однако им не была решена проблема обучения. Межнейронные синаптические связи сети устроены таким образом, что каждый нейрон на данном уровне иерархии принимает и обрабатывает сигналы от каждого нейрона более низкого уровня. Таким образом, в данной сети имеется выделенное направление распостранения нейроимпульсов - от входного слоя через один (или несколько) скрытых слоев к выходному слою нейронов. Нейросеть такой топологии мы будем называть обобщенным многослойным персептроном или, если это не будет вызывать недоразумений, просто персептроном.
Рис.6.1. Структура многослойного персептрона с пятью входами, тремя нейронами в скрытом слое, и одним нейроном выходного слоя.
Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов МакКаллока и Питтса. На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорами X1..Xn, и один выход. Нейрон характеризуется уникальным вектором весовых коэффициентов w. Веса всех нейронов слоя формируют матрицу, которую мы будем обозначать V или W. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:
(6.1)
Выходы нейронов последнего, выходного, слоя описывают результат классификации Y=Y(X). Особенности работы персептрона состоят в следующем. Каждый нейрон суммирует поступающие к нему сигналы от нейронов предыдущего уровня иерархии с весами, определяемыми состояниями синапсов, и формирует ответный сигнал (переходит в возбужденное состояние), если полученная сумма выше порогового значения. Персептрон переводит входной образ, определяющий степени возбуждения нейронов самого нижнего уровня иерахии, в выходной образ, определяемый нейронами самого верхнего уровня. Число последних, обычно, сравнительно невелико. Состояние возбуждения нейрона на верхнем уровне говорит о принадлежности входного образа к той или иной категории.
Традиционно рассматривается аналоговая логика, при которой допустимые состояния синаптических связей определяются произвольными действительными числами, а степени активности нейронов - действительными числами между 0 и 1. Иногда исследуются также модели с дискретной арифметикой, в которой синапс характеризуется двумя булевыми переменными: активностью (0 или 1) и полярностью (-1 или +1), что соответствует трехзначной логике. Состояния нейронов могут при этом описываться одной булевой переменной. Данный дискретный подход делает конфигурационное пространство состояний нейронной сети конечным (не говоря уже о преимуществах при аппаратной реализации).
Здесь будет в основном описываться классический вариант многослойной сети с аналоговыми синапсами и сигмоидальной передаточной функцией нейронов, определяемой формулой (6.1).
Звезды Гроссберга
Идеи, отраженные в исследованиях Стефана Гроссберга на заре биологической кибернетики, положены в основу многих последующих нейросетевых разработок. Поэтому мы начинаем наше рассмотрение иерархических архитектур с конфигураций входных и выходных звезд Гроссберга (S. Grossberg, 1969).
Нейрон в форме входной звезды имеет N входов X1..XN, которым соответствуют веса W1..XN, и один выход Y, являющийся взвешенной суммой входов. Входная звезда обучается выдавать сигнал на выходе всякий раз, когда на входы поступает определенный вектор. Таким образом, входная звезда является детектором совокупного состояния своих входов. Процесс обучения представляется в следующей итерационной форме:
Темп обучения имеет начальное значение масштаба 0.1 и постепенно уменьшается в процессе обучения. В процессе настройки нейрон учится усредненным обучающим векторам.
Выходная звезда Гроссберга выполняет противоположную функцию - функцию командного нейрона, выдавая на выходах определенный вектор при поступлении сигнала на вход. Нейрон этого типа имеет один вход и M выходов с весами W1..M, которые обучаются по формуле:
Рекомендуется начать c порядка единицы и постепенно уменьшать до нуля в процессе обучения. Итерационный процесс будет сходиться к собирательному образу, полученному из совокупности обучающих векторов.
Особенностью нейронов в форме звезд Гроссберга является локальность памяти. Каждый нейрон в форме входной звезды помнит "свой" относящийся к нему образ и игнорирует остальные. Каждой выходной звезде присуща также конкретная командная функция. Образ памяти связывается с определенным нейроном, а не возникает вследствие взаимодействия множества нейронов в сети.
Сети с обратными связями
Рассмотренный нами ранее ПЕРСЕПТРОН относится к классу сетей с направленным потоком распространения информации и не содержит обратных связей. На этапе функционирования каждый нейрон выполняет свою функцию - передачу возбуждения другим нейронам - ровно один раз. Динамика состояний нейронов является безитерационной.
Несколько более сложной является динамика в сети Кохонена. Конкурентное соревнование нейронов достигается путем итераций, в процессе которых информация многократно передается между нейронами.
В общем случае может быть рассмотрена нейронная сеть (см. Рис. 8.1), содержащая произвольные обратные связи, по которым переданное возбуждение возвращается к данному нейрону, и он повторно выполняет свою функцию. Наблюдения за биологическими локальными нейросетями указывают на наличие множественных обратных связей. Нейродинамика в таких системах становится итерационной. Это свойство существенно расширяет множество типов нейросетевых архитектур, но одновременно приводит к появлению новых проблем.
Рис. 8.1. Фрагменты сетей с прямым рапространением (A) и с наличием обратных связей (B).
Безитерационная динамика состояний нейронов является, очевидно, всегда устойчивой. Обратные связи могут приводить к возникновению неустойчивостей, подобно тем, которые возникают в усилительных радитехнических системах при положительной обратной связи. В нейронных сетях неустойчивость проявляется в блуждающей смене состояний нейронов, не приводящей к возникновению стационарных состояний. В общем случае ответ на вопрос об устойчивости динамики произвольной системы с обратными связями крайне сложен и до настоящего времени является открытым.
Ниже мы остановимся на важном частном случае нейросетевой архитектуры, для которой свойства устойчивости подробно исследованы.
ПРИЛОЖЕНИЕ 1. Компьютерное моделирование нейросетей.
Принципы разработки программного обеспечения, выполняющего имитационное моделирование нейросетей. Структура и функции блоков программы. Пример программной реализации алгоритма обучения персептрона.
Значительная доля всех приложений нейронных сетей приходится на использование их программных моделей, обычно называемых нейроимитаторами. Разработка программы обычно стоит дешевле, а получаемый продукт представляется более наглядным, мобильным и удобным, нежели специализированная аппаратура. В любом случае, разработке аппаратной реализации нейросети всегда должна предшествовать ее всесторонняя отработка на основе теории с использованием компьютерной модели.
В этом разделе книги описываются наиболее общие принципы разработки относительно небольших нейропрограмм, обычно индивидуального использования. С целью максимального упрощения изложения выбрана простая архитектура нейронной сети - однослойный ПЕРСЕПТРОН. Теоретические основы этой сети были рассмотрены в четвертой лекции.
В завершении раздела приведены полные листинги описываемых программ, которые читатель, знакомый с программированием на ТУРБО ПАСКАЛЕ для персонального компьютера IBM PC, может использовать в учебных целях и модифицировать по своему желанию.
Принципы разработки нейроимитаторов.
Нейроимитатор представляет собой компьютерную программу (или пакет программ), которая выполняет следующие функции:
-
Описание и формирование архитектуры нейронной сети
-
Сбор данных для обучающей выборки
-
Обучение выбранной нейросети на обучающей выборке или загрузка уже обученной сети с диска
-
Тестирование обученной нейросети
-
Визуализация процесса обучения и тестирования
-
Решение задач обученной сетью
-
Запись результатов обучения и полученных решений на диске.
Промышленные нейроимитаторы (такие, как Neural Works Professional II+ фирмы Neural Ware, или MultiNeuron, разработанный в Красноярском научном центре) предоставляют исследователю широкий набор возможностей по реализации этих функций. В индивидуальных программах, когда пользователя интересует прежде всего результат работы нейросети, часть этих функций может быть максимально упрощена.
Решение задачи с примененнием нейронной сети может состоять из следующих этапов (не обязательно всех и не обязательно выполняемых в указанном порядке).
Поделитесь с Вашими друзьями: |