Inteligência Computacional e Algumas de suas...

Post on 16-Jun-2020

1 views 0 download

Transcript of Inteligência Computacional e Algumas de suas...

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