Redes neurais: nós e camadas escondidas

Para criar uma rede neural que aprende não linearidades, comece com a seguinte estrutura de modelo familiar: um modelo linear do formato $y' = b + w_1x_1 + w_2x_2 + w_3x_3$.

Podemos visualizar essa equação como mostrado abaixo, onde $x_1$, $x_2$ e $x_3$ são nossos três nós de entrada (em azul) e $y'$ é nosso nó de saída (em verde).

Exercício 1

No modelo acima, o peso e valores de viés foram aleatoriamente inicializado. Execute as tarefas a seguir para se familiarizar com o e conhecer o modelo linear. Você pode ignore o menu suspenso Função de ativação por enquanto; vamos discutir isso mais adiante no módulo.

  1. Clique no botão Reproduzir (▶️) acima da rede para calcular o valor de o nó de saída para os valores de entrada $x_1 = 1.00$, $x_2 = 2.00$ e US$ x_3 = US$ 3,00.

  2. Clique no segundo nó camada de entrada e aumentar o valor de 2,00 para 2,50. Observe que o valor do nó de saída muda. Selecione a saída nós (em verde) e reveja o painel Cálculos para ver como o resultado foi calculado.

  3. Clique no nó de saída (em verde) para ver o peso ($w_1$, $w_2$, $w_3$) e parâmetros de viés ($b$). Diminuir o valor do peso para $w_3$ (novamente, observe que o valor do nó de saída e os cálculos abaixo foram alterados). Em seguida, aumente o valor do viés. Confira como essas mudanças afetaram a saída do modelo.

Como adicionar camadas à rede

Observe que quando você ajustou os valores de peso e de viés da rede no Exercício 1, que não alterou a lógica matemática geral relação entre entrada e saída. Nosso modelo ainda é linear.

Mas e se adicionarmos outra camada à rede, entre a camada de entrada e à camada final? Na terminologia da rede neural, camadas adicionais entre as camadas de entrada e de saída são chamadas camadas escondidas e os nós nessas camadas são chamadas neurônios.

O valor de cada neurônio na camada escondida é calculado da mesma forma que o saída de um modelo linear: pegue a soma do produto de cada uma das entradas (os neurônios na camada de rede anterior) e um parâmetro de peso exclusivo, além do viés. Da mesma forma, os neurônios da camada seguinte (aqui, a camada final) são calculados usando os valores dos neurônios da camada escondida como entradas.

Essa nova camada escondida permite que o modelo recombine os dados de entrada usando outro conjunto de parâmetros. Isso pode ajudar nosso modelo a aprender relações não lineares?

Exercício 2

Adicionamos ao modelo uma camada escondida contendo quatro neurônios.

Clique no botão Reproduzir (▶️) acima da rede para calcular o valor de os quatro nós da camada escondida e o nó de saída para os valores de entrada $x_1 = 1,00$, $x_2 = 2,00$ e $x_3 = 3,00$.

Depois, analise o modelo e use-o para responder às perguntas a seguir.

Quantos parâmetros (pesos e vieses) faz essa modelo de rede têm?
4
O modelo original no Exercício 1 tinha Quatro parâmetros: w11, w21, w31 e b. Como esse modelo contém uma camada escondida, haverá mais parâmetros.
12
O número total de parâmetros inclui os parâmetros usada para calcular os valores de nó na camada escondida do valores de entrada e os parâmetros usados para calcular o valor de saída dos valores de nó na camada escondida.
16
O número total de parâmetros inclui a ponderação e os parâmetros de viés.
21
Existem quatro parâmetros usados para calcular cada um dos quatro valores de nó em a camada escondida: três pesos (um para cada valor de entrada) e um viés, que é somado a 16 parâmetros. Depois, há 5 parâmetros usados para calcular o valor de saída: quatro pesos (um para cada nó da camada escondida) e um viés. No total, essa rede neural tem 21 parâmetros.

Tente modificar os parâmetros do modelo e observe o efeito no valores de nó de camada escondida e o valor de saída (é possível revisar o Confira o painel "Cálculos" abaixo para conferir como esses valores foram calculada).

Esse modelo pode aprender não linearidades?

Sim
Clique em cada um dos nós na camada escondida e no nó de saída, e analise os cálculos abaixo. O que você observa sobre todos esses cálculos?
Não

Se você clicar em cada um dos nós na camada escondida e revisar cálculos abaixo, você verá que todos eles são lineares incluindo operações de multiplicação e adição.

Se você clicar no nó de saída e revisar o cálculo abaixo, verá que esse cálculo também é linear. Linear os cálculos realizados na saída de cálculos lineares são também linear, o que significa que este modelo não pode aprender não linearidades.