Открыть сервис

Нейронная сеть с прямой связью

Нейронная сеть с прямой связью (англ. feedforward neural network), также известная как многослойный перцептрон в узком смысле, — это тип искусственной нейронной сети, в которой связи между нейронами не образуют циклов. Информация в такой сети движется строго в одном направлении: от входного слоя через один или несколько скрытых слоёв к выходному слою. Это базовая и наиболее изученная архитектура в области машинного обучения, на основе которой построены более сложные модели, включая свёрточные и рекуррентные сети.

История

Концепция формального нейрона была предложена Уорреном Маккаллоком и Уолтером Питтсом в 1943 году. В 1958 году Фрэнк Розенблатт разработал перцептрон — однослойную сеть, способную к линейной классификации. Ограничения однослойного перцептрона, продемонстрированные Марвином Мински и Сеймуром Папертом в книге «Перцептроны» (1969), привели к временному спаду интереса к нейросетевым исследованиям.

Возрождение направления связано с алгоритмом обратного распространения ошибки, популяризированным в 1986 году Дэвидом Румельхартом, Джеффри Хинтоном и Рональдом Уильямсом. Этот алгоритм позволил эффективно обучать многослойные сети с прямой связью, что открыло путь к решению задач нелинейной классификации и регрессии. Дальнейшее развитие архитектуры привело к появлению глубоких сетей с десятками и сотнями слоёв, обучение которых стало возможным благодаря росту вычислительных мощностей и большим объёмам данных.

Архитектура и принцип работы

Сеть с прямой связью состоит из трёх основных типов слоёв:

  • Входной слой — принимает исходные данные (признаки объекта). Каждый нейрон соответствует одному признаку.
  • Скрытые слои — промежуточные слои, выполняющие нелинейное преобразование данных. Количество скрытых слоёв и нейронов в них определяет «глубину» и «ширину» сети.
  • Выходной слой — формирует результат: класс объекта, предсказанное число или вектор вероятностей.

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

Функции активации

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

  • Сигмоида — выдаёт значение в диапазоне от 0 до 1, применялась в ранних сетях.
  • Гиперболический тангенс (tanh) — выдаёт значение от −1 до 1.
  • ReLU (Rectified Linear Unit) — функция f(x) = max(0, x), наиболее популярна в современных сетях из-за простоты вычисления и устойчивости к проблеме затухания градиента.
  • Softmax — применяется в выходном слое для задач многоклассовой классификации, преобразует выходы в распределение вероятностей.

Обучение

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

Алгоритм обратного распространения ошибки

Алгоритм состоит из двух проходов:

  1. Прямой проход — данные подаются на вход, вычисляются выходы всех нейронов.
  2. Обратный проход — вычисляется градиент функции потерь по каждому параметру сети с использованием правила цепочки. Градиенты распространяются от выходного слоя к входному.

После вычисления градиентов параметры обновляются в направлении, противоположном градиенту. Процесс повторяется итеративно на множестве обучающих примеров (эпохах) до сходимости.

Переобучение и регуляризация

Сети с большим числом параметров склонны к переобучению — запоминанию обучающей выборки вместо обобщения. Методы борьбы:

  • Ранняя остановка — прекращение обучения при росте ошибки на валидационном множестве.
  • L1/L2-регуляризация — добавление штрафа за величину весов к функции потерь.
  • Dropout — случайное отключение части нейронов во время обучения.
  • Аугментация данных — искусственное расширение обучающей выборки.

Применение

Сети с прямой связью применяются в задачах, где данные можно представить в виде вектора фиксированной размерности:

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

Ограничения

Основное ограничение сетей с прямой связью — отсутствие памяти и нечувствительность к порядку входных данных. Они не приспособлены для работы с последовательностями (текст, речь, временные ряды) без специальных преобразований. Кроме того, при работе с изображениями большого размера они требуют огромного числа параметров, что делает их неэффективными по сравнению со свёрточными сетями. Глубокие сети с прямой связью также подвержены проблемам затухания или взрыва градиента, что затрудняет их обучение.

Литература

  • Хайкин С. Нейронные сети: полный курс, 2-е издание. — М.: Вильямс, 2006.
  • Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение. — М.: ДМК Пресс, 2017.
  • Розенблатт Ф. Принципы нейродинамики: перцептроны и теория механизмов мозга. — М.: Мир, 1965.
  • Rumelhart D. E., Hinton G. E., Williams R. J. Learning representations by back-propagating errors // Nature. — 1986. — Vol. 323.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →