Buscar

Desenvolvimento de uma Rede Neural Perceptron

Prévia do material em texto

O
perceptron (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.
Esta configuração também é conhecida pelo modelo de McCulloch-Pitts,
que será aprofundado em módulos posteriores.
 
Perceptron de Camada Simples
 
Figura 1: Representação matemática de um
perceptron.
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).
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
Figura 2: Exemplo de PMC, em que n representa o número de átomos e m o número de camadas
ocultas
 
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
 
https://drive.google.com/drive/folders/1CfCX6G-8y7CHTHGMc8T-2xG068EXmFdQ?usp=sharing
https://drive.google.com/drive/folders/1zhcDYkPFUWyls27N_PJfgj9-5VMgqKD9?usp=sharing
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. 
 
Ir para questão
https://www.deeplearningbook.com.br/o-perceptron-parte-1/

Continue navegando