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

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

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

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

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

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

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

для любых объектов xx из единичного куба: 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 раза меньше, чем в 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 polynomial activation function can approximate any function.” Neural Networks 6:861–867.