Перейти к основному содержимому

Моделирующие способности нейросети

Двухслойный персептрон

Сколько слоёв достаточно для моделирования произвольной регрессионной или классификационной зависимости? Теоретические результаты в статьях [1-4] показывают, что 2-х слойная нейросеть является универсальным аппроксиматором, т.е. способной приблизить любую регулярную зависимость для широкого класса функций активации, включая все изученные, кроме тождественной.

В частности, в статье [2] доказывается теорема:

Теорема (Цыбенко, 1989): Для любой непрерывной функции f(x):RmRf(\mathbf{x}): \mathbb{R}^m \to \mathbb{R} и для любого ε>0\varepsilon>0 найдётся число NN, вектора w1,....wN\mathbf{w}_1,....\mathbf{w}_N и числа b1,...bNb_1,...b_N, α1,...αN\alpha_1,...\alpha_N, для которых

f(x)i=1Nαiσ(xTwi+bi)<ε\left| f(\mathbf{x})-\sum_{i=1}^N\alpha_i\sigma(\mathbf{x}^T w_i+b_i)\right|<\varepsilon

для любых объектов x\mathbf{x} из единичного куба: 0x11,0x21,...0xD10 \le x^1\le 1, 0 \le x^2\le 1, ... 0 \le x^D\le 1.

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

В этом можно убедиться на практике, моделируя, например, такую нелинейную целевую функцию:

Попробуем её приближать с помощью 2-х слойного персептрона c KK нейронами на скрытом слое, использующими активации LeakyReLU:

При K=5K=5 (число параметров модели - 21) получаем не очень точную аппроксимацию:

При K=50 (у модели уже 201 параметров) качество аппроксимации вырастает:

При K=15000K=15000 (60001 параметров) получим очень высокое качество:

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

Глубокие нейросети

Применим принцип глубокого обучения, когда признаки автоматически настраиваются для итоговой прогностической модели. Для этого применим 5-слойный персептрон с 360, 80, 20, 5, 1 нейронами на слоях и активациями LeakyReLU (кроме выходного слоя с тождественной активацией).

Получим ещё более качественную аппроксимацию (например, чёрная звезда в центре аппроксимируется лучше):

По формальным критериям (RMSE) качество выросло более, чем в 3 раза, при этом в модели настраивался всего 31691 параметр - почти в 2 раза меньше, чем в двухслойном персептроне с максимальным числом нейронов!

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

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

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

Литература

  1. Funahashi, K. 1989. “On the approximate realization of continuous mappings by neural networks.” Neural Networks 2 (3): 183–192.

  2. Cybenko, G. 1989. “Approximation by superpositions of a sigmoidal function.” Mathematics of Control, Signals and Systems 2:304–314.

  3. Hornik, K., M. Stinchcombe, and H. White. 1989. “Multilayer feedforward networks are universal approximators.” Neural Networks 2 (5):359–366.

  4. Leshno, M., V. Y. Lin, A. Pinkus, and S. Schocken. “Multilayer feedforward networks with a nonpolynomial activation function can approximate any function.” Neural Networks 6:861–867.