Neurônios Artificiais – Função de Ativação no modelo Perceptron

De modo geral, nesse artigo abordaremos a função de ativação. Podemos dizer que no modelo Perceptron a função de ativação trabalha em conjunto com a função de decisão. O resultado dessa combinação indicará se o neurônio artificial fará ou não disparo do sinal de programação.

Introdução

Antes de falar da função de ativação, vamos relembrar um pouco sobre o modelo perceptron. Recomendamos a leitura do primeiro artigo da série sobre neurônio artificial.

No modelo perceptron, temos sinais de entrada que estão associados aos pesos. Em seguida, conforme discorre o artigo que citamos, a função de decisão – que indica se o neurônio artificial vai ou não disparar o sinal – faz uma combinação linear com os valores de entrada. Relembrando:

A Função de Ativação

A função de ativação é usada para determinar o valor de saída da combinação linear que estudamos. Aplicamos a função de ativação no resultado dessa combinação linear ou na função de decisão. No final, a ativação converte o resultado em 1 ou -1. Vale ressaltar que existem alguns tipos diferentes relacionados à função de ativação: sigmoid, tanh, entre outros.

A escolha da função de ativação depende de cada caso. É necessário entender o problema e modelar a rede com a melhor função para o problema que estamos tentando resolver. Por isso, é necessário entender as técnicas que ajudam a escolher a melhor função de ativação, mas esse é um assunto para outro artigo… Neste, vamos tentar primeiro entender como a função de ativação funciona e como ela se encaixa no modelo perceptron.

No artigo que citamos anteriormente, usamos a seguinte imagem para ilustrar, vamos rever:

 

Vamos dizer que a nossa função de ativação será, f(x). Uma vez que temos a função, vamos encaixar no modelo perceptron, junto a combinação linear ou função de decisão, como foi dito. Veja: f(ϕ(z)). Com base na ilustração utilizada acima, vemos uma nova ilustração, agora com a função de ativação:

Conforme mencionado, existem algumas opções de funções de ativação. Para o nosso exemplo ilustrativo, vamos escolher a função sigmoid. Em linhas gerais, essa função converte o valor em um espaço binário, o que se torna útil em termos estatísticos. Podemos, então, transformar nosso resultado em um número entre -1 e 1, o que facilita a interpretação.

Uma definição formal da função sigmoid seria:

Considerando o exemplo da figura acima:

 

Lembrando do artigo em que fizemos a implementação do modelo perceptron, com um exemplo extremamente simples e considerando um dataset bem pequeno sobre times, vamos rever o resultado:

—————— TIME A ———————

-0.5 = 0.5 * 1

0.0 = 0.5 * 1

0.5

———————RESULTADO—————-

Esperado=1, Predito=1

 

——————— TIME B ———————

-0.5 = 0.5 * -1

-1.0 = 0.5 * -1

-1.5

———————RESULTADO—————-

Esperado=0, Predito=0

 

Voltando à nossa função de ativação, podemos ver no quadro acima dois resultados: vamos escolher o resultado do time A, temos, ϕ(z)=0.5, agora, olhando novamente a função de ativação:

A variável e , é o número de Euller. Como não é escopo deste artigo tratar da origem dessa variável, vamos tentar associar o funcionamento da função de ativação com as possibilidades de interpretação de seus resultados. Aqui, nosso interesse epistemológico, se traduz em entender se o resultado, pertence ou não a determinada classe, no tocante a nossa intenção de classificação de determinado dataset.

O resultado da sigmoid do nosso exemplo, é: 0.8175. Abaixo um exemplo de como calcular a sigmoid em Python:

Vejamos a sigmoid para o nosso exemplo:

 

Conclusão

Podemos perceber que a função de ativação é executada com resultado da combinação linear, que antes, foi executada pela função de decisão. Tratamos nesse artigo da função de ativação sigmoid, apenas para ilustrar o que é a função de ativação. Existem outras funções disponíveis, por isso, quando o usuário estiver construindo sua neural artificial, deverá procurar entender qual função de ativação é a escolha mais próxima de sua necessidade.

Sabemos agora que a cada época esse processo se repetirá, por quantas épocas a rede foi programada para ser treinada. Veremos mais à frente, que existem ainda técnicas para redução de erros e alguns conceitos que são importantes enquanto estamos buscando um bom modelo.

 

Referências

https://keisan.casio.com/exec/system/15157249643325

https://deepai.org/machine-learning-glossary-and-terms/sigmoid-function

https://www.youtube.com/watch?v=LW9VnXVIQt4

https://towardsdatascience.com/activation-functions-neural-networks-1cbd9f8d91d6

https://medium.com/mlearning-ai/a-little-about-perceptrons-and-activation-functions-aed19d672656

https://www.simplilearn.com/tutorials/deep-learning-tutorial/perceptron

Post a Comment

* indicates required

O tratamento de dados é feito pela GFT Technologies SE. O comentário ficará visível para todos os usuários e os dados relacionados a ele serão processados com base no seu consentimento expresso ao deixar o comentário. Você tem o direito de retirar seu consentimento a qualquer momento. Para mais informações, veja nossa Política de Privacidade.