Buscar

Atividade Prática IA - Rede Neural

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Atividade Prática 
 
Inteligência Artificial Aplicada 
 
Cezar Augusto Roggia 
Centro Universitário UNINTER 
Rod. Armando Calil Bulos, 6201 - sala 103 – Ingleses – Florianópolis 
cezarfw@gmail.com 
 
 Resumo: Treinar o neurônio de Rosenblatt para que identifique o meu registro da Uninter. 
 Como fazer: Utilizar uma planilha eletrônica (Excel) criando 8 células de entrada (correspondente a 
cada dígito do RU) e uma célula de saída que terá valor 1 se o registro for o seu e valor -1 se não for. 
O processamento entre as células de entrada e a saída deverá seguir o modelo de Rosenblatt. 
 
1. Objetivo 
Essa atividade tem como intuito aprofundar o conhecimento acerca dos procedimentos para o 
desenvolvimento e treinamento de uma rede Neural Artificial. 
 
2. Introdução 
 
Rede Neural Artificial (RNA) pode ser definida como uma estrutura complexa interligada por 
elementos de processamento simples (neurônios), que possuem a capacidade de realizar operações 
como cálculos em paralelo, para processamento de dados e representação de conhecimento. 
Um neurônio de uma rede neural é um componente que calcula a soma ponderada de vários inputs, 
aplica uma função e passa o resultado adiante. 
Rede neural artificial é uma abstração da rede neural biológica. Seu objetivo não é replicar, mas sim 
servir de modelo para o aprendizado e resoluções de problemas complexos. 
 
 
 
mailto:cezarfw@gmail.com
 
3. Procedimentos de desenvolvimento do Neurônio de Rosenblatt 
3.1. Dados: Pelo Google sheets foi criado uma planilha eletrônica (Planilha) para o projeto e nela 
inserido 197 amostras que iniciam na linha 41 e vão até a linha 237. 
- Coluna 1: Referência da amostra 
- Coluna 2: Primeiro dígito do RU 
- Coluna 3: Segundo dígito do RU 
- Coluna 4: Terceiro dígito do RU 
- Coluna 5: Quarto dígito do RU 
- Coluna 6: Quinto dígito do RU 
- Coluna 7: Sexto dígito do RU 
- Coluna 8: Sétimo dígito do RU 
- Coluna 9: Valor desejado 
- Coluna 10: RU 
 
 
OBS: Os números contidos na linha 41 são respectivos ao meu RU. 
 
Esses dados serão utilizados no treinamento do neurônio. 
 
 
 
 
 
 
 
 
https://docs.google.com/spreadsheets/d/1bcha82qkwmshDty2GMsPHNVELDT47PiJgRSskX1XogU/edit?usp=sharing
3.2. Macro: A planilha contém automação para realizar o treinamento via macro, o código segue abaixo 
 
4. Entendendo a estrutura da planilha para treinamento do Neurônio 
4.1. Na linha 4 realizo a inserção/substituição dos dados com base nas 197 amostras, uma por vez. 
4.2. Na mesma linha mas na penúltima coluna que é mostrado no print abaixo temos o valor que desejamos e 
na última coluna realizamos os cálculos que é apresentado abaixo. 
4.3. Na linha 7 temos o bias e a taxa de aprendizagem. 
4.4. Na linha 5 e última coluna temos a soma das entradas que utiliza a formula: 
=(B4*A14)+(C4*B14)+(D4*C14)+(E4*D14)+(F4*E14)+(G4*F14)+(H4*G14)+(B7) 
 
 
 
4.5. Na linha 4 e coluna L do print acima temos a função de ativação, que nesse caso se dá pela condicional 
“se”, como pode ser observado na fórmula abaixo: 
=IF(J4>0;1;-1) 
4.6. Na mesma linha 4 mas agora na coluna M temos o cálculo de erro que se dá pela subtração do valor 
esperado/desejado pela saída, segue fórmula abaixo: 
=I4-L4 
 
 
 
4.7. Na linha 14 ficam armazenados os pesos das entradas. 
 
 
4.8. Na linha 23 e 26 temos o valor da variação dos pesos das entradas e do bias respectivamente, que são 
calculados por: erro x taxa de aprendizado x o peso atual 
a) Variação dos pesos das entradas (delta das entradas): 
=$M$4*$E$7*B4 
 
b) Variação do peso do bias (delta do bias): 
=M4*E7*B7 
 
 
 
 
4.9. Após calcularmos os deltas, que são as variações baseadas nos pesos, erros e taxa de aprendizagem, 
teremos novos valores de pesos, tanto para as entradas quanto para o bias, conforme poderá observar no print 
abaixo. 
Os pesos iniciados serão atualizados com os valores dos novos pesos e será assim até o final do 
treinamento. 
 
 
4.10. A planilha também conta com um campo para configurar a quantidade de épocas desejadas para o 
treinamento e mais dois campos com informações de execução do treinamento, apresentando qual a amostra 
que está sendo utilizada e a época respectiva. 
O botão treinar é responsável pela execução do treinamento propriamente dito. 
 
 
5. Treinamento do Neurônio de Rosenblatt 
 
Os valores de inicialização são: 
- Pesos das entradas: -0,5 
- Bias: 0,5 
 
Quantidade de épocas: 8 
 
 
 
Valor da saída com base no meu RU não está de acordo com o esperado, retornando erro conforme print 
abaixo: 
 
 
 
Clicando no botão “Treinar” iniciamos o treinamento e chegamos ao resultado esperado depois de 8 épocas, 
conforme pode ser visualizado: 
 
 
 
Alerta: Como o Google sheets tem limitação para execução de scripts (macros), foi preciso dividir o 
treinamento em dois com 4 épocas cada, totalizando 8 épocas. Essa limitação faz parte do serviço do Google 
sheets.
Visualização da planilha com os dados de início do treinamento 
 
 
 
 
 
a) Primeiro treinamento: Utilizadas 4 épocas com 197 amostras, totalizando 788 amostras. 
 
Observe que ainda estamos com erro utilizando o número do meu RU nas entradas mas os pesos estão alterados e o cálculo das entradas apresenta valor 
diferente de quando iniciamos o treinamento. 
 
 
b) Segundo treinamento: Utilizadas 4 épocas com 197 amostras, totalizando 788 amostras. 
 
Com 8 épocas e um total de 1576 amostras utilizadas chegamos ao resultado esperado e consequente reconhecimento do RU (1955538), conforme pode 
ser observado no print abaixo: 
 
 
 
6. Conclusão 
 
O treinamento realizado para identificar o RU é dito como treinamento supervisionado do modelo de 
rede Perceptron, que consiste em ajustar os pesos e os thresholds de suas unidades para que a 
classificação desejada seja obtida. 
 
Para a adaptação do threshold juntamente com os pesos consideramos o peso associado a uma 
conexão, cuja entrada são sempre “1” ou “-1” e adaptar o peso relativo a essa entrada. 
 
Quando um padrão é inicialmente apresentado à rede, ela produz uma saída. Após medir a distância 
entre a resposta atual e a desejada, são realizados os ajustes apropriados nos pesos das conexões de 
modo a reduzir esta distância. Este procedimento é conhecido como Regra Delta. 
 
Os pesos serão atualizados constantemente até o fim do treinamento, que em nosso caso, com 8 
épocas conseguimos alcançar o objetivo, que é identificar o valor do meu RU. 
 
 
 
7. Referências. 
 
1. “Neural Networks - A Comprehensive Foundation,” - Simon S. Haykin 
2. “Fundamental of Neural Networks - Architectures, Algorithms and Applications,” - Laurene V. 
Fausett 
3. Redes Neurais Artificiais, Perceptron Simples - Serafim Nascimento 
4. Construa um neurônio artificial do zero - Prof Francisco Calaça

Continue navegando