Se cada neurônio em uma rede neural é basicamente uma função de regressão logística, por que a multicamada é melhor?

13

Estou estudando o curso DeepAI da Cousera (vídeo da Semana 3 1 "Visão geral das redes neurais") e Andrew Ng está explicando como cada camada de uma rede neural é apenas outra regressão logística, mas ele não explica como isso torna as coisas mais precisas.

Assim, em uma rede de duas camadas, como o cálculo logístico várias vezes a torna mais precisa?

mskw
fonte
7
Freqüentemente, para se ajustar a um bom modelo de regressão logística único, é necessário realizar engenharia de recursos significativa. A camada dois nn está tentando fazer parte desse trabalho para você.
Matthew Drury
@msk, você já criou novos recursos com base nos recursos originais para melhorar sua regressão logística? É isso que as camadas ocultas fazem.
Ricardo Cruz

Respostas:

10

Ao usar funções de ativação logística, é verdade que a função que relaciona as entradas de cada unidade à sua saída é a mesma da regressão logística. Mas, isso não é realmente o mesmo que cada unidade que executa a regressão logística. A diferença é que, na regressão logística, os pesos e o viés são escolhidos de forma que a saída corresponda melhor aos valores-alvo determinados (usando a perda de log / entropia cruzada). Por outro lado, unidades ocultas em uma rede neural enviam suas saídas para unidades a jusante. Não há saída de destino a ser correspondida para unidades ocultas individuais. Em vez disso, os pesos e preconceitos são escolhidos para minimizar algumas funções objetivas que dependem da saída final da rede.

Em vez de executar a regressão logística, pode fazer mais sentido pensar em cada unidade oculta como computando uma coordenada em algum espaço de recurso. Nesta perspectiva, o objetivo de uma camada oculta é transformar sua entrada - o vetor de entrada é mapeado para um vetor de ativações da camada oculta. Você pode pensar nisso como mapear a entrada em um espaço de recurso com uma dimensão correspondente a cada unidade oculta.

A camada de saída geralmente pode ser vista como um algoritmo de aprendizado padrão que opera nesse espaço de recursos. Por exemplo, em uma tarefa de classificação, o uso de uma unidade de saída logística com perda de entropia cruzada é equivalente a executar a regressão logística no espaço de recurso (ou regressão logística multinomial se estiver usando saídas softmax). Em uma tarefa de regressão, usar uma saída linear com erro ao quadrado é equivalente a executar a regressão linear de mínimos quadrados no espaço de recurso.

Treinar a rede significa aprender o mapeamento do espaço de recursos e a função de classificação / regressão (no espaço de recursos) que, juntos, oferecem o melhor desempenho. Assumindo unidades ocultas não lineares, aumentar a largura da camada oculta ou empilhar várias camadas ocultas permite mapeamentos de espaço de recursos mais complexos, permitindo assim o ajuste de funções mais complexas.

user20160
fonte
7

Uma maneira de ver o poder da não linearidade é observar o teorema da aproximação universal .

Embora não seja muito significativo na prática (trata-se de recursos de redes de camada única), ele diz que, se você usar somas (longas arbitrárias) de sigmóides, poderá, em princípio, aproximar qualquer função contínua a qualquer nível desejado. Se você conhece a teoria de Fourier ou se lembra do teorema da aproximação de Weierstrass, não deveria surpreender.

Jakub Bartczuk
fonte
3
Essa foi a única pessoa que realmente respondeu à pergunta corretamente, embora de maneira um pouco sucinta. Uma camada oculta é suficiente para criar novos recursos poderosos que combinam os recursos originais. O problema é que você pode precisar de uma camada escondida com muitos nós, e o processo de convergência funciona melhor com uma rede mais profunda com camadas ocultas> 1.
Ricardo Cruz
5

Quando existem camadas ocultas na rede neural, estamos adicionando recursos não lineares. Por favor, verifique minha resposta aqui para ter algum sentido.

o que faz das redes neurais um modelo de classificação não linear?

Especificamente, uma função sigmóide aninhada será mais "poderosa" do que uma transformação linear de recursos originais e uma função sigmóide (regressão logística).


Aqui está um exemplo numérico para abordar os comentários do OP.

X10×37W3×7X×W10×77

Haitao Du
fonte
Estou apenas pensando, então como é que qualquer um dos nós da primeira camada difere na saída? Ou seja, o nó 1 recebe X1, X2, X3, o nó 2 também recebe X1, X2, X3, se todos são regressão logística, como é a saída deles será diferente?
mskw
suponha que você tenha 3 recursos e 10 unidades ocultas, a saída da camada oculta possui 10 "recursos de engenharia".
Haitao Du
Por que você o chama de "recursos de engenharia", também são os recursos mencionados no X1, X2, X3?
mskw
Vou editar minha resposta para endereçar seus comentários.
Haitao Du
Obrigado por revisar, pelas suas explicações, não tenho certeza se você não está respondendo à minha pergunta ou se tenho uma lacuna de conhecimento em que preciso preencher primeiro. Especificamente, a partir de sua resposta, Weight refere-se a cada uma das funções de saída do nó? Em caso afirmativo, como eles são diferentes de cada um dos outros nós na mesma camada?
mskw
3

Na regressão logística padrão, temos 1 saída na camada final. No entanto, com uma rede neural de camada oculta única, podemos ter vários valores intermediários, cada um dos quais pode ser pensado como uma saída de um modelo de regressão logística diferente, ou seja, não estamos apenas realizando a mesma regressão logística repetidamente. Portanto, não é um grande salto pensar que é possível que a combinação destes tenha capacidades expressivas maiores do que o modelo de regressão logística padrão (e também foi demonstrado na prática e na teoria ).

Nyj=f(i=1Nwjixi+bj)fwjixibjé algum viés. Os pesos são escolhidos por um algoritmo de otimização para otimizar nosso objetivo, por exemplo, minimizar o erro de classificação. A inicialização é muito importante para os algoritmos de descida de gradiente que geralmente são usados ​​para otimizar os pesos. Consulte https://intoli.com/blog/neural-network-initialization/ onde, se todos os pesos começarem em 0, a rede não poderá aprender.

Srijan Parmeshwar
fonte