Прежде всего: я знаю, что для обучения нейронной сети нет общего количества выборок. Это зависит от слишком многих факторов, таких как сложность задачи, шум в данных и так далее. И чем больше у меня будет обучающих образцов, тем лучше будет моя сеть.
Но мне было интересно: возможно ли теоретически обучить нейронную сеть с меньшим количеством обучающих выборок, чем веса, если я считаю свою задачу достаточно «простой»? Кто-нибудь знает пример, где это сработало? Или эта сеть почти наверняка будет работать плохо?
Если я рассмотрю, например, полиномиальную регрессию, я не смогу подогнать полином 4 степени (т.е. с 5 свободными параметрами) только на 4 точках данных. Существует ли подобное правило для нейронных сетей, считая мое количество весов количеством свободных параметров?
Ответы:
Люди делают это постоянно с большими сетями. Например, знаменитая сеть AlexNet имеет около 60 миллионов параметров, в то время как в ImageNet ILSVRC, на котором она изначально была обучена, есть только 1,2 миллиона изображений.
Причина, по которой вы не подгоняете 5-параметрический полином к 4 точкам данных, заключается в том, что он всегда может найти функцию, которая точно соответствует вашим точкам данных, но делает бессмысленные вещи в других местах. Что ж, как было отмечено недавно , AlexNet и подобные сети могут использовать произвольные случайные метки, примененные к ImageNet, и просто запомнить их все, предположительно, потому что они имеют намного больше параметров, чем тренировочные точки. Но кое-что о априорах сети в сочетании с процессом оптимизации стохастического градиентного спуска означает, что на практике эти модели все еще могут хорошо обобщать новые точки данных, когда вы присваиваете им реальные метки. Мы до сих пор не понимаем, почему это происходит.
источник
Недоопределенные системы недоопределены, только если вы не налагаете никаких других ограничений, кроме данных. Придерживаясь вашего примера, подгоняя 4-градусный полином к 4 точкам данных, вы получаете одну степень свободы, не ограниченную данными, что дает вам линию (в пространстве коэффициентов) одинаково хороших решений. Однако вы можете использовать различные методы регуляризации для решения проблемы. Например, налагая штраф на L2-норму (то есть сумму квадратов) коэффициентов, вы гарантируете, что всегда есть одно уникальное решение с самой высокой степенью пригодности.
Методы регуляризации также существуют для нейронных сетей, поэтому краткий ответ на ваш вопрос «да, вы можете». Особый интерес представляет метод, называемый «отбрасывание», при котором для каждого обновления весов вы случайным образом «отбрасываете» определенное подмножество узлов из сети. То есть для этой конкретной итерации алгоритма обучения вы притворяетесь, что эти узлы не существуют. Без исключения сеть может выучить очень сложные представления входных данных, которые зависят от правильной работы всех узлов. Такие представления, скорее всего, будут «запоминать» обучающие данные, а не находить обобщающие шаблоны. Выпадение гарантирует, что сеть не может использовать все узлы одновременно, чтобы соответствовать обучающим данным; он должен уметь хорошо представлять данные, даже если некоторые узлы отсутствуют,
Также обратите внимание, что при использовании отсева степени свободы в любой заданной точке во время обучения могут фактически быть меньше, чем количество тренировочных выборок, даже если в целом вы изучаете больше весов, чем тренировочных выборок.
источник