Функции активации
Одной из наиболее распространенных функций активации является нелинейная функция активации с насыщением, так называемая логистическая функция или сигмоид (функция 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) называются последовательными. Внутри одного слоя используется одна и та же функция активации.