O que significa "grau de liberdade" em redes neurais?


17

No livro de Bishop, "Classificação de padrões e aprendizado de máquina", descreve uma técnica para regularização no contexto de redes neurais. No entanto, não entendo um parágrafo descrevendo que, durante o processo de treinamento, o número de graus de liberdade aumente junto com a complexidade do modelo. A cotação relevante é a seguinte:

Uma alternativa à regularização como forma de controlar a complexidade efetiva de uma rede é o procedimento de parada antecipada. O treinamento de modelos de rede não lineares corresponde a uma redução iterativa da função de erro definida com relação a um conjunto de dados de treinamento. Para muitos dos algoritmos de otimização usados ​​no treinamento em rede, como gradientes conjugados, o erro é uma função não crescente do índice de iteração. No entanto, o erro medido em relação aos dados independentes, geralmente chamado de conjunto de validação, geralmente mostra uma diminuição no início, seguida de um aumento quando a rede começa a se ajustar demais. Portanto, o treinamento pode ser interrompido no menor erro em relação ao conjunto de dados de validação, conforme indicado na Figura 5.12, para obter uma rede com bom desempenho de generalização.O comportamento da rede, neste caso, às vezes é explicado qualitativamente em termos do número efetivo de graus de liberdade na rede, em que esse número começa pequeno e depois cresce durante o processo de treinamento, correspondendo a um aumento constante na eficiência complexidade do modelo.

Ele também diz que o número de parâmetros aumenta durante o curso do treinamento. Eu estava assumindo que por "parâmetros", ele se refere ao número de pesos controlados pelas unidades ocultas da rede. Talvez eu esteja errado porque os pesos são impedidos de aumentar em magnitude pelo processo de regularização, mas eles não mudam em número. Poderia estar se referindo ao processo de encontrar um bom número de unidades ocultas?

O que é um grau de liberdade em uma rede neural? Quais parâmetros aumentam durante o treinamento?


1
Nomenclatura. Um parâmetro é um único peso. O aumento do número de parâmetros significa que o número de "neurônios" ou "conexões entre neurônios" está aumentando. Isso significa que a topologia não é constante.
EngrStudent - Reinstate Monica

Obrigado! Mas então por que o treinamento aumenta o número de pesos?
Robert Smith

De fato, existem algoritmos de treinamento que manipulam a estrutura de uma rede neural durante o treinamento (Correlação em Cascata, NEAT, ...). Eles geralmente aumentam constantemente o número de pesos. Mas não acho que Bishop mencione isso em seu livro.
alfa

@alfa Interessante. Ainda não li o livro inteiro, então não sei se ele menciona esse tipo de algoritmo. Não acho que isso se refira a eles nesta seção do livro.
Robert Smith

Respostas:


12

Eu suspeito que é isso que Bishop quer dizer:

Se você pensa em uma rede neural como uma função que mapeia entradas para uma saída, quando você inicializa uma rede neural com pequenos pesos aleatórios, a rede neural se parece muito com uma função linear. A função de ativação sigmóide é quase linear em torno de zero (basta fazer uma expansão de Taylor), e os pequenos pesos recebidos garantirão que o domínio eficaz de cada unidade oculta seja apenas um pequeno intervalo em torno de zero, de modo que toda a rede neural, independentemente de quantas camadas que você possui, parecerá muito com uma função linear. Assim, você pode descrever heuristicamente a rede neural como tendo um pequeno número de graus de liberdade (igual à dimensão da entrada). À medida que você treina a rede neural, os pesos podem se tornar arbitrariamente grandes e a rede neural pode aproximar melhor funções não lineares arbitrárias. Assim, à medida que o treinamento avança,


Obrigado pela sua resposta. Eu adicionei a parte relevante do livro como uma citação, para que você possa ver o contexto. Não tenho certeza se isso confirma sua sugestão.
21713 Robert Smith

Sim, isso confirma o que eu pensei que Bishop quis dizer.
precisa

Lendo algumas vezes sua resposta, acho que, à medida que o treinamento avança e o modelo começa a se ajustar demais, o número de funções que o modelo pode aproximar é realmente reduzido, pois aproxima os pontos extremamente bons dos dados de treinamento, mas suas previsões vencem ' Não é bom, pois não é possível generalizar para ajustar outros pontos ou conjuntos de dados semelhantes.
Robert Smith

4

A frase "às vezes explicada qualitativamente" sugere que ele está apenas fazendo uma analogia à regressão linear simples. Cada vez que adicionamos um termo a um modelo de regressão linear, adicionamos um grau de liberdade ao modelo e subtraímos um grau de liberdade daqueles associados ao termo de erro. Se colocarmos termos independentes suficientes em um modelo, poderemos "predizer" a história perfeitamente a partir de um conjunto de números aleatórios, mas seremos totalmente incapazes de prever o futuro.


3

pp. Para modelos mais complicados (você considerou árvores de regressão), a capacidade de adicionar um nó extra fornece muito mais flexibilidade, pois o modelo CART procurará uma boa variável a ser dividida e um bom ponto de divisão. Isso é muito mais do que o que a adição de um regressor a um modelo linear pode fazer, e Ye descobriu que as árvores de regressão consumiam cerca de 3,5 a 4 dfs por nó. As redes neurais podem estar em algum lugar no meio, mas os graus de liberdade são certamente muito maiores que o número de unidades e podem ser maiores que o número de pesos.

Eu acho que algo semelhante foi fornecido pela HTF Sec. 7.6 , embora surpreendentemente não se refiram a Ye (1998). Eles se referem a Bishop como um caso especial, no entanto.


1
Obrigado. Parece certo, mas e a relação com o treinamento de uma rede neural? Encontrei em "Os elementos do aprendizado estatístico" na página 96 ( docs.google.com/… ) uma expressão que relaciona graus de liberdade e covariância e vejo por que mais treinamento reduziria a função de erro e, como conseqüência, aumentaria a covariância e graus de liberdade. No entanto, não entendo por que essa equação (3,60 no livro) se aplica.
Robert Smith

A propósito, também parece um pouco diferente da definição de graus (generalizados) de liberdade mencionados no artigo de Ye.
Robert Smith

1
Eu acho que você pode pensar nessa covariância como uma versão grosseira da derivada ... ou pode ser o contrário: a derivada, definida como o limite conforme o tamanho da etapa chega a zero, pode ser vista como a plim de essa covariância como a variação da perturbação chega a zero. A equação (3.60) não precisa ser mantida, é uma definição ; portanto, não há nada para manter. O que vale é a equivalência com a definição padrão de dfs para os modelos lineares que eles mencionam brevemente na próxima página, e isso é simplesmente a álgebra linear dos modelos lineares. Ye (1998) também deve falar sobre isso.
StasK:

3

Ele diz que a "complexidade efetiva da rede". Na verdade, ele se refere ao tamanho dos pesos da rede. Isso pode ser entendido em termos do princípio do comprimento mínimo da descrição . Mas, antes de entrar nisso, a intuição é que, quanto maiores os pesos, mais diferentes tipos de funções sua rede pode caber e, portanto, maiores os graus de liberdade (e complexidade efetiva).

Nesse capítulo, ele está falando sobre regularização, que é uma técnica para reduzir efetivamente o risco de sobreajuste, exigindo que os pesos sejam o menor possível. Em geral,

p(D|W)=np(tn|xn,W)=nexp(β2[tn-y(xn,W)]2)/ZD(β)
. OndeW é um vetor que contém todos os parâmetros que caracterizam seu algoritmo e ZD(β)é uma constante de normalização. Se você maximizar a probabilidade de log, se essa expressão, você obterá a estimativa de ML. Agora, você adiciona um prior nos parâmetros, que atua como um regularizador e ajuda a evitar o excesso de ajustes, controlando a complexidade do seu classificador. Concretamente, no caso de ser natural supor que seus parâmetros sejam distribuídos gaussianos,

p(W)=exp(-α||W||22)/ZW(α)
MAP é definido como argmaxWp(W|D). Usando o teorema de Bayes,

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).


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.