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


Рассмотрим сети, имеющие несколько слоев. Будем называть весовые матрицы, соединенные с входами, весами входа слоя, а весовые матрицы для сигналов, исходящие из слоя, назовем весами выхода слоя. Далее, будем использовать верхние индексы, чтобы указать источник и адресат для различных весов и других элементов нейронной сети. Чтобы пояснить это, рассмотрим сначала только один, первый слой многослойной сети (рис. 2.10).

первый слой многослойной сети

Рис. 2.10

Обозначим весовую матрицу, связанную с входами, через IW11, верхние индексы которой указывают, что источником входов является первый слой (второй индекс) и адресатом является также первый слой (первый индекс). Элементы этого слоя, такие, как смещение b1, вход функции активации n1 и выход слоя a1, имеют верхний индекс 1, чтобы обозначить, что они связаны с первым слоем. В дальнейшем для матриц весов входа и выхода слоя будут использованы обозначения IW(Input Weight) и LW(Layer Weight) соответственно.

Когда сеть имеет несколько слоев (многослойные нейронные сети), то каждый слой имеет свою матрицу весов W, вектор смещения b и вектор выхода a. Чтобы различать весовые матрицы, векторы выхода
и т. д. для каждого из этих слоев, введем номер слоя как верхний индекс для представляющей интерес переменной. Использование этой системы обозначений для сети из трех слоев можно видеть на показанной ниже структурной схеме и из уравнений, приведенных в нижней части рис. 2.11.

сети из трех слоев

Рис. 2.11

Сеть, показанная выше, имеет R входов, S1 нейронов в первом слое, S2 нейронов во втором слое и т. д. Для общности будем считать, что различные слои имеют различное число нейронов. На смещения для каждого нейрона подан постоянный входной сигнал 1. Заметим, что выходы каждого промежуточного слоя служат входами для следующего слоя. Таким образом, слой 2 может быть рассмотрен как один слой сети с S1 входами, S2 нейронами и S1 ´ S2 матрицей весов W2. Вход к слою 2 есть 1, а выход - 2. Теперь, когда обозначены все векторы и матрицы слоя 2, можно трактовать его как самостоятельную однослойную сеть. Такой подход может быть использован к любому слою сети.

Слои многослойной сети имеют различные назначения. Слой, который образует выход сети, называется слоем выхода. Все другие слои называются скрытыми слоями. Трехслойная сеть, показанная выше, имеет выходной слой (слой 3) и 2 скрытых слоя (слой 1 и слой 2). Эта же трехслойная сеть может быть представлена в виде укрупненной структурной схемы (рис. 2.12).

трехслойная сеть может быть представлена в виде укрупненной структурной схемы

Рис. 2.12

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

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

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

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

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

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

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

сигмоидальные функции активации типа логистической

Рис. 2.13

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

<имя_функции_активации>('deriv')

Например, обращение вида

tansig('deriv')

ans = dtansig

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

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


Добавить комментарий


Защитный код
Обновить

Сайт создан в Seo-Dubna.ru