Архитектура нейронной сети

Два или больше из нейронов, показанных ранее, могут быть объединены в слое, и конкретная сеть могла содержать один или несколько таких слоев. Сначала рассмотрите единственный слой нейронов.

Один слой нейронов

Сеть с одним слоем с элементами входа R и нейронами S следует.

В этой сети каждый элемент входного вектора p соединяется с каждым входом нейрона через матрицу W веса. i th нейрон имеет лето, которое собирает его взвешенные входные параметры и смещение, чтобы сформировать его собственный скалярный вывод n (i). Различный n (i), взятый вместе, формирует S - элемент сетевой входной вектор n. Наконец, слой нейрона выходные параметры формирует вектор-столбец a. Выражение для показанного в нижней части фигуры.

Обратите внимание на то, что количеству входных параметров к слою свойственно отличаться от количества нейронов (т.е. R не обязательно равен S). Слой не ограничивается иметь количество своих входных параметров, равных количеству его нейронов.

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

Элементы входного вектора вводят сеть через матрицу W веса.

W=[w1,1w1,2w1,Rw2,1w2,2w2,RwS,1wS,2wS,R]

Обратите внимание на то, что индексы строки на элементах матрицы W указывают на целевой нейрон веса, и индексы столбца указывают, какой источник является входом для того веса. Таким образом индексы в w 1,2 говорят, что силой сигнала от второго входного элемента до первого (и только) нейрон является w 1,2.

Нейрон S R - входная сеть одного слоя также может чертиться в сокращенном обозначении.

Здесь p является R - входным вектором длины, W является S × матрица R, a, и b является S - векторы длины. Как задано ранее, слой нейрона включает матрицу веса, операции умножения, вектор смещения b, лето и блоки передаточной функции.

Входные параметры и слои

Чтобы описать сети, имеющие несколько слоев, обозначение должно быть расширено. А именно, это должно сделать различие между матрицами веса, которые соединяются с входными параметрами и матрицами веса, которые соединяются между слоями. Это также должно идентифицировать источник и место назначения для матриц веса.

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

Как вы видите, матрица веса, соединенная с входным вектором p, маркирована как входная матрица (IW1,1) веса, имеющая источник 1 (второй индекс) и место назначения 1 (первый индекс). Элементы слоя 1, такие как его смещение, сетевой вход и вывод имеют верхний индекс 1, чтобы сказать, что они сопоставлены с первым слоем.

Несколько Слоев Нейронов используют матрицы веса слоя (LW), а также матрицы входного веса (IW).

Несколько слоев нейронов

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

Сеть, показанная выше, имеет R 1 входные параметры, S 1 нейрон в первом слое, S 2 нейрона во втором слое, и т.д. Различным слоям свойственно иметь различные количества нейронов. Постоянный вход 1 питается смещение для каждого нейрона.

Обратите внимание на то, что выходные параметры каждого промежуточного слоя являются входными параметрами к следующему слою. Таким образом слой 2 может анализироваться как сеть с одним слоем с S 1 входные параметры, S 2 нейрона и S 2 × S 1 матрица W2 веса. Вход к слою 2 является a1; вывод является a2. Теперь, когда все векторы и матрицы слоя 2 были идентифицированы, он может быть обработан как одноуровневая сеть самостоятельно. Этот подход может быть проявлен с любым слоем сети.

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

Архитектура многоуровневой сети с одним входным вектором может быть задана с обозначением RS 1S 2 −...− SM, где число элементов входного вектора и количество нейронов в каждом слое заданы.

Та же сеть с тремя слоями может также чертиться с помощью сокращенного обозначения.

Многоуровневые сети довольно мощны. Например, сеть двух слоев, где первый слой сигмоидален и второй слой, линейна, может быть обучен аппроксимировать любую функцию (с конечным числом разрывов) произвольно хорошо. Этот вид сети 2D слоя используется экстенсивно в Многоуровневых Мелких Нейронных сетях и Обучении Обратной связи.

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

Функции обработки ввода и вывода

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

Например, mapminmax преобразовывает входные данные так, чтобы все значения попали в интервал [−1, 1]. Это может ускорить изучение для многих сетей. removeconstantrows удаляет строки входного вектора, которые соответствуют входным элементам, которые всегда имеют то же значение, потому что эти входные элементы не предоставляют полезной информации сети. Третьей общей функцией обработки является fixunknowns, который перекоды неизвестные данные (представлял в данных пользователя со значениями NaN) в числовую форму для сети. fixunknowns сохраняет информацию, о которой известны значения и которые неизвестны.

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

И mapminmax и removeconstantrows часто сопоставляются с сетевыми выходными параметрами. Однако fixunknowns не. Неизвестные значения в целях (представленный значениями NaN) не должны быть изменены для сетевого использования.

Обрабатывающие функции описаны более подробно в, Выбирают Neural Network Input-Output Processing Functions.

Похожие темы