Buscar

Desenvolvimento de uma Rede Neural Perceptron

Prévia do material em texto

Desenvolvimento de uma Rede Neural Perceptron
Operceptron (Rosenblatt, 1958), é o modelo mais simples e antigo de uma rede neural, que nos permite compreender de maneira simples o funcionamento de uma RNA em termos matemáticos.
Em resumo, um perceptron pode ser representado como um único neurônio que recebe várias entradas e produz uma única saída, como mostra a Figura 1.
Figura 1: Representação matemática de um perceptron.
Esta configuração também é conhecida pelo modelo de McCulloch-Pitts, que será aprofundado em módulos posteriores.
 
Perceptron de Camada Simples
Como na Figura 1, vamos imaginar um Perceptron de camada simples com apenas três entradas (inputs), denominados por x1, x2 e x3. Ao determinarmos um parâmetro de importância a cada uma das entradas (pesos estatísticos), podemos determinar a soma ponderada das entradas como na seguinte equação:
em que pj (em outros módulos denotamos w) representa o peso associado a xj. A partir de um valor limite (threshold), definimos o valor binário do output, que será dado por
sendo b o threshold. O valor representado por b recebe o nome de bias (viés), e pode ser interpretado como uma grandeza que mede a facilidade de ativarmos o Perceptron (output = 1).
Note que, no caso citado, o Perceptron pode ser utilizado como uma função lógica em programação. Este tipo de função engloba os operadores booleanos, como a função AND ou OR.
 
Perceptron de Múltipla Camada (PMC)
Um Perceptron de múltiplas camadas pode ser definido como uma RNA com uma ou mais camadas ocultas que tenham n neurônios (Figura 2).
Figura 2: Exemplo de PMC, em que n representa o número de átomos e m o número de camadas ocultas
Ao contrário do Perceptron de camada simples que possui um único neurônio de saída, o PMC é capaz de correlacionar o sinal de saída de diversos neurônios da camada de saída.
 
Linguagem de Programação Python
Atualmente existem diversas ferramentas capazes de lidar com a construção de redes neurais. Entre essas muitas ferramentas, a que mais se destaca no cenário atual é a linguagem de programação Python. Por quê?
Entre todas as linguagens de programação, o Python é de longe a ferramenta que mais possui recursos implementados, que são capazes de atacar problemas de natureza estatística. Estas ferramentas são implementadas em pacotes como o SciPy, NumPy, Matplotlib, entre outras, que, além de versáteis, são de fácil compreensão e gratuitas. Além das qualidades já citadas, o Python possui uma extensa comunidade de usuários, que participam ativamente na criação e aprimoramento de ferramentas e bibliotecas.
 
Link para acessar dados da disciplina nas práticas:
https://drive.google.com/drive/folders/1CfCX6G-8y7CHTHGMc8T-2xG068EXmFdQ?usp=sharing
 
Link para acessar todas as práticas e programas durante a disciplina:
https://drive.google.com/drive/folders/1zhcDYkPFUWyls27N_PJfgj9-5VMgqKD9?usp=sharing
 
 
 
 
 
Atividade Extra
Recomendo o seguinte artigo que se encontra no link abaixo:
https://www.deeplearningbook.com.br/o-perceptron-parte-1/
 
 
 
Referência Bibliográfica
HAYKIN, S. "Neural Networks. A Comprehensive Foundation". 2 ed. New Jersey: Prentice Hall, 2001.
LEK, S.; PARK, Y.P. “Artificial Neural Network”. Springer.  2008.
GOODFELLOW, I. “Deep Learning”. The Mit Press. 2016.

Continue navegando