Моделирующие способности нейросети
Двухслойный персептрон
Сколько слоёв достаточно для моделирования произвольной регрессионной или классификационной зависимости? Теоретические результаты в статьях [1-4] показывают, что 2-х слойная нейросеть является универсальным аппроксиматором, т.е. способной приблизить любую регулярную зависимость для широкого класса функций активации, включая все изуче нные, кроме тождественной.
В частности, в статье [2] доказывается теорема:
Теорема (Цыбенко, 1989): Для любой непрерывной функции и для любого найдётся число и числа , , , для которых
для любых объектов из единичного куба: .
Таким образом, двухслойной сети с сигмоидными функциями активации достаточно, чтобы с любой заданной точностью моделировать любую непрерывную функцию в ограниченной (компактной) области. Аналогичные утверждения справедливы и для других нелинейных функций активации.
В этом можно убедиться на практике, моделируя, например, такую нелинейную целевую функцию:
Попробуем её приближать с помощью 2-х слойного персептрона c нейронами на скрытом слое, использующих активации LeakyReLU:
При (число параметров модели - 21) получаем не очень точную аппроксимацию:
При K=50 (у модели уже 201 параметров) качество аппроксимации вырастает:
При (60001 параметров) получим очень высокое качество:
Оно всё же пока неидеальное - см. аппроксимацию чёрной звезды в центре изображения, но может и дальше улучшаться за счёт дальнейшего повышения .
Глубокие нейросети
Применим принцип глубокого обучения, когда признаки автоматически настраиваются для итоговой прогностической модели. Для этого применим 5-слойный персептрон с 360, 80, 20, 5, 1 нейронами на слоях и активациями LeakyReLU (кроме выходного слоя с тождественной активацией).
Получим ещё более качественную аппроксимацию (например, чёрная звезда в центре аппроксимируется лучше):
По формальным критериям (RMSE) качество выросло более, чем в 3 раза, при этом в модели настраивался всего 31691 параметр - почти в 2 раза меньше, чем в 2-х слойном персептроне с максимальным числом нейронов!
Это объясняется тем, что если неглубокой сети приходилось генерировать много простых признаков (грубо говоря, выделяющих полуплоскости), то в глубокой сети признаки получаются более интеллектуальные (выделяющие более сложные фигуры), за счёт чего исходную функцию удалось качественно приблизить меньшим числом таких признаков. Также в неглубокой сети простые признаки комбинировались лишь линейно, в то время как в глубокой сети высокоуровневые признаки переиспользовались нелинейно много раз. Это позволило описать сложную закономерность более экономично.
Извлечение сложных высокоуровневых признаков, позволяющих компактно описать сложные зависимости в данных называется обучением представлений (representation learning).
Литература
-
Funahashi, K. 1989. “On the approximate realization of continuous mappings by neural networks.” Neural Networks 2 (3): 183–192.
-
Cybenko, G. 1989. “Approximation by superpositions of a sigmoidal function.” Mathematics of Control, Signals and Systems 2:304–314.
-
Hornik, K., M. Stinchcombe, and H. White. 1989. “Multilayer feedforward networks are universal approximators.” Neural Networks 2 (5):359–366.
-
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.