Функции активации, как правило, отображают выходной сигнал множественной линейной регрессии нелинейно. В качестве функций активации наиболее часто применяются логистическая функция и функция tanh (рис. 12). Обе функции принимают на вход одно значение x, являющееся выходным значением функции множественной линейной регрессии, которую нейрон применяет к своим входным данным. Также обе функции используют число Эйлера, приблизительно равное 2,71828182. Эти функции иногда называют функциями сжатия, поскольку они принимают любое значение от «плюс бесконечности» до «минус бесконечности» и отображают его в небольшом заранее определенном диапазоне. Диапазон выходных значений логистической функции составляет от 0 до 1, а функции tanh — от –1 до 1. Следовательно, выходные значения нейрона, который использует логистическую функцию в качестве своей функции активации, всегда находятся в диапазоне от 0 до 1. Тот факт, что обе функция используют нелинейные отображения, ясно по S-образной форме кривых. Причиной введения нелинейного отображения в нейрон является то, что одним из ограничений функции линейной регрессии с несколькими входами является ее линейность по определению, и если все нейроны в сети будут выполнять только линейные отображения, то и сама сеть также будет ограничена изучением линейных функций. Однако нелинейная функция активации в нейронах сети позволяет ей изучать более сложные (нелинейные) функции.
Стоит подчеркнуть, что каждый нейрон в нейронной сети выполняет очень простой набор операций:
1. Умножает каждый вход на его вес;
2. Суммирует результаты умножения;
3. Проводит этот результат через функцию активации.
Операции 1 и 2 являются просто вычислением функции регрессии с несколькими входами, а операция 3 использует функцию активации.
Все связи между нейронами в нейронной сети являются направленными, и каждая имеет свой вес. Нейрон применяет вес связи к входящему значению, которое он получает через эту связь, когда вычисляет функцию множественной входной регрессии. Рис. 13 иллюстрирует топологическую структуру простой нейронной сети. Квадраты A и B в левой части обозначают зоны памяти, которые мы используем для представления входных данных в сеть. В этих зонах обработка или преобразование данных не выполняются. Эти узлы можно считать входными или сенсорными нейронами, функция активации которых настроена таким образом, чтобы выходное значение равнялось входному[16]. Круги C, D, E и F на рисунке обозначают нейроны в сети. Бывает полезно представлять нейроны в сети организованными в слои. Сеть на рисунке имеет три слоя нейронов: входной слой содержит A и B, скрытый — C, D и E, а выходной слой содержит F. Понятие «скрытый слой» указывает на тот факт, что нейроны в этом слое не принадлежат ни входному, ни выходному слоям и в этом смысле недоступны взгляду.
Стрелки, соединяющие нейроны в сети, обозначают поток информации. Технически данная конкретная сеть является нейронной сетью с прямой связью, поскольку в сети нет петель — все соединения направлены в одну сторону, от входа к выходу. Кроме того, эта сеть считается полностью подключенной, поскольку каждый нейрон связан со всеми нейронами в следующем слое сети. Можно создать множество различных типов нейронных сетей, изменив количество слоев, число нейронов в каждом слое, тип используемых функций активации, направление соединений между слоями и другие параметры. На самом деле разработка нейронной сети для конкретной задачи во многом сводится к экспериментам по поиску наилучшей схемы.
Метки на каждой стрелке показывают вес, который узел применяет к информации, передаваемой по этому соединению. Например, есть стрелка, соединяющая C с F, которая указывает, что выходные данные из C передаются как входные данные для F и F будет применять к ним вес.
Предположим, что нейроны в сети на рис. 13 используют функцию активации tanh. Тогда вычисление, выполняемое нейроном F, может быть представлено как:
Выходные данные = tanh (ωC,FC + ωD,FD + ωE,FE).
Математическое представление обработки, выполняемой в нейроне F, показывает, что конечное выходное значение сети рассчитывается с использованием набора функций. Компоновка функций означает, что выходные данные одной функции используются в качестве входных данных для другой. В этом случае выходы нейронов C, D и E используются в качестве входов для нейрона F, поэтому функция, выполняемая в F, скомпонована из функций, выполняемых в C, D и E.