Модель бионической нейронной сети и ее применения (The bionic neural network model and its applications Preprint, Inst. Appl

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

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

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

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

Рис. 5.7. Упрощенная структура биологического нейрона

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

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



Другими словами, каждый нейрон характеризуется внутренним состоянием и порогом возбудимости, а его входы делятся на возбуждающие и тормозящие. Поступивший на возбуждающий вход сигнал, повышает степень активности нейрона, а на тормозящий − наоборот, снижает ее. Если сумма сигналов на возбуждающих и тормозящих входах превышает порог возбудимости, то нейрон формирует выходной сигнал, поступающий на входы связанных с ним других нейронов, т.е. происходит распространение возбуждения (сигнала) по нейронной сети.

Кора головного мозга человека содержит около 10 11 нейронов и представляет собой протяженную поверхность толщиной 2−3 мм и площадью около 2200 см 2 . Каждый нейрон связан с 10 3 −10 4 другими нейронами. Таким образом, мозг человека в целом содержит приблизительно от 10 14 до 10 15 взаимосвязей.

Нейроны взаимодействуют короткими сериями импульсов продолжительностью, как правило, несколько миллисекунд. Сообщение передается посредством частотно-импульсной модуляции. Частота может изменяться от нескольких единиц до сотен герц, что в миллион раз медленнее, чем в быстродействующих электронных схемах. Тем не менее, сложные задачи распознавания человек решает всего за несколько сотен миллисекунд, что не доступно большинству современных ЭВМ. Процесс принятия решения контролируется сетью нейронов, затрачивающих на выполнение одной операции всего несколько миллисекунд. Единственным объяснением такого феномена стало предположение, что для решения таких сложных задач мозг «запускает» параллельные программы, каждая из которых содержит около 100 шагов. Явление получило название «массовый параллелизм». Основываясь на таком подходе, можно обнаружить, что количество информации, посылаемое от одного нейрона другому, должно быть очень малым (несколько бит). Из чего следует, что основная часть информации не передается непосредственно, а захватывается и распределяется в связях между нейронами .

Искусственный нейрон (далее просто – нейрон) представляет собой искусственную структуру, моделирующую свойства биологического нейрона. Одной из наиболее простых и общих моделей нервной клетки, является так называемая модель МакКаллока-Питса , представленная на рис. 5.8.

Рис. 5.8. Модель нейрона по МакКаллоку-Питсу

Математически модель нейрона можно записать следующим образом:

, (5.8)

где x ji − совокупностью сигналов на входе нейрона,

w i j − совокупностью весов входных сигналов,

s i − суммарный сигнал или функция состояния нейрона,

f i − функция активации нейрона,

y i − выходной сигнал нейрона,

N − количество входов нейрона.

Одной из первых искусственных нейронных сетей, является так называемый персептрон Розенблатта [< лат. perceptio получение, собирание]. Персептроном называют однослойную нейронную сеть, состоящую из нейронов с пороговой функцией активации .

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

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

Схема искусственного нейрона
1.Нейроны, выходные сигналы которых поступают на вход данному
2.Сумматор входных сигналов
3.Вычислитель передаточной функции
4.Нейроны, на входы которых подаётся выходной сигнал данного
5.w_i - веса входных сигналов

Иску́сственный нейро́н (математический нейрон Маккалока - Питтса , формальный нейрон Л. Г. Комарцова, А. В. Максимов «Нейрокомпьютеры», МГТУ им. Н. Э. Баумана, 2004 г., ISBN 5-7038-2554-7 ) - узел искусственной нейронной сети , являющийся упрощённой моделью естественного нейрона . Математически, искусственный нейрон обычно представляют как некоторую нелинейную функцию от единственного аргумента - линейной комбинации всех входных сигналов. Данную функцию называют функцией активации По аналогии с нейронами активации или функцией срабатывания , передаточной функцией . Полученный результат посылается на единственный выход. Такие искусственные нейроны объединяют в сети - соединяют выходы одних нейронов с входами других. Искусственные нейроны и сети являются основными элементами идеального нейрокомпьютера .Миркес Е. М. , Нейрокомпьютер. Проект стандарта. - Новосибирск: Наука, 1999. - 337 с. ISBN 5-02-031409-9

Биологический прототип

y=\exp(-\frac{(S-R)^2}{2\sigma^ 2}).

Здесь S = ||\mathbf{X}-\mathbf{C}|| - расстояние между центром \mathbf{C} и вектором входных сигналов \mathbf{X}. Скалярный параметр \sigma определяет скорость спадания функции при удалении вектора от центра и называется шириной окна , параметр R определяет сдвиг активационной функции по оси абсцисс. Сети с нейронами, использующими такие функции, называются RBF-сетями . В качестве расстояния между векторами могут быть использованы различные метрикиВ. В. Круглов, В. В. Борисов - Искусственные нейронные сети. Теория и практика - с.349, обычно используется евклидово расстояние:

S = \sqrt{ \sum_{j=1}^{N} { (x_j-c_j)^2 } }.

Здесь x_j - j-я компонента вектора, поданного на вход нейрона, а c_j - j-я компонента вектора, определяющего положение центра передаточной функции. Соответственно, сети с такими нейронами называются вероятностными и регрессионными В. В. Круглов, В. В. Борисов - Искусственные нейронные сети. Теория и практика - с.348.

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

См. также: {{#if: Сеть радиально-базисных функций | [[Сеть радиально-базисных функций{{#if: | Шаблон:! {{{l1}}} }}]] }} {{#if: Сеть радиально-базисных функций || Ошибка: . }}{{#if: | …Ошибка: . }}{{#if: | {{#if: Сеть радиально-базисных функций | {{#if: || . }} }} }}

Другие функции передачи

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

  • Экспонента f(x) = \exp (-Ax);
  • Модульная: f(x) = \left| x \right|;

Стохастический нейрон

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

f(u) = \begin{cases}1 & \text{с вероятностью} P(u) \\0 & \text{с вероятностью} 1-P(u)\end{cases},

где распределение вероятности P(u) обычно имеет вид сигмоида:

\sigma(u) = \frac {A(T)}{1+\exp (-u/T)},

a нормировочная константа A(T) вводится для условия нормализации распределения вероятности \int^1_0 \sigma(u) du = 1. Таким образом, нейрон активируется с вероятностью P(u). Параметр T - аналог температуры (но не температуры нейрона) и определяет беспорядок в нейронной сети. Если T устремить к 0, стохастический нейрон перейдет в обычный нейрон с передаточной функцией Хевисайда (пороговой функцией).

Моделирование формальных логических функций

Нейрон с пороговой передаточной функцией может моделировать различные логические функции. Изображения иллюстрируют, каким образом можно, задав веса входных сигналов и порог чувствительности, заставить нейрон выполнять конъюнкцию (логическое «И») и дизъюнкцию (логическое «ИЛИ») над входными сигналами, а также логическое отрицание входного сигнала. Этих трех операций достаточно, чтобы смоделировать абсолютно любую логическую функцию любого числа аргументов.

См. также

Примечания

Неизвестный тег расширения «references»

Литература

  • {{#if:Терехов В.А., Ефимов Д.В., Тюкин И.Ю.|{{#ifeq:{{#invoke:String|sub|Терехов В.А., Ефимов Д.В., Тюкин И.Ю.|-1}}| |Терехов В.А., Ефимов Д.В., Тюкин И.Ю.|{{#ifeq:{{#invoke:String|sub|Терехов В.А., Ефимов Д.В., Тюкин И.Ю.|-6|-2}}| |Терехов В.А., Ефимов Д.В., Тюкин И.Ю.|{{#ifeq:{{#invoke:String|sub|Терехов В.А., Ефимов Д.В., Тюкин И.Ю.|-6|-2}}|/span|Шаблон:±. |Шаблон:±. }}}}}} }}{{#if: |{{#if: |[{{{ссылка часть}}} {{{часть}}}]| {{{часть}}}}} // }}{{#if:|[[:s:{{{викитека}}}|Нейросетевые системы управления]]|{{#if: |Нейросетевые системы управления |{{#if:|[ Нейросетевые системы управления]|Нейросетевые системы управления}}}}}}{{#if:| = }}{{#if:| / {{{ответственный}}}.|{{#if:||.}}}}{{#if:Нейросетевые системы управления|{{#if:| {{#if:| = {{{оригинал2}}} }}{{#if:| / {{{ответственный2}}}.|{{#if:||.}}}}}}}}{{#if:1-е| - 1-е.}}{{#switch:{{#if:|м}}{{#if:Высшая школа |и}}{{#if:2002|г}}
|миг= - Шаблон:Указание места в библиоссылке : Высшая школа , 2002. |ми= - Шаблон:Указание места в библиоссылке : Высшая школа . |мг= - Шаблон:Указание места в библиоссылке , 2002. |иг= - Высшая школа , 2002. |м= - Шаблон:Указание места в библиоссылке |и= - Высшая школа . |г= - 2002.

}}{{#if:| - {{{том как есть}}}.}}{{#if:|{{#if: | [{{{ссылка том}}} - Т. {{{том}}}.]| - Т. {{{том}}}.}}}}{{#if:| - Vol. {{{volume}}}.}}{{#if:| - Bd. {{{band}}}.}}{{#if:| - {{{страницы как есть}}}.}}{{#if:184| - С. {{#if:| (стб. {{{столбцы}}}).|184.}}}}{{#if:| - {{{страниц как есть}}}.}}{{#if:| - {{{страниц}}} с.}}{{#if:| - P. {{#if:|[{{{pages}}}] (col. {{{columns}}}).|{{{pages}}}.}}}}{{#if:| - S. {{#if:|[{{{seite}}}] (Kol. {{{kolonnen}}}).|{{{seite}}}.}}}}{{#if:| - p.}}{{#if:| - S.}}{{#if:| - ({{{серия}}}).}}{{#if:| - {{{тираж}}} экз. }}{{#if:5-06-004094-1| - ISBN 5-06-004094-1 DOI :{{{doi}}} {{#ifeq:Шаблон:Str left |10.|| [Ошибка: Неверный DOI! ] {{#if:||}}}}}}

  • {{#if:Круглов В. В., Борисов В. В.|{{#ifeq:{{#invoke:String|sub|Круглов В. В., Борисов В. В.|-1}}| |Круглов В. В., Борисов В. В.|{{#ifeq:{{#invoke:String|sub|Круглов В. В., Борисов В. В.|-6|-2}}| |Круглов В. В., Борисов В. В.|{{#ifeq:{{#invoke:String|sub|Круглов В. В., Борисов В. В.|-6|-2}}|/span|Шаблон:±. |Шаблон:±. }}}}}} }}{{#if: |{{#if: |[{{{ссылка часть}}} {{{часть}}}]| {{{часть}}}}} // }}{{#if:|[[:s:{{{викитека}}}|Искусственные нейронные сети. Теория и практика]]|{{#if: |Искусственные нейронные сети. Теория и практика |{{#if:|[ Искусственные нейронные сети. Теория и практика]|Искусственные нейронные сети. Теория и практика}}}}}}{{#if:| = }}{{#if:| / {{{ответственный}}}.|{{#if:||.}}}}{{#if:Искусственные нейронные сети. Теория и практика|{{#if:| {{#if:| = {{{оригинал2}}} }}{{#if:| / {{{ответственный2}}}.|{{#if:||.}}}}}}}}{{#if:1-е| - 1-е.}}{{#switch:{{#if:М.|м}}{{#if:Горячая линия - Телеком|и}}{{#if:2001|г}}
|миг= - Шаблон:Указание места в библиоссылке : Горячая линия - Телеком, 2001. |ми= - Шаблон:Указание места в библиоссылке : Горячая линия - Телеком. |мг= - Шаблон:Указание места в библиоссылке , 2001. |иг= - Горячая линия - Телеком, 2001. |м= - Шаблон:Указание места в библиоссылке |и= - Горячая линия - Телеком. |г= - 2001.

}}{{#if:| - {{{том как есть}}}.}}{{#if:|{{#if: | [{{{ссылка том}}} - Т. {{{том}}}.]| - Т. {{{том}}}.}}}}{{#if:| - Vol. {{{volume}}}.}}{{#if:| - Bd. {{{band}}}.}}{{#if:| - {{{страницы как есть}}}.}}{{#if:382| - С. {{#if:| (стб. {{{столбцы}}}).|382.}}}}{{#if:| - {{{страниц как есть}}}.}}{{#if:| - {{{страниц}}} с.}}{{#if:| - P. {{#if:|[{{{pages}}}] (col. {{{columns}}}).|{{{pages}}}.}}}}{{#if:| - S. {{#if:|[{{{seite}}}] (Kol. {{{kolonnen}}}).|{{{seite}}}.}}}}{{#if:| - p.}}{{#if:| - S.}}{{#if:| - ({{{серия}}}).}}{{#if:| - {{{тираж}}} экз. }}{{#if:5-93517-031-0| - ISBN 5-93517-031-0 .}}{{#if:| - ISBN {{{isbn2}}}.}}{{#if:| - ISBN {{{isbn3}}}.}}{{#if:| - ISBN {{{isbn4}}}.}}{{#if:| - ISBN {{{isbn5}}}.}}{{#if:| - DOI :{{{doi}}} {{#ifeq:Шаблон:Str left |10.|| [Ошибка: Неверный DOI! ] {{#if:||}}}}}}

  • {{#if:Каллан Р.|{{#ifeq:{{#invoke:String|sub|Каллан Р.|-1}}| |Каллан Р.|{{#ifeq:{{#invoke:String|sub|Каллан Р.|-6|-2}}| |Каллан Р.|{{#ifeq:{{#invoke:String|sub|Каллан Р.|-6|-2}}|/span|Шаблон:±. |Шаблон:±. }}}}}} }}{{#if: |{{#if: |[{{{ссылка часть}}} {{{часть}}}]| {{{часть}}}}} // }}{{#if:|[[:s:{{{викитека}}}|Основные концепции нейронных сетей]]|{{#if: |Основные концепции нейронных сетей |{{#if:|[ Основные концепции нейронных сетей]|Основные концепции нейронных сетей}}}}}}{{#if:The Essence of Neural Networks First Edition| = The Essence of Neural Networks First Edition }}{{#if:| / {{{ответственный}}}.|{{#if:||.}}}}{{#if:Основные концепции нейронных сетей|{{#if:| {{#if:| = {{{оригинал2}}} }}{{#if:| / {{{ответственный2}}}.|{{#if:||.}}}}}}}}{{#if:1-е| - 1-е.}}{{#switch:{{#if:|м}}{{#if:«Вильямс» |и}}{{#if:2001|г}}
|миг= - Шаблон:Указание места в библиоссылке : «Вильямс» , 2001. |ми= - Шаблон:Указание места в библиоссылке : «Вильямс» . |мг= - Шаблон:Указание места в библиоссылке , 2001. |иг= - «Вильямс» , 2001. |м= - Шаблон:Указание места в библиоссылке |и= - «Вильямс» . |г= - 2001.

}}{{#if:| - {{{том как есть}}}.}}{{#if:|{{#if: | [{{{ссылка том}}} - Т. {{{том}}}.]| - Т. {{{том}}}.}}}}{{#if:| - Vol. {{{volume}}}.}}{{#if:| - Bd. {{{band}}}.}}{{#if:| - {{{страницы как есть}}}.}}{{#if:288| - С. {{#if:| (стб. {{{столбцы}}}).|288.}}}}{{#if:| - {{{страниц как есть}}}.}}{{#if:| - {{{страниц}}} с.}}{{#if:| - P. {{#if:|[{{{pages}}}] (col. {{{columns}}}).|{{{pages}}}.}}}}{{#if:| - S. {{#if:|[{{{seite}}}] (Kol. {{{kolonnen}}}).|{{{seite}}}.}}}}{{#if:| - p.}}{{#if:| - S.}}{{#if:| - ({{{серия}}}).}}{{#if:| - {{{тираж}}} экз. }}{{#if:5-8459-0210-X| - ISBN 5-8459-0210-X .}}{{#if:| - ISBN {{{isbn2}}}.}}{{#if:| - ISBN {{{isbn3}}}.}}{{#if:| - ISBN {{{isbn4}}}.}}{{#if:| - ISBN {{{isbn5}}}.}}{{#if:| - DOI :{{{doi}}} {{#ifeq:Шаблон:Str left |10.|| [Ошибка: Неверный DOI! ] {{#if:||}}}}}}

  • {{#if:Ясницкий Л. Н.|{{#ifeq:{{#invoke:String|sub|Ясницкий Л. Н.|-1}}| |Ясницкий Л. Н.|{{#ifeq:{{#invoke:String|sub|Ясницкий Л. Н.|-6|-2}}| |Ясницкий Л. Н.|{{#ifeq:{{#invoke:String|sub|Ясницкий Л. Н.|-6|-2}}|/span|Шаблон:±. |Шаблон:±. }}}}}} }}{{#if: |{{#if: |[{{{ссылка часть}}} {{{часть}}}]| {{{часть}}}}} // }}{{#if:|[[:s:{{{викитека}}}|Введение в искусственный интеллект]]|{{#if: |Введение в искусственный интеллект |{{#if:|[ Введение в искусственный интеллект]|Введение в искусственный интеллект}}}}}}{{#if:| = }}{{#if:| / {{{ответственный}}}.|{{#if:||.}}}}{{#if:Введение в искусственный интеллект|{{#if:| {{#if:| = {{{оригинал2}}} }}{{#if:| / {{{ответственный2}}}.|{{#if:||.}}}}}}}}{{#if:1-е| - 1-е.}}{{#switch:{{#if:|м}}{{#if:Издательский центр «Академия»|и}}{{#if:2005|г}}
|миг= - Шаблон:Указание места в библиоссылке : Издательский центр «Академия», 2005. |ми= - Шаблон:Указание места в библиоссылке : Издательский центр «Академия». |мг= - Шаблон:Указание места в библиоссылке , 2005. |иг= - Издательский центр «Академия», 2005. |м= - Шаблон:Указание места в библиоссылке |и= - Издательский центр «Академия». |г= - 2005.

}}{{#if:| - {{{том как есть}}}.}}{{#if:|{{#if: | [{{{ссылка том}}} - Т. {{{том}}}.]| - Т. {{{том}}}.}}}}{{#if:| - Vol. {{{volume}}}.}}{{#if:| - Bd. {{{band}}}.}}{{#if:| - {{{страницы как есть}}}.}}{{#if:176| - С. {{#if:| (стб. {{{столбцы}}}).|176.}}}}{{#if:| - {{{страниц как есть}}}.}}{{#if:| - {{{страниц}}} с.}}{{#if:| - P. {{#if:|[{{{pages}}}] (col. {{{columns}}}).|{{{pages}}}.}}}}{{#if:| - S. {{#if:|[{{{seite}}}] (Kol. {{{kolonnen}}}).|{{{seite}}}.}}}}{{#if:| - p.}}{{#if:| - S.}}{{#if:| - ({{{серия}}}).}}{{#if:| - {{{тираж}}} экз. }}{{#if:5-7695-1958-4| - ISBN 5-7695-1958-4 .}}{{#if:| - ISBN {{{isbn2}}}.}}{{#if:| - ISBN {{{isbn3}}}.}}{{#if:| - ISBN {{{isbn4}}}.}}{{#if:| - ISBN {{{isbn5}}}.}}{{#if:| - DOI :{{{doi}}} {{#ifeq:Шаблон:Str left |10.|| [Ошибка: Неверный DOI! ] {{#if:||}}}}}}

  • {{#if:Комарцова Л. Г., Максимов А. В.|{{#ifeq:{{#invoke:String|sub|Комарцова Л. Г., Максимов А. В.|-1}}| |Комарцова Л. Г., Максимов А. В.|{{#ifeq:{{#invoke:String|sub|Комарцова Л. Г., Максимов А. В.|-6|-2}}| |Комарцова Л. Г., Максимов А. В.|{{#ifeq:{{#invoke:String|sub|Комарцова Л. Г., Максимов А. В.|-6|-2}}|/span|Шаблон:±. |Шаблон:±. }}}}}} }}{{#if: |{{#if: |[{{{ссылка часть}}} {{{часть}}}]| {{{часть}}}}} // }}{{#if:|[[:s:{{{викитека}}}|Нейрокомпьютеры]]|{{#if: |Нейрокомпьютеры |{{#if:http://www.books.ru/shop/search/advanced?as%5Bisbn%5D=5703819083&as%5Bsub%5D=%E8%F1%EA%E0%F2%FC%7C Нейрокомпьютеры |Нейрокомпьютеры}}}}}}{{#if:| = }}{{#if:| / {{{ответственный}}}.|{{#if:||.}}}}{{#if:Нейрокомпьютеры|{{#if:| {{#if:| = {{{оригинал2}}} }}{{#if:| / {{{ответственный2}}}.|{{#if:||.}}}}}}}}{{#if:1-е| - 1-е.}}{{#switch:{{#if:|м}}{{#if:Изд-во МГТУ им. Н.Э. Баумана|и}}{{#if:2002|г}}
|миг= - Шаблон:Указание места в библиоссылке : Изд-во МГТУ им. Н.Э. Баумана, 2002. |ми= - Шаблон:Указание места в библиоссылке : Изд-во МГТУ им. Н.Э. Баумана. |мг= -

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

В наст. время разработка нейрокомпьютеров ведется в большинстве промышленно развитых стран.

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

    распознавания образов

    адаптивного управления

    прогнозирования

    диагностики и т.д.

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

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

    Нейрокомпьютер Synapse (Siemens);

    Нейр-р «Силиконовый мозг» (США, «Электронный мозг» для обработки аэрокосмических изображений).

    Понятие искусст. нейрона. Формальный нейрон. Структура. Матем.модель нейрона. Принцип работы.

Иску́сственный нейро́н (Математический нейрон Маккалока - Питтса, Формальный нейрон ) - узел искусственной нейронной сети, являющийся упрощённой моделью естественного нейрона. Математически, искусственный нейрон обычно представляют, как некоторую нелинейную функцию от единственного аргумента - линейной комбинации всех входных сигналов. Данную функцию называют функцией активации или функцией срабатывания , передаточной функцией . Полученный результат посылается на единственный выход. Такие искусственные нейроны объединяют в сети - соединяют выходы одних нейронов с входами других. Искусственные нейроны и сети являются основными элементами идеального нейрокомпьютера.

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

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

1.Нейроны, выходные сигналы которых поступают на вход данному 2.Сумматор входных сигналов 3.Вычислитель передаточной функции 4.Нейроны, на входы которых подаётся выходной сигнал данного 5.-веса входных сигналов

Математически нейрон предст. собой взвешенный сумматор, единств.выход которого опр-ся через его входы и матрицу весов следующим образом:

Где

Здесь и- соответственно сигналы на входах нейрона и веса входов, функция u называется индуцированным локальным полем, а f(u) - передаточной функцией. Возможные значения сигналов на входах нейрона считают заданными в интервале. Они могут быть либо дискретными (0 или 1), либо аналоговыми. Дополнительный входи соответствующий ему весиспользуются дляинициализации нейрона. Под инициализацией подразумевается смещение активационной функции нейрона по горизонтальной оси, то есть формирование порога чувствительности нейрона. Кроме того, иногда к выходу нейрона специально добавляют некую случайную величину, называемую сдвигом. Сдвиг можно рассматривать как сигнал на дополнительном, всегда нагруженном, синапсе.

    Активационная функция нейрона. Виды функций.

Активационная функция нейрона определяет нелинейное преобразование, осуществляемое нейроном.

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

1. Пороговая функция. На рис. 7.2, а приведен ее график.

. (7.5)

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

2. Кусочно-линейная функция. Она изображена на рис. 7.2, б и опи­сы­ва­ется следующей зависимостью:

. (7.6)

В данном случае a =1, и коэффициент наклона линейного участ­ка выбран еди­ничным, а вся функция может интерпретироваться как аппроксимация нели­ней­ного усилителя. При бесконечно большом ко­эф­фициенте наклона линейного участка функция вырождается в пороговую.

В большинстве типов искусственных нейронных сетей ис­поль­зуются ней­ро­ны с линейной активационной функцией , пред­ставляющей собой част­­ный случай (7.6) с неограниченным ли­ней­ным участком.

Рис. 7.2. Типы активационных функций а), г) пороговая; б) линейная; в) сигмоидальная; д) тангенциальная; е) радиально-базисная активационные функции

    Понятие искусственной нейронной сети.

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

ИНС представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты (особенно в сравнении с процессорами, используемыми в персональных компьютерах). Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И, тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи.

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

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

Схема простой нейросети. Зел. цветом обозн. входные нейроны, гол.- скрытые нейроны, жёлтым - выходной нейрон.

    Основные характеристики нейронных сетей.

Некоторые свойства нейронных сетей.

1. Обучение

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

2. Обобщение

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

3. Абстрагирование

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

4. Применимость

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

    Задачи, решаемые нейронными сетями.

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

Банки и страховые компании:

    автоматическое считывание чеков и финансовых документов;

    проверка достоверности подписей;

    оценка риска для займов;

    прогнозирование изменений экономических показателей.

Административное обслуживание:

    автоматическое считывание документов;

    автоматическое распознавание штриховых кодов.

Нефтяная и химическая промышленность:

    анализ геологической информации;

    идентификация неисправностей оборудования;

    разведка залежей минералов по данным аэрофотосъемок;

    анализ составов примесей;

    управление процессами.

Военная промышленность и аэронавтика:

    обработка звуковых сигналов (разделение, идентификация, локализация);

    обработка радарных сигналов (распознавание целей, идентификация и локализация источников);

    обработка инфракрасных сигналов (локализация);

    обобщение информации;

    автоматическое пилотирование.

Промышленное производство:

    управление манипуляторами;

    управление качеством;

    управление процессами;

    обнаружение неисправностей;

    адаптивная робототехника;

Служба безопасности:

Биомедицинская промышленность:

    анализ рентгенограмм;

    обнаружение отклонений в ЭКГ.

Телевидение и связь :

    адаптивное управление сетью связи;

    сжатие и восстановление изображения.

    Многослойный персептрон. Структура. Принцип работы.

Рассмотрим иерархическую сетевую структуру, в которой связанные между собой нейроны (узлы сети) объединены в несколько слоев (Рис. 6.1). На возможность построения таких архитектур указал еще Ф.Розенблатт, однако им не была решена проблема обучения. Межнейронные синаптические связи сети устроены таким образом, что каждый нейрон на данном уровне иерархии принимает и обрабатывает сигналы от каждого нейрона более низкого уровня. Таким образом, в данной сети имеется выделенное направление распостранения нейроимпульсов - от входного слоя через один (или несколько) скрытых слоев к выходному слою нейронов. Нейросеть такой топологии мы будем называть обобщенным многослойным персептроном или, если это не будет вызывать недоразумений, просто персептроном.

Рис.6.1. Структура многослойного персептрона с пятью входами, тремя нейронами в скрытом слое, и одним нейроном выходного слоя.

Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов МакКаллока и Питтса. На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорами X1..Xn, и один выход. Нейрон характеризуется уникальным вектором весовых коэффициентов w. Веса всех нейронов слоя формируют матрицу, которую мы будем обозначать V или W. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:

(6.1)

Выходы нейронов последнего, выходного , слоя описывают результат классификации Y=Y(X). Особенности работы персептрона состоят в следующем. Каждый нейрон суммирует поступающие к нему сигналы от нейронов предыдущего уровня иерархии с весами, определяемыми состояниями синапсов, и формирует ответный сигнал (переходит в возбужденное состояние), если полученная сумма выше порогового значения. Персептрон переводит входной образ, определяющий степени возбуждения нейронов самого нижнего уровня иерахии, в выходной образ, определяемый нейронами самого верхнего уровня. Число последних, обычно, сравнительно невелико. Состояние возбуждения нейрона на верхнем уровне говорит о принадлежности входного образа к той или иной категории.

Традиционно рассматривается аналоговая логика, при которой допустимые состояния синаптических связей определяются произвольными действительными числами, а степени активности нейронов - действительными числами между 0 и 1. Иногда исследуются также модели с дискретной арифметикой, в которой синапс характеризуется двумя булевыми переменными: активностью (0 или 1) и полярностью (-1 или +1), что соответствует трехзначной логике. Состояния нейронов могут при этом описываться одной булевой переменной. Данный дискретный подход делает конфигурационное пространство состояний нейронной сети конечным (не говоря уже о преимуществах при аппаратной реализации).

Здесь будет в основном описываться классический вариант многослойной сети с аналоговыми синапсами и сигмоидальной передаточной функцией нейронов, определяемой формулой (6.1).

    Задача обучения нейронной сети на примерах.

По своей организации и функц. назначению иск. нейронная сеть с неск. входами и выходами выполняет некоторое преобразование входных стимулов - сенсорной информации о внешнем мире - в выходные управляющие сигналы. Число преобразуемых стимулов равно n - числу входов сети, а число выходных сигналов соответствуе числу выходов m. Совокупность всевозможных входных векторов размерности n образует векторное пространство X , которое мы будем называть признаковым пространством (При рассмотрении соответсвующих пространств предполагается использование обычных векторных операций сложения и умножения на скаляр (подробнее см. Лекцию 2 ). Аналогично, выходные вектора также формируют признаковое пространство, которое будет обозначаться Y . Теперь нейронную сеть можно мыслить, как некоторую многомерную функцию F: X Y , аргумент которой принадлежит признаковому пространству входов, а значение - выходному признаковому пространству.

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

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

Требуемая функция однозначнно описывается путем задания соотвествия каждому вектору признакового пространства X некоторого вектора из пространства Y . В случае сети из одного нейрона в задаче детектирования границы, рассмотренной в конце третьей Лекции , полное описание требуемой функции достигается заданием всего четырех пар векторов. Однако в общем случае, как например, при работе с видеоизображением, признаковые пространства могут иметь высокую размерность, поэтому даже в случае булевых векторов однозначное определение функции становится весьма громоздким (при условии, конечно, если функция не задана явно, например, формулой; однако для явно заданных функций обычно не возникает потребности представления их нейросетевыми моделями). Во многих практических случаях значения требуемых функций для заданных значений аргумента получаются из эксперимента или наблюдений, и, следовательно, известны лишь для ограниченной совокупности векторов. Кроме того, известные значения функции могут содержать погрешности, а отдельные данные могут даже частично противоречить друг другу. По этим причинам перед нейронной сетью обычно ставится задача приближенного представления функции по имеющимся примерам . Имеющиеся в распоряжении исследователя примеры соответствий между векторами, либо специально отобранные из всех примеров наиболее представительные данные называют обучающей выборкой . Обучающая выборка определяется обычно заданием пар векторов, причем в каждой паре один вектор соотвествует стимулу, а второй - требуемой реакции. Обучение нейронной сети состоит в приведении всех векторов стимулов из обучающей выборки требуемым реакциям путем выбора весовых коэффициентов нейронов.

Общая проблема кибернетики, заключающаяся в построении искусственной системы с заданным функциональным поведением, в контексте нейроных сетей понимается, как задача синтеза требуемой искусственной сети. Она может включать в себя следующие подзадачи: 1) выбор существенных для решаемой задачи признаков и формирование признаковых пространств; 2) выбор или разработка архитектуры нейронной сети, адекватной решаемой задаче; 3) получение обучаюшей выборки из наиболее представительных, по мнению эксперта, векторов признаковых пространств; 4) обучение нейронной сети на обучающей выборке.

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

    Обучение нейронной сети с учителем как задача многофакторной оптимизации.

В главе мы ознакомились с такими понятиями, как искусственный интеллект, машинное обучение и искусственные нейронные сети.

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

Упрощение

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

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

Биологическая структура → схема

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

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

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

Таким образом искусственная нейронная сеть может быть представлена в виде совокупности кружков (искусственных нейронов), связанных стрелками.

Электрические сигналы → числа

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

Электрический сигнал всегда будет электрическим сигналом. Концептуально ничего не изменяется. Но что же тогда меняется? Меняется величина этого электрического сигнала (сильнее/слабее). А любую величину всегда можно выразить числом (больше/меньше).

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

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

Для удобства все равно будем называть наши числа, циркулирующие в сети, сигналами.

Синапсы → веса связей

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

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

Это ключевой момент в концепции искусственных нейронных сетей, я объясню его подробнее. Посмотрите на картинку ниже. Теперь каждой черной стрелке (связи) на этой картинке соответствует некоторое число ​\(w_i \) ​ (вес связи). И когда сигнал проходит по этой связи, его величина умножается на вес этой связи.

На приведенном выше рисунке вес стоит не у каждой связи лишь потому, что там нет места для обозначений. В реальности у каждой ​\(i \) ​-ой связи свой собственный ​\(w_i \) ​-ый вес.

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

Теперь мы переходим к рассмотрению внутренней структуры искусственного нейрона и того, как он преобразует поступающий на его входы сигнал.

На рисунке ниже представлена полная модель искусственного нейрона.

Не пугайтесь, ничего сложного здесь нет. Давайте рассмотрим все подробно слева направо.

Входы, веса и сумматор

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

Поступившие на входы сигналы умножаются на свои веса. Сигнал первого входа ​\(x_1 \) ​ умножается на соответствующий этому входу вес ​\(w_1 \) ​. В итоге получаем ​\(x_1w_1 \) ​. И так до ​\(n \) ​-ого входа. В итоге на последнем входе получаем ​\(x_nw_n \) ​.

Теперь все произведения передаются в сумматор. Уже исходя из его названия можно понять, что он делает. Он просто суммирует все входные сигналы, умноженные на соответствующие веса:

\[ x_1w_1+x_2w_2+\cdots+x_nw_n = \sum\limits^n_{i=1}x_iw_i \]

Математическая справка

Сигма – Википедия

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

Рассмотрим простейший вариант записи:

\[ \sum\limits^5_{i=1}i=1+2+3+4+5 \]

Таким образом снизу сигмы мы присваиваем переменной-счетчику ​\(i \) ​ стартовое значение, которое будет увеличиваться, пока не дойдет до верхней границы (в примере выше это 5).

Верхняя граница может быть и переменной. Приведу пример такого случая.

Пусть у нас есть ​\(n \) магазинов. У каждого магазина есть свой номер: от 1 до ​\(n \) ​. Каждый магазин приносит прибыль. Возьмем какой-то (неважно, какой) ​\(i \) ​-ый магазин. Прибыль от него равна ​\(p_i \) ​.

\[ P = p_1+p_2+\cdots+p_i+\cdots+p_n \]

Как видно, все члены этой суммы однотипны. Тогда их можно коротко записать следующим образом:

\[ P=\sum\limits^n_{i=1}p_i \]

Словами: «Просуммируй прибыли всех магазинов, начиная с первого и заканчивая ​\(n \) ​-ым». В виде формулы это гораздо проще, удобнее и красивее.

Результатом работы сумматора является число, называемое взвешенной суммой.

Взвешенная сумма (Weighted sum ) (​\(net \) ​) - сумма входных сигналов, умноженных на соответствующие им веса.

\[ net=\sum\limits^n_{i=1}x_iw_i \]

Роль сумматора очевидна – он агрегирует все входные сигналы (которых может быть много) в какое-то одно число – взвешенную сумму, которая характеризует поступивший на нейрон сигнал в целом. Еще взвешенную сумму можно представить как степень общего возбуждения нейрона.

Пример

Для понимания роли последнего компонента искусственного нейрона – функции активации – я приведу аналогию.

Давайте рассмотрим один искусственный нейрон. Его задача – решить, ехать ли отдыхать на море. Для этого на его входы мы подаем различные данные. Пусть у нашего нейрона будет 4 входа:

  1. Стоимость поездки
  2. Какая на море погода
  3. Текущая обстановка с работой
  4. Будет ли на пляже закусочная

Все эти параметры будем характеризовать 0 или 1. Соответственно, если погода на море хорошая, то на этот вход подаем 1. И так со всеми остальными параметрами.

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

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

Пусть на входы нашего нейрона мы подаем следующие сигналы:

Умножаем веса входов на сигналы соответствующих входов:

Взвешенная сумма для такого набора входных сигналов равна 6:

\[ net=\sum\limits^4_{i=1}x_iw_i = 5 + 0 + 0 + 1 =6 \]

Вот на сцену выходит функция активации.

Функция активации

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

Она преобразует взвешенную сумму в какое-то число, которое и является выходом нейрона (выход нейрона обозначим переменной ​\(out \) ​).

Для разных типов искусственных нейронов используют самые разные функции активации. В общем случае их обозначают символом ​\(\phi(net) \) ​. Указание взвешенного сигнала в скобках означает, что функция активации принимает взвешенную сумму как параметр.

Функция активации (Activation function )(​\(\phi(net) \) ​) - функция, принимающая взвешенную сумму как аргумент. Значение этой функции и является выходом нейрона (​\(out \) ​).

Функция единичного скачка

Самый простой вид функции активации. Выход нейрона может быть равен только 0 или 1. Если взвешенная сумма больше определенного порога ​\(b \) ​, то выход нейрона равен 1. Если ниже, то 0.

Как ее можно использовать? Предположим, что мы поедем на море только тогда, когда взвешенная сумма больше или равна 5. Значит наш порог равен 5:

В нашем примере взвешенная сумма равнялась 6, а значит выходной сигнал нашего нейрона равен 1. Итак, мы едем на море.

Однако если бы погода на море была бы плохой, а также поездка была бы очень дорогой, но имелась бы закусочная и обстановка с работой нормальная (входы: 0011), то взвешенная сумма равнялась бы 2, а значит выход нейрона равнялся бы 0. Итак, мы никуда не едем.

В общем, нейрон смотрит на взвешенную сумму и если она получается больше его порога, то нейрон выдает выходной сигнал, равный 1.

Графически эту функцию активации можно изобразить следующим образом.

На горизонтальной оси расположены величины взвешенной суммы. На вертикальной оси - значения выходного сигнала. Как легко видеть, возможны только два значения выходного сигнала: 0 или 1. Причем 0 будет выдаваться всегда от минус бесконечности и вплоть до некоторого значения взвешенной суммы, называемого порогом. Если взвешенная сумма равна порогу или больше него, то функция выдает 1. Все предельно просто.

Теперь запишем эту функцию активации математически. Почти наверняка вы сталкивались с таким понятием, как составная функция. Это когда мы под одной функцией объединяем несколько правил, по которым рассчитывается ее значение. В виде составной функции функция единичного скачка будет выглядеть следующим образом:

\[ out(net) = \begin{cases} 0, net < b \\ 1, net \geq b \end{cases} \]

В этой записи нет ничего сложного. Выход нейрона (​\(out \) ​) зависит от взвешенной суммы (​\(net \) ​) следующим образом: если ​\(net \) ​ (взвешенная сумма) меньше какого-то порога (​\(b \) ​), то ​\(out \) ​ (выход нейрона) равен 0. А если ​\(net \) ​ больше или равен порогу ​\(b \) ​, то ​\(out \) ​ равен 1.

Сигмоидальная функция

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

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

Итак… самая часто используемая в нейронных сетях сигмоида - логистическая функция .

График этой функции выглядит достаточно просто. Если присмотреться, то можно увидеть некоторое подобие английской буквы ​\(S \) ​, откуда и пошло название семейства этих функций.

А вот так она записывается аналитически:

\[ out(net)=\frac{1}{1+\exp(-a \cdot net)} \]

Что за параметр ​\(a \) ​? Это какое-то число, которое характеризует степень крутизны функции. Ниже представлены логистические функции с разным параметром ​\(a \) ​.

Вспомним наш искусственный нейрон, определяющий, надо ли ехать на море. В случае с функцией единичного скачка все было очевидно. Мы либо едем на море (1), либо нет (0).

Здесь же случай более приближенный к реальности. Мы до конца полностью не уверены (в особенности, если вы параноик) – стоит ли ехать? Тогда использование логистической функции в качестве функции активации приведет к тому, что вы будете получать цифру между 0 и 1. Причем чем больше взвешенная сумма, тем ближе выход будет к 1 (но никогда не будет точно ей равен). И наоборот, чем меньше взвешенная сумма, тем ближе выход нейрона будет к 0.

Например, выход нашего нейрона равен 0.8. Это значит, что он считает, что поехать на море все-таки стоит. Если бы его выход был бы равен 0.2, то это означает, что он почти наверняка против поездки на море.

Какие же замечательные свойства имеет логистическая функция?

  • она является «сжимающей» функцией, то есть вне зависимости от аргумента (взвешенной суммы), выходной сигнал всегда будет в пределах от 0 до 1
  • она более гибкая, чем функция единичного скачка – ее результатом может быть не только 0 и 1, но и любое число между ними
  • во всех точках она имеет производную, и эта производная может быть выражена через эту же функцию

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

Гиперболический тангенс

Однако есть и еще одна сигмоида – гиперболический тангенс. Он применяется в качестве функции активации биологами для более реалистичной модели нервной клетки.

Такая функция позволяет получить на выходе значения разных знаков (например, от -1 до 1), что может быть полезным для ряда сетей.

Функция записывается следующим образом:

\[ out(net) = \tanh\left(\frac{net}{a}\right) \]

В данной выше формуле параметр ​\(a \) ​ также определяет степень крутизны графика этой функции.

А вот так выглядит график этой функции.

Как видите, он похож на график логистической функции. Гиперболический тангенс обладает всеми полезными свойствами, которые имеет и логистическая функция.

Что мы узнали?

Теперь вы получили полное представление о внутренней структуре искусственного нейрона. Я еще раз приведу краткое описание его работы.

У нейрона есть входы. На них подаются сигналы в виде чисел. Каждый вход имеет свой вес (тоже число). Сигналы на входе умножаются на соответствующие веса. Получаем набор «взвешенных» входных сигналов.

Затем взвешенная сумма преобразуется функцией активации и мы получаем выход нейрона .

Сформулируем теперь самое короткое описание работы нейрона – его математическую модель:

Математическая модель искусственного нейрона с ​\(n \) ​ входами:

где
​\(\phi \) ​ – функция активации
\(\sum\limits^n_{i=1}x_iw_i \) ​ – взвешенная сумма, как сумма ​\(n \) ​ произведений входных сигналов на соответствующие веса.

Виды ИНС

Мы разобрались со структурой искусственного нейрона. Искусственные нейронные сети состоят из совокупности искусственных нейронов. Возникает логичный вопрос – а как располагать/соединять друг с другом эти самые искусственные нейроны?

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

Однослойные нейронные сети

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

Выглядит однослойная нейронная сеть следующим образом:

На этой картинке входной слой обозначен кружками (он не считается за слой нейронной сети), а справа расположен слой обычных нейронов.

Нейроны соединены друг с другом стрелками. Над стрелками расположены веса соответствующих связей (весовые коэффициенты).

Однослойная нейронная сеть (Single-layer neural network ) - сеть, в которой сигналы от входного слоя сразу подаются на выходной слой, который и преобразует сигнал и сразу же выдает ответ.

Многослойные нейронные сети

Такие сети, помимо входного и выходного слоев нейронов, характеризуются еще и скрытым слоем (слоями). Понять их расположение просто – эти слои находятся между входным и выходным слоями.

Такая структура нейронных сетей копирует многослойную структуру определенных отделов мозга.

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

Многослойные нейронные сети обладают гораздо большими возможностями, чем однослойные.

Работу скрытых слоев нейронов можно сравнить с работой большого завода. Продукт (выходной сигнал) на заводе собирается по стадиям. После каждого станка получается какой-то промежуточный результат. Скрытые слои тоже преобразуют входные сигналы в некоторые промежуточные результаты.

Многослойная нейронная сеть (Multilayer neural network ) - нейронная сеть, состоящая из входного, выходного и расположенного(ых) между ними одного (нескольких) скрытых слоев нейронов.

Сети прямого распространения

Можно заметить одну очень интересную деталь на картинках нейросетей в примерах выше.

Во всех примерах стрелки строго идут слева направо, то есть сигнал в таких сетях идет строго от входного слоя к выходному.

Сети прямого распространения (Feedforward neural network ) (feedforward сети) - искусственные нейронные сети, в которых сигнал распространяется строго от входного слоя к выходному. В обратном направлении сигнал не распространяется.

Такие сети широко используются и вполне успешно решают определенный класс задач: прогнозирование, кластеризация и распознавание.

Однако никто не запрещает сигналу идти и в обратную сторону.

Сети с обратными связями

В сетях такого типа сигнал может идти и в обратную сторону. В чем преимущество?

Дело в том, что в сетях прямого распространения выход сети определяется входным сигналом и весовыми коэффициентами при искусственных нейронах.

А в сетях с обратными связями выходы нейронов могут возвращаться на входы. Это означает, что выход какого-нибудь нейрона определяется не только его весами и входным сигналом, но еще и предыдущими выходами (так как они снова вернулись на входы).

Возможность сигналов циркулировать в сети открывает новые, удивительные возможности нейронных сетей. С помощью таких сетей можно создавать нейросети, восстанавливающие или дополняющие сигналы. Другими словами такие нейросети имеют свойства кратковременной памяти (как у человека).

Сети с обратными связями (Recurrent neural network ) - искусственные нейронные сети, в которых выход нейрона может вновь подаваться на его вход. В более общем случае это означает возможность распространения сигнала от выходов к входам.

Обучение нейронной сети

Теперь давайте чуть более подробно рассмотрим вопрос обучения нейронной сети. Что это такое? И каким образом это происходит?

Что такое обучение сети?

Искусственная нейронная сеть – это совокупность искусственных нейронов. Теперь давайте возьмем, например, 100 нейронов и соединим их друг с другом. Ясно, что при подаче сигнала на вход, мы получим что-то бессмысленное на выходе.

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

Что мы можем менять в нейронной сети?

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

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

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

Остается только один вариант – менять веса связей .

Обучение нейронной сети (Training) - поиск такого набора весовых коэффициентов, при котором входной сигнал после прохода по сети преобразуется в нужный нам выходной.

Такой подход к термину «обучение нейронной сети» соответствует и биологическим нейросетям. Наш мозг состоит из огромного количества связанных друг с другом нейросетей. Каждая из них в отдельности состоит из нейронов одного типа (функция активации одинаковая). Мы обучаемся благодаря изменению синапсов – элементов, которые усиливают/ослабляют входной сигнал.

Однако есть еще один важный момент. Если обучать сеть, используя только один входной сигнал, то сеть просто «запомнит правильный ответ». Со стороны будет казаться, что она очень быстро «обучилась». И как только вы подадите немного измененный сигнал, ожидая увидеть правильный ответ, то сеть выдаст бессмыслицу.

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

Именно с этой целью и создаются обучающие выборки .

Обучающая выборка (Training set ) - конечный набор входных сигналов (иногда вместе с правильными выходными сигналами), по которым происходит обучение сети.

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

Однако прежде чем пускать свежеиспеченную нейросеть в бой, часто производят оценку качества ее работы на так называемой тестовой выборке .

Тестовая выборка (Testing set ) - конечный набор входных сигналов (иногда вместе с правильными выходными сигналами), по которым происходит оценка качества работы сети.

Мы поняли, что такое «обучение сети» – подбор правильного набора весов. Теперь возникает вопрос – а как можно обучать сеть? В самом общем случае есть два подхода, приводящие к разным результатам: обучение с учителем и обучение без учителя.

Обучение с учителем

Суть данного подхода заключается в том, что вы даете на вход сигнал, смотрите на ответ сети, а затем сравниваете его с уже готовым, правильным ответом.

Важный момент. Не путайте правильные ответы и известный алгоритм решения! Вы можете обвести пальцем лицо на фото (правильный ответ), но не сможете сказать, как это сделали (известный алгоритм). Тут такая же ситуация.

Затем, с помощью специальных алгоритмов, вы меняете веса связей нейронной сети и снова даете ей входной сигнал. Сравниваете ее ответ с правильным и повторяете этот процесс до тех пор, пока сеть не начнет отвечать с приемлемой точностью (как я говорил в 1 главе, однозначно точных ответов сеть давать не может).

Обучение с учителем (Supervised learning ) - вид обучения сети, при котором ее веса меняются так, чтобы ответы сети минимально отличались от уже готовых правильных ответов.

Где взять правильные ответы?

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

Если мы хотим, чтобы сеть прогнозировала рост/падение цен, то обучающую выборку надо делать, основываясь на прошлых данных. В качестве входных сигналов можно брать определенные дни, общее состояние рынка и другие параметры. А в качестве правильных ответов – рост и падение цены в те дни.

Стоит отметить, что учитель, конечно же, не обязательно человек. Дело в том, что порой сеть приходится тренировать часами и днями, совершая тысячи и десятки тысяч попыток. В 99% случаев эту роль выполняет компьютер, а точнее, специальная компьютерная программа.

Обучение без учителя

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

Что же происходит при таком обучении сети? Оказывается, что при таком «обучении» сеть начинает выделять классы подаваемых на вход сигналов. Короче говоря – сеть начинает кластеризацию.

Например, вы демонстрируете сети конфеты, пирожные и торты. Вы никак не регулируете работу сети. Вы просто подаете на ее входы данные о данном объекте. Со временем сеть начнет выдавать сигналы трех разных типов, которые и отвечают за объекты на входе.

Обучение без учителя (Unsupervised learning ) - вид обучения сети, при котором сеть самостоятельно классифицирует входные сигналы. Правильные (эталонные) выходные сигналы не демонстрируются.

Выводы

В этой главе вы узнали все о структуре искусственного нейрона, а также получили полное представление о том, как он работает (и о его математической модели).

Более того, вы теперь знаете о различных видах искусственных нейронных сетей: однослойные, многослойные, а также feedforward сети и сети с обратными связями.

Вы также ознакомились с тем, что представляет собой обучение сети с учителем и без учителя.

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

Вопросы и задачи

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

Опишите упрощения ИНС по сравнению с биологическими нейросетями.

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

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

Функцию активации часто обозначают за ​\(\phi(net) \) ​.

Запишите математическую модель искусственного нейрона.

Искусственный нейрон c ​\(n \) ​ входами преобразовывает входной сигнал (число) в выходной сигнал (число) следующим образом:

\[ out=\phi\left(\sum\limits^n_{i=1}x_iw_i\right) \]

Чем отличаются однослойные и многослойные нейронные сети?

Однослойные нейронные сети состоят из одного вычислительного слоя нейронов. Входной слой подает сигналы сразу на выходной слой, который и преобразует сигнал, и сразу выдает результат.

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

В чем отличие feedforward сетей от сетей с обратными связями?

Сети прямого распространения (feedforward сети) допускают прохождение сигнала только в одном направлении – от входов к выходам. Сети с обратными связями данных ограничений не имеют, и выходы нейронов могут вновь подаваться на входы.

Что такое обучающая выборка? В чем ее смысл?

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

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

Что понимают под обучением сети?

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

Что такое обучение с учителем и без него?

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

Если сети только подают входные сигналы, без сравнения их с готовыми выходами, то сеть начинает самостоятельную классификацию этих входных сигналов. Другими словами она выполняет кластеризацию входных сигналов. Такое обучение называют обучением без учителя.

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

В этой модели нейрона можно выделить три основных элемента:

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

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

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

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