Культура
Искусство
Языки
Языкознание
Вычислительная техника
Информатика
Финансы
Экономика
Биология
Сельское хозяйство
Психология
Ветеринария
Медицина
Юриспруденция
Право
Физика
История
Экология
Промышленность
Энергетика
Этика
Связь
Автоматика
Математика
Электротехника
Философия
Религия
Логика
Химия
Социология
Политология
Геология
|
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6. В. Г. Потемкин
|
Название |
В. Г. Потемкин
|
Анкор |
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6.doc |
Дата |
26.04.2017 |
Размер |
14.83 Mb. |
Формат файла |
|
Имя файла |
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6.doc |
Тип |
Книга
#3790
|
страница |
7 из 50 |
|
2.2. Архитектура нейронных сетей
Реальная нейронная сеть может содержать один или большее количество слоев
и соответственно характеризоваться как однослойная или как многослойная.
2.2.1. Однослойные сети
Развернутая схема сети из одного слоя с R входными элементами и S нейронами
показана на рис. 2.8.
Рис. 2.8
В этой сети каждый элемент вектора входа соединен со всеми входами нейрона и это соединение задается матрицей весов W; при этом каждый i-й нейрон включает суммирующий элемент, который формирует скалярный выход n(i). Совокупность скалярных функций n(i) объединяется в S-элементный вектор входа n функции активации слоя.
Выходы слоя нейронов формируют вектор-столбец a, и, таким образом, описание слоя нейронов имеет вид:
. (2.5)
Количество входов R в слое может не совпадать с количеством нейронов S. В каждом слое, как правило, используется одна и та же функция активации. Однако можно создавать составные слои нейронов с использованием различных функций активации, соединяя сети, подобные изображенной на рис. 2.8, параллельно. Обе сети будут иметь те же самые входы, и каждая сеть будет генерировать определенную часть выходов. Элементы вектора входа передаются в сеть через матрицу весов W, имеющую вид:
. (2.6)
Заметим, что индексы строк матрицы W указывают адресатов (пункты назначения) весов нейронов, а индексы столбцов – какой источник является входом для этого веса. Таким образом, элемент матрицы весов w12 = W(1, 2) определяет коэффициент, на который умножается второй элемент входа при передаче его на первый нейрон.
Для однослойной сети с S нейронами укрупненная структурная схема показана
на рис. 2.9.
Рис. 2.9
Здесь p – вектор входа размера R×1, W – весовая матрица размера S×R, a, b, n – векторы размера S×1.
2.2.2. Многослойные сети
Рассмотрим сети, имеющие несколько слоев. Будем называть весовые матрицы, соединенные с входами, весами входа слоя, а весовые матрицы для сигналов, исходящие из слоя, назовем весами выхода слоя. Далее, будем использовать верхние индексы, чтобы указать источник и адресат для различных весов и других элементов нейронной сети. Чтобы пояснить это, рассмотрим сначала только один, первый слой многослойной сети (рис. 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.
2.2.3. Сети с прямой передачей сигнала
Однослойная сеть с S нейронами с функциями активации logsig, имеющая R входов, показана на рис. 2.14.
Рис. 2.14
Эта сеть, не имеющая обратных связей, называется сетью с прямой передачей сигнала. Такие сети часто имеют один или более скрытых слоев нейронов с сигмоидальными функциями активации, в то время как выходной слой содержит нейроны с линейными функциями активации. Сети с такой архитектурой могут воспроизводить весьма сложные нелинейные зависимости между входом и выходом сети.
Для пояснения обозначений в многослойных нейронных сетях внимательно изучите двухслойную сеть, показанную на рис. 2.15
Рис. 2.15
Эта сеть может быть использована для аппроксимации функций. Она может достаточно точно воспроизвести любую функцию с конечным числом точек разрыва, если задать достаточное число нейронов скрытого слоя.
|
|
|