Что означает «степень свободы» в нейронных сетях?

17

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

Альтернативой регуляризации как способу управления эффективной сложностью сети является процедура ранней остановки. Обучение нелинейным сетевым моделям соответствует итеративному уменьшению функции ошибки, определенной в отношении набора обучающих данных. Для многих из алгоритмов оптимизации, используемых для обучения сети, таких как сопряженные градиенты, ошибка является нерастущей функцией индекса итерации. Однако ошибка, измеренная по отношению к независимым данным, обычно называемым набором проверки, часто сначала показывает уменьшение, а затем увеличение, когда сеть начинает переполняться. Поэтому обучение может быть остановлено в точке наименьшей ошибки по отношению к набору данных проверки, как показано на рисунке 5.12, для того, чтобы получить сеть с хорошими характеристиками обобщения.Поведение сети в этом случае иногда качественно объясняется с точки зрения эффективного числа степеней свободы в сети, при котором это число начинается с малого, а затем увеличивается в процессе обучения, что соответствует устойчивому увеличению эффективного сложность модели.

Это также говорит о том, что количество параметров растет в процессе обучения. Я предполагал, что под «параметрами» он подразумевает количество весов, контролируемых скрытыми единицами сети. Может быть, я ошибаюсь, потому что веса не могут увеличиться в результате процесса регуляризации, но их количество не меняется. Может быть, речь идет о процессе поиска большого количества скрытых юнитов?

Какая степень свободы в нейронной сети? Какие параметры увеличиваются во время тренировки?

Роберт Смит
источник
1
Номенклатура. Параметр - это один вес. Увеличение количества параметров означает, что количество «нейронов» или «связей между нейронами» увеличивается. Это означает, что топология непостоянна.
EngrStudent - Восстановить Монику
Благодарность! Но тогда почему тренировка увеличивает количество гирь?
Роберт Смит
На самом деле существуют обучающие алгоритмы, которые манипулируют структурой нейронной сети во время обучения (Cascade Correlation, NEAT, ...). Они обычно постоянно увеличивают количество гирь. Но я не думаю, что Бишоп упоминает об этом в своей книге.
Альфа
@alfa Интересно. Я еще не прочитал всю книгу, поэтому я не знаю, упоминает ли она подобные алгоритмы. Я не думаю, что это относится к ним в этом разделе книги, хотя.
Роберт Смит

Ответы:

12

Я подозреваю, что это означает, что епископ:

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

Марк Шиверс
источник
Спасибо за ваш ответ. Я добавил соответствующую часть книги в виде цитаты, чтобы вы могли видеть контекст. Не уверен, если это подтверждает ваше предложение, хотя.
Роберт Смит
Да, это подтверждает то, что, как я думал, имел в виду Бишоп.
Марк Шиверс
Прочитав ваш ответ пару раз, я думаю, что по мере того, как тренинг прогрессирует, и модель начинает переоснащаться, число функций, которые модель может аппроксимировать, фактически уменьшается, потому что она будет очень хорошо аппроксимировать точки из данных тренировки, но ее прогнозы победили. не может быть хорошим, поскольку он не может обобщать, чтобы соответствовать другим точкам или подобным наборам данных.
Роберт Смит
4

Фраза «иногда объясняется качественно» предполагает, что он просто проводит аналогию с простой линейной регрессией. Каждый раз, когда мы добавляем термин в модель линейной регрессии, мы добавляем в модель степень свободы и вычитаем степень свободы из тех, которые связаны с термином ошибки. Если мы поместим достаточное количество независимых терминов в модель, мы сможем идеально «предсказать» историю из набора случайных чисел, но мы не сможем предсказать будущее.

Эмиль Фридман
источник
3

пп, Для более сложных моделей (вы рассматривали деревья регрессии) возможность добавления дополнительного узла обеспечивает большую гибкость, поскольку модель CART будет искать хорошую переменную для разделения и хорошую точку разделения. Это гораздо больше, чем может сделать добавление регрессора к линейной модели, и Вы обнаружили, что деревья регрессии потребляют около 3,5-4 dfs на узел. Нейронные сети могут быть где-то посередине, но степени свободы, несомненно, намного больше, чем количество единиц, и могут быть больше, чем количество весов.

Я думаю, что нечто подобное было предоставлено HTF Sec. 7.6 , хотя они на удивление не относятся к Ye (1998). Тем не менее, они относятся к епископу как к особому случаю.

Stask
источник
1
Благодарю. Это кажется правильным, но как насчет связи с обучением нейронной сети? Я нашел в разделе «Элементы статистического обучения» на странице 96 ( docs.google.com/… ) выражение, связывающее степени свободы и ковариации, и я понимаю, почему дополнительное обучение уменьшит функцию ошибки и, как следствие, увеличит ковариацию и степени свободы. Однако я не понимаю, почему это уравнение (3.60 в книге) выполняется.
Роберт Смит
Кстати, это также кажется немного отличным от определения (обобщенных) степеней свободы, о котором говорилось в статье Е.
Роберт Смит
1
Я думаю, что вы можете думать об этой ковариации как о грубой версии производной ... или, может быть, наоборот: производную, определяемую как предел, когда размер шага стремится к нулю, можно рассматривать как плиму эта ковариация как дисперсия возмущения стремится к нулю. Уравнение (3.60) не должно выполняться, это определение , так что нечего держать. Что имеет место, так это эквивалентность стандартному определению dfs для линейных моделей, которые они кратко упоминают на следующей странице, и это просто линейная алгебра линейных моделей. Вы (1998) тоже должны об этом говорить.
StasK
3

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

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

p(D|w)=np(tn|xn,w)=nexp(β2[tny(xn,w)]2)/ZD(β)
wZD(β)

p(w)=exp(α||w||22)/ZW(α)
MAP is defined as argmaxwp(w|D). Using Bayes' theorem,

p(w|D)=p(D|w)p(w)
If you substitute the above expressions and take logarithms you end up with (the Z's do not depend on w),

argminwnβ2[tny(xn,w)]2+α2iwi2

More generally, you have that the MAP estimate is equivalent to the following,

wMAP=argminwlog2P(D|w)log2(w)

The right hand side of the expression can be interpreted as the number of bits necessary to describe your classifier. The first term represent the number of bits necessary to code the errors your network does on the training data. The second represents the number of bits necessary to code the weights.

The MAP estimate is thus equivalent to choosing the most compact representation possible. In other words, you look for the set of weights which account for the training data as faithfully as possible which can be expressed with the least number of bits.

Notice that this is another form of the bias/variance problem: the bigger the weights, the lower the first term, because the network can fit the training data better (overfitting). But at the same time the higher the complexity of weights. The smaller the weights, the smaller the complexity of the network, but the higher the error term (bias). The higher the number of bits necessary to code the errors of the network.

Hope this gives you an good enough idea of what he is referring to.

P.S. adding a longer argument to the ongoing discussion Maybe I misunderstand you. Let me please try to explain myself a last time.

The prior on the weights means represent the assumption we make about the function you want to fit. The bigger the prior (i.e. the weights) the broader the Gaussian, i.e. the more possible configurations one considers to fit the network.

Let us consider the case of regression (as in the paper I referred to). Low generalization error means that the network is able to map unseen samples very close to the actual values. If you are fitting a straight line, then a first order polynomial suffices (low complexity). Now, you could also fit the data with a higher order polynomial (let higher order coefficients be different from zero). The complexity of the network is higher because you allow for oscillations, for a more complex curve. Nevertheless, if the coefficients corresponding to higher order terms are low enough, the network can approximate the straight line very well, thus resulting in good generalization.

So the whole point of MDL is to make your weights as small as possible, as long as the generalization error can me minimized along.

Finally, quoting you: "I still find troublesome the argument that as the model starts to overfit, its capabilities to model other functions will increase. I think that's quite the opposite because a model that overfits, can't generalize to be applied to new information.". Yes, it can model OTHER, more complex functions, but it will fail to model the function at hand properly. In the figure 5.12 in the book, the error first declines, as the size of the weight increases (reduction in bias). Up to a given point when it starts to increase again (decrease in generalization, overfit).

jpmuc
источник
1
Thanks. This is similar to the idea of Marc, however, I still find troublesome the argument that as the model starts to overfit, its capabilities to model other functions will increase. I think that's quite the opposite because a model that overfits, can't generalize to be applied to new information.
Robert Smith
1
Robert, I believe that is some misunderstading of what generalization error means vs. complexity of the network, i.e. the ability to model more complex functions. There are a number of papers describing the different terms, like cbcl.mit.edu/projects/cbcl/publications/ps/….
jpmuc
I don't think there is confusion when the term "complexity" is used because if you have a bunch of weights with crazy values, that makes the model very complex and you can immediately tell by the resulting plot. On the other hand, being able to manage a wide set of functions requires a model capable of generalize well from the data which can be obtained by avoiding overfitting.
Robert Smith