parte i - sistemas de aprendizado: overview seminários 2007 – 2º semestre maíra gatti

40
Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

Upload: internet

Post on 16-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

Parte I - Sistemas de Aprendizado: Overview

Seminários 2007 – 2º Semestre

Maíra Gatti

Page 2: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

2© LES/PUC-Rio

Agenda

• Introdução

• Paradigmas de Aprendizagem

• Redes Neurais

– Back Propagation

• Exemplo: ABLE (Agentes)

– Kohonen Maps

• Exemplo SMA

• Bibliografia

Page 3: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

3© LES/PUC-Rio

Introdução

• Sistemas de aprendizado são

– sistemas adaptáveis e

– com técnicas de aprendizado de máquina

• Um comportamento inteligente pode ser caracterizado como a capacidade de se adaptar ou aprender pela experiência

• Não é possível determinar a priori todas as situações em que o agente inteligente irá atuar

Page 4: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

4© LES/PUC-Rio

Paradigmas de Aprendizado

• Aprendizado Supervisionado

• Aprendizado Não-Supervisionado

• Aprendizado por Reforço (Reinforcement Learning)

Page 5: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

5© LES/PUC-Rio

Aprendizado Supervisionado

• Exemplo

– Rede Neural com Back Propagation

– Árvore de Decisão

• Mais comum

• Também chamado: programando por exemplos

• O agente é treinado

Agenteinteligente

dados históricos

logs

Exemplos do estadodo problema ouatributos cominputs e outputs

erro

output correto

Page 6: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

6© LES/PUC-Rio

Aprendizado Não-Supervisionado

• Exemplo

– Rede Neural com Kohonen Map

• O agente reconhece similaridades/características entre os inputs

• O agente detecta e particiona os dados em grupos

AgenteinteligenteEstado do meio

externo

outputMeio externo

Page 7: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

7© LES/PUC-Rio

Aprendizado por Reforço (Reinforcement Learning)

• Exemplo

– Temporal Difference Learning

– Q-Learning

• O output desejado só é conhecido após uma sequência de inputs ocorrer

– processo conhecido como temporal credit assignment

• Demora mais que o supervisionado

• Deve ser utilizado quando não se tem a informação a priori exata sobre o output

Page 8: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

8© LES/PUC-Rio

Aprendizado por Reforço (Reinforcement Learning)

• Sinal de reforço/ recompensa

– gerado pelo ambiente em resposta a transições de estado produzidas pelas ações executadas pelo sistema aprendiz.

• O objetivo de um aprendiz AR consiste em aprender uma política de escolha de ações, em cada estado, de forma a maximizar o reforço cumulativo no tempo

Agenteinteligente

Estado do meio externo output

Meio externoSinal de reforço

ações

Page 9: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

9© LES/PUC-Rio

Redes Neurais Artificiais

• Provê modo fácil de capacitar aprendizado em um agente

• Pode ser usado em cenários supervisionados, não-supervisionados e por reforço

• Pode ser usado para classificação, agrupamento e predição

• Uma rede neural é composta por milhares de processadores conectados por milhares de pesos (adaptáveis), formando um computador paralelo

Page 10: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

10© LES/PUC-Rio

Redes Neurais Artificiais

• Modelo simplificado de um neurônio artificial, onde Σ é a função de soma e T, a função de transferência.

Page 11: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

11© LES/PUC-Rio

Back Propagation

• Arquitetura de RNA mais popular

• Topologia de conexão feed-forward

– Os dados fluem na rede em uma única direção

• “Propagação de erros para trás” para ajustar os pesos

• Possui várias camadas com camadas invisíveis

• Aplicações básicas para este tipo de rede

– Predição

– Classificação

Page 12: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

12© LES/PUC-Rio

Back Propagation

• Existem 3 passos principais no processo de treinamento da rede

forward pass

outputatual

outputdesejado

Ajuste dos pesosusando o erro(desejado – atual)

Page 13: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

13© LES/PUC-Rio

Back Propagation

• Unidade de ativação de entrada i

– xi

– Valor de input normalizado – entre 0.0 e 1.0

| x1 |

| x2 |

| x3 |

| x4 |

Page 14: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

14© LES/PUC-Rio

Back Propagation

• Função de ativação da unidade oculta j– yj

| x1 |

| x2 |

| x3 |

| x4 |

yj

| x1 | * w1j

| x2 | * w2j

| x3 | * w3j

| x4 | * w4j

yj = f(somaj = | xi | * wij )

jsomae11yj = f(somaj) =

Page 15: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

15© LES/PUC-Rio

Back Propagation

• Ajuste dos pesos

– Para unidades de saída

• tj -> saída alvo

– Para unidades ocultas

• k -> unidades recebedoras de j

ijij yw

valor de ativação de saída da unidade i

sinal de erro para unidade j

parâmetro de taxa de erro

)1()()()( 'jjjjjjjj yyytsomafyt

jkkjj wsomaf )('

Page 16: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

16© LES/PUC-Rio

Back Propagation

• Modificação comum para a regra de atualização do peso

– A atualização do peso se torna a combinação de atualização do peso corrente, calculado como descrito anteriormente, mais uma fração da atualização do peso anterior

• momentum term

)()1( nwynw ijijij

Page 17: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

17© LES/PUC-Rio

Back Propagation

• Batch updates

– Atualização dos pesos são realizadas após o treinamento completo da rede

• Pattern updates

– Atualizações dos pesos são realizadas após cada vetor de entrada ser apresentado

Page 18: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

18© LES/PUC-Rio

Exemplo: BP encapsulado em Agentes

• ABLE – Agent Build and Learning Environment

• Provê um conjunto de componentes de JavaBeans, chamados AbleBeans que encapsutam aprendizado e reasoning

Page 19: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

19© LES/PUC-Rio

Exemplo: BP encapsulado em Agentes

• ABLE - Como usar BP?

– Agent Editor

– Use AbleBean (AbleBackPropagation) as na JavaBean

– Treine o AbleBackPropagation bean com o bean de importação de dados (AbleImport)

Page 20: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

20© LES/PUC-Rio

Exemplo: BP encapsulado em Agentes

Page 21: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

21© LES/PUC-Rio

Exemplo: BP encapsulado em Agentes

Page 22: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

22© LES/PUC-Rio

Exemplo: BP encapsulado em Agentes

• Dados para treinar a rede

Page 23: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

23© LES/PUC-Rio

Exemplo: BP encapsulado em Agentes

• Uso do AbleImport data bean

Page 24: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

24© LES/PUC-Rio

Kohonen Maps

• RNA de 1 camada simples composta de uma camada de entrada e outra de saída

• Aprendizado não-supervisionado

Unidades de Entrada

Unidades concorrentes de Saída

Page 25: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

25© LES/PUC-Rio

Kohonen Maps

• Cada vez que um vetor de entrada é apresentado para a rede, a distância em relação a ele para cada unidade na camada de saída é calculada

– Distância Euclidiana

• A unidade de saída com a menor distância em relação ao vetor de entrada é a vencedora

Unidades de Entrada

Unidades concorrentes de Saída

unidadevencedora

Page 26: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

26© LES/PUC-Rio

Kohonen Maps

• Os pesos são ajustados de acordo com o vencedor

• Os vizinhos se aproximam de acordo com o treinamento e a estrutura se auto-organiza

Unidades de Entrada

Unidades concorrentes de Saída

unidadevencedora

Page 27: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

27© LES/PUC-Rio

Kohonen Maps

• Passos

1. Camada de entrada é apresentada

Unidades de Entrada

Unidades concorrentes de Saída

Page 28: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

28© LES/PUC-Rio

Kohonen Maps

• Passos

2. A distância do padrão de entrada para os pesos para cada unidade de saída é calculada através da fórmula euclidiana:

Onde j é a unidade de saída e é a distância resultante.

2|||| jj wxy

jy

Unidades de Entrada

Unidades concorrentes de Saída

Page 29: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

29© LES/PUC-Rio

Kohonen Maps

• Passos

3. Unidade de saída vencedora j => min( )jy

Unidades de Entrada

Unidades concorrentes de Saída

unidadevencedora

Page 30: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

30© LES/PUC-Rio

Kohonen Maps

• Passos

4. Os pesos da unidade vencedora e dos vizinhos são ajustados da seguinte forma:

)()()()()1( tykCktwtw jijjj

Unidades de Entrada

Unidades concorrentes de Saída

unidadevencedora

vizinhança

distância no momento t

taxa de aprendizado na iteração k

valor da função de vizinhança (unidades i e j) na iteração k distância no momento t

taxa de aprendizado na iteração k

valor da função de vizinhança (unidades i e j) na iteração k

Page 31: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

31© LES/PUC-Rio

Kohonen Maps

• Passos

4. Os pesos da unidade vencedora e dos vizinhos são ajustados da seguinte forma:

– Função de vizinhança : Função Gaussiana

– : largura da função; começa largo quando k é pequeno e vai diminuindo quando k atinge seu valor máximo

– Taxa de aprendizado para a iteração k:

• Usualmente

)()()()()1( tykCktwtw jijjj

distância no momento t

taxa de aprendizado na iteração k

valor da função de vizinhança (unidades i e j) na iteração k

)(kCij)

)(

||||exp()(

2

2

k

jikCij

2)(k

max)()( k

k

ini

fiminik

05.0,0.1 fimini

Page 32: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

32© LES/PUC-Rio

Back Propagation vs. Kohonen Maps

• Na RNA KM não se conhece a saída

• Na RNA BP se conhece

Page 33: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

33© LES/PUC-Rio

Exemplo Simples: Segmentação

• Pessoas de sexo e idade variados

Page 34: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

34© LES/PUC-Rio

Exemplo Simples: Segmentação

• Pessoas de sexo e idade variados

Page 35: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

35© LES/PUC-Rio

Exemplo Simples: Segmentação

• Pessoas de sexo e idade variados

Page 36: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

36© LES/PUC-Rio

Exemplo Simples: Segmentação

• Pessoas de sexo e idade variados

Page 37: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

37© LES/PUC-Rio

Exemplo 2: Agente + Kohonen Maps

• Navegação tridimensional do agente baseada em mapas

• SOM (Kohonen Maps) de topologia variável para mapeamento 3D

• Os mapas produzem o modelo global do ambiente

• Processos envolvidos

– Exploração

• navegar por espaços não conhecidos através de um conjunto de sensores

– Aprendizagem

• O agente deve, com base nas percepções do sistema sensor, construir a sua representação interna do ambiente

– Auto-Localização

• Com base na sua representação interna, o agente deve ser capaz de inferir a sua localização no ambiente.

Page 38: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

38© LES/PUC-Rio

Frameworks

• RNA– JOONE – Java Object Oriented Neural Engine

• http://www.jooneworld.com/

• Framework de RNA free para criar, treinar e testar RNAs

Page 39: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

39© LES/PUC-Rio

Bibliografia

• Joseph Bigus, Jennifer Bigus. Constructing Intelligent Agents Usgin Java, Second Edition. Ed. Wiley.

• ABLE: http://researchweb.watson.ibm.com/journal/sj/413/bigus.html

Page 40: Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti

Parte I - Sistemas de Aprendizado: Overview

Seminários 2007 – 2º Semestre

Maíra Gatti