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

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

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

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

Таблица 7.1 Функции активации нейронов

Название Формула Область значений
Линейная f (s) = k s (-∞, ∞)
Полулинейная (0, ∞)
Логистическая (сигмоидальная) (0, 1)
Гиперболический тангенс (сигмоидальная) (-1, 1)
Экспоненциальная (0, ∞)
Синусоидальная (-1, 1)
Сигмоидальная (рациональная) (-1, 1)
Шаговая (линейная с насыщением) (-1, 1)
Пороговая (0, 1)
Модульная (0, ∞)
Знаковая (сигнатурная) (-1, 1)
Квадратичная (0, ∞)

Рис. 7.2. Примеры активационных функций:

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

в - сигмоид (логистическая функция);

г - сигмоид (гиперболический тангенс)

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

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

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

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

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

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

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

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

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

С точки зрения топологии можно выделить три основных типа нейронных сетей:

• полносвязные (рис.7.3, а);

• многослойные или слоистые (рис. 7.3, б);

• слабосвязные (с локальными связями) (рис. 7.3, в).

Рис. 7.3. Архитектуры нейронных сетей:

а - полносвязная сеть, б - многослойная сеть с последовательными

связями, в - слабосвязные сети

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

В многослойных нейронных сетях нейроны объединяются в слои. Слой содержит совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зависит от количества нейронов в других слоях. В общем случае сеть состоит из Q слоев, пронумерованных слева направо. Внешние входные сигналы подаются на входы нейронов входного слоя (его часто нумеруют как нулевой), а выходами сети являются выходные сигналы последнего слоя. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых слоев. Связи от выходов нейронов некоторого слоя q к входам нейронов следующего слоя (q+1) называются последовательными. Внутри одного слоя используется одна и та же функция активации.