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

Полносвязная сеть

Полносвязная сеть (также полносвязный слой, плотный слой, от англ. fully connected layer, dense layer) — это тип архитектуры искусственной нейронной сети, в котором каждый нейрон одного слоя соединён с каждым нейроном следующего слоя. Такая сеть является частным случаем многослойного перцептрона и представляет собой базовый элемент большинства современных нейросетевых архитектур, особенно в задачах классификации и регрессии.

Структура и принцип работы

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

$$y = f\left(\sum_{i=1}^{n} w_i x_i + b\right)$$

где:

  • $x_i$ — входные сигналы от нейронов предыдущего слоя,
  • $w_i$ — весовые коэффициенты,
  • $b$ — смещение (bias),
  • $f$ — функция активации,
  • $y$ — выходное значение нейрона.

Количество соединений между двумя полносвязными слоями равно произведению числа нейронов в первом слое на число нейронов во втором. Например, слой из 100 нейронов, соединённый со слоем из 50 нейронов, образует 5000 синаптических связей.

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

Для внесения нелинейности в модель используются функции активации. Наиболее распространённые из них:

  • Сигмоида ($\sigma(x) = 1/(1+e^{-x})$) — преобразует входные значения в диапазон от 0 до 1, часто применяется в выходных слоях задач бинарной классификации.
  • Гиперболический тангенс ($\tanh(x)$) — выдаёт значения от -1 до 1, симметричен относительно нуля.
  • ReLU ($\max(0, x)$) — наиболее популярная функция в скрытых слоях благодаря простоте вычислений и устойчивости к проблеме исчезающего градиента.
  • Softmax — используется в выходном слое для многоклассовой классификации, преобразует выходные значения в вероятности, сумма которых равна 1.

Обучение полносвязной сети

Обучение полносвязной сети осуществляется методом обратного распространения ошибки (backpropagation). Процесс включает следующие этапы:

  1. Прямой проход — входные данные последовательно проходят через все слои сети, вычисляются выходные значения.
  2. Вычисление ошибки — разница между полученным выходом и целевым значением оценивается с помощью функции потерь (например, среднеквадратичная ошибка для регрессии или кросс-энтропия для классификации).
  3. Обратный проход — градиент ошибки распространяется от выходного слоя к входному, вычисляются частные производные по весам.
  4. Обновление весов — весовые коэффициенты корректируются в направлении, противоположном градиенту, с использованием алгоритма оптимизации (стохастический градиентный спуск, Adam, RMSprop и другие).

Ключевой особенностью полносвязных сетей является большое количество обучаемых параметров (весов и смещений), что делает их мощным, но склонным к переобучению инструментом. Для борьбы с переобучением применяются методы регуляризации: L1- и L2-регуляризация, dropout (случайное отключение части нейронов во время обучения), а также ранняя остановка обучения.

История и развитие

Полносвязные сети являются одной из первых и наиболее изученных архитектур нейронных сетей. Основы их теории были заложены в 1950–1960-х годах с созданием перцептрона Фрэнком Розенблаттом. Однако ограниченность однослойного перцептрона (неспособность решать задачу XOR) привела к временному спаду интереса.

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

С развитием вычислительных мощностей и появлением графических процессоров (GPU) в 2010-х годах стало возможным обучение глубоких полносвязных сетей с десятками слоёв. Однако в задачах обработки изображений, звука и текста полносвязные сети постепенно уступили место специализированным архитектурам — свёрточным нейронным сетям (CNN) для изображений и рекуррентным сетям (RNN) для последовательностей.

Применение

Несмотря на появление более эффективных архитектур для специфических задач, полносвязные сети остаются востребованными в следующих областях:

Классификация и регрессия

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

Задачи с табличными данными

Для структурированных данных (например, банковские транзакции, медицинские записи, данные опросов) полносвязные сети часто демонстрируют конкурентоспособные результаты по сравнению с градиентным бустингом (XGBoost, LightGBM), особенно при наличии больших объёмов данных.

Аппроксимация функций

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

Автоэнкодеры

Полносвязные сети лежат в основе классических автоэнкодеров — моделей, обучающихся сжимать и восстанавливать входные данные. Они применяются для уменьшения размерности признаков, шумоподавления и аномалийного детектирования.

Генеративные модели

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

Ограничения

Основными недостатками полносвязных сетей являются:

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

Современное состояние

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

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

В 2021 году исследователи из Google предложили архитектуру MLP-Mixer, которая использует только полносвязные слои для обработки изображений, демонстрируя конкурентоспособные результаты по сравнению со свёрточными сетями. Это показало, что полносвязные сети сохраняют потенциал для развития в новых архитектурных решениях.

Источники

  • Rumelhart D. E., Hinton G. E., Williams R. J. Learning representations by back-propagating errors // Nature. — 1986. — Vol. 323, № 6088. — P. 533–536.
  • Cybenko G. Approximation by superpositions of a sigmoidal function // Mathematics of Control, Signals and Systems. — 1989. — Vol. 2, № 4. — P. 303–314.
  • Goodfellow I., Bengio Y., Courville A. Deep Learning. — MIT Press, 2016.
  • Tolstikhin I. et al. MLP-Mixer: An all-MLP Architecture for Vision // Advances in Neural Information Processing Systems. — 2021. — Vol. 34.

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

На главную BFOmetr →