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

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

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

Содержание

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

Биологический нейрон состоит из тела диаметром от 3 до 100 мкм, содержащего ядро (с большим количеством ядерных пор) и другие органеллы (в том числе сильно развитый шероховатый ЭПР с активными рибосомами, аппарат Гольджи), и отростков. Выделяют два вида отростков. Аксон — обычно длинный отросток, приспособленный для проведения возбуждения от тела нейрона. Дендриты — как правило, короткие и сильно разветвлённые отростки, служащие главным местом образования влияющих на нейрон возбуждающих и тормозных синапсов (разные нейроны имеют различное соотношение длины аксона и дендритов). Нейрон может иметь несколько дендритов и обычно только один аксон. Один нейрон может иметь связи с 20-ю тысячами других нейронов. Кора головного мозга человека содержит 10—20 миллиардов нейронов.

История развития

Математическая модель искусственного нейрона была предложена У. Маккалоком и У. Питтсом вместе с моделью сети, состоящей из этих нейронов. Авторы показали, что сеть на таких элементах может выполнять числовые и логические операции[4]. Практически сеть была реализована Фрэнком Розенблаттом в 1958 году как компьютерная программа, а впоследствии как электронное устройство — перцептрон. Первоначально нейрон мог оперировать только с сигналами логического нуля и логической единицы[5], поскольку был построен на основе биологического прототипа, который может пребывать только в двух состояниях — возбужденном или невозбужденном. Развитие нейронных сетей показало, что для расширения области их применения необходимо, чтобы нейрон мог работать не только с бинарными, но и с непрерывными (аналоговыми) сигналами. Такое обобщение модели нейрона было сделано Уидроу и Хоффом[6], которые предложили в качестве функции срабатывания нейрона использовать логистическую кривую.

Связи между искусственными нейронами

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

Математическая модель

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

y = f(u), где u=\sum_{i=1}^{n} w_i x_i + w_0 x_0

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

Передаточная функция нейрона

Передаточная функция f(u) определяет зависимость сигнала на выходе нейрона от взвешенной суммы сигналов на его входах. В большинстве случаев она является монотонно возрастающей и имеет область значений [-1,1] или [0,1], однако существуют исключения. Также для некоторых алгоритмов обучения сети необходимо, чтобы она была непрерывно дифференцируемой на всей числовой оси[8]. Искусственный нейрон полностью характеризуется своей передаточной функцией. Использование различных передаточных функций позволяет вносить нелинейность в работу нейрона и в целом нейронной сети.

Классификация нейронов

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

  • Входные нейроны — принимают исходный вектор, кодирующий входной сигнал. Как правило, эти нейроны не выполняют вычислительных операций, а просто передают полученный входной сигнал на выход, возможно, усилив или ослабив его;
  • Выходные нейроны — представляют из себя выходы сети. В выходных нейронах могут производиться какие-либо вычислительные операции;
  • Промежуточные нейроны — выполняют основные вычислительные операции[9].

Основные типы передаточных функций

Линейная функция активации с насыщением

Линейная передаточная функция

Сигнал на выходе нейрона линейно связан со взвешенной суммой сигналов на его входе.

f(x) = tx

, где t — параметр функции. В искусственных нейронных сетях со слоистой структурой нейроны с передаточными функциями такого типа, как правило, составляют входной слой. Кроме простой линейной функции могут быть использованы её модификации. Например полулинейная функция (если её аргумент меньше нуля, то она равна нулю, а в остальных случаях, ведет себя как линейная) или шаговая (линейная функция с насыщением), которую можно выразить формулой[10]:

f(x) = \begin{cases}0 & \text{if } x \leq 0\\1 & \text{if } x \geq 1\\x & \text{else}\end{cases}

При этом возможен сдвиг функции по обеим осям (как изображено на рисунке).

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

Пороговая функция активации

Пороговая передаточная функция

Другое название — Функция Хевисайда. Представляет собой перепад. До тех пор пока взвешенный сигнал на входе нейрона не достигает некоторого уровня T — сигнал на выходе равен нулю. Как только сигнал на входе нейрона превышает указанный уровень — выходной сигнал скачкообразно изменяется на единицу. Самый первый представитель слоистых искусственных нейронных сетей — перцептрон[11] состоял исключительно из нейронов такого типа[5]. Математическая запись этой функции выглядит так:

f(x) = \begin{cases}1 & \text{if } x \geq T\\0 & \text{else}\end{cases}

Здесь T = -w_0x_0 — сдвиг функции активации относительно горизонтальной оси, соответственно под x следует понимать взвешенную сумму сигналов на входах нейрона без учёта этого слагаемого. Ввиду того, что данная функция не является дифференцируемой на всей оси абсцисс, её нельзя использовать в сетях, обучающихся по алгоритму обратного распространения ошибки и другим алгоритмам, требующим дифференцируемости передаточной функции.

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

Сигмоидальная передаточная функция

Один из самых часто используемых, на данный момент, типов передаточных функций. Введение функций сигмоидального типа было обусловлено ограниченностью нейронных сетей с пороговой функцией активации нейронов — при такой функции активации любой из выходов сети равен либо нулю, либо единице, что ограничивает использование сетей не в задачах классификации. Использование сигмоидальных функций позволило перейти от бинарных выходов нейрона к аналоговым[12]. Функции передачи такого типа, как правило, присущи нейронам, находящимся во внутренних слоях нейронной сети.

Логистическая функция

Математически эту функцию можно выразить так:

\sigma(x) = \frac {1}{(1+\exp (-tx))}

Здесь t — это параметр функции, определяющий её крутизну. Когда t стремится к бесконечности, функция вырождается в пороговую. При t = 0 сигмоида вырождается в постоянную функцию со значением 0,5. Область значений данной функции находится в интервале (0,1). Важным достоинством этой функции является простота её производной:

\cfrac{d\sigma(x)}{dx} = t f(x) (1-f(x))

То, что производная этой функции может быть выражена через её значение облегчает использование этой функции при обучении сети по алгоритму обратного распространения[13]. Особенностью нейронов с такой передаточной характеристикой является то, что они усиливают сильные сигналы существенно меньше, чем слабые, поскольку области сильных сигналов соответствуют пологим участкам характеристики. Это позволяет предотвратить насыщение от больших сигналов[14].

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

Использование функции гиперболического тангенса

th(Ax) = \frac{\exp (Ax) - \exp (-Ax)}{\exp (Ax) + \exp (-Ax)}

отличается от рассмотренной выше логистической кривой тем, что его область значений лежит в интервале (-1;1). Так как верно соотношение

th(\frac{A}{2}x) = 2\sigma(x)-1,

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

Радиально-базисная функция передачи[15]

Этот тип функций принимает в качестве аргумента расстояние между входным вектором и некоторым наперед заданным центром активационной функции. Значение этой функции тем выше, чем ближе входной вектор к центру[16]. В качестве радиально-базисной можно, например, использовать функцию Гаусса:

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

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

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

Здесь x_j — j-я компонента вектора, поданного на вход нейрона, а c_j — j-я компонента вектора, определяющего положение центра передаточной функции. Соответственно, сети с такими нейронами называются вероятностными и регрессионными[18].

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

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

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

  • Экспонента 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 — аналог температуры (но не температуры нейрона!) и определяет беспорядок в нейронной сети. Если Т устремить к 0, стохастический нейрон перейдет в обычный нейрон с передаточной функцией Хевисайда (пороговой функцией).

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

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

Схема нейрона, настроенного на моделирование логического «И»  
Схема нейрона, настроенного на моделирование логического «ИЛИ»  
Схема нейрона, настроенного на моделирование логического «НЕ»  


Примечания

  1. Л. Г. Комарцова, А. В. Максимов «Нейрокомпьютеры», МГТУ им. Н. Э. Баумана, 2004 г., ISBN 5-7038-2554-7
  2. По аналогии с нейронами активации
  3. Миркес Е. М., Нейрокомпьютер. Проект стандарта. — Новосибирск: Наука, 1999. — 337 с. ISBN 5-02-031409-9
  4. В статье McCulloch W.S., Pitts W. A logical Calculus of Ideas Immanent in Nervous Activity — Bull. Mathematical Biophysics, 1943 online
  5. 1 2 3 Л. Н. Ясницкий, «Введение в искусственный интеллект», Изд. Академия, 2005 г., ISBN 5-7695-1958-4; стр.29
  6. В работе Widrow B., Hoff M.E. Adaptive switching circuits. 1960 IRE WESTCON Conferencion Record. — New York, 1960
  7. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.11
  8. 1 2 В. А. Терехов — Нейросетевые системы управления — с.12-13
  9. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.14
  10. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.12
  11. Очень часто в литературе можно встретить название персептрон
  12. Л. Н. Ясницкий — Введение в искусственный интеллект — с.34
  13. CIT forum — Нейрокомпьютеры — архитектура и реализация
  14. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.13
  15. В литературе часто встречается сокращение RBF, порождённое английским названием
  16. Л. Н. Ясницкий — Введение в искусственный интеллект — с.77
  17. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.349
  18. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика — с.348
  19. Text
  20. Л. Н. Ясницкий — Введение в искусственный интеллект — c.30

Литература

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Искусственный нейрон" в других словарях:

  • Нейрон — У этого термина существуют и другие значения, см. Нейрон (значения). Не следует путать с нейтроном. Пирамидный нейрон коры головного мозга мыши, экспрессивный зеленый флуоресцентный белок (GFP) Нейрон (от …   Википедия

  • Нейрон (биология) — Не следует путать с нейтроном. Пирамидальные ячейки нейронов в коре головного мозга мыши Нейрон (нервная клетка) – это структурно функциональная единица нервной системы. Эта клетка имеет сложное строение, высоко специализирована и по структуре… …   Википедия

  • Нейрон (значения) — Нейроны в нервной системе животных. Искусственный нейрон в нейронных сетях. Нейрон (Эн)  коммуна во Франции, департамент Эн. Нейрон И9.66  советский персональный компьютер …   Википедия

  • Дельта-правило — метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Дельта правило развилось из первого и второго правил Хебба. Его дальнейшее развитие привело к созданию метода обратного распространения ошибки. Содержание 1 Правила …   Википедия

  • Нейроны — Не следует путать с нейтроном. Пирамидальные ячейки нейронов в коре головного мозга мыши Нейрон (нервная клетка) – это структурно функциональная единица нервной системы. Эта клетка имеет сложное строение, высоко специализирована и по структуре… …   Википедия

  • Нейроцит — Не следует путать с нейтроном. Пирамидальные ячейки нейронов в коре головного мозга мыши Нейрон (нервная клетка) – это структурно функциональная единица нервной системы. Эта клетка имеет сложное строение, высоко специализирована и по структуре… …   Википедия

  • Нервная клетка — Не следует путать с нейтроном. Пирамидальные ячейки нейронов в коре головного мозга мыши Нейрон (нервная клетка) – это структурно функциональная единица нервной системы. Эта клетка имеет сложное строение, высоко специализирована и по структуре… …   Википедия

  • Нервные клетки — Не следует путать с нейтроном. Пирамидальные ячейки нейронов в коре головного мозга мыши Нейрон (нервная клетка) – это структурно функциональная единица нервной системы. Эта клетка имеет сложное строение, высоко специализирована и по структуре… …   Википедия

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

  • Нейроны (значения) — Нейроны в нервной системе животных Искусственный нейрон в нейронных сетях …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»