универсальная теорема
аппроксимации
(Hornik et al., 1989; Cybenko, 1989) утверждает, что сеть прямого
распространения с линейным выходным слоем и, по крайней мере, одним скрытым
слоем с произвольной «сплющивающей» функцией активации (такой, например, как
логистическая сигмоида) может аппроксимировать любую измеримую по Борелю
функцию, отображающую одно конечномерное пространство в другое с любой точ-
ностью, при условии что в сети достаточно скрытых блоков. Производные сети прямо-
го распространения могут также аппроксимировать производные функции с любой
точностью (Hornik et al., 1990). Понятие измеримости по Борелю выходит за рамки
этой книги; нам достаточно знать, что любая непрерывная функция на замкнутом
ограниченном подмножестве
ℝ
n
измерима по Борелю и потому может быть аппрок-
симирована нейронной сетью. Нейронная сеть также может аппроксимировать про-
извольную функцию, отображающую одно конечномерное дискретное пространство
в другое. Хотя первоначально эти теоремы были доказаны в терминах блоков с функ-
циями активации, которые насыщаются при стремлении аргумента к бесконечности
любого знака, универсальные теоремы аппроксимации справедливы также для бо-
лее широкого класса функций активации, включающего ныне широко используемые
блоки линейной ректификации (Leshno et al., 1993).
Универсальная теорема аппроксимации означает, что какой бы ни была обучаемая
функция, найдется достаточно большой МСП, способный ее
представить
. Однако не
Проектирование архитектуры
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-блоков) могут
Do'stlaringiz bilan baham: |