Com a crescente popularização da Inteligência Artificial, temos ouvido falar sobre o treinamento de redes neurais para solução de problemas.
Vamos explicar um pouco o que é redes neurais, como funciona, e como podemos visualizar na prática o seu funcionamento.
Se quiser aprender mais sobre esses assuntos sugerimos a leitura: O que é Machine Learning?
Como nosso Cérebro Funciona?
O cérebro recebe informações, essas por sua vez geram impulsos elétricos para os neurônios dentro do cérebro e o neurônio certo é ativado com base no seu conteúdo.
A imagem abaixo representa a estrutura de um neurônio em nosso cérebro.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image.png)
Como um Neurônio funciona?
Dentrites são como caixas únicas de informação(conteúdo) e só geram impulso elétrico para o Axon Terminal quando identifica a informação.
Por exemplo: Quando um dentrite que tem como informação o que é um circulo. Só irá ativar o neurônio quando receber um Circulo como informação.
Se você mostrar um quadrado a esse dentrite. Por sua vez não irá produzir corrente elétrica até o Axon Terminal e por isso não irá ativar o neurônio.
Ativando o Neurônio
Na imagem abaixo podemos ver a ativação de um neurônio ocorre quando a linha Threshold(linha linear) é ultrapassada.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-1.png)
Como um Neurônio Artificial funciona?
Pensando nisso, surgiu-se a ideia de que cada Neurônio tem um linear de ativação diferente.
Logo quando um neurônio recebe um informação(x), só irá ativar o neurônio quando o seu peso(w) for superior a sua linha de ativação(t).
Caso contrário a corrente morre ali.
Já em caso positivo é gerado uma saída com um resultado entre 0(negativo/falso) e 1(positivo/verdadeiro).
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-2.png)
Nesse ponto começa as questões matemáticas, onde forma definidas funções lineares para poder gerar o modelo básico do neurônio.
Nesse modelo o neurônio só consegue fazer operações binárias simples.
O que é Perceptron?
O modelo inicial acima era muito simples e para encontrar respostas mais precisas, foi modificado e nasceu o Perceptron.
O Perceptron é um neurônio que trabalha com vários pesos(w) e uma função linear que dará um valor que irá dizer se o neurônio será ativado ou não.
Assim o Perceptron é o modelo mais utilizado hoje, já que permite receber mais informações para gerar respostas mais precisas.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-3.png)
Abaixo uma imagem de como cada função de ativação produz um resultado diferente, e cada neurônio pode usar uma diferente da outra.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-4.png)
O que é Multilayer Perceptron(MLP)?
Agora que você entendeu o que é Perceptron, nós iremos mostrar o seu uso ao resolver um problema.
Imagine em um plano, pontos negativos e positivos em um determinado espaço, como mostra a figura abaixo.
O objetivo do nosso algoritmo é separar esses pontos nesse espaço de alguma forma.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-5.png)
O básico para resolver nosso problema seria traçar um hiperplano nesse espaço, algo que se parece como uma reta transversal como na figura abaixo.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-6.png)
No exemplo acima um único Hiperplano, não resolver nosso problema, já que ele vai acertar apenas a menor quantidade de dados. Logo eu preciso de mais um hiperplano.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-7.png)
Camada de Entrada: é a camada responsável por receber a informação e passar ela adiante para as próximas camadas. Conhecidadas como camadas escondidas.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-8.png)
Camada Escondida: é composta por neurônios, cada neurônio, gerar um corte no espaço gerando seus próprios resultados.
Na imagem abaixo podemos ver que existem 2 neurônios após a camada de entrada e repare que no nosso plano no espaço apareceram duas novas linhas.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-9.png)
A camada de entrada é responsável por enviar os dados para os neurônios avaliarem, e cada entrada é enviada para todos neurônios da camada escondida.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-10.png)
Camada de Saída: após as camadas de escondidas temos a camada de saída(output), que irá receber o resultado das análises feita por cada neurônio na camada anterior.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-11.png)
A camada de saída irá produzir um único resultado, que é o resultado que desejado.
Em nosso exemplo esperamos o resultado entre “positivo” ou “negativo”.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-12.png)
Pesos(w): os valores enviados pela camada de entrada, são enviados para a camada escondida usando um peso(w) como multiplicador.
Na imagem abaixo podemos ver que a camada de entrada envia a informação X1 com o mulptiplicador w1 para o neurônio 1.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-13.png)
Seguindo os passos acima é feito o mesmo procedimento para cada entrada na camada de entrada enviando pesos para cada neurônio na camada escondida.
A imagem abaixo representa uma rede neural e o seu processo de treinamento até chegar a resposta desejada ou aproximada.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-14.png)
Redes Neurais na prática
É de extrema importância conhecer esses detalhes sobre parâmetros, também conhecidos hiper-parâmetros, do treinamento das redes neurais.
Hiper Parâmetro: entrada, pesos, quantidade de neurônios, funções lineares, ativação, normalização.
São parâmetros que podemos otimizar para que o resultado gerado seja mais preciso.
Vamos praticar?
Preparamos esse conteúdo para você aprender na prática a trabalhar com Redes Neurais e visualizar de forma gráfica os resultados.
Trabalhar como a otimização dos parâmetros e acompanhar em tempo real e visual como os resultados são alterados.
1 – Entre em http://playground.tensorflow.org/
2 – Na camada escondida deixe apenas 2 neurônios e na camada de saída colocamos 1 neurônio.
3 – Clique em Play e aguarde até 001,200 que representa 1200 treinamentos.
4 – Observe o resultado em output
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-16-1024x590.png)
Como esperado o resultado foi que o algoritmo não foi bom.
Porque ele só conseguiu separar parte dos meus pontos azuis.
Entendendo melhor o resultado, as cores de fundo quando são mais intensas representam a precisão dos resultados.
Logo fundo azul escuro sobre pontos azuis é o resultado preciso, do contrario os resultados não são precisos.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-17.png)
5 – Agora adicione mais 2 neurônios na camada escondida e rode o teste novamente.
Podemos observar abaixo que o algoritimo agora chegou mais próximo de uma resposta precisa.
![](https://blog.tadtarget.com/wp-content/uploads/2019/12/image-18-1024x585.png)
Agora é com você!
Nossa sugestão faça novos testes e mostre nos comentários qual o resultado que você conseguiu.
Dica: nesse mesmo exemplo adicione um novo neurônio na camada de output e veja o que acontece!
Deixe um comentário sobre o que achou desse conteúdo!
Referências
https://cloud.google.com/blog/products/gcp/understanding-neural-networks-with-tensorflow-playground
1 Comentário
Parabéns, muito importante suas informações.