Можно ли (теоретически) обучить нейронную сеть с меньшим количеством тренировочных выборок, чем весами?


12

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

Но мне было интересно: возможно ли теоретически обучить нейронную сеть с меньшим количеством обучающих выборок, чем веса, если я считаю свою задачу достаточно «простой»? Кто-нибудь знает пример, где это сработало? Или эта сеть почти наверняка будет работать плохо?

Если я рассмотрю, например, полиномиальную регрессию, я не смогу подогнать полином 4 степени (т.е. с 5 свободными параметрами) только на 4 точках данных. Существует ли подобное правило для нейронных сетей, считая мое количество весов количеством свободных параметров?


Да: если веса инициализируются случайным образом, теоретически возможно получить отлично обученную нейронную сеть даже с нулевыми обучающими выборками. (Публикация в виде комментария, а не ответа, поскольку я знаю, что это не совсем то, о чем вы спрашиваете.)
Даррен Кук

Ответы:


17

Люди делают это постоянно с большими сетями. Например, знаменитая сеть AlexNet имеет около 60 миллионов параметров, в то время как в ImageNet ILSVRC, на котором она изначально была обучена, есть только 1,2 миллиона изображений.

Причина, по которой вы не подгоняете 5-параметрический полином к 4 точкам данных, заключается в том, что он всегда может найти функцию, которая точно соответствует вашим точкам данных, но делает бессмысленные вещи в других местах. Что ж, как было отмечено недавно , AlexNet и подобные сети могут использовать произвольные случайные метки, примененные к ImageNet, и просто запомнить их все, предположительно, потому что они имеют намного больше параметров, чем тренировочные точки. Но кое-что о априорах сети в сочетании с процессом оптимизации стохастического градиентного спуска означает, что на практике эти модели все еще могут хорошо обобщать новые точки данных, когда вы присваиваете им реальные метки. Мы до сих пор не понимаем, почему это происходит.


2
+1. Могу ли я добавить, что для сравнения с полиномиальной регрессией я бы также посчитал, что выборки очень размерны. Среднее разрешение изображения в ImageNet составляет около 469x387 пикселей. Если обрезать его до 256x256, у нас будет 1,2 миллиона 65k входных параметров, которые сильно коррелированы в каждом образце, что обеспечивает намного больше информации для нейронной сети (и особенно для сверточного NN). чем в случае полиномиальной регрессии.
jjmontes

3
@jjmontes верно, но главная загадка в том, что эти сети способны как запоминать, так и обобщать (хорошо). Другими словами, они могут разбить тренировочные данные случайными метками и все же хорошо обобщать. Это не то, что можно увидеть в традиционных методах ОД.
Амелио Васкес-Рейна

6

Недоопределенные системы недоопределены, только если вы не налагаете никаких других ограничений, кроме данных. Придерживаясь вашего примера, подгоняя 4-градусный полином к 4 точкам данных, вы получаете одну степень свободы, не ограниченную данными, что дает вам линию (в пространстве коэффициентов) одинаково хороших решений. Однако вы можете использовать различные методы регуляризации для решения проблемы. Например, налагая штраф на L2-норму (то есть сумму квадратов) коэффициентов, вы гарантируете, что всегда есть одно уникальное решение с самой высокой степенью пригодности.

Методы регуляризации также существуют для нейронных сетей, поэтому краткий ответ на ваш вопрос «да, вы можете». Особый интерес представляет метод, называемый «отбрасывание», при котором для каждого обновления весов вы случайным образом «отбрасываете» определенное подмножество узлов из сети. То есть для этой конкретной итерации алгоритма обучения вы притворяетесь, что эти узлы не существуют. Без исключения сеть может выучить очень сложные представления входных данных, которые зависят от правильной работы всех узлов. Такие представления, скорее всего, будут «запоминать» обучающие данные, а не находить обобщающие шаблоны. Выпадение гарантирует, что сеть не может использовать все узлы одновременно, чтобы соответствовать обучающим данным; он должен уметь хорошо представлять данные, даже если некоторые узлы отсутствуют,

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


2
Возможно, это преувеличивает роль, которую явная регуляризация играет в глубоких сетях: в этой статье, на которую я ссылался в своем ответе, показаны выпадение и другие формы регуляризации, оказывающие лишь небольшое влияние на то, сколько сеть может запомнить. Может быть, однако, что ваша основная история верна, но основная регуляризация в игре - неявная от SGD; это все еще немного мутно.
Дугал
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.