You are on page 1of 40

Parte I - Sistemas de Aprendizado: Overview

Seminrios 2007 2 Semestre


Mara Gatti
2 LES/PUC-Rio
Agenda
Introduo
Paradigmas de Aprendizagem
Redes Neurais
Back Propagation
Exemplo: ABLE (Agentes)
Kohonen Maps
Exemplo SMA
Bibliografia

3 LES/PUC-Rio
Introduo
Sistemas de aprendizado so
sistemas adaptveis e
com tcnicas de aprendizado de mquina

Um comportamento inteligente pode ser caracterizado como
a capacidade de se adaptar ou aprender pela experincia

No possvel determinar a priori todas as situaes em
que o agente inteligente ir atuar

4 LES/PUC-Rio
Paradigmas de Aprendizado
Aprendizado Supervisionado
Aprendizado No-Supervisionado
Aprendizado por Reforo (Reinforcement Learning)
5 LES/PUC-Rio
Aprendizado Supervisionado
Exemplo
Rede Neural com Back Propagation
rvore de Deciso
Mais comum
Tambm chamado: programando por exemplos
O agente treinado
Agente
inteligente
dados histricos
logs
Exemplos do estado
do problema ou
atributos com
inputs e outputs

erro
output correto
6 LES/PUC-Rio
Aprendizado No-Supervisionado
Exemplo
Rede Neural com Kohonen Map

O agente reconhece similaridades/caractersticas entre os
inputs
O agente detecta e particiona os dados em grupos
Agente
inteligente
Estado do meio
externo
output
Meio externo
7 LES/PUC-Rio
Aprendizado por Reforo (Reinforcement Learning)
Exemplo
Temporal Difference Learning
Q-Learning
O output desejado s conhecido aps uma sequncia de
inputs ocorrer
processo conhecido como temporal credit assignment
Demora mais que o supervisionado
Deve ser utilizado quando no se tem a informao a priori
exata sobre o output

8 LES/PUC-Rio
Aprendizado por Reforo (Reinforcement Learning)
Sinal de reforo/ recompensa
gerado pelo ambiente em resposta a transies de estado
produzidas pelas aes executadas pelo sistema aprendiz.

O objetivo de um aprendiz AR consiste em aprender uma
poltica de escolha de aes, em cada estado, de forma a
maximizar o reforo cumulativo no tempo
Agente
inteligente
Estado do meio
externo
output
Meio externo
Sinal de reforo
aes
9 LES/PUC-Rio
Redes Neurais Artificiais
Prov modo fcil de capacitar aprendizado em um agente
Pode ser usado em cenrios supervisionados, no-
supervisionados e por reforo
Pode ser usado para classificao, agrupamento e predio
Uma rede neural composta por milhares de processadores
conectados por milhares de pesos (adaptveis), formando
um computador paralelo
10 LES/PUC-Rio
Redes Neurais Artificiais
Modelo simplificado de um neurnio artificial, onde a
funo de soma e T, a funo de transferncia.

11 LES/PUC-Rio
Back Propagation
Arquitetura de RNA mais popular
Topologia de conexo feed-forward
Os dados fluem na rede em uma nica direo
Propagao de erros para trs para ajustar os pesos
Possui vrias camadas com camadas invisveis
Aplicaes bsicas para este tipo de rede
Predio
Classificao
12 LES/PUC-Rio
Back Propagation
Existem 3 passos principais no processo de treinamento da
rede
forward pass
output
atual
output
desejado
Ajuste dos pesos
usando o erro
(desejado atual)
13 LES/PUC-Rio
Back Propagation
Unidade de ativao de entrada i
xi
Valor de input normalizado entre 0.0 e 1.0
| x1 |
| x2 |
| x3 |
| x4 |
14 LES/PUC-Rio
Back Propagation
Funo de ativao da unidade oculta j
yj

| x1 |
| x2 |
| x3 |
| x4 |
yj
| x1 | * w1j
| x2 | * w2j
| x3 | * w3j
| x4 | * w4j

yj = f(somaj = | xi | * wij )
j
soma
e

+ 1
1
yj = f(somaj) =
15 LES/PUC-Rio
Back Propagation
Ajuste dos pesos





Para unidades de sada
tj -> sada alvo


Para unidades ocultas
k -> unidades recebedoras de j
i j ij
y w qo = A
valor de ativao de sada da unidade i
sinal de erro para unidade j
parmetro de taxa de erro
) 1 ( ) ( ) ( ) (
'
j j j j j j j j
y y y t soma f y t = = o
jk k j j
w soma f o o = ) (
'
16 LES/PUC-Rio
Back Propagation
Modificao comum para a regra de atualizao do peso
A atualizao do peso se torna a combinao de atualizao do
peso corrente, calculado como descrito anteriormente, mais
uma frao da atualizao do peso anterior
momentum term

o
) ( ) 1 ( n w y n w
ij i j ij
A + = + A o qo
17 LES/PUC-Rio
Back Propagation
Batch updates
Atualizao dos pesos so realizadas aps o treinamento
completo da rede

Pattern updates
Atualizaes dos pesos so realizadas aps cada vetor de
entrada ser apresentado

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
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 importao
de dados (AbleImport)
20 LES/PUC-Rio
Exemplo: BP encapsulado em Agentes
21 LES/PUC-Rio
Exemplo: BP encapsulado em Agentes
22 LES/PUC-Rio
Exemplo: BP encapsulado em Agentes
Dados para treinar a rede
23 LES/PUC-Rio
Exemplo: BP encapsulado em Agentes
Uso do AbleImport data bean
24 LES/PUC-Rio
Kohonen Maps
RNA de 1 camada simples composta de uma camada de
entrada e outra de sada
Aprendizado no-supervisionado
Unidades
de Entrada
Unidades concorrentes
de Sada
25 LES/PUC-Rio
Kohonen Maps
Cada vez que um vetor de entrada apresentado para a rede, a
distncia em relao a ele para cada unidade na camada de sada
calculada
Distncia Euclidiana
A unidade de sada com a menor distncia em relao ao vetor de
entrada a vencedora
Unidades
de Entrada
Unidades concorrentes
de Sada
unidade
vencedora
26 LES/PUC-Rio
Kohonen Maps
Os pesos so 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 Sada
unidade
vencedora
27 LES/PUC-Rio
Kohonen Maps
Passos
1. Camada de entrada apresentada
Unidades
de Entrada
Unidades concorrentes
de Sada
28 LES/PUC-Rio
Kohonen Maps
Passos
2. A distncia do padro de entrada para os pesos para cada unidade de
sada calculada atravs da frmula euclidiana:


Onde j a unidade de sada e a distncia resultante.
2
|| ||
j j
w x y =
j
y
Unidades
de Entrada
Unidades concorrentes
de Sada
29 LES/PUC-Rio
Kohonen Maps
Passos
3. Unidade de sada vencedora j => min( )



j
y
Unidades
de Entrada
Unidades concorrentes
de Sada
unidade
vencedora
30 LES/PUC-Rio
Kohonen Maps
Passos
4. Os pesos da unidade vencedora e dos vizinhos so ajustados da
seguinte forma:



) ( ) ( ) ( ) ( ) 1 ( t y k C k t w t w
j ij j j
| + = +
Unidades
de Entrada
Unidades concorrentes
de Sada
unidade
vencedora
vizinhana
distncia no momento t
taxa de aprendizado na iterao k
valor da funo de vizinhana
(unidades i e j) na iterao k
distncia no momento t
taxa de aprendizado na iterao k
valor da funo de vizinhana
(unidades i e j) na iterao k
31 LES/PUC-Rio
Kohonen Maps
Passos
4. Os pesos da unidade vencedora e dos vizinhos so ajustados da seguinte
forma:




Funo de vizinhana : Funo Gaussiana


: largura da funo; comea largo quando k pequeno e vai
diminuindo quando k atinge seu valor mximo
Taxa de aprendizado para a iterao k:


Usualmente
) ( ) ( ) ( ) ( ) 1 ( t y k C k t w t w
j ij j j
| + = +
distncia no momento t
taxa de aprendizado na iterao k
valor da funo de vizinhana
(unidades i e j) na iterao k
) (k C
ij
)
) (
|| ||
exp( ) (
2
2
k
j i
k C
ij
o

=
2
) (k o
max
) ( ) (
k
k
ini
fim
ini
k
|
|
| | =
05 . 0 , 0 . 1 = =
fim ini
| |
32 LES/PUC-Rio
Back Propagation vs. Kohonen Maps
Na RNA KM no se conhece a sada
Na RNA BP se conhece
33 LES/PUC-Rio
Exemplo Simples: Segmentao
Pessoas de sexo e idade variados
34 LES/PUC-Rio
Exemplo Simples: Segmentao
Pessoas de sexo e idade variados
35 LES/PUC-Rio
Exemplo Simples: Segmentao
Pessoas de sexo e idade variados
36 LES/PUC-Rio
Exemplo Simples: Segmentao
Pessoas de sexo e idade variados
37 LES/PUC-Rio
Exemplo 2: Agente + Kohonen Maps
Navegao tridimensional do agente baseada em mapas
SOM (Kohonen Maps) de topologia varivel para
mapeamento 3D
Os mapas produzem o modelo global do ambiente
Processos envolvidos
Explorao
navegar por espaos no conhecidos atravs de um conjunto de
sensores
Aprendizagem
O agente deve, com base nas percepes do sistema sensor,
construir a sua representao interna do ambiente
Auto-Localizao
Com base na sua representao interna, o agente deve ser capaz
de inferir a sua localizao no ambiente.
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


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

Parte I - Sistemas de Aprendizado: Overview
Seminrios 2007 2 Semestre
Mara Gatti

You might also like