A função de custo da rede neural não é convexa?

36

A função de custo da rede neural é J(W,b) e é reivindicada como não convexa . Não entendo muito bem por que é assim, pois, como vejo, é bastante semelhante à função de custo da regressão logística, certo?

Se não for convexa, a derivada de 2ª ordem JW<0, certo?

ATUALIZAR

Graças às respostas abaixo, bem como ao comentário de @ gung, entendi que, se não houver camadas ocultas, é convexa, assim como a regressão logística. Mas se houver camadas ocultas, permutando os nós nas camadas ocultas, bem como os pesos nas conexões subseqüentes, poderíamos ter várias soluções dos pesos, resultando na mesma perda.

Agora mais perguntas,

1) Existem vários mínimos locais, e alguns deles devem ter o mesmo valor, pois correspondem a algumas permutações de nós e pesos, certo?

2) Se os nós e pesos não serão permutados, então é convexo, certo? E os mínimos serão os mínimos globais. Nesse caso, a resposta para 1) é que todos os mínimos locais terão o mesmo valor, correto?

abacate
fonte
Não é convexo, pois pode haver vários mínimos locais.
gung - Restabelece Monica
2
Depende da rede neural. Redes neurais com funções de ativação linear e perda quadrada produzirão otimização convexa (se minha memória me servir bem também para redes funcionais de base radial com variações fixas). No entanto, as redes neurais são usadas principalmente com funções de ativação não lineares (ou seja, sigmóides), portanto a otimização se torna não convexa.
Cagdas Ozgenc 11/02
@gung, eu tenho o seu ponto, e agora eu tenho mais perguntas, por favor, veja a minha atualização :-)
abacate
5
Nesse ponto (2 anos depois), talvez seja melhor reverter sua pergunta para a versão anterior, aceitar uma das respostas abaixo e fazer uma nova pergunta de acompanhamento que se relacione a ela para contextualizar.
gung - Restabelece Monica
11
@gung, sim, você está certo, mas agora não tenho muita certeza sobre alguns aspectos da resposta que eu votei antes. Bem, como deixei novos comentários nas respostas abaixo, esperaria um pouco para ver se era necessário pedir uma nova.
abacate

Respostas:

25

A função de custo de uma rede neural geralmente não é convexa nem côncava. Isso significa que a matriz de todas as segundas derivadas parciais (o Hessiano) não é nem semidefinida positiva nem semidefinida negativa. Como a segunda derivada é uma matriz, é possível que não seja uma ou a outra.

Para tornar isso análogo às funções de uma variável, pode-se dizer que a função de custo não tem a forma do gráfico de nem do gráfico de - x 2 . Outro exemplo de uma função não convexa e não côncava é sin (x2x2 em R . Uma das diferenças mais impressionantes é que ± x 2 tem apenas um extremo, enquanto o pecado tem infinitos e máximos infinitos.pecado(x)R±x2pecado

Como isso se relaciona com a nossa rede neural? Uma função de custo também possui vários máximos e mínimos locais, como você pode ver nesta figura , por exemplo.J(W,b)

O fato de ter vários mínimos também pode ser interpretado de uma maneira agradável. Em cada camada, você usa vários nós aos quais são atribuídos parâmetros diferentes para reduzir o custo da função. Exceto pelos valores dos parâmetros, esses nós são os mesmos. Portanto, você pode trocar os parâmetros do primeiro nó em uma camada pelos do segundo nó na mesma camada e contabilizar essa alteração nas camadas subseqüentes. Você terminaria com um conjunto diferente de parâmetros, mas o valor da função de custo não pode ser distinguido (basicamente, você acabou de mover um nó para outro local, mas manteve todas as entradas / saídas iguais).J

Roland
fonte
OK, entendo a explicação de permutação que você fez, acho que faz sentido, mas agora me pergunto se é essa a autêntica para explicar por que a rede neural não é convexa?
abacate
11
O que você quer dizer com 'autêntico'?
Roland
Quero dizer, é assim que deve ser interpretado, não apenas uma analogia.
abacate
4
@ loganecolss Você está certo de que essa não é a única razão pela qual as funções de custo não são convexas, mas uma das razões mais óbvias. Dependendo da rede e do conjunto de treinamento, pode haver outros motivos pelos quais existem vários mínimos. Mas o ponto principal é: a permissão sozinha cria não-convexidade, independentemente de outros efeitos.
Roland
11
Desculpe, não consigo entender o último parágrafo. Mas também não entendo por que mencionei max (0, x) aqui. De qualquer forma - acho que a maneira correta de mostrar que talvez o modo múltiplo (mínimo local múltiplo) seja provar de alguma forma. ps Se o Hessian é indefinido, ele não disse nada - a função quaseiconvexa pode ter um Hessian indefinido, mas ainda é unimodal.
bruziuz
17

Se você permuta os neurônios na camada oculta e faz a mesma permutação nos pesos das camadas adjacentes, a perda não muda. Portanto, se existe um mínimo global diferente de zero em função dos pesos, ele não pode ser único, pois a permutação de pesos fornece outro mínimo. Portanto, a função não é convexa.

Abhinav
fonte
5

Se a função objetivo é convexa ou não, depende dos detalhes da rede. No caso em que existem vários mínimos locais, você pergunta se todos são equivalentes. Em geral, a resposta é não, mas a chance de encontrar um mínimo local com bom desempenho de generalização parece aumentar com o tamanho da rede.

Este artigo é de interesse:

Choromanska et al. (2015). As superfícies de perda de redes multicamadas

http://arxiv.org/pdf/1412.0233v3.pdf

Desde a introdução:

  • Para redes de tamanho grande, a maioria dos mínimos locais é equivalente e produz um desempenho semelhante em um conjunto de testes.

  • A probabilidade de encontrar um mínimo local "ruim" (alto valor) é diferente de zero para redes de tamanho pequeno e diminui rapidamente com o tamanho da rede.

  • Lutar para encontrar o mínimo global no conjunto de treinamento (em oposição a um dos muitos bons locais) não é útil na prática e pode levar ao excesso de ajustes.

Eles também citam alguns documentos que descrevem como os pontos de sela são um problema maior do que os mínimos locais ao treinar grandes redes.

user20160
fonte
4

Algumas respostas para suas atualizações:

  1. Sim, geralmente existem vários mínimos locais. (Se houvesse apenas um, seria chamado de mínimo global.) Os mínimos locais não terão necessariamente o mesmo valor. Em geral, pode não haver mínimos locais compartilhando o mesmo valor.

  2. Não, não é convexa, a menos que seja uma rede de uma camada. No caso geral de múltiplas camadas, os parâmetros das camadas posteriores (pesos e parâmetros de ativação) podem ser funções altamente recursivas dos parâmetros nas camadas anteriores. Geralmente, a multiplicação de variáveis ​​de decisão introduzidas por alguma estrutura recursiva tende a destruir a convexidade. Outro grande exemplo disso são os modelos MA (q) na análise de séries temporais.

yX__y-Xβ__

Mustafa S Eisa
fonte
11
"rede de uma camada" seria exatamente como "softmax" ou regressão logística se parece, certo?
abacate
Ao "permutar nós e pesos", quero dizer "trocar", e foi o que obtive das 2 respostas anteriores acima, e como eu entendi as respostas deles, "trocando" nós e pesos em camadas ocultas , podemos acabar tendo o mesma saída em teoria, e é por isso que podemos ter múltiplos mínimos. Você quer dizer que esta explicação não está correta?
Abacate
Você tem a ideia certa, mas não é a mesma coisa. Para redes, a perda pode não ser necessariamente a perda binomial, as funções de ativação pode não ser necessariamente sigmoids, etc.
Mustafa S Eisa
Sim, acho que não está correto. Embora seja verdade que você obterá o mesmo desempenho, independentemente de permitir ou não esses termos, isso não define a convexidade ou não-convexidade de qualquer problema. O problema de otimização é convexo se, para uma função de perda fixa (não houver permutação dos termos na perda), a função objetivo é convexa nos parâmetros do modelo e a região viável na qual você está otimizando é convexa e fechada.
Mustafa S Eisa
Entendo, então, se é "uma camada", pode não ser "softmax".
abacate
2

Você terá um mínimo global se o problema for convexo ou quaseiconvexo.

Sobre "blocos de construção" convexos durante a construção de redes neurais (versão Computer Science)

Eu acho que existem vários deles que podem ser mencionados:

  1. max (0, x) - convexo e crescente

  2. log-sum-exp - convexo e crescente em cada parâmetro

  3. y = Ax é afim e tão convexo em (A), talvez aumentando talvez diminuindo. y = Ax é afim e tão convexo em (x), talvez aumentando talvez diminuindo.

Infelizmente, não é convexa em (A, x) porque parece uma forma quadrática indefinida.

  1. Convolução matemática matemática usual (por "usual", quero dizer definida com sinal de repetição) Y = h * X Parece que é uma função afim de h ou da variável X. Portanto, é um convexo na variável h ou na variável X. Sobre as duas variáveis ​​- Acho que não, porque quando he X são escalares, a convolução reduzirá para a forma quadrática indefinida.

  2. max (f, g) - se f e g são convexos, max (f, g) também é convexo.

Se você substituir uma função por outra e criar composições, mantenha-o na sala convexa para y = h (g (x), q (x)), mas h deve ser convexo e deve aumentar (sem diminuir) em cada argumento. ...

Por que redes neurais não-convexas:

  1. Eu acho que a convolução Y = h * X não é necessária aumentando em h. Portanto, se você não usar nenhuma suposição extra sobre o kernel, sairá da otimização convexa imediatamente após aplicar a convolução. Portanto, não há tudo bem com a composição .

  2. Além disso, a convolução e a multiplicação de matrizes não são convexas se considerarmos alguns parâmetros, como mencionado acima. Portanto, existe um problema com a multiplicação de matrizes: é uma operação não convexa nos parâmetros (A, x)

  3. y = Ax pode ser quaseiconvexo em (A, x), mas também suposições extras devem ser levadas em consideração.

Entre em contato se você não concordar ou tiver alguma consideração extra. A questão também é muito interessante para mim.

ps max-pooling - que reduz o tamanho da seleção de max parece uma modificação das operações max elementwise com pré-composição afim (para puxar blocos de necessidade) e parece convexo para mim.

Sobre outras perguntas

  1. Não, a regressão logística não é convexa ou côncava, mas é log-côncava. Isso significa que, após aplicar o logaritmo, você terá uma função côncava nas variáveis ​​explicativas. Portanto, aqui o truque máximo de probabilidade de log é ótimo.

  2. Se não houver apenas um mínimo global. Nada pode ser dito sobre a relação entre os mínimos locais. Ou pelo menos você não pode usar a otimização convexa e suas extensões, porque esta área da matemática é profundamente baseada no subestimador global.

Talvez você tenha confusão sobre isso. Porque realmente as pessoas que criam tais esquemas apenas fazem "alguma coisa" e recebem "alguma coisa". Infelizmente, porque não temos um mecanismo perfeito para lidar com a otimização não convexa (em geral).

Mas existem coisas ainda mais simples além das Redes Neurais - que não podem ser resolvidas como mínimos quadrados não lineares - https://youtu.be/l1X4tOoIHYo?t=2992 (EE263, L8, 50:10)

bruziuz
fonte