Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti
Agenda Introdução Paradigmas de Aprendizagem Redes Neurais Back Propagation Exemplo: ABLE (Agentes) Kohonen Maps Exemplo SMA Bibliografia © 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 © LES/PUC-Rio
Paradigmas de Aprendizado Aprendizado Supervisionado Aprendizado Não-Supervisionado Aprendizado por Reforço (Reinforcement Learning) © 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 erro dados históricos Agente inteligente output correto Exemplos do estado do problema ou atributos com inputs e outputs logs © 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 Meio externo Agente inteligente output Estado do meio externo © 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 © 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 Meio externo Agente inteligente Sinal de reforço Estado do meio externo output ações © 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 © 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. © 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 © LES/PUC-Rio
Back Propagation Existem 3 passos principais no processo de treinamento da rede Ajuste dos pesos usando o erro (desejado – atual) output atual output desejado forward pass © LES/PUC-Rio
Back Propagation Unidade de ativação de entrada i | x1 | | x2 | | x3 | xi Valor de input normalizado – entre 0.0 e 1.0 | x1 | | x2 | | x3 | | x4 | © LES/PUC-Rio
Back Propagation Função de ativação da unidade oculta j | x1 | * w1j yj | x1 | * w1j | x1 | | x2 | * w2j yj | x2 | | x3 | * w3j | x4 | * w4j | x3 | | x4 | yj = f(somaj = | xi | * wij ) yj = f(somaj) = © 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 parâmetro de taxa de erro sinal de erro para unidade j valor de ativação de saída da unidade i © 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 © LES/PUC-Rio
Back Propagation Batch updates Pattern 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 © 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 © 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) © LES/PUC-Rio
Exemplo: BP encapsulado em Agentes © LES/PUC-Rio
Exemplo: BP encapsulado em Agentes © LES/PUC-Rio
Exemplo: BP encapsulado em Agentes Dados para treinar a rede © LES/PUC-Rio
Exemplo: BP encapsulado em Agentes Uso do AbleImport data bean © 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 © 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 unidade vencedora Unidades de Entrada Unidades concorrentes de Saída © 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 unidade vencedora Unidades de Entrada Unidades concorrentes de Saída © LES/PUC-Rio
Kohonen Maps Passos Camada de entrada é apresentada Unidades Unidades concorrentes de Saída © LES/PUC-Rio
Kohonen Maps Passos 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. Unidades de Entrada Unidades concorrentes de Saída © LES/PUC-Rio
Kohonen Maps Passos Unidade de saída vencedora j => min( ) unidade Unidades de Entrada Unidades concorrentes de Saída © LES/PUC-Rio
Kohonen Maps Passos Os pesos da unidade vencedora e dos vizinhos são ajustados da seguinte forma: taxa de aprendizado na iteração k taxa de aprendizado na iteração k valor da função de vizinhança (unidades i e j) na iteração k valor da função de vizinhança (unidades i e j) na iteração k distância no momento t distância no momento t vizinhança unidade vencedora Unidades de Entrada Unidades concorrentes de Saída © LES/PUC-Rio
Kohonen Maps Passos 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 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 © LES/PUC-Rio
Back Propagation vs. Kohonen Maps Na RNA KM não se conhece a saída Na RNA BP se conhece © LES/PUC-Rio
Exemplo Simples: Segmentação Pessoas de sexo e idade variados © LES/PUC-Rio
Exemplo Simples: Segmentação Pessoas de sexo e idade variados © LES/PUC-Rio
Exemplo Simples: Segmentação Pessoas de sexo e idade variados © LES/PUC-Rio
Exemplo Simples: Segmentação Pessoas de sexo e idade variados © 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. © 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 © 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 © LES/PUC-Rio
Parte I - Sistemas de Aprendizado: Overview Seminários 2007 – 2º Semestre Maíra Gatti