Проектирование архитектуры
175
гарантируется, что алгоритм обучения сможет эту функцию
обучить
. Даже если МСП
может представить функцию, обучение может оказаться невозможным по двум причи-
нам. Во-первых, применяемый при обучении алгоритм оптимизации может не найти
соответствующие ей значения параметров. Во-вторых, из-за переобучения алгоритм
оптимизации может выбрать не ту функцию. Напомним (раздел 5.2.1), что согласно
теореме об отсутствии бесплатных завтраков не существует универсального верхов-
ного алгоритма машинного обучения. Сети прямого распространения являются уни-
версальной системой представления функций в том смысле, что для любой заданной
функции найдется аппроксимирующая ее сеть. Но не существует универсальной про-
цедуры исследования набора конкретных обучающих примеров и выбора функции,
которая хорошо обобщалась бы на примеры, не принадлежащие этому набору.
По универсальной теореме аппроксимации, существует достаточно большая сеть,
аппроксимирующая функцию с любой точностью, но
теорема ничего не говорит
о том, насколько велика эта сеть. В работе Barron (1993) даны верхние границы раз-
мера сети с одним уровнем, необходимой для аппроксимации широкого класса функ-
ций. К сожалению, в худшем случае может понадобиться экспоненциальное число
скрытых блоков (возможно, по одному скрытому
блоку на каждую нуждающуюся
в различении конфигурацию входов). Проще всего убедиться в этом в бинарном слу-
чае: число возможных бинарных функций от векторов
v
∈
{0, 1}
n
равно 2
2
n
, и для вы-
бора одной такой функции нужно 2
n
бит, так что в общем случае необходимо
O
(2
n
)
степеней свободы.
Короче говоря, сети прямого распространения с одним слоем достаточно для пред-
ставления любой функции, но этот слой может оказаться невообразимо большим,
не поддающимся обучению и плохо обобщающимся. Во
многих случаях примене-
ние глубоких моделей позволяет уменьшить число необходимых блоков и величину
ошибки обобщения.
Различные семейства функций можно эффективно аппроксимировать с помощью
архитектуры с глубиной, большей некоторой величины
d
, но требуется гораздо боль-
шая по размеру модель, если глубина должна быть меньше или равна
d
. Во многих слу-
чаях количество скрытых блоков, необходимое «мелкой» модели, экспоненциально
зависит от
n
. Подобные результаты сначала были доказаны для моделей, ничем не на-
поминающих непрерывные дифференцируемые нейронные сети, применяемые в ма-
шинном обучении, но затем обобщены и на такие модели. Первые результаты были
получены для электрических схем, состоящих из логических вентилей (H
å
stad, 1986).
Впоследствии они были обобщены на линейные пороговые
блоки с неотрицатель-
ными весами (H
å
stad and Goldmann, 1991; Hajnal et al., 1993), а еще позже – на сети
с непрерывными функциями активации (Maass, 1992; Maass et al., 1994). Во многих
современных нейронных сетях используются блоки линейной ректификации. В рабо-
те Leshno et al. (1993) показано, что мелкие сети с широким классом неполиномиаль-
ных функций активации, включающим и блоки линейной ректификации, обладают
свойствами универсальной аппроксимации, но эти результаты не затрагивают вопроса
о глубине или эффективности – они утверждают лишь, что с помощью достаточно
большой сети ректификаторов можно представить произвольную функцию. В рабо-
те Montufar et al. (2014) показано, что для функций, представимых глубокой сетью
ректификаторов, может потребоваться экспоненциальное число скрытых блоков, если
сеть мелкая (один скрытый слой). Точнее, показано, что кусочно-линейные сети (по-
лучаемые с помощью нелинейностей типа ректификаторов или maxout-блоков) могут