04 abr. 2022

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

De modo geral, nesse artigo abordaremos a função de ativação.
gft-author-nysio-chrysosto.png
Nysio Chrysostomo
Cientista de Dados I
blogAbstractMinutes
blogAbstractTimeReading
gft-image-mood-01.jpg
Intersetorial
Tendências de technologia
IA
contact
share
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:

gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron1.png

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:

gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron2.png

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:

gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron3.png

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:

 

gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron4.png

Considerando o exemplo da figura acima:

gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron5.png

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:

gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron6.png

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:

gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron9.png

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:

gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron7.png

Vejamos a sigmoid para o nosso exemplo:

gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron8.png

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

Tem dúvidas?
Ficamos felizes em ajudar.

contactFormTitle

message
dataProtectionDeclaration