Pense em cada nó individual como seu próprio modelo de regressão linear, composto por dados de entrada, pesos, um viés (ou limiar) e uma saída. A fórmula ficaria mais ou menos assim:
∑wixi + bias = w1x1 + w2x2 + w3x3 + bias
output = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 0
Depois que uma camada de entrada é determinada, os pesos são atribuídos. Esses pesos ajudam a determinar a importância de qualquer variável, com os maiores contribuindo de forma mais significativa para a saída em comparação com outras entradas. Todas as entradas são então multiplicadas pelos seus respectivos pesos e somadas. Depois, a saída é processada por uma função de ativação, a qual determina o resultado final. Se essa saída exceder um determinado limite, ela "dispara" (ou ativa) o nó, enviando dados para a próxima camada na rede. Isso faz com que a saída de um nó se torne a entrada do próximo nó. Esse processo de passagem de dados de uma camada para a próxima define essa rede neural como uma rede feedforward.
Vamos detalhar a aparência de um único nó usando valores binários. Podemos aplicar esse conceito a um exemplo mais tangível, como se você deve surfar (Sim: 1, Não: 0). A decisão de ir ou não ir é nosso resultado previsto, ou y-hat. Vamos supor que haja três fatores influenciando sua tomada de decisão:
- As ondas são boas? (Sim: 1, Não: 0)
- A escalação está vazia? (Sim: 1, Não: 0)
- Houve um ataque recente de tubarão? (Sim: 0, Não: 1)
Em seguida, vamos supor o seguinte, fornecendo as seguintes entradas:
- X1 = 1, já que as ondas estão bombeando
- X2 = 0, já que as multidões estão fora
- X3 = 1, já que não houve um ataque de tubarão recente
Agora, precisamos atribuir alguns pesos para determinar a importância. Pesos maiores indicam que variáveis específicas são de maior importância para a decisão ou resultado.
- W1 = 5, já que grandes ondulações não ocorrem com frequência
- W2 = 2, já que você está acostumado com multidões
- W3 = 4, já que você tem medo de tubarões
Finalmente, também assumiremos um valor limite de 3, o que se traduziria em um valor de tendência de –3. Com todas as várias entradas, podemos começar a inserir valores na fórmula para obter a saída desejada.
Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6
Se usarmos a função de ativação mencionada no início desta seção, podemos determinar que a saída deste nó seria 1, já que 6 é maior que 0. Neste caso, você iria surfar; mas se ajustarmos os pesos ou o limite, podemos obter resultados diferentes do modelo. Quando observamos uma decisão, como no exemplo acima, podemos ver como uma rede neural pode tomar decisões cada vez mais complexas, dependendo da saída de decisões ou camadas anteriores.
No exemplo acima, usamos perceptrons para ilustrar parte da matemática em jogo aqui, mas as redes neurais utilizam neurônios sigmoides, que se distinguem por terem valores entre 0 e 1. Como as redes neurais se comportam de forma semelhante às árvores de decisão, cascando dados de um nó para outro, ter valores de x entre 0 e 1 reduzirá o impacto de qualquer alteração em uma única variável na saída de um nó específico e, consequentemente, na saída da rede neural.
Conforme começamos a pensar em casos de uso mais práticos para redes neurais, como reconhecimento ou classificação de imagens, vamos aproveitar o aprendizado supervisionado, ou conjuntos de dados rotulados, para treinar o algoritmo. Ao treinarmos o modelo, desejamos avaliar sua precisão utilizando uma função de custo (ou perda). Isso também é comumente chamado de erro médio quadrado (MSE). Na equação abaixo,
- i representa o índice da amostra,
- y-hat é o resultado previsto,
- y é o valor real, e
- m é o número de amostras.
= =1/2 ∑129_(=1)^▒( ̂^(() )−^(() ) )^2
Em última análise, o objetivo é minimizar nossa função de custo para garantir a precisão do ajuste para qualquer observação dada. Conforme o modelo ajusta seus pesos e viés, ele utiliza a função de custo e o aprendizado por reforço para alcançar o ponto de convergência, ou o mínimo local. O processo pelo qual o algoritmo ajusta seus pesos é através do gradiente descendente, permitindo que o modelo determine a direção a tomar para reduzir os erros (ou minimizar a função de custo). Com cada exemplo de treinamento, os parâmetros do modelo se ajustam para convergir gradualmente para o mínimo.
Consulte este artigo do IBM Developer para obter uma explicação mais detalhada dos conceitos quantitativos envolvidos nas redes neurais.
A maioria das redes neurais profundas é feedforward, o que significa que elas fluem em apenas uma direção, da entrada para a saída. No entanto, você também pode treinar seu modelo por meio de retropropagação; ou seja, movem-se na direção oposta da saída para a entrada. A retropropagação nos permite calcular e atribuir o erro associado a cada neurônio, permitindo ajustar e ajustar os parâmetros do(s) modelo(s) adequadamente.