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

В этой сети каждый элемент входного вектора p соединен с каждым входом нейрона через весовую матрицу W. i-й нейрон имеет сумматор, который собирает его взвешенные входы и смещение, чтобы сформировать свой собственный скалярный выход n (i). Различные n (i), взятые вместе, образуют S-элементный сетевой входной вектор N. Наконец, выходы нейронного слоя образуют вектор-столбец A. Выражение для a показано в нижней части фигуры.
Заметим, что обычно количество входов в слой отличается от числа нейронов (то есть R не обязательно равно S). Слой не ограничен тем, чтобы количество его входов было равно числу его нейронов.
Вы можете создать один (составной) слой нейронов, имеющих различные передаточные функции, просто поставив две из сетей, показанных ранее, параллельно. Обе сети будут иметь одинаковые входы, и каждая сеть будет создавать некоторые выходы.
Элементы входных векторов поступают в сеть через весовую матрицу W.
1wS, 2... wS, R]
Следует отметить, что индексы строк на элементах матрицы W указывают целевой нейрон веса, а индексы столбцов указывают, какой источник является входным для этого веса. Таким образом, индексы в w1,2 говорят, что сила сигнала от второго входного элемента к первому (и единственному) нейрону составляет w1,2.
S нейрон R-входная однослойная сеть также может быть нарисована в сокращенном обозначении.

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

Как можно видеть, весовая матрица, соединенная с входным вектором p, помечена как входная весовая матрица (IW1,1), имеющая источник 1 (второй индекс) и назначение 1 (первый индекс). Элементы слоя 1, такие как его смещение, сетевой вход и выход, имеют верхний индекс 1, чтобы сказать, что они связаны с первым слоем.
Множественные слои нейронов используют матрицы веса слоя (LW), а также матрицы входного веса (IW).
Сеть может иметь несколько уровней. Каждый слой имеет весовую матрицу W, вектор смещения b и выходной вектор A. Для различения весовых матриц, выходных векторов и т.д. для каждого из этих слоев на чертежах номер слоя добавляется в виде надстрочного индекса к интересующей переменной. Можно увидеть использование этой нотации слоя в трехслойной сети, показанной ниже, и в уравнениях в нижней части рисунка.

Сеть, показанная выше, имеет R1 входов, S1 нейронов в первом уровне, S2 нейронов во втором уровне и т.д. Обычно различные слои имеют разное количество нейронов. Постоянный вход 1 подается на смещение для каждого нейрона.
Следует отметить, что выходы каждого промежуточного уровня являются входами следующего уровня. Таким образом слой 2 может быть проанализирован как сеть с одним слоем с исходными данными S1, нейронами S2 и матрицей веса S2 × S1 W2. Вход на слой 2 равен а1; выходной сигнал - a2. Теперь, когда все векторы и матрицы уровня 2 идентифицированы, они могут рассматриваться как однослойная сеть самостоятельно. Этот подход может применяться к любому уровню сети.
Уровни многоуровневой сети играют разные роли. Уровень, который создает сетевой выход, называется выходным уровнем. Все остальные слои называются скрытыми. Трехслойная сеть, показанная ранее, имеет один выходной уровень (уровень 3) и два скрытых уровня (уровень 1 и уровень 2). Некоторые авторы называют входные данные четвертым слоем. Эта панель инструментов не использует это обозначение.
Архитектура многослойной сети с единственным входным вектором может быть задана обозначением R − S1 − S2 −... СМ, где указано количество элементов входного вектора и количество нейронов в каждом слое.
Та же трехслойная сеть также может быть нарисована с использованием сокращенного обозначения.

Многоуровневые сети достаточно мощны. Например, сеть из двух слоев, где первый слой является сигмоидальным, а второй слой является линейным, может быть обучена произвольно хорошо аппроксимировать любую функцию (с конечным числом разрывов). Этот вид двухслойной сети широко используется в многоуровневых неглубоких нейронных сетях и обучении обратному распространению.
Здесь предполагается, что выход третьего уровня, a3, является интересующим сетевым выходом, и этот выход помечен как y. Эта запись используется для указания выходных данных многоуровневых сетей.
Сетевые входы могут иметь связанные функции обработки. Функции обработки преобразуют пользовательские входные данные в форму, которая проще или эффективнее для сети.
Например, mapminmax преобразует входные данные таким образом, чтобы все значения попадали в интервал [− 1, 1]. Это может ускорить обучение для многих сетей .removeconstantrows удаляет строки вектора ввода, соответствующие элементам ввода, которые всегда имеют одно и то же значение, поскольку эти элементы ввода не предоставляют сети никакой полезной информации. Третья общая функция обработки - fixunknowns, который перекодирует неизвестные данные (представленные в данных пользователя с помощью NaN значения) в числовой форме для сети. fixunknowns сохраняет информацию о том, какие значения известны, а какие неизвестны.
Аналогично, сетевые выходы могут также иметь связанные функции обработки. Функции обработки вывода используются для преобразования предоставленных пользователем целевых векторов для использования в сети. Затем сетевые выходы обрабатывают в обратном порядке с использованием тех же функций для получения выходных данных с теми же характеристиками, что и исходные целевые объекты, предоставляемые пользователем.
Оба mapminmax и removeconstantrows часто связаны с сетевыми выходами. Однако fixunknowns нет. Неизвестные значения в целях (представлены NaN значения) не требуется изменять для использования в сети.
Функции обработки более подробно описаны в разделе Выбор функций обработки ввода-вывода нейронной сети.