Neurônios Artificiais – Função de Ativação no modelo Perceptron
![](/.imaging/focalpoint/1600x960/dam/jcr:d8d88cc1-e57d-435c-8af1-35e915710812/gft-key-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron.webp)
![](/.imaging/focalpoint/1600x1600/dam/jcr:b615c3a2-d718-4336-b491-ac201df687ab/Nysio.webp)
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:
![](/.imaging/focalpoint/1600x960/dam/jcr:4a11f6b3-5e55-4d2b-95eb-d5d5ef778f38/gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron1.webp)
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:
![](/.imaging/focalpoint/1600x960/dam/jcr:c10d9cb8-5982-4500-947e-d88a68994ed9/gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron2.webp)
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:
![](/.imaging/focalpoint/1600x960/dam/jcr:f2a0fe01-8ec0-4335-b31a-c1b0c5a9017d/gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron3.webp)
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:
![](/.imaging/focalpoint/1600x960/dam/jcr:5306aa73-9c45-46d4-afe2-dcca24379a6d/gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron4.webp)
Considerando o exemplo da figura acima:
![](/.imaging/focalpoint/1600x960/dam/jcr:6a96ed24-5d1d-4729-8461-689808c4ff36/gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron5.webp)
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:
![](/.imaging/focalpoint/1600x960/dam/jcr:b2d6d7d2-b232-48e1-89b1-58da42829652/gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron6.webp)
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:
![](/.imaging/focalpoint/1600x960/dam/jcr:6899c6a3-84f7-46f2-8f58-14279c37f5b0/gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron9.webp)
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:
![](/.imaging/focalpoint/1600x960/dam/jcr:f9258b26-b426-4d4d-bef3-5981f82decdd/gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron7.webp)
Vejamos a sigmoid para o nosso exemplo:
![](/.imaging/focalpoint/1600x960/dam/jcr:4b1e22d7-65cb-4a6b-b050-fb565077253a/gft-image-blog-neuronios-artificiais-funcao-de-ativacao-no-modelo-perceptron8.webp)
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
![like-gif](/.resources/gft/webresources/img/envato-like.gif)