Post on 24-Dec-2018
Inteligência Computacionale Algumas de suas Aplicações
Marcos Eduardo Valle
Departamento de Matemática AplicadaInstituto de Matemática, Estatística e Computação Científica
Universidade Estadual de Campinas
Sexta-feira, 25 de Outubro de 2013
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 1 / 86
Inteligência Computacional Introdução
Inteligência computacional = inteligência artificial?
Inteligência é (entre outras coisas):
Capacidade de resolver problemas;Engenhosidade e eficácia no exercício de uma atividade;
Exemplo - Secretária Eletrônica Inteligente!
Atender o telefone e perguntar:– Em que posso ajudar?Se a resposta for: “Gostaria de falar com o prof. Marcos”.Pergunte:– Quem gostaria.Se a resposta for: “É o chefe dele”.Responder:– Infelizmente ele não se encontra. Por favor, ligue mais tarde.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 2 / 86
Inteligência Computacional Introdução
Para quem liga, o sistema parece inteligente!
Inteligência artificial
Sistema (secretária, computador) que resolve problemas de formaengenhosa e eficaz.
Na verdade, alguém inteligente pensou em todas as possibilidades eprojetou algo que “parece” inteligente!
Inteligência Computacional
Estuda técnicas naturais do homem – ou da natureza – de resolverproblemas complexos.
ConclusãoInteligência computacional ⊆ inteligência artificial.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 3 / 86
Inteligência Computacional Introdução
Inteligência Computacional
Termo surgiu no início da década de 1990.
Congresso Mundial de Inteligência Computacional (WCCI):
Primeiro: 1994 - Orlando, Florida, USA.Último: 2012 - Brisbane, Austrália.Próximo: 2014 - Beijing, China.
Inteligência Computacional abrange:1 Redes neurais artificiais – inspirados no cérebro humano.2 Conjuntos nebulosos – inspirados na linguagem natural.3 Computação evolutiva – inspirados na teoria da evolução.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 4 / 86
Inteligência Computacional Introdução
Organização da Apresentação
1 Inteligência Computacional
2 Conjuntos Nebulosos
3 Redes Neurais Artificiais
4 Memórias Associativas
5 Computação Evolutiva
6 Conclusão
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 5 / 86
Conjuntos Nebulosos Introdução
Teoria dos ConjuntosNebulosos
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 6 / 86
Conjuntos Nebulosos Introdução
Introdução
Conjuntos Clássicos:Usados para classificar elementos em conceitos gerais:
Números pares;Cidades que são capitais na América do Sul;Números impares;Times de futebol;
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 7 / 86
Conjuntos Nebulosos Introdução
Mas existem situações como estas:1 Grandes cidades da América do Sul;2 Baixa temperatura;3 Alta taxa de inflação;
e termos como os seguintes:1 Pequeno erro de aproximação;2 Rápida resposta de um sistema dinâmico;3 Mal condicionamento de um sistema de equações lineares;
Esses termos, podem ser representados por conjuntos???
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 8 / 86
Conjuntos Nebulosos Introdução
Problema da Dicotomia:
Borel, 1950Um grão de arroz não constitui uma porção.Da mesma forma, dois ou três grãos não representam umaporção de arroz.Por outro lado, ninguém discute que 1000 grãos de arrozrepresentam uma porção.Qual é portanto o limite apropriado?Podemos dizer que 500 grãos de arroz não representam umaporção, mas 501 representam?
Conjuntos nebulosos podem ser usados para representar conceitoscomo a noção de porção de arroz.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 9 / 86
Conjuntos Nebulosos Introdução
Problema da Dicotomia:
Day and Night – Esher, 1938.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 10 / 86
Conjuntos Nebulosos Introdução
Conjuntos nebulosos...foram introduzidos em 1963 por Lofti Zadeh...
Zadeh nasceu em 1921 no Azerbaijão, um país localizado noCáucaso, entre Europa e Ásia, ao sul da Rússia!
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 11 / 86
Conjuntos Nebulosos Introdução
Conjuntos nebulosos...
Atualmente é professor da Universidade da Califórnia, EUA.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 12 / 86
Conjuntos Nebulosos Introdução
A idéia de Zadeh...
Conjuntos Clássicos...Considere o conjunto dos números reais entre 1 e 3:
A = {x ∈ R : 1 ≤ x ≤ 3}.
O conjunto A é unicamente determinado por uma função depertinência ϕA : R→ {0,1} em que
ϕA(x) ={
1 se x ∈ A,0 caso contrário.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 13 / 86
Conjuntos Nebulosos Introdução
A idéia de Zadeh...
Conjuntos Clássicos...Considere o conjunto dos números reais entre 1 e 3:
A = {x ∈ R : 1 ≤ x ≤ 3}.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 13 / 86
Conjuntos Nebulosos Introdução
A idéia de Zadeh...
Conjuntos Nebulosos...
Um conjunto nebuloso é caracterizado por uma função µA : U → [0,1].
Exemplo – O conjunto nebuloso das porções de arroz:
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 14 / 86
Conjuntos Nebulosos Introdução
A idéia de Zadeh...
Conjuntos Nebulosos...
Um conjunto nebuloso é caracterizado por uma função µA : U → [0,1].
Exemplo – O conjunto das pessoas jovens
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 14 / 86
Conjuntos Nebulosos Introdução
A idéia de Zadeh...
Conjuntos Nebulosos...
Um conjunto nebuloso é caracterizado por uma função µA : U → [0,1].
Exemplo – O conjunto dos números próximos de 2:
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 14 / 86
Conjuntos Nebulosos Introdução
Qual a vantagem dos conjuntos nebulosos?
Princípio da Incompatiblidade de Zadeh:Quando a complexidade de um sistema aumenta, nossa habilidade defazer sentenças precisas e significantes sobre seu comportamentodiminue até um limiar onde precisão e relevância tornam-secaracterísticas mutuamente exclusivas.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 15 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Aplicação – Guiagem Autônoma
Backing-up a Truck
Estacionar um caminhão num pátio efetuando apenas movimentospara trás e parar formando um ângulo de 90o com a horizontal.
PATIOESTACIONAMENTO
CAMINHAO
100m
100m
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 16 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Sistematização do Problema
Entrada:Posição (x , y) e ângulo φ com ahorizontal.
Saída:Ângulo θ que as rodas formam como eixo do veículo.
Simplificação:
Supomos que há uma área suficientemente grande no pátio.Desprezamos a coordenada y na modelagem!
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 17 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Modelagem Fuzzy
Fuzzificação da posição x :
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 18 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Modelagem Fuzzy
Fuzzificação do ângulo φ do veículo com a horizontal:
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 18 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Modelagem Fuzzy
Fuzzificação do ângulo θ das rodas com o eixo do veículo:
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 18 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Sistemas de Regras Fuzzy
Regras fuzzy para manobrar o caminhão:
SE x é esquerda E φ é direita baixoENTÃO θ é positivo pequeno.
SE x é esquerda centro E φ é direita baixoENTÃO θ é positivo médio....
SE x é centro E φ é verticalENTÃO θ é zero....
SE x é direita E φ é esquerda baixoENTÃO θ é negativo pequeno.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 19 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Sistemas de Regras Fuzzy
Regras fuzzy para manobrar o caminhão:
xES EC CE DC DI
φ
DB PP PM PM PG PGDA NP PP PM PG PGDV NM NP PP PM PGVE NM NM ZE PM PMEV NG NM NP PP PMEA NG NG NM NP PPEB NG NG NM NM NP
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 19 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Suponha que (x , y) = (80,25) e φ = 30o.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
−30 −20 −10 0 10 20 300
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Suponha que (x , y) = (80,25) e φ = 30o.
SE x = 80 E φ = 30 ENTÃO θ defuzzificado é 24.69o:
−30 −20 −10 0 10 20 300
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Próximo estágio: (x , y) = (80.58,25.82) e φ = 54.7o.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Próximo estágio: (x , y) = (80.76,26.80) e φ = 79.45o.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Próximo estágio: (x , y) = (80.62,27.79) e φ = 98.35o.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Próximo estágio: (x , y) = (80.22,28.71) e φ = 113.35o.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Próximo estágio: (x , y) = (79.60,29.49) e φ = 128.35o.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Próximo estágio: (x , y) = (78.81,30.10) e φ = 142.52o.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Próximo estágio: (x , y) = (77.94,30.60) e φ = 150.16o.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Próximo estágio: (x , y) = (77.02,31.00) e φ = 156.16o.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Conjuntos Nebulosos Uma aplicação da teoria dos conjuntos nebulosos
Exemplo – Backing-up a Trailer
Trajetória final.
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 20 / 86
Redes Neurais Artificiais Introdução
Redes Neurais Artificiais
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 21 / 86
Redes Neurais Artificiais Introdução
O que é uma rede neural?
Uma rede neural é um conjunto de neurônios interconectados.Neurônios são as unidades básicas de processamento docérebro.Um neurônio artificial é um construto matemático inspirado doneurônio biológico.
Aplicações abrangem:
Classificação de padrões;Processamento de sinais e imagens;Previsão de séries temporais;Controle;Interpretação e visualização de dados;
entre outras.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 22 / 86
Redes Neurais Artificiais Introdução
Modelo Artificial de um Neurônio
Em 1943...
Warren McCulloch Walter Pitts
Biólogo Matemático
apresentaram o primeiro modelo matemático de um neurônio.Nasceram as redes neurais artificiais!
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 23 / 86
Redes Neurais Artificiais Introdução
Da biologia à matemática...
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 24 / 86
Redes Neurais Artificiais Introdução
Da biologia à matemática...
x1
w1
&&
θ
��
x2
w2
((
...
xj wj //∑
φ(·) // y
...
xn
wn
66
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 24 / 86
Redes Neurais Artificiais Introdução
Um neurônio em termos matemáticos...
Equação do Neurônio:
y = φ
n∑j=1
wj · xj − θ
= φ(
wT x− θ),
em que φ é a função limiar:
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 25 / 86
Redes Neurais Artificiais Introdução
Um neurônio em termos matemáticos...
Equação do Neurônio:
y = φ
n∑j=1
wj · xj − θ
= φ(
wT x− θ),
mas pode ser também uma função sigmoide:
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 25 / 86
Redes Neurais Artificiais Introdução
Um neurônio em termos matemáticos...
Equação do Neurônio:
y = φ
n∑j=1
wj · xj − θ
= φ(
wT x− θ),
mas pode ser também uma função gaussiana:
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 25 / 86
Redes Neurais Artificiais Introdução
Neurônios e uma simples analogia...
Os neurônios representam a base do cérebro, como os tijolosnuma construção.A forma como os neurônios são ligados, define as paredes.As conexões sinapticas são os móveis.A experiência organiza os móveis da nossa casa cerebral.Durante a vida, conexões sinápticas são criadas e destruídas!
Conclusão:As conexões sinápticas são os verdadeiros responsáveis peloconhecimento, raciocínio e memória no cérebro.Quando aprendemos, modificamos nossas conexões sinápticas!
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 26 / 86
Redes Neurais Artificiais Introdução
Aplicação – Classificação de Padrões
Identificação de Diabete
Uma população com 532 mulheres índias foram examinadas.Foram coletadas 8 informações como:
Idade;Número de gravidez;Índice de massa corporal;Sobra de pele no tríceps;etc.
Tarefa da Rede Neural Artificial:Determinar se uma nova índia possui ou não diabete.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 27 / 86
Redes Neurais Artificiais Introdução
Formulação Matemática...
Formulação de um problema de classificação:
Dado um conjunto A ⊆ Rn (o conjunto das índias com diabetes),determinar uma função fA : Rn → {0,1} (classificador) tal quefA(x) = 1 se e somente se x ∈ A (a índia x tem diabetes).
Problema Prático:Não conheçemos o conjunto A, mas apenas um conjunto de dados{(xξ,dξ) : ξ = 1, . . . , k}, em que dξ ∈ {0,1} é tal que dξ = 1⇔ xξ ∈ A.
Com base nesses dados, criamos uma rede neural que atua como umclassificador!
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 28 / 86
Redes Neurais Artificiais Introdução
Como construir uma rede neural artificial:
Primeiros passos:1 Modelo(s) do(s) neurônio(s),2 Arquitetura da rede,3 Especificar como determinar os pesos sinápticos.
Abordagem mais simples...
Um único neurônio de McCulloch-Pitts (modelo e arquitetura)!!!Como determinar os pesos sinápticos?
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 29 / 86
Redes Neurais Artificiais Perceptron
Perceptron
Em 1958, Rosenblatt ap-resentou uma soluçãochamada Perceptron...
O perceptron foi a primeirarede neural usada pararesolver um problemaprático!
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 30 / 86
Redes Neurais Artificiais Perceptron
O Perceptron em termos matemáticos...
Perceptron:Uma rede com um único neurônio de McCulloch e Pitts:
y = φ(
wT x− θ).
Pesos sinápticos ajustados como segue:
Dado um par (xξ,dξ), definir:
w← w + (dξ − yξ)xξ,
em que dξ é a resposta desejada e yξ é a saída da rede quando xξ éapresentado. Aprendizado supervisionado (com professor).
Rosenblatt mostrou que o algoritmo acima converge para os pesoscorretos se os dados forem linearmente separáveis.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 31 / 86
Redes Neurais Artificiais Perceptron de Multiplas Camadas
Perceptron de multiplas camadas
O problema de identificação de diabetes não é linearmente separável.Nesse caso, o perceptron não é recomendado.
Perceptron de Multiplas Camadas
x1''
��
��
P1
��
x2
77
''
��
P2
''...... Pm+1 // y
Pm
77
xn
77
FF
II
x1
w1
&&
θ
��
x2
w2
((
...
xj wj //∑
φ(·) // y
...
xn
wn
66
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 32 / 86
Redes Neurais Artificiais Perceptron de Multiplas Camadas
Perceptron de múltiplas camadas
Propriedade:Um perceptron de múltiplas camadas pode aproximar qualquerconjunto compacto A ⊆ Rn com uma precisão dada ε.
TreinamentoO treinamento geralmente é feito usando uma classe de algoritmos,chamados algoritmos de retro-propagação (backpropagation), quetem como objetivo minimizar o erro quadrático médio produzido pelarede neural artificial como uma função dos pesos sinápticos.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 33 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
Mapas Auto-organizáveis de Kohonen
No córtex cerebral humano, diferentes áreas são ativadas pordiferentes estímulos.
O mapa auto-organizável de Kohonen captura essa característica!
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 34 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
Mapas Auto-organizáveis de Kohonen
Os mapas de Kohonen são determinados por uma regra deaprendizagem não-supervisionada composta de:
Processo de competição entre os neurônios do mapa no qual umneurônio é considerado vencedor.Há uma cooperação no qual o neurônio vencedor excita os seusneurônios vizinhos.As conexões sinápticas dos neurônios ativados são adaptadas aoestímulo.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 35 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
Algoritmo do Mapa de Kohonen:
enquanto o mapa auto-organizável apresentar alterações faça
1 Amostragem: Escolha x(t) aleatoriamente.2 Determine o índice do neurônio vencedor:
i(x) = argmink=1:l
‖x(t)−wk‖ .
3 Atualização dos pesos sinápticos:
wk (t + 1) = wk (t) + εhk ,i(x)(t)(x(t)−wk (t)),
em que ε é a taxa de aprendizagem e hk ,i(x)(t) é a função devizinhança.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 36 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
Organização dos Cursos de Graduação da UELTrabalho de IC de Gabriel dos Santos e Silva (4o ano - matemática)
Dados sobre a UEL54 cursos (diferenciando as habilitações);1538 disciplinas;
Informações obtidas no catálogo dos cursos de graduação.
Matriz com os dados X ∈ R1538×54:
xij =
2, a disciplina i é anual no curso j ,1, a disciplina i é semestral no curso j ,0.5, a disciplina i é bimestral no curso j ,0, a disciplina i não faz parte do curso j .
Foi utilizado um mapa de Kohonen com dimensão 30× 30.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 37 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
Visualização e discussão dos resultados:
MAPA A - Melhor resposta de cada neurônio.MAPA B - Melhor neurônio para cada curso.
Observações:Importantes agrupamentos:
Letras (Letras (Bach), Letras (Lic), LEM Inglês, LEM Francês eLEM Espanhol);Exatas (Matemática, Química, Engenharia Elétrica, EngenhariaCivil, Arquitetura, Ciência da Computação e Física);Habilitações.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 38 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
Identificação Autônoma de FonemasTrabalho de IC de Raul Arthur Fernandes Rosa (Eng. Elétrica, em 2012)
Problema:Reconhecer os fonemas de um trecho de discurso contínuo,dependente de orador e com alfabeto aberto.
Clique aqui para ouvir o discurso utilizado!
Características Utilizadas - MFCC:Pré-enfase.Janela de Hamming de 20ms e deslocamento de 10ms.Transformada de Fourier discreta (FFT).Filtro Mel e Computo do Log.Transformada do cosseno discreta (DCT).
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 39 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
A construção do mapa...
Particionou-se em intervalos de 20ms e deslocamento de 10ms.Foram extraídos 12 coeficientes MFCC de cada trecho.Resultado: Conjunto de dados com 797 vetores em R12.Sintetizou-se um mapa de dimensões 20× 20.Os neurônios da rede foram rotulados manualmente.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 40 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
Mapa Fonético:
- - n - i˜ - - - - - i - - - s - - - s t- - - - - - - - - - - - - - v - - - v -- m m - - - - - - - - - - - - - - - - sjn - - - - - - - - - - - - - - - - - - -m - w - - - - - - - - - - - - - - - - vu - - - - - - m - - - - - - w - - - - t- - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -g a a - - - p - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -- a - - - - - - - - - - - - - - - - - -- a - - - - - k - - - - - - - - - - - -a - - - - - - - - r - - - - - - - - - -- - - o - - - - e - - r r - - - - - - r- o u - - - - - - - - i - - - i - - - el o - - - - - - - - - - - L i˜ - - - i eu - - tu - - - Z - - - i˜ - - - - g - - el - - - - - - - - - - - - - - - - - - -- - - - - - - - S - - - - - e e˜ - t - E- - - - - - p - - t tSi - - i - - E E e -
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 41 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
Caminho fonético da sentença “Olá amigo.”. . .
9
��
12
��
. . . . . . . . . . . . . . . . .
i1166
. . . . . . . . . . . . . . . . . . .
. m
8
GG
. . . . . . . . . . . . . . . . . .
.7==
. . . . . . . . . . . . . . . . . . .
. .6cc
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. a
5
OO
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. o1 ))
. . . . . . . . . . . . . . . . . .
. . . . .2yy
13 //. . . . . . . . . g14��
. . . . .
. . l3~~
. . . . . . . . . . . . o . . . .
. .
4
OO
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
10
aa
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 42 / 86
Redes Neurais Artificiais Mapas Auto-Organizáveis de Kohonen
Caminho fonético da sentença “Cinco.”. . .
9
��
. . . . . . . . . . . . . s
2��
5
��
. . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . s
1OO
3// s4XX
. .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
6
��
.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . o
10
��
. . . . . . . i˜
8
[[
. . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . o . . . . . . . . . . .
7
UU
. . . . . .
. . . . . . . . . . . . . . . . . . . .
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 43 / 86
Memórias Associativas Conceitos Básicos
Pesquisa principal...Memórias associativas
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 44 / 86
Memórias Associativas Conceitos Básicos
Memória?
Memória:Sistema que possui as seguintes funções:
1 Registro;2 Preservação;3 Recordação;
Exemplos:Cérebro humano,Memórias de Acesso Aleatório (RAM);Uma folha de papel ou uma biblioteca;
Questão Importante:Como recuperar a informação armazenada?
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 45 / 86
Memórias Associativas Conceitos Básicos
Memória?
Memória:Sistema que possui as seguintes funções:
1 Registro;2 Preservação;3 Recordação;
Exemplos:Cérebro humano,Memórias de Acesso Aleatório (RAM);Uma folha de papel ou uma biblioteca;
Um livro pode ser encontrado numa biblioteca consultando umcatálogo... mas e se alguém perder o catálogo?
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 45 / 86
Memórias Associativas
Memória Associativa
Memória AssociativaSistema que armazena e recupera informação por associações.
Exemplo:Recordar um poema ouvindo apenas as primeiras palavras;Lembrar de uma pessoa especial sentindo um certo perfume.
Exemplo:
Entrada (x) −→ Saída (y)
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 46 / 86
Memórias Associativas
Memória Associativa
Memória AssociativaSistema que armazena e recupera informação por associações.
Exemplo:Recordar um poema ouvindo apenas as primeiras palavras;Lembrar de uma pessoa especial sentindo um certo perfume.
Exemplo:
Entrada (x) −→ Saída (y)
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 46 / 86
Memórias Associativas
Tolerância à Ruído
Exemplo:
Entradas (x̃) −→ Saída (y)
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 47 / 86
Memórias Associativas
Tolerância à Ruído
Exemplo:
Entradas (x̃) −→ Saída (y)
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 47 / 86
Memórias Associativas
Tolerância à Ruído
Exemplo:
Entradas (x̃) −→ Saída (y)
Deseja-se que uma memória associativa tenha tolerância comrespeito à padrões ruidosos, incompletos ou distorcidos.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 47 / 86
Memórias Associativas
Formulação Matemática:
Objetivo:Construir um modelo de memória que armazena e recorda porassociação e que possua tolerância à ruído.
Formulação Matemática:
Dado {(xξ,yξ) : ξ = 1, . . . , k}, determineM : X → Y tal que
M(xξ) = yξ.
Sobretudo, deseja-se terM(x̃ξ) = yξ para todo x̃ξ próximo de xξ.
Memórias Auto-associativas e Heteroassociativas
Auto-associativas: yξ = xξ para todo ξ = 1, . . . , k .Hetero-associativas: yξ 6= xξ para algum ξ ∈ {1, . . . , k}.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 48 / 86
Memórias Associativas Memórias Associativas Lineares
Memória Associativa Linear
Introduzidas nos anos 1970 por Anderson, Nakano e Kohonen.
SeM : Rn → Rm é linear,então pode ser representada por uma matriz M ∈ Rm×n.
Memória Associativa Linear (LAM)Descrita pela equação:
y = Mx ,
onde x é a entrada e y é o padrão recordado.
Como determinar M?
Dados pares de associações (x1,y1), . . . , (xk ,yk ), como determinar Mde modo que yξ = Mxξ para todo ξ = 1, . . . , k?
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 49 / 86
Memórias Associativas Memória Associativa Linear por Correlação
Armazenamento por Correlação
Motivação: Estatística e fisiologia (postulado de Hebb).
Dados (x1,y1), . . . , (xk ,yk ), com xξ = [xξ1 , . . . , xξn ]
T ∈ Rn eyξ = [yξ1 , . . . , y
Tm] ∈ Rm, defina
mij =k∑ξ=1
yξi xξj .
Notação matricial:
Defina X = [x1, . . . ,xk ] ∈ Rn×k , Y = [y1, . . . ,yk ] ∈ Rm×k e
M = YX T .
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 50 / 86
Memórias Associativas Memória Associativa Linear por Correlação
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Distorcidos
Peak Signal-to-Noise Ratio (PSNR) em dB
Distorcidos 20.05 19.76 8.83 7.91 13.38 8.20Recordados
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 51 / 86
Memórias Associativas Memória Associativa Linear por Correlação
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados
Peak Signal-to-Noise Ratio (PSNR) em dB
Distorcidos 20.05 19.76 8.83 7.91 13.38 8.20Recordados 7.63 10.00 13.58 8.38 14.61 3.27
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 51 / 86
Memórias Associativas Memória Associativa Linear Ótima
Memória Associativa Linear Ótima (OLAM)
Descrita pela equação:y = Mx ,
onde x é a entrada e y é o padrão recordado.
Armazenamento de Padrões:
Dados {(xξ,yξ) : ξ = 1, . . . , k}, M é a solução do problema dequadrados mínimos
minM
k∑ξ=1
‖yξ −Wxξ‖2.
Solução:M = YX †.
com Y = [y1, . . . ,yk ], X = [x1, . . . ,xk ] e X † é a pseudo-inversa de X .
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 52 / 86
Memórias Associativas Memória Associativa Linear Ótima
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Distorcidos
Peak Signal-to-Noise Ratio (PSNR) em dB
Distorcidos 20.05 19.76 8.83 7.91 13.38 8.20Recordados
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 53 / 86
Memórias Associativas Memória Associativa Linear Ótima
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados
Peak Signal-to-Noise Ratio (PSNR) em dB
Distorcidos 20.05 19.76 8.83 7.91 13.38 8.20Recordados 51.46 48.59 11.92 17.83 17.75 10.60
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 53 / 86
Memórias Associativas Kernel Associative Memory
Kernel Associative Memory
Introduzida por Zhang et al. em 2004.
Motivação:
Aplicar uma função não-linear no padrão de entrada com objetivo demelhorar o desempenho da OLAM:
Kernel Associative Memory (KAM)
Dado um padrão de entrada x ∈ Rn, o padrão recordado y ∈ Rm édado por
y = M z(x) , (1)
em que o vetor z(x) ∈ Rk é obtido aplicando uma função não-linear nopadrão de entrada.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 54 / 86
Memórias Associativas Kernel Associative Memory
Armazenamento de Padrões
Dado um conjunto de associações {(xξ,yξ) : ξ = 1, . . . , k},defina a matriz Z ∈ Rk×k :
zξη = k(xξ,xη) , (2)
onde k : Rn × Rn → R é a função de base radial Gaussiana:
k(x,x′) = exp(−‖x− x′‖2
2σ2
), (3)
com
σ =
√√√√ 1k − 1
k∑ξ=1
k∑η=1
‖xξ − xη‖2 . (4)
Finalmente defina M ∈ Rm×k através da equação:
M = YZ † . (5)
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 55 / 86
Memórias Associativas Kernel Associative Memory
Fase de Recordação
Dado um padrão de entrada x ∈ Rn,defina z(x) = [z1, . . . , zk ] ∈ Rk como segue
zξ = k(xξ,x) para ξ = 1, . . . , k . (6)
O padrão recordado y ∈ Rm é calculado através da equação:
y = M z(x) . (7)
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 56 / 86
Memórias Associativas Kernel Associative Memory
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Distorcidos
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (OLAM) 51.46 48.59 11.92 17.83 17.75 10.60Recordados (KAM)
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 57 / 86
Memórias Associativas Kernel Associative Memory
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (OLAM) 51.46 48.59 11.92 17.83 17.75 10.60Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 57 / 86
Memórias Associativas Robust SPAM
Robust Subspace Projection Associative Memory
Motivação:
O padrão recordado pela OLAM no caso auto-associativo é
y = Mx = XX †x = Xα∗,
em que α∗ é a solução do problema de regressão linear Xα ≈ x, i.e.,
α∗ = arg minα∈Rk
‖Xα− x‖2.
Interpretação Geométrica
O padrão y = Xα∗ recordado pela OLAM é a projeção ortogonal de xno subespaço vetorial gerado por x1,x2, . . . ,xk .
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 58 / 86
Memórias Associativas Robust SPAM
Robust Subspace Projection Associative Memory
Robust SPAMO padrão recordado pela SPAM robusta (auto-associativo) é dado por
y = Xα?,
em que α? é a solução do problema de regressão linear Xα ≈ xobtida usando o método-M de Hubber (regressão robusta).
Interpretação Geométrica
O padrão y recordado pela SPAM robusta é uma projeção oblíqua dex no subespaço vetorial gerado por x1,x2, . . . ,xk .
Observação:
O padrão recordado é obtido por um processo iterativo no qual amatrix dos pesos sinápticos é modificada a cada iteração.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 59 / 86
Memórias Associativas Robust SPAM
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Distorcidos
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (OLAM) 51.46 48.59 11.92 17.83 17.75 10.60Recordados
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 60 / 86
Memórias Associativas Robust SPAM
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 1a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (OLAM) 51.46 48.59 11.92 17.83 17.75 10.60Recordados (1a it) 51.46 48.59 11.92 17.83 17.75 10.60
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 60 / 86
Memórias Associativas Robust SPAM
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 2a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (OLAM) 51.46 48.59 11.92 17.83 17.75 10.60Recordados (2a it) 49.05 48.03 11.96 23.33 22.04 10.62
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 60 / 86
Memórias Associativas Robust SPAM
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 3a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (OLAM) 51.46 48.59 11.92 17.83 17.75 10.60Recordados (3a it) 48.28 47.68 11.97 36.35 28.65 10.66
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 60 / 86
Memórias Associativas Robust SPAM
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 4a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (OLAM) 51.46 48.59 11.92 17.83 17.75 10.60Recordados (4a it) 48.06 47.54 11.97 40.53 39.34 10.68
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 60 / 86
Memórias Associativas Robust SPAM
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 5a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (OLAM) 51.46 48.59 11.92 17.83 17.75 10.60Recordados (5a it) 48.00 47.49 11.97 57.76 83.32 10.70
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 60 / 86
Memórias Associativas Robust SPAM
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 5a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados (5a it) 48.00 47.49 11.97 57.76 83.32 10.70
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 60 / 86
Memórias Associativas Complex-Valued Sigmoidal Hopfield Network
Complex-Valued Sigmoidal Hopfield Network
Introduzida por Tanaka e Aihara em 2009.
Motivação:
Em 1982, Hopfield propos um modelo de memóriaautoassociativa para padrões binários x ∈ {−1,+1}n descritopela equação:
x(t + 1) = sign (Mx(t)) para t = 0,1, . . . (8)
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 61 / 86
Memórias Associativas Complex-Valued Sigmoidal Hopfield Network
Complex-Valued Sigmoidal Hopfield Network
Motivação:
Em 1996, Jankowski et al. generalizaram o modelo de Hopfieldpara o circulo unitário complexo:
z(t + 1) = csign (Mz(t) + 0.5) para t = 0,1, . . . (8)
em que
csign(z) =
e0 0 ≤ arg(z) < θ ,
eiθ θ ≤ arg(z) < 2θ ,...
...eiθ(L−1) (L− 1)θ ≤ arg(z) < 2π .
(9)
com θ = 2π/L.Pode ser usado para armazenar padrões x ∈ {0,1, . . . ,L}n.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 61 / 86
Memórias Associativas Complex-Valued Sigmoidal Hopfield Network
Complex-Valued Sigmoidal Hopfield Network
Motivação:
Em 2009, Tanaka e Aihara substituiram a função csign pelafunção csigm dada pela composição:
csigm = r ◦m ◦ q . (8)
em que
r(x) = exp(ixθ) , q(z) =arg(z)θ
. (9)
m(x) =
L∑j=1
11 + exp(−(x − j)/ε)
− 12
(mod L) , (10)
com ε > 0. Essa função aproxima csign quando ε→ 0.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 61 / 86
Memórias Associativas Complex-Valued Sigmoidal Hopfield Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Distorcidos
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 62 / 86
Memórias Associativas Complex-Valued Sigmoidal Hopfield Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 1a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados (1a it) 47.48 43.05 12.51 14.46 23.05 15.01
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 62 / 86
Memórias Associativas Complex-Valued Sigmoidal Hopfield Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 2a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados (2a it) 49.75 50.22 14.82 18.99 28.95 16.88
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 62 / 86
Memórias Associativas Complex-Valued Sigmoidal Hopfield Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 3a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados (3a it) 49.22 53.49 19.75 22.30 33.44 19.88
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 62 / 86
Memórias Associativas Complex-Valued Sigmoidal Hopfield Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 4a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados (4a it) 48.44 63.76 23.11 22.76 34.61 23.60
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 62 / 86
Memórias Associativas Complex-Valued Sigmoidal Hopfield Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 5a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados (5a it) 48.13 +∞ 23.73 22.92 35.00 27.28
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 62 / 86
Memórias Associativas Complex-Valued Exponential Correlation Network
Complex-Valued Exponential Correlation Network
Complex-Valued Recurrent Correlation Networks:
Dado um conjunto {z1, z2, . . . , zk} de vetores complexos e um padrãode entrada z = z(0), defina para t = 0,1, . . .
w(t) = f (<{Zz}) ,
z(t + 1) = σ(Zw(t)),
em que Z = [z1, . . . , zk ] e σ é dada por
σi(v) =
{vi (t)|vi (t)| vi 6= 0,
zi(t), vi = 0.
Compex-Valued Exponential Correlation Network (CV-ECN):
f (x) = eαx/n, α > 0.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 63 / 86
Memórias Associativas Complex-Valued Exponential Correlation Network
Resultados Teóricos
Theorem
A sequência {z(t)}+∞t=0 sempre converge se f for contínua e monótonanão-decrescente.
Ideia da Demonstração:
A sequência minimiza o funcional
E(z) = −k∑ξ=1
F(<{⟨
z1, z⟩})
,
em que F é uma primitiva de f .
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 64 / 86
Memórias Associativas Complex-Valued Exponential Correlation Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Distorcidos
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 65 / 86
Memórias Associativas Complex-Valued Exponential Correlation Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 1a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados (1a it) 49.30 51.72 29.07 52.61 52.15 51.07
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 65 / 86
Memórias Associativas Complex-Valued Exponential Correlation Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 2a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados (2a it) 49.31 51.96 27.65 52.48 52.25 50.81
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 65 / 86
Memórias Associativas Complex-Valued Exponential Correlation Network
Exemplo (caso auto-associativo):
Padrões Armazenados
Padrões Recordados - 3a iteração
Peak Signal-to-Noise Ratio (PSNR) em dB
Recordados (KAM) 70.13 70.23 5.59 11.12 31.04 7.98Recordados (3a it) 49.32 51.96 27.65 52.49 52.24 50.80
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 65 / 86
Memórias Associativas Comparação dos Modelos
Comparação dos Modelos
Padrões Distorcidos
Peak Signal-to-Noise Ration (PSNR) em dB
Ruidoso 20.05 19.76 8.83 7.91 13.38 8.20LAM 7.63 10.00 13.58 8.38 14.61 3.27
OLAM 51.46 48.59 11.92 17.83 17.75 10.60KAM 70.13 70.23 5.59 11.12 31.04 7.98SPAM 48.06 47.54 11.97 40.53 39.34 10.68
CSIGM 48.13 +∞ 23.73 22.92 35.00 27.28CV-ECN 49.32 51.96 27.65 52.49 52.24 50.80
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 66 / 86
Computação Evolutiva Introdução
Computação Evolutiva
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 67 / 86
Computação Evolutiva Introdução
O que é computação evolutiva?
Computação evolutiva é
um conjunto de técnicas inspiradas na teoria da evolução de Darwin.
Teoria da Evolução de Darwin – Seleção natural
Os indivíduos de uma espécie competem entre si e somente osmais aptos sobrevivem e reproduzem.Durante a reprodução, os novos indivíduos herdam ascaracterísticas dos pais, mas estão também sujeitos à mutações.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 68 / 86
Computação Evolutiva Problema do Caixeiro Viajante
Aplicação – Problema do Caixeiro Viajante
Dado um número de cidades e ocusto de viajar entre qualquer umadas cidades, determinar o caminhocom o menor custo que passa ex-atamente uma vez em cada cidadee volta para o ponto de origem.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 69 / 86
Computação Evolutiva Problema do Caixeiro Viajante
Exemplo prático:
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 70 / 86
Computação Evolutiva Problema do Caixeiro Viajante
Dificuldades do TSP:
TSP é NP-completo!O número total de possibilidades é:
12(n − 1)!
Número de Cidades Precisão (%) Tempo de Computação100 1 2 dias100 0.75 Sete meses
1.000.000 3.5 3,5 horas
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 71 / 86
Computação Evolutiva Problema do Caixeiro Viajante
Como usar a teoria de Darwin para resolver o TSP?
Lembrando...O viajante deve visitar uma única vez todas as n cidades e voltar parao ponto de origem.Objetivo: Determinar o menor itinerário!
Itinerários = indivíduos!
Exemplo:
x =[7 3 1 4 5 2 10 9 6 8
].
Os indivíduos são permutações do conjunto {1, . . . ,n}
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 72 / 86
Computação Evolutiva Problema do Caixeiro Viajante
Uma população de itinerários...
Itinerário são os indivíduos de uma população P.
Indivíduos melhores ou mais aptos!Dados x,y ∈ P, dizemos que x é melhor – ou mais apto – que y se ocusto de x é menor que o custo de y.
Seleção natural...
É feita uma seleção dos indivíduos da população e só os melhoressão selecionados.
Reprodução...
Os indivíduos mais aptos produzem filhos com características dospais.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 73 / 86
Computação Evolutiva Problema do Caixeiro Viajante
A reprodução dos itinerários!
Exemplo:Se os pais selecionados forem
x =[7 3 1 4 5 2 10 9 6 8
],
y =[1 2 3 4 5 6 7 8 9 10
].
O filho recebe parte do código genético dos pais.Por exemplo, o filho pode ser
v =[7 3 1 4 5 6 2 10 9 8
].
O filho herdou [7 3 1] de x e [4 5 6] de y.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 74 / 86
Computação Evolutiva Problema do Caixeiro Viajante
Mutações de itinerários e nova seleção...
Mutações!
Os códigos genéticos dos filhos podem sofrer mutações com baixasprobabilidades:
v =[7 3 1 4 5 6 7 2 10 8
].
Uma nova geração é formada... E o processo repete...Uma nova seleção é feita e os indivíduos mais aptos reproduzem...
Experimento com 100 cidades geradas aleatoriamente...
Média 9,4% acima do valor ótimo após 20.000 gerações!!!
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 75 / 86
Computação Evolutiva Problema do Caixeiro Viajante
Mutações de itinerários e nova seleção...
Mutações!
Os códigos genéticos dos filhos podem sofrer mutações com baixasprobabilidades:
v =[3 7 1 4 5 6 7 2 10 8
].
Uma nova geração é formada... E o processo repete...Uma nova seleção é feita e os indivíduos mais aptos reproduzem...
Experimento com 100 cidades geradas aleatoriamente...
Média 9,4% acima do valor ótimo após 20.000 gerações!!!
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 75 / 86
Computação Evolutiva Forma Geral de um Algoritmo Evolutivo
Forma geral de um algoritmo evolutivo...
Algoritmo de computação evolutiva1 Gerar uma população inicial2 Enquanto uma certa condição não for satisfeita, calcular:
1 Avaliar os indivíduos da população,2 Selecionar os indivíduos mais aptos para a reprodução,3 Produzir variações dos indivíduos selecionados
(crossing over e mutações).
Em 1950...Friedbelg, Fraser, Bremermann, Box e outros aplicaram a teoria daevolução em alguns problemas...Mas, seus trabalhos não foram bem recebidos pela comunidadecientifica na época.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 76 / 86
Computação Evolutiva Linhas de Pesquisa em Computação Evolutiva
Nos anos 1960s...Três diferentes linhas de pesquisa surgiram em lugares distintos...
Programação Evolutiva – Lawrence Fogel, Califórnia, EUA.
David Fogel, filho de Lawrence Fogel, deu continuação aos trabalhosdo pai...
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 77 / 86
Computação Evolutiva Linhas de Pesquisa em Computação Evolutiva
Nos anos 1960s...Três diferentes linhas de pesquisa surgiram em lugares distintos...
Programação Evolutiva – Lawrence Fogel, Califórnia, EUA.
→
David Fogel, filho de Lawrence Fogel, deu continuação aos trabalhosdo pai...
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 77 / 86
Computação Evolutiva Linhas de Pesquisa em Computação Evolutiva
Nos anos 1960s...Três diferentes linhas de pesquisa surgiram em lugares distintos...
Algoritmos Genéticos – John H. Holland, Michigan, EUA.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 78 / 86
Computação Evolutiva Linhas de Pesquisa em Computação Evolutiva
Nos anos 1960s...Três diferentes linhas de pesquisa surgiram em lugares distintos...
Estratégias Evolutivas – estudantes de mestrado da UniversidadeTecnológica de Berlin, Alemanha.
Ingo Rechenberg Hans-Paul Schwefel Peter Bienert
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 79 / 86
Computação Evolutiva Linhas de Pesquisa em Computação Evolutiva
As três linhas de pesquisa seguiram caminhos independentes poraproximadamente 25 anos!Em 1990, foi organizado um evento onde as três comunidadesforam reunidas.Durante esse primeiro encontro, foi apresentado o termocomputação evolutiva.Em 1993 foi publicado pela MIT Press o primeiro periódico sobrecomputação evolutiva.O interesse em computação evolutiva aumentou ainda mais apóso primeiro IEEE World Congress on Computational Intelligenceem Junho de 1994.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 80 / 86
Conclusão
Conclusão
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 81 / 86
Conclusão Conjuntos Fuzzy
Conjuntos Fuzzy
A teoria dos conjuntos nebulosos foi introduzida em 1973 por LoftiZadeh.
Um conjunto nebuloso é caracterizado por uma função de pertinênciaµA : U → [0,1] e pode ser usado para representar conceitos incertoscomo a noção de pessoa jovem, temperatura confortável, serviçobom, etc.
Sobretudo, ela pode ser usada de forma simples e transparente emsistemas de regras nebulosas.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 82 / 86
Conclusão Redes Neurais Artificiais
Redes Neurais Artificias
Modelos matemáticos inspirados no cérebro humano onde asunidades básicas de processamento são os neurônios.
Aplicações abrangem:
Classificação de padrões;Processamento de sinais e imagens;Previsão de séries temporais;Controle;Interpretação e visualização de dados;
entre outras.
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 83 / 86
Conclusão Memórias Associativas
Memórias Associativas
Sistemas usados para armazenar e recuperar informação porassociação ou conteúdo.
Modelos Apresentados:Memória associativa linear (LAM);Memória associativa linear ótima (OLAM);Memória associativa com Núcleo (KAM);Memória associativa de Projeção em Subespaço (SPAM);Memória associativa sigmoidal complexa (CSIGM);Memória associativa por correlação exponencial (CV-ECN);
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 84 / 86
Conclusão Computação Evolutiva
Computação Evolutiva
Técnicas inspiradas na teoria da evolução de Darwin.
Geralmente usadas para resolução de problemas de otimização semderivadas.
Abrange:Programação evolutiva;Algoritmos genéticos;Estratégias evolutivas;
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 85 / 86
Conclusão Computação Evolutiva
GRATO PELA ATENÇÃO!
Contato: valle@ime.unicamp.br
Marcos E. Valle (DMA - IMECC - Unicamp) Inteligência Computacional e Aplicações 25/10/2013 86 / 86