Função de Perda na Rede Neural

Conforme discutido em artigos anteriores, o processo de treinamento da rede neural ocorre durante as épocas, onde há uma combinação linear. Seu resultado determinará se o neurônio artificial vai ou não disparar o sinal de saída. A função de perda ou de custo tem o objetivo de “levar” o resultado do treinamento em direção à convergência, atuando no processo de ajuste dos pesos.

Na série de artigos sobre neurônio artificial, tratamos até agora sobre o modelo perceptron, mas alguns anos depois da criação deste método, Bernard Widrow e seu aluno de doutorado Tedd Hoff, publicaram o ADAptive LInear NEuron (Adaline), que pode ser considerado como uma melhoria da rede neural. Falaremos um pouco sobre ele e, neste link, você poderá ler uma publicação com ainda mais detalhes.

A Função de Perda

No artigo anterior, tratamos sobre a função de ativação. Já a função de perda atua em seguida, quando ocorre o backpropagation (retropropagação) dos pesos. Com os valores ajustados, esses pesos são “reinseridos” na entrada da rede e continuam sendo atualizados até o final das épocas. Vamos começar relembrando a ilustração usada para demonstração da função de ativação, veja abaixo:

A principal diferença entre o modelo perceptron e o modelo Adaline é a introdução da função de perda ou de custo. Seu objetivo é minimizar o erro, caminhando na direção de um valor escalar e buscando a convergência do resultado do treinamento. O modelo Adaline definiu essa função como a soma do quadrado do erro. Formalmente, vamos chamar a função de perda de j (w), que seria:

Seguindo com o exemplo da ilustração acima, vamos tentar observar graficamente a atuação da função de perda, conforme a figura abaixo:

Criamos uma analogia para entender o papel da função de perda: Digamos que o resultado esperado é chegar à base de uma montanha. No momento do início do treinamento da rede neural, estamos no topo dessa montanha, onde a função de perda ajusta os pesos. Com o passar do tempo, ou seja, das épocas, vamos em direção da base da montanha, procurando sempre o mínimo de perda possível.

Para um aprofundamento da função de perda, sugerimos um estudo sobre os gradientes ascendentes e descendentes estocásticos. O escopo do presente artigo é passar o entendimento epistemológico da função de perda em relação às redes neurais, portanto não nos aprofundaremos nos gradientes.

Para concluir, existem tipos diferentes da função de perda, o exemplo desse artigo é a soma do quadrado. Por isso, quando estiver montando a arquitetura de sua rede neural artificial, é importante estar atento a que tipo de classificação deseja encontrar, avaliar a função de ativação que foi escolhida e encontrar uma função de perda adequada.

Neste conteúdo foi possível perceber que a função de perda tem o papel de ajustar os pesos, comparando o valor atual da saída com o valor da verdadeira classe, em contraste com o modelo perceptron, onde o valor da função de ativação é comparada com a verdadeira classe. Com a função de perda atuando sobre o valor atual do treinamento, é possível minimizar os custos e caminhar na direção de um valor mínimo ou máximo que aproxima-se do valor da verdadeira classe que desejamos treinar nosso modelo.

Referências

http://rstudio-pubs-static.s3.amazonaws.com/503755_fa1b2aa0cb70420ca9b14c5e9ffd9203.html

Loss and Loss Functions for Training Deep Learning Neural Networks

Python Machine Learning – 3rd Edition – Sebastian Raschka e Vahid Mirijalili

 

AWS Summit 2023
10/08/2023
Cloud Native
29/11/2022
A Copa é Tech
17/11/2022
Jornada AIOps
06/09/2022
Restful API
04/10/2021
Código Limpo
13/07/2021