Скачиваний:
35
Добавлен:
02.04.2015
Размер:
216.06 Кб
Скачать

5. Нейронные сети

5.1. Естественные и искусственные нейроны

Рассмотренные в предыдущих разделах подходы к решению задач ИИ базируются на гипотезе о физической символьной системе, т.е. используют явные представления знаний об окружающем мире и детально разработанные алгоритмы поиска в пространстве состояний. Другая точка зрения на проблему создания систем, обладающих ИИ, состоит в том, что их построение должно опираться на изучение механизмов естественного мышления и анализ данных о способах формирования разумного поведения человека, причем это построение должно осуществляться, прежде всего, как воспроизведение техническими средствами принципов и конкретных особенностей функционирования биологических объектов. Развитие этого направления базируется на математической интерпретации деятельности нервной системы во главе с мозгом человека, и реализуются в виде нейронных сетей на базе нейроподобного элемента – аналога нейрона.

Мозг является, пожалуй, самой сложной из известных на сегодняшний день систем переработки информации. Достаточно сказать, что в нем содержится около 100 миллиардов нейронов, каждый из которых имеет в среднем 10 000 связей. При этом мозг чрезвычайно надежен – ежедневно погибает большое количество нейронов, а мозг продолжает функционировать. Обработка огромных объемов информации осуществляется мозгом очень быстро, за доли секунды, несмотря на то, что нейрон является медленнодействующим элементом со временем реакции не менее нескольких миллисекунд.

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

Нервные клетки, или нейроны, представляют собой особый вид клеток в живых организмах, обладающих электрической активностью, основное назначение которых заключается в оперативном управлении организмом. Как показано на рис.15 нейрон имеет тело (сому), дерево входов (дендриты) и выходов (аксон и его окончания). Сома, как правило, имеет поперечный размер в несколько десятков микрон. Длина дендритов может достигать 1 мм, дендриты сильно ветвятся, пронизывая сравнительно большое пространство в окрестности нейрона. Длина аксона может достигать сотен миллиметров. На соме и на дендритах располагаются окончания аксонов, идущих от других нервных клеток, причем каждое такое окончание имеет вид утолщения, называемого синаптической бляшкой, или синапсом. Поперечные размеры синапса, как правило, не превышают нескольких микрон, чаще всего эти размеры составляют около 1 мкм.

Рис.15 – Схема биологического нейрона

Входные сигналы дендритного дерева взвешиваются и суммируются в соме, причем если результат не превышает некоторого порога, то выходной сигнал не формируется вовсе – нейрон «не срабатывает». Выходной сигнал проходит по ветвям аксона и достигает синапсов, которые соединяют аксоны с дендритными деревьями других нейронов. Через синапсы сигнал трансформируется в новый входной сигнал для смежных нейронов. Этот входной сигнал может быть положительным и отрицательным, т.е. возбуждающим или тормозящим в зависимости от вида синапсов. Величина входного сигнала, генерируемого синапсом, может быть различной даже при одинаковой величине сигнала, приходящего в синапс. Эти различия определяются эффективностью или весом синапса, причем синаптический вес может изменяться в процессе функционирования синапса. Многие ученые считают такое изменение нейрофизиологическим коррелятом, т.е. следом памяти. В таком случае роль механизмов молекулярной памяти заключается в долговременном закреплении этих следов.

Нейроны можно разбить на три большие группы: рецепторные, промежуточные и эффекторные. Рецепторные нейроны обеспечивают ввод в мозг сенсорной информации. Они трансформируют сигналы, поступающие на органы чувств (оптические сигналы в сетчатке глаза, акустические в ушной улитке или обонятельные в хеморецепторах носа), в последовательность электрических импульсов своих аксонов. Эффекторные нейроны передают приходящие на них сигналы исполнительным органам. На конце их аксонов имеются специальные синаптические соединения с исполнительными органами, например мышцами, где возбуждение нейронов трансформируется в сокращения мышц. Промежуточные нейроны осуществляют обработку информации, получаемой от рецепторов, и формируют управляющие сигналы для эффекторов. Именно они образуют центральную нервную систему.

В основу искусственных нейронных сетей положены следующие свойства естественных нейронных сетей:

  • простой обрабатывающий элемент – нейрон;

  • очень большое число нейронов участвует в обработке информации;

  • один нейрон связан с большим числом других нейронов;

  • изменяющиеся по весу связи между нейронами;

  • параллельность обработки информации.

На каждый включенный в нейронную сеть искусственный нейрон, схема которого приведена на рис.16, поступает вектор входных сигналов x=(x1, …, хn), представляющий собой выходные сигналы других нейронов сети, которые соответствует сигналам, поступающим в синапсы биологических нейронов. Каждый входной сигнал умножается на соответствующий элемент вектора весовых коэффициентов w=(w1, …, wn). Взвешенные весовыми коэффициентами входные сигналы поступают на блок суммирования, соответствующий телу клетки, где их суммирование и определяет уровень возбуждения нейрона s: или в векторной форме: s=wxT. Отметим, что являющийся аналогом эффективности синапса весовой коэффициент имеет положительное значение для возбуждающих и отрицательное значение для тормозящих связей.

Рис.16 – Схема искусственного нейрона

Выходной сигнал нейрона у определяется путем пропускания уровня возбуждения s через нелинейную функцию f: y=f(sθ), где θ – некоторое постоянное смещение, являющееся аналогом порога биологического нейрона. Обычно в качестве функции f используются простейшие нелинейные функции, графики которых приведены на рис.17:

  • бинарная ;

  • сигмоидальная .

бинарная сигмоидальная при = 0

Рис.17 – Функции возбуждения нейронов

Поведение искусственного нейрона в сети зависит как от значения весовых параметров, так и от функции возбуждения. Нейроны с сигмоидальным возбуждением имеют больше сходства с реальными нейронами, чем нейроны с пороговым возбуждением, но любой из этих типов можно рассматривать лишь как приближение к биологическому нейрону.

5.2. Топология нейронных сетей

Нейронная сеть представляет собой совокупность большого числа нейронов, топология соединения которых зависит от типа сети. Чтобы создать нейронную сеть для решения какой-либо конкретной задачи, необходимо выбрать способ соединения нейронов друг с другом, и соответствующим образом подобрать значения весовых параметров на этих связях, причем возможность влияния одного нейрона на другой определяется установленными соединениями, а степень влияния определяет вес соединения.

В искусственной нейронной сети пренебрегают многими известными характеристиками биологического прототипа, которые некоторые исследователи считают критическими. Например, в ней не учитывается пространственно-временная нелинейность суммирования, которая особенно проявляется для сигналов, приходящих по возбуждающим и тормозящим синапсам, различного рода временные задержки, эффекты синхронизации и частотной модуляции и т. п. Несмотря на это нейронные сети, простроенные на основе таких простых элементов, демонстрируют ассоциативные свойства, напоминающие свойства биологических систем.

Теоретические основы нейронных сетей были заложены в начале 40-х годов, когда У. Мак-Каллок и У. Питтс сформулировали основные положения теории деятельности головного мозга. Ими была разработана модель нейрона как простейшего процессорного элемента, выполняющего вычисление переходной функции от скалярного произведения вектора входных сигналов и вектора весовых коэффициентов, предложена конструкция сети таких нейронов для выполнения логических и арифметических операций и сделано основополагающее предположение о том, что такая сеть способна обучаться, распознавать образы, обобщать полученную информацию.

В модели МакКаллока – Питтса нейроны имеют два состояния – 0 или 1 и бинарную функцию перехода. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. На рис.18 представлены одиночные нейроны с тремя входами и соответствующими весовыми коэффициентами для вычисления логических функций И и ИЛИ. Пороговое значение – 0, т.е. нейрон «не срабатывает», если уровень возбуждения меньше нуля.

Рис.18 – Вычисление логических функций с помощью нейронов

Основной недостаток модели МакКаллока – Питтса состоит в том, что бинарная функция перехода не предоставляет нейронной сети достаточную гибкость при обучении и настройке на заданную задачу. Если значение вычисленного скалярного произведения даже незначительно не достигает до заданного порога, то выходной сигнал не формируется вовсе, т.е. нейрон «не срабатывает». В результате теряется интенсивность выходного сигнала данного нейрона и, следовательно, формируется невысокое значение уровня на взвешенных входах в следующем слое нейронов.

Дальнейшее развитие теория нейронных сетей получила в 1958 году благодаря Френсису Розенблату, добавившему в модель МакКаллока – Питтса способность связей к модификации, что сделало нейронную сеть обучаемой. Эта модель была названа персептроном. Первоначально персептрон представлял собой однослойную структуру с жесткой пороговой функцией и бинарными или многозначными входами. Персептрон применялся для решения задачи автоматической классификации образов, которая в общем случае состоит в разделении пространства признаков между заданным количеством классов. Значения признаков распознаваемого образа подаются на входы персептрона, а значения выходов обученного персептрона должны соответствовать классу, к которому относится распознаваемый образ. Первые персептроны были способны распознавать некоторые буквы латинского алфавита. Пример однослойной сети с m входами и тремя выходами, позволяющей распознавать соответственно три класса образов, приведен на рис.19.

В процессе обучения персептрону последовательно предъявляются образы из обучающего множества, каждый из которых представляет собой вектор активностей входных сигналов X, вместе с желаемым вектором активностей выходных сигналов сети Y. Обучение заключается в таком изменении весовых коэффициентов wij, которое приводит в итоге к максимуму правильного распознавания. Если после предъявления очередного образа из обучающего множества выходы системы срабатывают правильно, то весовые коэффициенты связей не изменяются, а если неправильно, то весовым коэффициентам дается небольшое приращение в сторону улучшения распознавания. В результате такой процедуры, относящейся к классу методов обучения с учителем, получаются значения весов, минимизирующие среднюю ошибку на всем обучающем множестве образов.

Рис.19 – Однослойная нейронная сеть

Серьезным недостатком персептрона является то, что не всегда существует такая комбинация весовых коэффициентов, при которой имеющееся множество образов будет распознаваться. Например, невозможно подобрать весовые коэффициенты персептрона для реализации логической функции «исключающего ИЛИ» (сложение по модулю два). Причина этого недостатка состоит в том, что однослойный персептрон реализует только линейную разделяющую поверхность в пространстве признаков. Однако лишь небольшое количество задач предполагает линейную разделимость пространства признаков. Выходом из этого положения является использование многослойного персептрона, способного строить ломаную границу между распознаваемыми образами, но в таком случае возникает проблема слабой формализации метода обучения персептрона. На рис. 18 представлен вариант двуслойной сети из трех нейронов, реализующей логическую операцию сложения по модулю два.

В 70-е годы интерес к нейронным сетям значительно упал, однако работы по их исследованию продолжались. Был предложен ряд интересных разработок, например, когнитрон, способный хорошо распознавать достаточно сложные образы независимо от поворота и изменения масштаба изображения. Автором когнитрона является японский ученый И. Фукушима.

Начало современному математическому моделированию многослойных нейронных сетей было положено в 1982 году работами Хопфилда, в которых была разработана математическая модель ассоциативной памяти на нейронной сети и введена функция вычислительной энергии нейронной сети. Показано, что для однослойной нейронной сети со связями типа «все на всех» характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии, содержащей в себе всю структуру взаимосвязей в сети. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций, т.к. веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи.

Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная и исследованная Джефери Е. Хинтоном и Р. Земелом. В ней, каждое состояние сети характеризуется определенным значением функции консенсуса, являющейся аналогом функции энергии. Максимум функции консенсуса и соответствует оптимальному решению задачи, однако, следует признать, что проблема представления функции энергии или консенсуса является не менее сложной, чем разработка эффективного алгоритма обучения многослойной нейронной сети.

В многослойных нейронных сетях связи между собой имеют только соседние слои, при этом каждый нейрон предыдущего слоя связан со всеми нейронами последующего слоя. Нейроны обычно имеют сигмоидальную функцию возбуждения. Первый слой нейронов называется входным и содержит число нейронов соответствующее двоичному представлению вектора признаков распознаваемых образов. Последний слой нейронов называется выходным и содержит столько нейронов, сколько классов образов распознается. Между входным и выходным слоями располагается один или более скрытых слоев. Определение числа скрытых слоев и числа нейронов в каждом слое для конкретной задачи производится эвристическими методами.

Предположим, что необходимо научить нейронную сеть распознавать рукописные цифры. Можно воспользоваться матрицей, из 256 сенсоров, каждый из которых регистрирует присутствие или отсутствие чернильного пятнышка в пределах маленькой площадки – фрагмента одной цифры. В таком случае для сети потребуется 256 входных нейронов, 10 выходных нейронов (по одному на каждую возможную цифру) и некоторое количество скрытых нейронов. Для каждой цифры, регистрируемой сенсорами, сеть должна генерировать высокую активность в соответствующем выходном нейроне и низкую в остальных выходных нейронах.

В процессе обучения системы, ей предъявляется изображение цифры и сравнивается действительная активность на 10 выходных нейронах с желаемой активностью, затем подсчитывается ошибка между действительным и желаемым выходом, после чего вес каждой связи изменяется так, чтобы уменьшить ошибку. Описанный цикл повторяется со многими различными написаниями каждой цифры до тех пор, пока сеть не научится правильно распознавать все возможные изображения.

Соседние файлы в папке СИИ пособие