Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin...
Transcript of Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin...
![Page 1: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/1.jpg)
Introdução àsRedes Neurais Artificiais
Treinamento via Algoritmos Genéticos
Prof. João Marcos Meirelles da Silva
http://www.professores.uff.br/jmarcos
Departamento de Engenharia de Telecomunicações
Escola de Engenharia
Universidade Federal Fluminense
Prof. João Marcos Meirelles da Silva – p. 1/26
![Page 2: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/2.jpg)
Créditos autorais
Este curso e estes slides são parcialmente adaptados da bibliografiacitada e das aulas do professor Luiz Pereira Calôba - COPPE/UFRJ
www.lps.ufrj.br/∼caloba
Prof. João Marcos Meirelles da Silva – p. 2/26
![Page 3: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/3.jpg)
Introdução
• Charles Robert Darwin (1809-1882)→ Evolução das espécies
• John Holland→ Adaptation in Natural and Artificial Systems(década de 70)
“It is not the strongest of the species that survives, nor the mostintelligent that survives. It is the one that is the most adaptable to
change.” - Charles Darwin
Prof. João Marcos Meirelles da Silva – p. 3/26
![Page 4: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/4.jpg)
Introdução
Algoritmos Genéticos são algoritmos de busca baseados em regras(heurísticas), onde essas regras são inspiradas nos mesmos
mecanismos envolvidos na evolução das espécies.
Evolutionary Computing
Evolutionary Algorithms
Evolution Strategies
Evolutionary Programming
Genetic Programming
Genetic Algorithms
Swarm Intelligence
Ant Colony Optimization
Particle Swarm Optimization
Intelligent Water Drops
Prof. João Marcos Meirelles da Silva – p. 4/26
![Page 5: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/5.jpg)
Aplicações
Geralmente aplicados em problema conhecidos como NP-Hard,quando é necessário otimizar várias variáveis conflitantes comrequisitos, onde geralmente outros algoritmos de otimização falham.
• Síntese de circuitos analógicos e digitais
• Projetos em mecânica
• Indústria farmacêutica
• Telecomunicações
• Medicina
Prof. João Marcos Meirelles da Silva – p. 5/26
![Page 6: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/6.jpg)
Algoritmos Genéticos
• Consiste em uma população de soluções candidatas (tambémchamadas de indivíduo ou fenótipo);
• Cada indivíduo é formado por uma string binária dividida empartes chamadas de cromossomos ou genótipos;
• Cada cromossomo codifica (em binário) uma variável a serotimizada. Logo, um problema com n variáveis a seremotimizadas requer um indivíduo com n cromossomos;
• O AG requer uma função de medida de desempenho (fitnessfunction) que permita atribuir uma nota de desempenho a cadaum dos indivíduos.
Prof. João Marcos Meirelles da Silva – p. 6/26
![Page 7: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/7.jpg)
Algoritmos Genéticos
• Cada indivíduo recebe um nota através da avaliação realizadapela fitness function sobre os valores de suas variáveiscodificadas;
• Cada iteração completa do algoritmo sobre a população échamada de geração;
• Indivíduos com as melhores notas são selecionados, pareados esofrem troca de cromossomos, seguida ou não de mutação emum dos cromossomos, formando assim uma nova população;
• A nova população é avaliada e o algoritmo segue até que umdeterminado critério de parada seja satisfeito.
Prof. João Marcos Meirelles da Silva – p. 7/26
![Page 8: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/8.jpg)
Algoritmos Genéticos
• Vantagens
• Não necessita de um modelo matemático do problema, apenasuma função de avaliação das soluções;
• Robustez razoável em relação a mínimos e máximos locais;
• Existem diferentes implementações disponíveis
• Facilmente paralelizável, o que o torna interessante paraaplicações que rodam em computadores de arquiteturasparalelas e multinúcleos.
Prof. João Marcos Meirelles da Silva – p. 8/26
![Page 9: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/9.jpg)
Algoritmos Genéticos
• Desvantagens
• A criação de uma função de desempenho nem sempre é fácil;
• Tempo de convergência proibitivo em algumas aplicações;
• Dificilmente atinge o mínimo global de forma exata;
• Não conseguem resolver problemas onde a única medida dedesempenho seja “certo ou errado”.
Prof. João Marcos Meirelles da Silva – p. 9/26
![Page 10: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/10.jpg)
Algoritmos Genéticos
• Fases do Algoritmo
1. Inicialização da População
2. Aptidão dos indivíduos
3. Seleção
4. Geração da nova população← Operador Crossover
5. Modificações na população← Operador Mutação
6. Mecanismo de Elitismo (opcional)
Prof. João Marcos Meirelles da Silva – p. 10/26
![Page 11: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/11.jpg)
Algoritmos Genéticos
• Indivíduo ou fenótipoA Figura abaixo apresenta duas variáveis x1 e x2 codificadas em doiscromossomos de quatro bits cada.
Figura 1: Codificação de variáveis em cromossomos.
Prof. João Marcos Meirelles da Silva – p. 11/26
![Page 12: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/12.jpg)
Algoritmos Genéticos
• PopulaçãoUma coleção de indivíduos forma uma população, que pode seriniciada de forma aleatória ou a partir de algum conhecimento préviodo problema.
Figura 2: População de indivíduos.
Prof. João Marcos Meirelles da Silva – p. 12/26
![Page 13: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/13.jpg)
Algoritmos Genéticos
• SeleçãoNa fase de seleção, os melhores indivíduos são selecionados,aleatoriamente, para a fase de cruzamento e, assim, gerardescendentes que serão novas soluções.
Figura 3: Os melhores indivíduos são selecionados para cruzamento.
Prof. João Marcos Meirelles da Silva – p. 13/26
![Page 14: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/14.jpg)
Algoritmos Genéticos
• CrossoverNa fase de crossover um ponto de corte é sorteado, e uma das partesde um indivíduo é trocada com a parte correspondente do outro.
Figura 4: As partes trocadas entre dois indivíduos geram dois outros indivíduos.
Prof. João Marcos Meirelles da Silva – p. 14/26
![Page 15: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/15.jpg)
Algoritmos Genéticos
• SeleçãoNa fase de mutação, cada indivíduo é submetido a um sorteio paraverificar se ele sofrerá mutação ou não. Em caso afirmativo, sorteia-sequal dos bits do indivíduo será invertido.
Figura 5: Escolha de um bit aleatoriamente para negação lógica.
Prof. João Marcos Meirelles da Silva – p. 15/26
![Page 16: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/16.jpg)
Exemplo
Vamos encontrar os valores das variáveis x1 e x2 que minimizam afunção de duas variáveis abaixo:
f(x1, x2) = x21 + x2
2
Sabemos de antemão que os valores ótimos são f(0, 0) = 0.
1. Definir o range das variáveis:• −10 ≤ x1 ≤ +10
• −10 ≤ x2 ≤ +10
2. Definir o número de bits necessários para codificar cada variável:• x1 = 4 bits• x2 = 4 bits
Prof. João Marcos Meirelles da Silva – p. 16/26
![Page 17: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/17.jpg)
Exemplo
3. Definir o número de indivíduos:• Popsize = 30• NumGeracoes = 50
4. Os demais parâmetros como taxa de mutação, serão deixadoscom seus valores default do Matlab.
⇒ Usaremos o toolbox de algoritmos genéticos do Matlab para esseexemplo.
Prof. João Marcos Meirelles da Silva – p. 17/26
![Page 18: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/18.jpg)
Exemplo
% ExemploAG.m
%
% Este script encontra os valores das variáveis x1 e x2 que minimizam
% a função:
%
% f(x1,x2) = x1^2 + x2^2
%
clear all
close all
clc
% Definição de parâmetros
nvars = 2; % Número de variáveis
lb = [-10 -10]; % Lower Bounds para x1 e x2.
ub = [+10 +10]; % Upper Bounds para x1 e x2.
SizePop = 30; % Número de indivíduos.
NumGeracoes = 50; % Número máximo de gerações.
Prof. João Marcos Meirelles da Silva – p. 18/26
![Page 19: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/19.jpg)
Exemplo
options =
gaoptimset(’PopulationType’,’DoubleVector’,’PopulationSize’, SizePop,
’Generations’, NumGeracoes,’StallGenLimit’, 10,
’PlotFcns’, @gaplotbestf);
[variaveis fval] = ga(@ExemploAGFitness, nvars, [ ], [ ], [ ], [ ], lb,
ub, [ ], options);
variaveis
fval
Prof. João Marcos Meirelles da Silva – p. 19/26
![Page 20: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/20.jpg)
Exemplo
Os algoritmos genéticos necessitam de uma função de desempenho.No caso, a função foi chamada de ExemploAGFitness:
% ExemploAGFitness.m
%
% Fitness function para o script ExemploAG.m
%
% Autor: João Marcos Meirelles da Silva
%
% Data de criação: 11/05/2013
function [J] = ExemploAGFitness(x)
J = x(1)^2 + x(2)^2;
end
Prof. João Marcos Meirelles da Silva – p. 20/26
![Page 21: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/21.jpg)
Exemplo
A Figura abaixo mostra a evolução do algoritmo genético em suabusca pelos valores ótimos.
0 10 20 30 40 500
0.2
0.4
0.6
0.8
1
1.2
1.4
Generation
Fitn
ess
valu
eBest: 3.62638e−06 Mean: 0.000328894
Best fitnessMean fitness
Figura 6: x1 = 0, 0010 e x2 = −0, 0004.
Prof. João Marcos Meirelles da Silva – p. 21/26
![Page 22: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/22.jpg)
RNAs e AGs
Algoritmos genéticos também podem ser utilizados para treinar umarede neural feedfoward em vez de usarmos o algoritmo deaprendizado backpropagation. Vamos tomar como exemplo a redeneural do Exemplo 1 da aula anterior:
Figura 7: Rede MLP.
Prof. João Marcos Meirelles da Silva – p. 22/26
![Page 23: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/23.jpg)
RNAs e AGs
W(1) Matriz de pesos da camada escondida
W(1) =
w(1)10 w
(1)11 w
(1)12 w
(1)13
w(1)20 w
(1)21 w
(1)22 w
(1)23
, W(1)∈ R
2×4
W(2) Matriz de pesos da camada de saída
W(2) =
w(2)10 w
(2)11 w
(2)12
w(2)20 w
(2)21 w
(2)22
w(2)30 w
(2)31 w
(2)32
, W(2)∈ R
3×3
Prof. João Marcos Meirelles da Silva – p. 23/26
![Page 24: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/24.jpg)
RNAs e AGs
O Algoritmo Genético deve codificar todos os elementos das matrizesde pesos W
(1) e W(2) da rede neural. Dado um padrão, o Algoritmo
Genético irá buscar o conjunto de elementos dessas matrizes queminimizam o erro médio quadrático da rede neural.
Figura 8: Uso de um AG para treinamento autoassociativo.
⇒ Veja o ExemploMLP03.mProf. João Marcos Meirelles da Silva – p. 24/26
![Page 25: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/25.jpg)
Referências
1. Goldberg, D. E., “Genetic Algorithms in Search, Optimization andMachine Learning,” Addison-Wesley, 1989.
2. Bandyopadhyay, S., Pal, S. K., “Classification and LearningUsing Genetic Algorithms - Applications in Bioinformatics andWeb Intelligence,” Springer, 2007.
3. Alba, H., Dorronsoro, E., “Cellular Genetic Algorithms,” Springer,2008.
Prof. João Marcos Meirelles da Silva – p. 25/26
![Page 26: Introdução às Redes Neurais Artificiais · Introdução •Charles Robert Darwin (1809-1882)→Evolução das espécies •John Holland →Adaptation in Natural and Artificial](https://reader034.fdocuments.net/reader034/viewer/2022050216/5f620f09b6fdfe40f1586cbe/html5/thumbnails/26.jpg)
FIM
Prof. João Marcos Meirelles da Silva – p. 26/26