Coletânea Python do ZERO às Redes Neurais Artificiais

Fernando Feltrin · Capítulo 255 de 287

Páginas do PDF

Coletânea Python do ZERO às Redes Neurais Artificiais

Perceptron Multicamada

 

Uma vez entendida a lógica de um perceptron, e exemplificado em cima de um modelo de uma camada, hora de aumentarmos um pouco a complexidade, partindo para o conceito de perceptron multicamada.

O nome perceptron multicamada por si só é bastante sugestivo, porém é

importante que fique bem claro o que seriam essa(s) camada(s) adicionais. Como entendido anteriormente, problemas de menor complexidade que podem ser abstraídos sobre o modelo de um perceptron tendem a seguir sempre a mesma lógica, processar entradas e seus respectivos pesos, executar uma função (em perceptron de uma camada normalmente uma função de soma) e por fim a aplicação de uma função de ativação (em perceptron de uma camada normalmente uma função degrau, multicamada podemos fazer uso de outras como função sigmoide por exemplo).

Agora, podemos adicionar o que por convenção é chamado de camada

oculta em nosso perceptron, de forma que o processamento dos dados de entrada com seus pesos, passarão por uma segunda camada para ajuste fino dos mesmos, para posteriormente passar por função e ativação.

Repare no modelo acima, temos entradas representadas por X1, X2 e X3 e suas conexões com todos neurônios de uma segunda camada, chamada camada oculta, que se conecta com o neurônio onde é aplicada a função de soma e por fim com a fase final, a fase de ativação.

Além desse diferencial na sua representatividade, é importante ter em

mente que assim como o perceptron de uma camada, cada neurônio de entrada terá seus respectivos pesos, e posteriormente, cada nó de cada neurônio da camada oculta também terá um peso associado. Dessa forma, a camada oculta funciona basicamente como um filtro onde serão feitos mais processamentos para o ajuste dos pesos dentro desta rede.

 

Apenas para fins de exemplo, note que a entrada X1 tem 3 pesos associados que se conectam aos neurônios Y1, Y2 e Y3, que por sua vez possuem pesos associados à sua conexão com a função final a ser aplicada.

 

Outro ponto importante de se salientar é que, aqui estamos trabalhando de forma procedural, ou seja, começando dos meios e modelos mais simples para os mais avançados. Por hora, apenas para fins de explicação, estamos trabalhando com poucos neurônios, uma camada oculta, um tipo de função e um tipo de ativação. Porém com uma rápida pesquisada você verá que existem diversos tipos de função de ativação que posteriormente se adequarão melhor a outros modelos conforme nossa necessidade. Nos capítulos subsequentes estaremos trabalhando com modelos diferentes de redes neurais que de acordo com suas particularidades possuem estrutura e número de neurônios e seus respectivos nós diferentes dos exemplos tradicionais mencionados anteriormente.

Porém tudo ao seu tempo, inicialmente trabalhando com problemas computacionais de menor complexidade os modelos acima são suficientes, posteriormente para problemas mais robustos estaremos entendendo os diferentes modelos e formatos de estrutura de uma rede neural artificial.