parte i - sistemas de aprendizado: overview seminários 2007 – 2º semestre maíra gatti
TRANSCRIPT
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
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
4© LES/PUC-Rio
Paradigmas de Aprendizado
• Aprendizado Supervisionado
• Aprendizado Não-Supervisionado
• Aprendizado por Reforço (Reinforcement Learning)
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
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
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
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
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
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.
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
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)
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 |
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) =
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 )('
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
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
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 importação 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 saída
• Aprendizado não-supervisionado
Unidades de Entrada
Unidades concorrentes de Saída
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
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
27© LES/PUC-Rio
Kohonen Maps
• Passos
1. Camada de entrada é apresentada
Unidades de Entrada
Unidades concorrentes de Saída
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
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
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
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
32© LES/PUC-Rio
Back Propagation vs. Kohonen Maps
• Na RNA KM não se conhece a saída
• Na RNA BP se conhece
33© LES/PUC-Rio
Exemplo Simples: Segmentação
• Pessoas de sexo e idade variados
34© LES/PUC-Rio
Exemplo Simples: Segmentação
• Pessoas de sexo e idade variados
35© LES/PUC-Rio
Exemplo Simples: Segmentação
• Pessoas de sexo e idade variados
36© LES/PUC-Rio
Exemplo Simples: Segmentação
• Pessoas de sexo e idade variados
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.
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
Seminários 2007 – 2º Semestre
Maíra Gatti