Выбери формат для чтения
Загружаем конспект в формате docx
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Лекции по теории и приложениям искусственных нейронных сетей
Сергей А. Терехов Лаборатотория Искусственных Нейронных Сетей НТО-2, ВНИИТФ, Снежинск
ЛЕКЦИЯ 1. Вводная.
"Подмигните компьютеру - он поймет". В начале 90-х под таким заголовком в старейшей уважаемой газете Нью-Йорк Таймс появилась статья, рассказывающая о современных достижениях и направлениях в области интеллектуальных компьютерных систем. Среди магистральных путей развития данной отрасли эксперты издания выделили
• Компьютеры с высокой степенью параллелизма обработки информации, которые могут разделить ту или иную задачу на части и обрабатывать их одновременно, тем самым значительно сокращая общее время вычислений;
• Компьютеры, в которых вместо электронных сигналов для передачи информации используется оптика. Оптические сигналы уже начали использоваться для передачи данных между компьютерами;
• Компьютеры с нейронными сетями, представляющие собой машины, работающие аналогично тому, как по нашим современным представлениям, функционирует мозг.
Последнее, третье, направление, которое существенно опирается на первые два, и составляет основную тему предлагаемого курса Лекций.
Разнообразие, большой об'ем и противоречивость различной диагностической информации выводят на передний план проблему поиска физических систем, способных к ее переработке. Решение этой комплексной задачи тесно связано с новыми информационными технологиями, важное место среди которых занимают методы распознавания и категоризации образов. Нейронные сети - мощный и на сегодня, пожалуй, наилучший метод для решения задач распознавания образов в ситуациях, когда в экспериментальных данных отсутствуют значительные фрагменты информации, а имеющаяся информация предельно зашумлена. Высокая степень параллельности, допускаемая при реализации нейросистем, обеспечивает обработку недоступных оператору об'емов информации за времена, меньшие или сравнимые с допустимыми временами измерений.
К рубежу 80-х годов были достигнуты значительные результаты в совсем молодой синергетике, науке о самоорганизации в неравновесных системах; систематизированы факты и проведены многочисленные новые эксперименты в нейрофизиологии, в частности, подробно изучено строение и механизм действия отдельных нейронов; сформулирован принцип работы и создана первая ЭВМ с параллельной архитектурой. Эти обстоятельства, по-видимому, стимулировали начало интенсивных исследований нейронных сетей, как моделей ассоциативной памяти.
Широкий интерес к нейронным сетям был инициирован после появления работы Хопфилда (Hopfield J.J., 1982), который показал, что задача с изинговскими нейронами может быть сведена к обобщениям ряда моделей, разработанных к тому моменту в физике неупорядоченных систем. Работа сети Хопфилда (наиболее подробно обсуждаемая в физической литературе) состоит в релаксации начального "спинового портрета" матрицы двоичных кодов к одному из стационарных состояний, определяемых правилом обучения (правилом Хебба). Таким образом, данная сеть может применяться для задач распознавания.
Многообразие предлагаемых алгоритмов, характеризующихся различной степенью детальности проработки, возможностями их параллельной реализации, а также наличием аппаратной реализации, приводит к особой актуальности исследования по сравнительным характеристикам различных методик.
Главной задачей предлагаемого курса является практическое введение в современные методы и системы обработки информации, об'единенные в научной литературе термином Computational Neuroscience (вычислительная нейро-наука), а также введение в перспективные подходы построения вычислительных и информационных систем новых поколений. Особенностью рассматриваемой нами темы является ее междисциплинарный характер. Свой вклад в становление нейронауки внесли биологияи физиология высшей нервной деятельности, психология восприятия, дискретная математика, статистическая физика и синергетика, и, конечно, кибернетика и, конечно, компьютерное моделирование.
Основные понятия теории нейронных сетей (НС)
(1943 г., Мак-Каллок - психолог, Питц - математик)
Задачи, решаемые с помощью ИНС:
• Задачи распознавания образов;
• Классификации;
• Кластеризация;
• Задачи анализа систем (и управление системами);
• Задачи аппроксимации
• Задачи информации (криптография);
• Предсказание / прогноз
• Задачи сжатия информации.
Одна из наиболее широко используемых областей применения НС – задача аппроксимации (в более широком смысле, чем это было раньше).
Литература
А. Основная
• Ф. Уоссермен. Нейрокомпьютерная техника. Москва: Мир, 1992.
• А.Н. Горбань, Д.А. Россиев. Нейронные сети на персональном компьютере. Новосибирск: Наука, 1996.
• Информатика. Справочник. Под. Ред. Д.А.Поспелова. Москва: Педагогика, 1996.
Б. Дополнительная
• Т. Кохонен. Ассоциативная память. Москва: Мир, 1980.
• Ф. Розенблатт. Принципы нейродинамики. Москва: Мир, 1965.
• Автоматы. Под. ред. К.Э. Шеннона и Дж. Маккарти. Москва: Издательство Иностранной Литературы, 1956.
• Д. Марр. Зрение. Москва: Радио и Связь, 1987.
• М. Минский, С. Пейперт. Персептроны. Москва: Мир, 1971.
• Н. Винер. Кибернетика. Москва: Советское радио, 1968.
• А.А. Веденов. Моделирование элементов мышления. Москва: Наука, 1988.
• А.Ю. Лоскутов, А.С. Михайлов. Введение в синергетику. Москва: Наука, 1990.
• С.О. Мкртчян. Нейроны и нейронные сети. Москва: Энергия, 1971.
• А.Н. Горбань. Обучение нейронных сетей. Москва: СП "Параграф", 1990.
• А.И. Галушкин. Синтез многослойных схем распознавания образов. Москва: Энергия, 1974.
• Ф.Г. Гантмахер. Теория матриц. Москва: Наука, 1988.
• Н. Грин, У. Стаут, Д. Тейлор. Биология. Под.ред. Р.Сопера. Т.1-3, Москва: Мир, 1990.
• Г. Шеперд. Нейробиология. Тт. 1-2, Москва: Мир, 1987.
• Ф. Блум, А. Лейзерсон, Л. Хофстедтер. Мозг, разум и поведение. Москва: Мир, 1988.
• Б. Банди. Методы оптимизации. М. Радио и связь, 1988
ЛЕКЦИЯ 3. Биологический нейрон и его кибернетическая модель.
Биологический нейрон.
Элементом клеточной структуры мозга является нервная клетка - нейрон. Нейрон в своем строении имеет много общих черт с другими клетками биоткани: тело нейрона окружено плазматической мембраной, внутри которой находится цитоплазма, ядро и другие составляющие клетки. Однако нервная клетка существенно отличается от иных по своему функциональному назначению. Нейрон выполняет прием, элементарное преобразование и дальнейшую передачу информации другим нейронам. Информация переносится в виде импульсов нервной активности, имеющих электрохимическую природу.
Нейроны крайне разнообразны по форме, которая зависит от их местонахождения в нервной системе и особенностей фунционирования. На Рис. 3.1. приведена схема строения "типичного" нейрона. Тело клетки содержит множество ветвящихся отростков двух типов. Отростки первого типа, называемые дендритами за их сходство с кроной раскидистого дерева, служат в качестве входных каналов для нервных импульсов от других нейронов. Эти импульсы поступают в сому или тело клетки размером от 3 до 100 микрон, вызывая ее специфическое возбуждение, которое затем распространяется по выводному отростку второго типа - аксону. Длина аксонов обычно заметно превосходит размеры дентритов, в отдельных случаях достигая десятков сантиметров и даже метров. Гигантский аксон кальмара имеет толщину около миллиметра, и именно наблюдение за ним послужило выяснению механизма передачи нервных импульсов между нейронами.
Тело нейрона, заполненное проводящим ионным раствором, окружено мембраной толщиной около 75 ангстрем, обладающей низкой проводимостью. Между внутреннней поверхностью мембраны аксона и внешней средой поддерживается разность электрических потенциалов. Это осуществляется при помощи молекулярного механизма ионных насосов, создающих различную концентрацию положительных ионов K+ и Na+ внутри и вне клетки. Проницаемость мембраны нейрона селективна для этих ионов. Внутри аксона клетки, находящейся в состоянии покоя, активный транспорт ионов стремится поддерживать концентрацию ионов калия более высокой, чем ионов натрия, тогда как в жидкости, окружающей аксон, выше оказывается концентрация ионов Na+. Пассивная диффузия более подвижных ионов калия приводит к их интенсивному выходу из клетки, что обуславливает ее общий отрицательный относительно внешней средыпотенциал покоя, составляющий около -65 милливольт.
Рис. 3.1.Общая схема строения биологического нейрона.
Определение: 1 - тело клетки, 2 – аксон – отросток, по которому клетки передаёт информацию, 3 – дендриты – отросток, по которому в клетку поступает информация, 4 – синапсы (нервные стыки).
Под воздействием стимулирующих сигналов от других нейронов мембрана аксона динамически изменяет свою проводимость. Это происходит, когда суммарный внутренний потенциал превышает пороговое значение масштаба -50 мв. Мембрана на короткое время, сотавляющее около 2 миллисекунд, изменяет свою полярность (деполяризуется) и достигает потенциала действияоколо +40 мв. На микроуровне это объясняется кратковременным повышением проницаемости мембраны для ионов Na+ и активным поступлением их в аксон. В дальнейшем, по мере выхода ионов калия, положительный заряд с внутренней стороны мембраны меняется на отрицательный, и наступает так называемый период рефрактерности, длящийся около 200 мс. В течении этого времени нейрон является полностью пассивным, практически неизменно сохраняя потенциал внутри аксона на уровне около -70 мв.
Импульс деполяризации клеточной мембраны, называемый спайком, распространяется вдоль аксона практически без затухания, поддерживаясь локальными ионными градиентами. Скорость перемещения спайка является относительно невысокой и составляет от 100 до 1000 сантиметров в секунду.
Возбуждение нейрона в виде спайка передается другим нейронам, которые таким образом объеденены в проводящую нервные импульсы сеть. Участки мембраны на аксоне, где размещаются области контакта аксона данного нейрона с дендритами другими нейронов, называются синапсами. В области синапса, имеющего сложное строение, происходит обмен информацией о возбуждении между нейронами. Механизмы синаптической передачи достаточно сложны и разнообразны. Они могут иметь химическую и электрическую природу. В химическом синапсе в передаче импульсов участвуют специфические химические вещества - нейромедиаторы, вызывающие изменения проницаемости локального участка мембраны. В зависимости от типа вырабатываемого медиатора синапс может обладать возбуждающим (эффективно проводящим возбуждение) или тормозящим действием. Обычно на всех отростках одного нейрона вырабатывается один и тот же медиатор, и поэтому нейрон в целом функционально является тормозящим или возбуждающим. Это важное наблюдение о наличии нейронов различных типов в последующих главах будет существенно использоваться при проектировании искуственных систем.
Нейронные сети.
Взаимодействующие между собой посредством передачи через отростки возбуждений нейроны формируют нейронные сети. Переход от рассмотрения отдельного нейрона к изучению нейронных сетей является естественным шагом в нейробиологической иерархии.
Общее число нейронов в центральной нервной системе человека достигает 1010 - 1011, при этом каждая нервная клетка связана в среднем с 103 - 104 других нейронов. Установлено, что в головном мозге совокупность нейронов в объеме масштаба 1 мм3формирует относительно независимую локальную сеть, несущую определенную функциональную нагрузку.
Биологическая изменчивость и обучение нейронных сетей.
Структура основных типов нейронных сетей генетически предопределена. При этом исследования в области сравнительной нейроанатомии говорят о том, что по фундаментальному плану строения мозг очень мало изменился в процессе эволюции. Однако детерминированные нейронные структуры демонстрируют свойства изменчивости, обуславливающие их адаптацию к конкретным условиям функционирования.
Генетическая предопределенность имеет место также и в отношении свойств отдельных нейронов, таких, например, как тип используемого нейромедиатора, форма и размер клетки. Изменчивость на клеточном уровне проявляется в пластичности синаптических контактов. Характер метаболической активности нейрона и свойства проницаемости синаптической мемраны могут меняться в ответ на длительную активизацию или торможение нейрона. Синаптический контакт "тренируется" в ответ на условия функционирования.
Изменчивость на уровне сети связана со спецификой нейронов. Нервная ткань практически лишена характерной для других типов тканей способности к регенерации путем деления клеток. Однако нейроны демонстрируют способность к формированию новых отростков и новых синаптических контактов. Ряд экспериментов с преднамеренным повреждением нервных путей указывает, что развитие нейронных ответвлений сопровождается конкуренцией за обладание синаптическими участками. Это свойство в целом обеспечивает устойчивость функционирования нейронный сетей при относительной ненадежности их отдельных компонент - нейронов.
Специфическая изменчивость нейронных сетей и свойств отдельных нейронов лежит в основе их способности к обучению - адаптации к условиям функционирования - при неизменности в целом их морфологической структуры. Следует заметить, однако, что рассмотрение изменчивости и обучаемости малых групп нейронов не позволяет в целом ответить на вопросы об обучаемости на уровне высших форм психической деятельности, связанных с интеллектом, абстрактным мышлением, речью.
Основными действующими элементами нервной системы являются отдельные клетки, называемые нейронами. Они имеют ряд общих с клетками других типов черт, при этом сильно отличаясь от них по своей конфигурации и функциональному назначению. Активность нейронов при передаче и обработке нервных импульсов регулируется свойствами мембраны, которые могут меняться под воздействием синаптических медиаторов. Биологические функции нейрона могут меняться и адаптироваться к условиям функционирования. Нейроны объединяются в нейронные сети, основные типы которых, а также схемы проводящих путей мозга являются генетически запрограммированными. В процессе развития возможно локальное видоизменение нейронных сетей с формированием новых соединений между нейронами. Отметим также, что нервная система содержит помимо нейронов клетки других типов.
Формальный нейрон.
Исторически первой работой, заложившей теоретический фундамент для создания искусственных моделей нейронов и нейронных сетей, принято считать опубликованную в 1943 г. статью Уоррена С.Мак-каллока и Вальтера Питтса "Логическое исчислени идей, относящихся к нервной активности". Главный принцип теории Маккалока и Питтса заключается в том, что произвольные явления, относящиеся к высшей нервной деятельности, могут быть проанализированы и поняты, как некоторая активность в сети, состоящей из логических элементов, принимающих только два состояния ("все или ничего"). При этом для всякого логического выражения, удовлетворяющего указанным авторами условиям, может быть найдена сеть логических элементов, имеющая описываемое этим выражением поведение. Дискуссионные вопросы, касающиеся возможности моделирования психики, сознания и т.п. находятся за рамками этой книги.
Рис.4.1. Функциональная схема формального нейрона Маккалока и Пиитса.
В качестве модели такого логического элемента, получившего в дальнейшем название "формальный нейрон", была предложена схема, приведенная на Рис. 4.1. С современной точки зрения, формальный нейрон представляет собой математическую модель простого процессора, имеющего несколько входов и один выход. Вектор входных сигналов (поступающих через "дендриды") преобразуется нейроном в выходной сигнал (распространяющийся по "аксону") с использованием трех функциональных блоков: локальной памяти, блока суммирования и блока нелинейного преобразования.
Вектор локальной памяти содержит информацию о весовых множителях, с которыми входные сигналы будут интерпретироваться нейроном. Эти переменные веса являются аналогом чувствительности пластических синаптических контактов. Выбором весов достигается та или иная интегральная функция нейрона.
В блоке суммирования происходит накопление общего входного сигнала (обычно обозначаемого символом net), равного взвешенной сумме входов:
В модели Маккалока и Питтса отсутствуют временные задержки входных сигналов, поэтому значение net определяет полное внешненее возбуждение, воспринятое нейроном. Отклик нейрон далее описывается по принципу "все или ничего", т. е. переменная подвергается нелинейному пороговому преобразованию, при котором выход (состояние активации нейрона) Y устанавливается равным единице, если net > , и Y=0 в обратном случае. Значение порога (часто полагаемое равным нулю) также хранится в локальной памяти.
Фомальные нейроны могут быть объединены в сети путем замыкания выходов одних нейронов на входы других, и по мысли авторов модели, такая кибернетическая система с надлежаще выбранными весами может представлять произвольную логическую функцию. Для теоретического описания получаемых нейронных сетей предлагался математический язык исчисления логических предикатов.
Нужно отметить, что сегодня, спустя 50 лет после работы Маккалока и Питтса, исчерпывающей теории синтеза логических нейронных сетей с произвольной функцией, по-видимому, нет. Наиболее продвинутыми оказались исследования в области многослойных систем и сетей с симметричными связями. Большинство моделей опираются в своей основе на различных модификациях формального нейрона. Важным развитием теории формального нейрона является переход к аналоговым (непрерывным) сигналам, а также к различным типам нелинейных переходных функций. Опишем наиболее широко используемые типы переходных функций Y=f(net).
• Пороговая функция (рассмотренная Маккалоком и Питтсом):
• Линейная функция, а также ее вариант - линейная функция с погашением отрицательных сигналов:
• Сигмоидальная функция:
Как указывалось еще С.Гроссбергом, сигмоидальная функция обладает избирательной чувствительностью к сигналам разной интенсивности, что соответсвует биологическим данным. Наибольшая чувствительность наблюдается вблизи порога, где малые изменения сигнала net приводят к ощутимым изменениям выхода. Напротив, к вариациям сигнала в областях значительно выше или ниже порогового уровня сигмоидальная функция не чувствительна, так как ее производная при больших и малых аргументах стремится к нулю.
В последнее время также рассматриваются математические модели формальных нейронов, учитывающие нелинейные корреляции между входами. Для нейронов Маккалока и Питтса предложены электротехнические аналоги, позволяющие проводить прямое аппаратное моделирование.
В общем случае для подстройки весов при обучении нейрона разработаны различные алгоритмы, которые будут рассматриваться в применении к конкретным типам нейронных сетей, составленных из формальных нейронов.
Пример: (коротко)
Замечание. Матрица весов является памятью сети, хранящей информацию о том, как должна выполняться задача.
Пример
Рис. Матрица, описывающая сетевые связи. В данном случае, например, вес связи элемента 3 (строка 3) с элементом 1 (столбец 1) обозначается символом
Пример
Архитектура НС. Виды элементов. Правила комбинирования входных сигналов.
С точки зрения топологии можно выделить три основных типа нейронных сетей:
• Полносвязные (рис. 3 а);
• Многослойные или слоистые (рис. 3 б);
• Слабосвязные (с локальными связями рис. 3. В).
(выдать)
Теоретические основы построения нейронных сетей
ЛЕКЦИЯ 4. ПЕРСЕПТРОН Розенблатта.
ПЕРСЕПТРОН Розенблатта.
Одной из первых искусственных сетей, способных к перцепции (восприятию) и формированию реакции на воспринятый стимул, явился PERCEPTRON Розенблатта (F.Rosenblatt, 1957). Персептрон рассматривался его автором не как конкретное техническое вычислительное устройство, а как модель работы мозга. Нужно заметить, что после нескольких десятилетий исследований современные работы по искусственным нейронным сетям редко преследуют такую цель.
Рис. 4.1. Элементарный персептрон Розенблатта.
Простейший классический персептрон содержит нейрободобные элементы трех типов (см. Рис. 4.1), назначение которых в целом соответствует нейронам рефлекторной нейронной сети, рассмотренной в предыдущей лекции. S-элементы формируют сетчатку сенсорных клеток, принимающих двоичные сигналы от внешнего мира. Далее сигналы поступают в слой ассоциативных или A-элементов (для упрощения изображения часть связей от входных S-клеток к A-клеткам не показана). Только ассоциативные элементы, представляющие собой формальные нейроны, выполняют нелинейную обработку информации и имеют изменяемые веса связей. R-элементы с фиксированными весами формируют сигнал реакции персептрона на входной стимул.
Розенблатт называл такую нейронную сеть трехслойной, однако по современной терминологии, используемой в этой книге, представленная сеть обычно называется однослойной, так как имеет только один слой нейропроцессорных элементов. Однослойный персептрон характеризуется матрицей синаптических связей W от S- к A-элементам. Элемент матрицы отвечает связи, ведущей от i-го S-элемента к j-му A-элементу.
В работах Розенблатта был сделано заключение о том, что нейронная сеть рассмотренной архитектуры будет способна к воспроизведению любой логической функции, однако, как было показано позднее М.Минским и С.Пейпертом (M.Minsky, S.Papert, 1969), этот вывод оказался неточным. Были выявлены принципиальные неустранимые ограничения однослойных персептронов, и в последствии стал в основном рассматриваться многослойный вариант персептрона, в котором имеются несколько слоев процессорных элементов.
С сегодняшних позиций однослойный персептрон представляет скорее исторический интерес, однако на его примере могут быть изучены основные понятия и простые алгоритмы обучения нейронных сетей.
Теорема об обучении персептрона.
Обучение сети состоит в подстройке весовых коэффициентов каждого нейрона. Пусть имеется набор пар векторов (x, y), = 1..p, называемый обучающей выборкой. Будем называть нейронную сеть обученной на данной обучающей выборке, если при подаче на входы сети каждого вектора x на выходах всякий раз получается соответсвующий вектор y
Предложенный Ф.Розенблаттом метод обучения состоит в итерационной подстройке матрицы весов, последовательно уменьшающей ошибку в выходных векторах. Алгоритм включает несколько шагов:
Шаг 0.
Начальные значения весов всех нейронов полагаются случайными.
Шаг 1.
Сети предъявляется входной образ x, в результате формируется выходной образ
Шаг 2.
Вычисляется вектор ошибки , делаемой сетью на выходе. Дальнейшая идея состоит в том, что изменение вектора весовых коэффициентов в области малых ошибок должно быть пропорционально ошибке на выходе, и равно нулю если ошибка равна нулю.
Шаг 3.
Вектор весов модифицируется по следующей формуле: . Здесь - темп обучения.
Шаг 4.
Шаги 1-3 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки называется эпохой. Обучение завершается по истечении нескольких эпох, а) когда итерации сойдутся, т.е. вектор весов перестает измеяться, или б) когда полная просуммированная по всем векторам абсолютная ошибка станет меньше некоторого малого значения.
Используемая на шаге 3 формула учитывает следующие обстоятельства: а) модифицируются только компоненты матрицы весов, отвечающие ненулевым значениям входов; б) знак приращения веса соответствует знаку ошибки, т.е. положительная ощибка ( > 0, значение выхода меньше требуемого) проводит к усилению связи; в) обучение каждого нейрона происходит независимо от обучения остальных нейронов, что соответсвует важному с биологической точки зрения, принципу локальности обучения.
Данный метод обучения был назван Ф.Розенблаттом “методом коррекции с обратной передачей сигнала ошибки”. Позднее более широко стало известно название “ -правило”. Представленный алгоритм относится к широкому классу алгоритмов обучения с учителем, поскольку известны как входные вектора, так и требуемые значения выходных векторов (имеется учитель, способный оценить правильность ответа ученика).
Доказанная Розенблаттом теорема о сходимости обучения по -правилу говорит о том, что персептрон способен обучится любому обучающему набору, который он способен представить. Ниже мы более подробно обсудим возможности персептрона по представлению информации.
Линейная разделимость и персептронная представляемость
Каждый нейрон персептрона является формальным пороговым элементом, принимающим единичные значения в случае, если суммарный взвешенный вход больше некоторого порогового значения:
Таким образом, при заданных значениях весов и порогов, нейрон имеет определенное значение выходной активности для каждого возможного вектора входов. Множество входных векторов, при которых нейрон активен (y=1), отделено от множества векторов, на которых нейрон пассивен (y=0) гиперплоскостью, уравнение которой есть, суть:
Следовательно, нейрон способен отделить (иметь различный выход) только такие два множества векторов входов, для которых имеется гиперплоскость, отсекающая одно множество от другого. Такие множества называют линейно разделимыми. Проиллюстрируем это понятие на примере.
Пусть имеется нейрон, для которого входной вектор содержит только две булевые компоненты , определяющие плоскость. На данной плоскости возможные значения векторов отвечают вершинам единичного квадрата. В каждой вершине определено требуемое значение активности нейрона 0 (на рис. 4.2 - белая точка) или 1 (черная точка). Требуется определить, существует ли такое такой набор весов и порогов нейрона, при котором этот нейрон сможет отделить точки разного цвета?
На рис 4.2 представлена одна из ситуаций, когда этого сделать нельзя вследствие линейной неразделимости множеств белых и черных точек.
Рис. 4.2. Белые точки не могут быть отделены одной прямой от черных.
Требуемая активность нейрона для этого рисунка определяется таблицей, в которой не трудно узнать задание логической функции “ислючающее или”.
X1
X2
Y
1
1
1
1
1
1
Линейная неразделимость множест аргументов, отвечающих различным значениям функции означает, что функция “ислючающее или”, столь широко использующаяся в логических устройствах, не может быть представлена формальным нейроном. Столь скромные возможности нейрона и послужили основой для критики персептронного направления Ф.Розенблатта со стороны М.Минского и С.Пейперта.
При возрастании числа аргументов ситуация еще более катастрофична: относительное число функций, которые обладают свойством линейной разделимости резко уменьшается. А значит и резко сужается класс функций, который может быть реализован персептроном (так называемый класс функций, обладающий свойством персептронной представляемости). Соотвествующие данные приведены в следующей таблице:
Число переменных N
Полное число возможных логических функций
Из них линейно разделимых функций
1
4
4
2
16
14
3
256
104
4
65536
1882
5
> 1000000000
94572
Видно, что однослойный персептрон крайне ограничен в своих возможностях точно представить наперед заданную логическую функцию. Нужно отметить, что позднее, в начале 70-х годов, это ограничение было преодолено путем введения нескольких слоев нейронов, однако критическое отношение к классическому персептрону сильно заморозило общий круг интереса и научных исследований в области искусственных нейронных сетей.
В завершении остановимся на тех проблемах, которые остались открытыми после работ Ф.Розенблатта. Часть из них была впоследствии решена (и будет частично рассмотрена в следующих лекциях), некоторые остались без полного теоретического решения.
1. Практическая проверка условия линейной разделимости множеств. Теорема Розенблатта гарантирует успешное обучение только для персептронно представимых функций, однако ничего не говорит о том, как это свойство практически обнаружить до обучения
2. Сколько шагов потребуется при итерационном обучении? Другими словами, затянувшееся обучение может быть как следсвием не представимости функции (и в этом случае оно никогда не закончится), так и просто особенностью алгоритма.
3. Как влияет на обучение последовательность предъявления образов в течение эпохи обучения?
4. Имеет ли вообще -правило преимущества перед простым перебором весов, т.е. является ли оно конструктивным алгоритмом быстрого обучения?
5. Каким будет качество обучения, если обучающая выборка содержит не все возможные пары векторов? Какими будут ответы персептрона на новые вектора?
Последний вопрос затрагивает глубокие пласты вычислительной нейронауки, касающиеся способностей искусственных систем к обобщению ограничеснного индивидуального опыта на более широкий класс ситуаций, для которых отклик был заранее не сообщен нейросети. Ситуация, когда системе приходится работать с новыми образами, является типичной, так как число всех возможных примеров экспоненциально быстро растет с ростом числа переменных, и поэтому на практике индивидуальный опыт сети всегда принципиально не является полным.
Возможности обобщения в нейросетях будут подробнее рассмотрены на следующей лекции.
Обучение методом обратного распространения ошибок.
Для обучения многослойной сети в 1986 г. Руммельхартом и Хинтоном (Rummelhart D.E., Hinton G.E., Williams R.J., 1986) был предложен алгоритм обратного распостранения ошибок (error back propagation). Многочисленные публикации о промышленных применениях многослойных сетей с этим алгоритмом обучения подтвердили его принципиальную работоспособность на практике.
В начале возникает резонный вопрос - а почему для обучения многослойного персептрона нельзя применить уже известное -правило Розенблатта (см. Лекцию 4)? Ответ состоит в том, что для применения метода Розенблатта необходимо знать не только текущие выходы нейронов y, но и требуемые правильные значения Y. В случае многослойной сети эти правильные значения имеются только для нейронов выходного слоя. Требуемые значения выходов для нейронов скрытых слоев неизвестны, что и ограничивает применение -правила.
Основная идея обратного распространения состоит в том, как получить оценку ошибки для нейронов скрытых слоев. Заметим, что известные ошибки, делаемые нейронами выходного слоя, возникают вследствие неизвестных пока ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку ошибки элементов скрытых слоев можно получить, как взвешенную сумму ошибок последующих слоев. При обучении информация распространяется от низших слоев иерархии к высшим, а оценки ошибок, делаемые сетью - в обратном напаравлении, что и отражено в названии метода.
Перейдем к подробному рассмотрению этого алгоритма. Для упрощения обозначений ограничимся ситуацией, когда сеть имеет только один скрытый слой. Матрицу весовых коэффициентов от входов к скрытому слою обозначим W, а матрицу весов, соединяющих скрытый и выходной слой - как V. Для индексов примем следующие обозначения: входы будем нумеровать только индексом i, элементы скрытого слоя - индексом j, а выходы, соответственно, индексом k.
Пусть сеть обучается на выборке (X,Y), =1..p. Активности нейронов будем обозначать малыми буквами y с соотвествующим индексом, а суммарные взвешенные входы нейронов - малыми буквами x.
Общая структура алгоритма аналогична рассмотренной в Лекции 4, с усложнением формул подстройки весов.
Таблица 6.1. Алгоритм обратного распространения ошибки.
Шаг 0.
Начальные значения весов всех нейронов всех слоев V(t=0) и W(t=0) полагаются случайными числами.
Шаг 1.
Сети предъявляется входной образ X, в результате формируется выходной образ y Y. При этом нейроны последовательно от слоя к слою функционируют по следующим формулам:
скрытый слой
выходной слой
Здесь f(x) - сигмоидальная функция, определяемая по формуле (6.1)
Шаг 2.
Функционал квадратичной ошибки сети для данного входного образа имеет вид:
Данный функционал подлежит минимизации. Классический градиентный метод оптимизации состоит в итерационном уточнении аргумента согласно формуле:
Функция ошибки в явном виде не содержит зависимости от веса Vjk, поэтому воспользуемся формулами неявного дифференцирования сложной функции:
Здесь учтено полезное свойство сигмоидальной функции f(x): ее производная выражается только через само значение функции, f’(x)=f(1-f). Таким образом, все необходимые величины для подстройки весов выходного слоя V получены.
Шаг 3.
На этом шаге выполняется подстройка весов скрытого слоя. Градиентный метод по-прежнему дает:
Вычисления производных выполняются по тем же формулам, за исключением некоторого усложнения формулы для ошибки j.
При вычислении j здесь и был применен принцип обратного распространения ошибки: частные производные берутся только по переменным последующего слоя. По полученным формулам модифицируются веса нейронов скрытого слоя. Если в нейронной сети имеется несколько скрытых слоев, процедура обратного распространения применяется последовательно для каждого из них, начиная со слоя, предшествующего выходному, и далее до слоя, следующего за входным. При этом формулы сохраняют свой вид с заменой элементов выходного слоя на элементы соотвествующего скрытого слоя.
Шаг 4.
Шаги 1-3 повторяются для всех обучающих векторов. Обучение завершается по достижении малой полной ошибки или максимально допустимого числа итераций, как и в методе обучения Розенблатта.
Как видно из описания шагов 2-3, обучение сводится к решению задачи оптимизации функционала ошибки градиентным методом. Вся “соль” обратного распространения ошибки состоит в том, что для ее оценки для нейронов скрытых слоев можно принять взвешенную сумму ошибок последующего слоя.
Параметр h имеет смысл темпа обучения и выбирается достаточно малым для сходимости метода. О сходимости необходимо сделать несколько дополнительных замечаний. Во-первых, практикапоказывает что сходимость метода обратного распространения весьма медленная. Невысокий тепм сходимости является “генетической болезнью” всех градиентных методов, так как локальное направление градиента отнюдь не совпадает с направлением к минимуму. Во-вторых, подстройка весов выполняется независимо для каждой пары образов обучающей выборки. При этом улучшение функционирования на некоторой заданной паре может, вообще говоря, приводить к ухудшению работы на предыдущих образах. В этом смысле, нет достоверных (кроме весьма обширной практики применения метода) гарантий сходимости.
Исследования показывают, что для представления произвольного функционального отображения, задаваемого обучающей выборкой, достаточно всего два слоя нейронов. Однако на практике, в случае сложных функций, использование более чем одного скрытого слоя может давать экономию полного числа нейронов.
В завершение лекции сделаем замечание относительно настройки порогов нейронов. Легко заметить, что порог нейрона может быть сделан эквивалентным дополнительному весу, соединенному с фиктивным входом, равным -1. Действительно, выбирая W0=, x0=-1 и начиная суммирование с нуля, можно рассматривать нейрон с нулевым порогом и одним дополнительным входом:
Дополнительные входы нейронов, соотвествующие порогам, изображены на Рис. 6.1 темными квадратиками. С учетом этого замечания, все изложенные в алгоритме обратного распространения формулы суммирования по входам начинаются с нулевого индекса.
РАЗДЕЛ №2. ОБУЧЕНИЕ НС
Обучение нейронной сети
выдать
Качество работы НС зависит от набора учебных образцов. Учебные данные должны быть типичными для задачи, решению которой обучается сеть. Для обучения НС требуется:
• Выбрать соответствующую архитектуру сети;
• Определить её топологию (количество элементов и их связи);
• Указать параметры обучения.
Предварительная подготовка данных может предполагать мастабирование переменных:
, то есть, если , то.
ЦЕЛЬ разработки НС – минимизация прямого влияния разработчика на процесс получения решения.
Главное преимущество НС – возможность вырабатывать собственные решения.
Замечание. Данные для обучения НС делятся на две категории – учебные и тестовые образцы. Реальные качества НС могут быть выявлены только на стадии тестирования. Правильно обученная сеть должна правильно решать поставленную задачу с данными, отличающимися от учебных данных.
Параметрами обучения НС выступают значения синаптических весов (элементы весовых матриц). С точки зрения теории информации обучение НС не что иное, как задача идентификации модели по параметрам.
Теоретические основы алгоритмов обучения
Пусть - выходной вектор НС, зависящий от значений весовых коэффициентов: , а - эталонный вектор. Так как векторы и определяют координаты точек в n-мерном пространстве, то для оценки степени «близости» этих векторов может быть принято расстояние между этими точками:
(1)
Расстояние будет минимально, если
(2)
Для решения задачи (2) могут быть использованы необходимое и достаточные условия экстремума функции N переменных:
(3)
(необходимое условие)
(3 a)
(достаточное условие), Н – матрица Гессе
(4)
Если в точке градиент функции и определитель матрицы Гессе >0 (матрица Гессе положительно определена), то является точкой экстремума функции.
На практике воспользоваться необходимым и достаточным уловием экстремума функции для обучения нейронной сети невозможно, хотя бы из-за невозможности явного выражения производных. Задача минимизации функции (2) может быть решена численно, например, методом градиентного спуска.
Свойства градиента функции: направление, в котором скорость возрастания функции максимальна совпадает с направлением вектора-градиента функции.
Алгоритм решения задачи (2) состоит в изменении параметров функции
,
(5)
где - модуль вектора-градиента. , |s | = 1 – вектор, определяющий направление, - параметр, определяющий длину шага.
Подготовка учебных и тестовых образцов
Данные для обучения сети должны характеризовать всё пространство, определяемое интервалами изменения параметров. Данные должны быть масштабированы, чтобы попасть в область действия сети. Если , а , то первый признак будет доминировать над вторым. Формула позволяет привести к интервалу [0;1]. Но сигмоидальные функции очень плохо ведут себя в точках близких к 0 или 1, поэтому эти точки лучше исключить:
(6)
Тогда .
Пример
Для х=2
Для х=20
Для х=5
Замечание. При подготовке учебных образцов следует избегать излишних параметров.
Тема №2. Алгоритм обратного распространения ошибки.
выдать
Использует идею метода градиентного спуска. Необходимо иметь значения производных функции ошибки по весовым коэффициентам. Для данного учебного образца ошибку сети определяют по формуле:
(7)
s – номер образца. Полная ошибка
Найдём производную функции ошибки ε по коэффициенту
(8)
Здесь ; ; , так как .
Подставляя эти значения в (8):
,
(9)
где - ошибка элемента:
;
(10)
Для элементов выходного слоя ошибка вычисляется непосредственно по формуле (10), а по её значению производная.
Если это скрытый элемент, то его ошибка может быть определена лишь по значениям ошибок элементов следующего слоя, которые связаны с этим элементом.
.
(11)
К - количество элементов в слое, следующим за j-м.
После того, как определены ошибки элементов, производится корректировка весов, по формуле аналогичной (5):
(12)
Использование формулы (12) может привести к тому, что минимум функции (2) будет локальным и необходимая точность сети достигнута не будет. Для преодоления возможного локального минимума следует в (12) ввести так называемый инерционный коэффициент α:
(13)
Схема алгоритма
0,217
W21= 0,209
0,310
δ12=w210 * δ13=0,066*0,2*0,542*(1-0,542)=0,003
δ22=w220 * δ13=0,066*0,2*0,589*(1-0,589)=0,005
w111= w110+λ*δ1*x1=0,1+0,25*0,003*1,0=0,10075
w211= w210 + λ*δ1*x2=-0,2+0,25*0,003*0,1=-0,199925
w311= w310 + λ*δ1*x3=0,1+0,25*0,003*0,9=0,100675
w121= w120 + λ*δ2*x1=0,1+0,25*0,005*1,0=0,10125
w221= w220 + λ*δ2*x2=-0,1+0,25*0,005*0,1=-0,099875
w321= w320 + λ*δ2*x3=0,3+0,25*0,005*0,9=0,301125
0,10075 0,10125
W11=-0,199925 -0,099875
0,100675 0,301125
Обучение с учителем. Обучающая и тестовая выборка
Преимущества и ограничения обучения методом
обратного распространения (Хайкин)
Алгоритм обратного распространения является самым популярным среди алгоритмов обучения многослойного персептрона с учителем. По существу он представляет собой градиентный метод, а не метод оптимизации. Процедура обратного распространения обладает двумя основными свойствами.
• Во-первых, ее легко просчитать локально.
• Во-вторых, она реализует стохастический градиентный спуск в пространстве весов (при котором синаптические веса обновляются для каждого примера). Эти два свойства обучения методом обратного распространения в контексте многослойного персептрона и определяют его преимущества и ограничения.
Обучение с учителем
Рассмотрим парадигмы обучения нейронных сетей. Начнем с парадигмы обучения с учителем (supervisedlearning). Концептуально участие учителя можно рассматривать как наличие знаний об окружающей среде, представленных в виде пар вход-выход. При этом сама среда неизвестна обучаемой нейронной сети. Параметры сети корректируются с учетом обучающего вектора и сигнала ошибки. Сигнал ошибки (errorsignal) — это разность между желаемым сигналом и текущим откликом нейронной сети. Корректировка параметров выполняется пошагово с целью имитации (emulation) нейронной сетью поведения учителя. Эта эмуляция в некотором статистическом смысле должна быть оптимальной. Таким образом, в процессе обучения знания учителя передаются в сеть в максимально полном объеме. После окончания обучения учителя можно отключить и позволить нейронной сети работать со средой самостоятельно. Описанная форма обучения с учителем является ничем иным, как обучением на основе коррекции ошибок. Это замкнутая система с обратной связью, которая не включает в себя окружающую среду. Производительность такой системы можно оценивать в терминах среднеквадратической ошибки или суммы квадратов ошибок на обучающей выборке, представленной в виде функции от свободных параметров системы. Для такой функции можно построить многомерную поверхность ошибки (errorsurface) в координатах свободных параметров. При этом реальная поверхность ошибки усредняется (averaged) по всем возможным примерам, представленным в виде пар "вход-выход". Любое конкретное действие системы с учителем представляется одной точкой на поверхности ошибок. Для повышения производительности системы во времени значение ошибки должно смещаться в сторонуминимума на поверхности ошибок. Этот минимум может быть как локальным, так и глобальным. Это можно сделать, если система обладает полезной информацией о градиенте поверхности ошибок, соответствующем текущему поведению системы. Градиент поверхности ошибок в любой точке — это вектор, определяющий направление наискорейшего спуска по этой поверхности. В случае обучения с учителем на
примерах вычисляется моментальная оценка (instantaneous estimate) вектора градиента, в которой входной вектор считается функцией времени. При использовании результатов такой оценки перемещение точки по поверхности ошибок обычно имеет вид "случайного блуждания". Тем не менее при использовании соответствующего алгоритма минимизации функции стоимости, адекватном наборе обучающих примеров в форме "вход-выход" и достаточном времени для обучения системы обучения с учителем способны решать такие задачи, как классификация образов и аппроксимация функций.
Обучение без учителя
Описанный выше процесс обучения происходит под управлением учителя.
Альтернативная парадигма обучения без учителя (learning without a teacher) самим названием подчеркивает отсутствие руководителя, контролирующего процесс настройки весовых коэффициентов. При использовании такого подхода не существует маркированных примеров, по которым проводится обучение сети. В этой альтернативной парадигме можно выделить два метода.
Подготовка данных для обучения НС. Кросс-проверки
Эвристические рекомендации по улучшению
работы алгоритма обратного распространения(Хайкин)
Часто утверждают, что проектирование нейронных сетей, использующих алгоритм обратного распространения, является скорее искусством, чем наукой. При этом имеют в виду тот факт, что многочисленные параметры этого процесса определяются только на основе личного практического опыта разработчика. В этом утверждении есть доля правды. Тем не менее приведем некоторые общие методы, улучшающие производительность алгоритма обратного распространения.
1. Режим: последовательный или пакетный (sequential versus batch update). Как уже говорилось ранее, последовательный режим обучения методом обратного распространения (использующий последовательное предоставление примеров эпохи с обновлением весов на каждом шаге) в вычислительном смысле оказывается значительно быстрее. Это особенно сказывается тогда, когда обучающее множество является большим и в высокой степени избыточным. (Избыточные данные вызывают вычислительные проблемы при оценке Якобиана, необходимой для пакетного режима.)
2. Максимизация информативности (maximizing information content). Как правило, каждый обучающий пример, предоставляемый алгоритму обратного распространения, нужно выбирать из соображений наибольшей информационной насыщенности в области решаемой задачи [617]. Для этого существуют два общих метода.
•Использование примеров, вызывающих наибольшие ошибки обучения.
• Использование примеров, которые радикально отличаются от ранее
использованных. Эти два эвристических правила мотивированы желанием максимально расширить область поиска в пространстве весов.
В задачах классификации, основанных на последовательном обучении методом обратного распространения, обычно применяется метод случайного изменения порядка следования примеров, подаваемых на вход многослойного персептрона, от одной эпохи к другой. В идеале такая рандомизация приводит к тому, что успешно обрабатываемые примеры будут принадлежать к различным классам. Более утонченным приемом является схема акцентирования (emphasizing scheme), согласно которой более сложные примеры подаются в систему чаще, чем более легкие [617]. Простота или сложность отдельных примеров выявляется с помощью анализа динамики ошибок (в разрезе итераций), генерируемых системой при обработке обучающих примеров. Однако использование схемы акцентирования приводит к двум проблемам, которые следует учесть.
• Распределение примеров в эпохе, представляемой сети, искажается.
• Наличие исключений или немаркированных примеров может привести к катастрофическим последствиям с точки зрения эффективности алгоритма. Обучение на таких исключениях подвергает риску способность сети к обобщению в наиболее правдоподобных областях пространства входных сигналов.
3. Функция активации (activation function). Многослойный персептрон, обучаемый по алгоритму обратного распространения, может в принципе обучаться быстрее (в терминах требуемого для обучения количества итераций), если сигмоидальная функция активации нейронов сети является антисимметричной, а не симметричной. Функция активации ф(г>) называется антисимметричной (т.е. четной функцией своего аргумента), если
что показано на рис. 4.10, а. Стандартная логистическая функция не удовлетворяет этому условию (рис. 4.10, б).
Известным примером антисимметричной функции активации является сигмоидальная нелинейная функция гиперболического тангенса (hyperbolic tangent)
Пример
Х1 (500,1500) – температура стальной выплавки (град С);
Х2 (50,150)– размер заготовки (мм)
Х3 (0,5; 3,5) – прогиб (мм)
Все ИД д.б. приведены к интервалу [0; 1]: лучше в [0,1; 0,9]
а=0,2 b=0,8
Чтобы ускорить процесс обучения методом обратного распространения, входные векторы необходимо нормировать в двух следующих аспектах.
• Входные переменные, содержащиеся в обучающем множестве, должны быть
некоррелированны (uncorrelated). Этого можно добиться с помощью анализа
главных компонентов, который детально описывается в главе 8.
• Некоррелированные входные переменные должны быть масштабированы так,
чтобы их ковариация была приближенно равной (approximately equal). Тогда
различные синаптические веса сети будут обучаться приблизительно с одной
скоростью. На рис. 4.11 показан результат трех шагов нормировки: смещения среднего, декорреляции и выравнивания ковариации, примененных в указанном порядке.
6. Инициализация (initialization). Хороший выбор начальных значений синаптических весов и пороговых значений (threshold) сети может оказать неоценимую помощь в проектировании. Естественно, возникает вопрос: "А что такое хорошо?" Если синаптические веса принимают большие начальные значения, то нейроны, скорее всего, достигнут режима насыщения. Если такое случится, то локальные градиенты алгоритма обратного распространения будут принимать малые значения, что, в свою очередь, вызовет торможение процесса обучения. Если же синап- тическим весам присвоить малые начальные значения, алгоритм будет очень вяло работать в окрестности начала координат поверхности ошибок. В частности, это верно для случая антисимметричной функции активации, такой как гиперболический тангенс. К сожалению, начало координат является седловой точкой (saddle point), т.е. стационарной точкой, где образующие поверхности ошибок вдоль одной оси имеют положительный градиент, а вдоль другой — отрицательный. По этим причинам нет смысла использовать как слишком большие, так и слишком маленькие начальные значения синаптических весов. Как всегда, золотая середина находится между этими крайностями. Для примера рассмотрим многослойный персептрон, в котором в качестве функции активации используется гиперболический тангенс. Пусть пороговое значение, применяемое к нейронам сети, равно нулю. Исходя из этого, индуцированное локальное поле нейрона j можно выразить следующим образом:
8. Скорость обучения (learning rates). Все нейроны многослойного персептрона в идеале должны обучаться с одинаковой скоростью. Однако последние слои
обычно имеют более высокие значения локальных градиентов, чем начальные слои сети. Исходя из этого параметру скорости обучения Т| следует назначать
меньшие значения для последних слоев сети и большие — для первых. Чтобы время обучения для всех нейронов сети было примерно одинаковым, нейроны с
большим числом входов должны иметь меньшее значение параметра обучения, чем нейроны с малым количеством входов. В [617] предлагается назначать параметр скорости обучения для каждого нейрона обратно пропорционально квадратному корню из суммы его синаптических связей.
Кросс-проверки
Проблема многослойного персептрона с одним скрытым слоем состоит в том, что нейроны могут взаимодействовать друг с другом на глобальном уровне. В сложных задачах такое взаимодействие усложняет задачу повышения качества аппроксимации в одной точке без явного ухудшения в другой. С другой стороны, при наличии двух скрытых слоев процесс аппроксимации становится более управляемым. В частности, можно утверждать следующее [190], [329].
1. Локальные признаки (local feature) извлекаются в первом скрытом слое, т.е.
некоторые скрытые нейроны первого слоя можно использовать для разделения входного пространства на отдельные области, а остальные нейроны слоя обучать локальным признакам, характеризующим эти области.
2. Глобальные признаки (global feature) извлекаются во втором скрытом слое. В
частности, нейрон второго скрытого слоя "обобщает" выходные сигналы нейронов первого скрытого слоя, относящихся к конкретной области входного пространства. Таким образом он обучается глобальным признакам этой области, а в остальных областях его выходной сигнал равен нулю.
Перекрестная проверка
Сущность обучения методом обратного распространения заключается в
кодировании отображения входа на выход (представленного множеством маркированных примеров) в синаптических весах и пороговых значениях многослойного персептрона. Предполагается, что на примерах из прошлого сеть будет обучена настолько хорошо, что сможет обобщить их на будущее. С такой точки зрения процесс обучения обеспечивает настройку параметров сети для заданного множества данных. Более того, проблему настройки сети можно рассматривать как задачу выбора наилучшей модели из множества структур-"кандидатов" с учетом определенного критерия.
Основой для решения такой задачи может стать стандартный статистический подход, получивший название перекрестной проверки (cross-validation). В рамках этого подхода имеющиеся в наличии данные сначала случайным образом разбиваются на обучающее множество (training set) и тестовое множество (test set).
Обучающее множество, в свою очередь, разбивается на два следующих несвязанных подмножества.
• Подмножество для оценивания (estimation subset), используемое для выбора модели.
• Проверочное подмножество (validation subset), используемое для тестирования модели.
Идея этого подхода состоит в проверке качества модели на данных, отличных от использованных для параметрического оценивания. Таким образом, обучающее множество можно использовать для проверки эффективности различных моделей- "кандидатов", из которых необходимо выбрать лучшую. Однако существует некоторая вероятность того, что отобранная по параметрам эффективности модель окажется излишне переученной (overfitted) на проверочном подмножестве. Чтобы предотвратить
такую опасность, эффективность обобщения выбранной модели измеряется также на тестовом множестве, которое отличается от проверочного.
Перекрестные проверки особенно привлекательны, если требуется создать большую нейросеть, обладающую хорошей способностью к обобщению.
РАЗДЕЛ №3. МОДЕЛИРОВАНИЕ ПАМЯТИ НЕЙРОННОЙ СЕТИ
План
1. Понятие памяти способы построения матриц памяти.
2. Моделирование памяти НС. Извлечение из памяти. Моделирование автоассоциативной и гетероассоциативной памяти.
3. Моделирование памяти НС. Дискретная сеть Хопфилда и двунаправленная сеть (BAM).
Тема №1. Понятие памяти способы построения матриц памяти
Понятие памяти (Хайкин)
Обсуждение задач обучения, особенно задачи ассоциативной памяти, заставляет задуматься о самой памяти (memory). В контексте нейробиологии под памятью понимается относительно продолжительная во времени модификация структуры нейронов, вызванная взаимодействием организма с внешней средой [1051] (например, отключением синаптических входов от щупалец дендритов или переключением с одного щупальца на другое, см. рис. 1.2, стр. 40). Без такой деформации память не существует. Чтобы память была полезной, она должна быть доступной для нервной системы. Только тогда она может влиять на будущее поведение организма. Однако для этого в памяти предварительно должны быть накоплены определенные модели поведения. Это накопление осуществляется с помощью процесса обучения (learning process). Память и обучение тесно взаимосвязаны. При изучении некоторого образа он сохраняется в структуре мозга, откуда может быть впоследствии извлечен в
случае необходимости. Формально память можно разделить на кратковременную и долговременную, в зависимости от сроков возможного хранения информации [66].
Кратковременная память является отображением текущего состояния окружающей среды. Каждое "новое" состояние среды, отличное от образа, содержащегося в кратковременной памяти, приводит к обновлению данных в памяти. С другой стороны, в долговременной памяти хранятся знания, предназначенные для продолжительного (или даже постоянного) использования. В этом разделе рассматриваются вопросы ассоциативной памяти, которая характеризуется следующими особенностями.
• Эта память является распределенной.
• Стимулы (ключи) и отклики (хранимые образы) ассоциативной памяти представляют собой векторы данных.
• Информация запоминается с помощью формирования пространственных образов нейросетевой активности на большом количестве нейронов.
• Информация, содержащаяся в стимуле, определяет не только место ее запоминания, но и адрес для ее извлечения.
• Несмотря на то что нейроны не являются надежными вычислительными элементами и работают в условиях шума, память обладает высокой устойчивостью к помехам и искажению данных.
• Между отдельными образами, хранимыми в памяти, могут существовать внутренние взаимосвязи. (В противном случае размер памяти должен быть невероятно велик, чтобы вместить все отдельные изолированные образы.) Отсюда и проистекает вероятность ошибок при извлечении информации из памяти.
В распределенной памяти (distributed memory) главный интерес представляет одновременное или почти параллельное функционирование множества различных нейронов при обработке внутренних или внешних стимулов. Нейррнная активность формирует в памяти пространственные образы, содержащие информацию о стимулах.
Таким образом, память выполняет распределенное отображение образов в
пространстве входных сигналов в другие образы выходного пространства. Некоторые важные свойства отображения распределенной памяти можно проиллюстрировать на примере идеализированной нейросети, состоящей из двух слоев нейронов. На рис. 2.17, а показана сеть, которую можно рассматривать как модельный компонент нервной системы (modelcomponentofnervoussystem) [210], [953]. Все нейроны входного слоя соединены со всеми нейронами выходного. В реальных системах синаптические связи между
нейронами являются сложными и избыточными. В модели, показанной на рис. 2.17, а, для представления общего результата от всех синаптических контактов между денд- ритами нейронов входного слоя и ответвлениями аксонов нейронов выходного слоя использовались идеальные соединения. Уровень активности нейрона входного слоя может оказывать влияние на степень активности любого нейрона выходного слоя.
Аналогичная ситуация для искусственной нейронной сети показана на рис. 2.17, б. В данном случае уз™ источника из входного слоя и нейроны выходного слоя работают как вычислительные элементы. Синаптические веса интегрированы в нейроны выходного слоя. Связи между двумя слоями сети представляют собой простые "проволочные" соединения.
Тема №2. Моделирование памяти НС. Извлечение из памяти. Моделирование автоассоциативной и гетероассоциативной памяти
(утоптать)
В нижеследующих математических выкладках нейронные сети, изображенные на рис. 2.17, считаются линейными. В результате этого предположения все нейроны рассматриваются как линейные сумматоры, что и показано на графе передачи сигнала (рис. 2.18). Для дальнейшего анализа предположим, что во входной слой передается образ xfc, при этом в выходном слое возникает образ ук. Рассмотрим вопрос обуче-ния на основе ассоциации между образами xfc и уц.. Образы хк и ук представлены векторами, развернутая форма которых имеет следующий вид:
Пример.
х1=[1; 0; 0; 0]т y1=[5; 1; 0]т
х2=[0; 1; 0; 0]т y2=[-2; 1; 6]т
х3=[0; 0; 1; 0]т y3=[-2; 4; 3]т
х4=[0; 0; 0; 1]т y4=[4;1; -3]т
1. Построить матрицу памяти
2. Показать, что память обладает совершенной ассоциативностью
3. Вічислить отклик для зашумленного ключа х1:
Вычислить отклик и сравнить его с ожидаемым у1.
P.S. Есть на листочках решенный пример
Моделирование свойств адаптации
Резюме и обсуждение(убрать лишнее)
В этой главе мы обсудили некоторые важные вопросы, затрагивающие различные аспекты процесса обучения в контексте нейронных сетей. Таким образом, были заложены основы для понимания материала оставшейся части книги. При создании нейронных сетей используются пять правил обучения: обучение на основе коррекции ошибок (error-correctionlearning), обучение на основе памяти (memory-basedlearning), обучение Хебба (Hebb'slearning), конкурентное обучение (competitivelearning) и обучение Больцмана (Boltzmann learning). Некоторые из этих алгоритмов требуют наличия учителя, а некоторые — нет. Важно то, что эти правила позволяют значительно продвинуться за рамки линейных адаптивных фильтров, как в смысле расширения возможностей, так и в смысле повышения универсальности.
При исследовании методов обучения с учителем ключевым является понятие "учителя", призванного вносить уточняющие коррективы в выходной сигнал нейронной сети при возникновении ошибок (в обучении на основе коррекции ошибок) или "загонять" свободные входные и выходные элементы сети в рамки среды (при обучении Больцмана). Ни одна из этих моделей принципиально не применима к биологическим организмам, которые не содержат двусторонних нервных соединений, так необходимых для обратного распространения сигналов при коррекции ошибок (в многослойных сетях), а также не поддерживают механизма корректировки поведения извне.
Тем не менее обучение с учителем утвердилось в качестве мощной парадигмы обучения искусственных нейронных сетей. В этом можно убедиться при ознакомлении с главами 3-7 настоящей книги.
В отличие от метода обратного распространения правила обучения без учителя на основе самоорганизации (такие как правило Хебба или конкурентное обучение) основаны на принципах нейробиологии. Однако для более четкого понимания этого типа обучения необходимо ознакомиться с основами теории информации Шеннона.
При этом нельзя обойти вниманием принцип полного количества информации (mutu&l information principle) или Инфомакса (Infomax) [653], [654], который обеспечивает математический формализм обработки информации в самоорганизующихся нейронных сетях по аналогии с передачей информации по каналам связи. Принцип Инфомакса и его вариации подробно изложены в главе 10.
Обсуждение методов обучения было бы не полным, если бы мы не
остановились на модели селективного обучения Дарвина (Darwinian selective learning model) [275], [876]. Отбор (selection) является важным биологическим принципом, который применяется в теории эволюции и развития. Он лежит в основе работы иммунной системы [276] — наиболее понятной биологической системы распознавания. Модель селективного обучения Дарвина основана на теории отбора групп нейронов (theory of neural group selection). В ней предполагается, что нервная система работает по принципу естественного отбора, с тем отличием от эволюционного процесса, что все действие разворачивается в мозге и только на протяжении жизни организма.
Согласно этой теории, основной операционной единицей нервной системы является отнюдь не отдельный нейрон, а локальная группа жестко связанных клеток. Принадлежность отдельных нейронов к различным группам определяется изменениями синаптических весов. Локальная конкуренция и кооперация клеток обеспечивают локальный порядок сети. Коллекция групп нейронов называется полем или репертуаром (repertoire).
Ввиду случайной природы развития нейронной сети группы одного поля хорошо подходят для описания перекрывающихся, но подобных входных образов. За каждый входной образ отвечает одна или несколько групп некоторого поля. Тем самым обеспечивается отклик на неизвестные входные образы, который может оказаться очень важным. Селективное обучение Дарвина отличается от всех других алгоритмов, обычно используемых в нейронных сетях, поскольку в структуре нейронной сети предполагается наличие множества подсетей, из которых в процессе обучения отбираются только те, выходной сигнал которых ближе всего к ожидаемому отклику.
Это обсуждение можно завершить несколькими замечаниями, касающимися
статистического и вероятностного аспектов обучения. VC-измерение зарекомендовало себя как основной параметр теории статистического обучения. На нем основаны принцип минимизации структурного риска и вероятностно-корректная в смысле аппроксимации модель обучения (РАС). VC-измерение является составной частью теории так называемых машин опорных векторов, которые рассматриваются в главе 6.
По мере ознакомления с материалом настоящей книги читателю еще не раз придется возвращаться к настоящей главе, посвященной основам процессов обучения.
Тема №3. Моделирование памяти НС. Дискретная сеть Хопфилда и двунаправленная сеть (BAM)(Каллан)
Решение в листочках:
→
→
Пример.
х1=[1; 0; 0; 0]т y1=[5; 1; 0]т
х2=[0; 1; 0; 0]т y2=[-2; 1; 6]т
х3=[0; 0; 1; 0]т y3=[-2; 4; 3]т
х4=[0; 0; 0; 1]т y4=[4;1; -3]т
4. Построить матрицу памяти
5. Показать, что память обладает совершенной ассоциативностью
6. Вічислить отклик для зашумленного ключа х1:
Вычислить отклик и сравнить его с ожидаемым у1.
P.S. Есть на листочках решенный пример