Redes Neurais Artificiais

Slides:



Advertisements
Apresentações semelhantes
Parte I - Sistemas de Aprendizado: Overview
Advertisements

Sistema robótico baseado em controladores de redes neurais
Agenda Introdução Justificativa Objetivo Detecção de Spam
Vicente Vieira Filho Orientadora: Patrícia Tedesco
REDES AUTO-ORGANIZAVEIS (MAPAS AUTO-ORGANIZÁVEIS)
Redes Neurais Artificiais (RNA): Introdução
Redes Neurais Artificiais (RNA): Perceptron
Redes Neurais Artificiais (RNA): Aprendizado
Aspectos de Implementação do Algoritmo Backpropagation
RECONHECIMENTO DE CARACTERES MANUSCRITOS APLICANDO REDES NEURAIS
REDES NEURONAIS ARTIFICIAIS (RNAs) Universidade do Minho.
PERCEPTRON (CONTINUAÇÃO)
AULA06-exercícios MLP.
Adaptive Resonance Theory Carpenter & Grossberg
Backpropagation Through Time
AULA 03 PERCEPTRON SIMPLES.
AULA04 PERCEPTRON MULTI-CAMADAS MULTI-LAYER PERCEPTRON (MLP)
Aprendizado de Máquina
Prof. Júlio Cesar Nievola PPGIA - PUCPR
Redes Neurais Artificiais
Prof. Júlio Cesar Nievola
Redes de Hopfield Redes Neurais COPIN
Redes Neurais Artificial
Curso Introdução às Redes Neuronais Parte 2 Prof. Dr. rer.nat. Aldo von Wangenheim.
Aspectos da Implementação de Redes Neurais
Redes Neurais (Conceitos Fundamentais)
Redes de Kohonen Paulo Adeodato e Germano Vasconcelos
Inteligência Artificial
Inteligência Artificial
Prof. Dr. Cairo L. Nascimento Jr.
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Anderson Berg Orientador: Prof. Fernando Buarque
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Davyd Bandeira de Melo Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM Junho 2011.
Inteligência Artificial Redes Neurias
Previsão de consumos a curto prazo
Fundamentos e aplicações
Aprendizado de Máquina
Introdução O que é computação?.
Inteligência Artificial
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Redes Neurais Auto-organizáveis
Redes Neurais Prof. Alex F. V. Machado.
Redes neurais artificiais
SBRN’02 - Simpósio Brasileiro de Redes Neurais
Redes Neuronais/Neurais/ Conexionistas Introdução
Redes Neurais Artificiais
RNA – Radial Basis Function
REDES NEURAIS ARTIFICIAIS Mapa Auto-Organizável de Kohonen (Self-Organizing Map - SOM) pertence a classe de redes neurais não-supervisionadas que se baseiam.
(OU) Hardware da Rede Implementacao da rede
Revisão 2° Bimestre Inteligência Artificial. Redes Neurais.
Redes Neurais Artificiais. Introdução RNA são modelos matemáticos que se assemelham às estruturas neurais biológicas Capacidade computacional adquirida.
José Reinaldo Lemes Júnior Orientador: Prof. Wilian Soares Lacerda.
Uma Introdução a SVM Support Vector Machines
Prof. Anne Magály de Paula Canuto
Implementação de uma arquitetura de Redes Neurais MLP utilizando FPGA
Redes Neurais Artificiais
Aprendizado da rede O aprendizado, na maioria das vezes, constitui no ajuste do conjunto de pesos de modo que a rede consiga executar uma tarefa específica.
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
Redes Neurais Artificiais
O Que São as Redes Neurais Artificiais
Inteligência Artificial
Redes Neurais Artificiais Prof. Júlio Cesar Nievola PPGIA – PUCPR Especialização em Inteligência Computacional.
Detecção de tráfego Skype na Web através de Redes Neurais Artigo Original: Freire, P. E., Ziviani, A., and Salles, R. M. (2008). Detecting skype flows.
Redes Neurais Artificiais (Parte 2)
Objetivo Este projeto destina-se ao estudo e à elaboração de modelos neurais artificiais, com o auxílio do programa Matlab. O objetivo principal deste.
Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 12 Aprendizado não Supervisionado Mapas auto-organizáveis Max Pereira.
Transcrição da apresentação:

Redes Neurais Artificiais Christiano Lima Santos

Classificação de Padrões Aula 2

Sumário Arquitetura Separabilidade Linear O que são Redes Hebb? Características Algoritmo Função AND Função NOT Função OR Um caso específico Vantagens e desvantagens das redes Hebb

Arquitetura Single-layer; Uso de bias para ajustar, mantendo o threshold fixo; Problemas separáveis linearmente;

Separabilidade Linear Capacidade de uma rede separar dois padrões a partir de pesos e bias bem ajustados para tal;

Separabilidade Linear

O que são Redes Hebb? Redes neurais single-layer; Utilizam-se das regras de aprendizado Hebb; Ajuste de todos os pesos a cada vetor de entrada Independente do mesmo contribuir ou não para o resultado;

Características Vetores de entrada na forma bipolar ou binária; Resultado na forma bipolar; Treinamento supervisionado;

Algoritmo Inicializa os pesos Para cada vetor de entrada, incremente cada wi com ∆wi = xi*t para i = 0 até n wi = 0; para cada vetor de entrada wi += xi*t;

Função AND Entrada Saída 1 1 1 1 1 -1 1 -1 -1 1 1 -1 -1 1 1 1 1 1 1 -1 1 -1 -1 1 1 -1 -1 1 O treinamento foi efetuado com sucesso; Resultados alcançados em uma única época;

Função NOT O treinamento foi efetuado com sucesso; Resultados alcançados em uma única época; Entrada Saída -1 1 1 1 1 -1

Função OR Entrada Saída 1 1 1 1 1 -1 1 -1 1 1 -1 -1 1 -1 1 1 1 1 1 -1 1 -1 1 1 -1 -1 1 -1 O treinamento foi efetuado com sucesso; Resultados alcançados em uma única época;

Um Caso Específico... Treinamento fracassou; Entrada Saída 1 1 1 1 1 1 1 -1 1 -1 1 -1 1 1 -1 1 1 1 Treinamento fracassou; Uma possível combinação de pesos seria: 1, 1, 1, -2

Vantagens e Desvantagens das Redes Hebb Vantagem: Fácil aprendizado e implementação; Desvantagem: Nem todos os problemas linearmente separáveis podem ser resolvidos por aprendizado Hebb;

Perceptron Perceptron Aula 3

Sumário Arquitetura Características Representação Gráfica Função de Ativação Algoritmo Função AND Reconhecimento de Caracteres

Arquitetura Single-layer; Threshold X bias; Problemas linearmente separáveis;

Características Duas retas dividem o plano cartesiano; Taxa de aprendizado α; Treinamento em épocas;

Representação gráfica

Função de Ativação

(Código-fonte de aplicação em breve, no site) Algoritmo Inicializa os pesos Para cada vetor de entrada, compute y_in e y, se diferente de t, incremente cada wi com ∆wi = α *t*xi Caso varie algum wi, retorne para o passo anterior (Código-fonte de aplicação em breve, no site)

(Em breve, disponível em artigo no site) Função AND (Em breve, disponível em artigo no site)

Reconhecimento de Caracteres (Em breve, disponível em artigo no site)

Adaline Adaline Aula 4

Sumário Arquitetura Características Representação Gráfica Função de Ativação Algoritmo Reconhecimento de Caracteres

Arquitetura Uma única camada; Dispensa especificação de Threshold; Problemas linearmente separáveis;

Características Taxa de aprendizado α; Treinamento em épocas; Utiliza-se da regra de aprendizado delta;

Representação gráfica

Função de Ativação

(Em breve, disponível no site) Algoritmo (Em breve, disponível no site)

Reconhecimento de Caracteres (Em breve, disponível no site)

Madaline Madaline Aula 5

Sumário Arquitetura Características Representação Gráfica Algoritmo Função XOR

Arquitetura Várias Adalines organizadas em múltiplas camadas; Não somente problemas linearmente separáveis;

Características Treinamento um pouco mais complexo; Não envolve somente uma camada com neurônios! Algoritmos MRI (algoritmo original) e MRII; Agora, o espaço é dividido por duas retas; Muito cuidado com uso de pesos inicializados com zero!

Representação gráfica

(Explicação e aplicação em breve, no site) Algoritmo (Explicação e aplicação em breve, no site)

(Aplicação em breve, no site) Função XOR (Aplicação em breve, no site)

JavaNNS JavaNNS Aula 6

Sumário O Que é? Instalação Tela do JavaNNS Menus Algumas Janelas Rede AND

O Que é? Universidade de Tübingen Simulador para redes neurais; Departamento de Ciência da Computação Simulador para redes neurais; JavaNNS = SNNS in Java + GUI; Livre distribuição com algumas restrições; http://www-ra.informatik.uni-tuebingen.de/software/JavaNNS/welcome_e.html

Instalação JRE instalado; Descompactação; Execução por meio da JVM java –jar javanns.jar Diretórios: Examples; Manuals;

Tela do JavaNNS

Menus File Edit New Open Close Save / Save As / Save Data Print Exit Undo / Redo Names / Output values Unit properties Delete Units Links

Menus View Tools Network Display Settings Error graph Weights Projection Kohonen Log Status Panel Properties Tools Control Panel Cascade & TACOMA Analyser Create Layers Connections

Menus Window Pattern Help Cascade Close all Add Modify Copy Contents About Pattern Add Modify Copy New Set

Algumas Janelas Error Graph View Network

Algumas Janelas Control Panel Log Window

[ Execute o JavaNNS com os parâmetros para a rede AND ]

Associação de Padrões Associação de Padrões Aulas 7 e 8

Parte 1 Parte 1 Aula 7

Sumário O que são Redes Associativas Regras de Treinamento Regra Hebb Regra Delta Redes Heteroassociativas Redes Autoassociativas

O que são Redes Associativas Associam determinados padrões a outros; Reconhecem um padrão mesmo com entradas “perdidas” ou “erradas”; sn:tm  Wn x m; Testando a rede: f(s.W) = t

O que são Redes Associativas Quanto maior for a correlação (não-ortogonalidade) entre os vetores de entrada do treinamento, menos eficaz poderá ser a matriz de pesos no reconhecimento; Perfect Recall versus Cross Talk

Regras de Treinamento Regra Hebb Regra Delta Mais simples; Reproduz melhores resultados;

Regra Hebb A matriz peso é resultado do produto externo do padrão associado W = sT.t

Regra Delta Reproduz melhores resultados que a regra Hebb Mesmo quando lidando com vetores não ortogonais; Regra Delta original: Variação da Regra Delta:

Redes Heteroassociativas Redes em que os pesos são determinados de forma a armazenar P padrões;

Redes Heteroassociativas Funções de ativação Step bipolar

Redes Heteroassociativas Funções de ativação Step binária

Redes Heteroassociativas Funções de ativação Incluindo um threshold θi Usada em Memória Associativa Bidirecional (BAM)

Redes Heteroassociativas Para um conjunto de associações-padrão (usando a regra Hebb) W = W(1) + ... + W(i) + ... + W(P)

Redes Autoassociativas Vetor de treinamento = saída desejada; Armazenamento do vetor; “Zerar” a diagonal principal da matriz peso; (regra Hebb)

Redes Autoassociativas Capacidade de Armazenamento Até n-1 vetores ortogonais entre si de n componentes em uma matriz peso usando a soma dos produtos externos;

Parte 2 Parte 2 Aula 8

Sumário Redes Autoassociativas Iterativas Autoassociador Linear Recorrente Brain-State-in-a-Box (BSB) Rede Discreta de Hopfield Memória Associativa Bidirecional (BAM) Outros Conceitos

Redes Autoassociativas Iterativas Incapacidade de associar um vetor com muitas “incertezas” na primeira tentativa; Entretanto conseguem determinar de forma iterativa!

Redes Autoassociativas Iterativas Alguns tipos: Autoassociador linear recorrente; Redes Brain-State-in-a-Box; Redes de Hopfield; Todos os n neurônios interconectados!

Autoassociador Linear Recorrente Todos os neurônios interconectados; Pesos podem ser determinados pela regra Hebb; Possibilidade de problemas com o crescimento da matriz-peso; Solução: redes BSB;

Brain-State-in-a-Box (BSB) Limita o crescimento por meio da modificação da função de ativação; Pesos simétricos Nenhuma autoconexão

Rede Discreta de Hopfield Totalmente interconectadas, pesos simétricos e nenhuma autoconexão; Atualização assíncrona: Somente uma unidade por vez;

Rede Discreta de Hopfield Sinal externo + Sinal de cada um dos outros neurônios; Função de Energia ou Lyapunov;

Rede Discreta de Hopfield Inicialização de pesos pode ser por regra Hebb; Busca-se a convergência dos valores de ativação; Quando usar a entrada externa?

Rede Discreta de Hopfield Função Energia Capacidade de Armazenamento Padrões Binários Padrões Bipolares

Memória Associativa Bidirecional (BAM) Soma de matrizes de correlação bipolares; Camadas de neurônios X e Y;

Memória Associativa Bidirecional (BAM) BAM discreta Binárias ou bipolares; Cálculo do peso por meio do produto externo das formas bipolares; Função de ativação step;

Memória Associativa Bidirecional (BAM) BAM contínua Saída no intervalo [0, 1]; Cálculo de y_inj utiliza bias; Função de ativação sigmóide logística;

Outros Conceitos Distância Hamming Apagar uma associação armazenada xc:tc  não apaga x:t xc:t ou x:tc  apaga x:t

Backpropagation Backpropagation Aula 9

Standard Backpropagation

Sumário Introdução Estágios do Treinamento Arquitetura Função de Ativação Fatores e Variações dos Pesos Algumas Decisões Importantes Aplicações

Introdução Regra Delta Generalizada; Redução do erro quadrado total da saída; Derivada da função de ativação; Propagação dos valores de correção Sentido contrário ao fluxo de informações; Multi-camada feedforward; Uma ou mais camadas ocultas;

Estágios do Treinamento Feedforward do padrão de treinamento de entrada; Cálculo e “backpropagation” do erro; Ajuste dos pesos;

Arquitetura

Função de Ativação Sigmóide Binária Sigmóide Bipolar

Fatores e Variações dos Pesos Da camada de saída Da camada oculta

Algumas Decisões Importantes Escolha dos pesos iniciais Valores aleatórios entre –0.5 e 0.5; Quanto tempo deve durar o treinamento Memorização X Generalização; Quantos devem ser os pares de treinamento;

Algumas Decisões Importantes Representação dos dados Binária X Bipolar; Número de camadas ocultas Uma camada é suficiente para muitos problemas;

Aplicações Compressão de Dados; Quando usado em redes autoassociativas, por exemplo;

Variações Variações

Sumário Variações Quanto à Atualização dos Pesos Variações Quanto à Função de Ativação Backpropagation Estritamente Local Número de camadas ocultas

Quanto à Atualização dos Pesos Momento Atualização em “Batch” dos Pesos Taxas de Aprendizado Adaptativas

Momento O ritmo de cada mudança deve ser considerado; Onde 0 < μ < 1

Atualização em “Batch” dos Pesos Acumular as correções e efetuar todas ao mesmo tempo após vários padrões, ou mesmo ao fim de cada época;

Taxas de Aprendizado Adaptativas Taxa de aprendizado varia durante o treinamento;

Taxas de Aprendizado Adaptativas Delta-Barra-Delta Enquanto o sinal da mudança de peso permanecer o mesmo, aumente a taxa de aprendizado referente a esse peso; Quando o sinal da mudança de peso mudar, reduza a taxa de aprendizado referente a esse peso;

Taxas de Aprendizado Adaptativas Delta-Barra-Delta 0 < β < 1

Taxas de Aprendizado Adaptativas Delta-Barra-Delta

Taxas de Aprendizado Adaptativas Método Sucessos Épocas Backpropagation 24 16859.8 Backpropagation com momento 25 2056.3 Delta-Barra-Delta 22 447.3

Quanto à Função de Ativação Função Sigmóide Customizada para Padrões de Treinamento Parâmetro Slope Adaptativo para Sigmóide Outra Função Sigmóide Função de Ativação Não-Saturante Função de Ativação Não-Sigmóide

Função Sigmóide Customizada para Padrões de Treinamento

Parâmetro Slope Adaptativo para Sigmóide

Outra Função Sigmóide

Função de Ativação Não-Saturante

Função de Ativação Não-Sigmóide

Backpropagation Estritamente Local Problemas de plausibilidade biológica; Backpropagation requer compartilhamento de informações entre unidades; Dividir em unidades corticais, sinápticas e talâmicas;

Número de Camadas Ocultas Uma camada é suficiente para qualquer problema de aproximação de função; Alguns problemas podem ser mais fáceis de resolver com duas camadas ocultas; Basta estender os passos a serem executados;

Número de Camadas Ocultas

Resultados Teóricos Resultados Teóricos

Sumário Derivação das Regras de Aprendizado

Derivação das Regras de Aprendizado No Standard Backpropagation

Derivação das Regras de Aprendizado No Standard Backpropagation

Derivação das Regras de Aprendizado No Standard Backpropagation

Kohonen Kohonen Aula 10

Sumário Introdução Características Arquitetura Vizinhança Algoritmo Observações Aplicação

Introdução Classificação até agora Rede podia retornar mais de um sinal de saída; É necessário forçar a rede a tomar uma decisão Competição; O vencedor leva tudo;

Introdução MAXNET; Chapéu Mexicano; Quantização do Vetor de Aprendizagem (LQV); Mapeamento auto-organizável de Kohonen.

Características Preserva topologias; Treinamento não-supervisionado Busca similaridades nos vetores e agrupa-os;

Características Aprendizado Kohonen Combinação linear do antigo vetor-peso e do vetor de entrada atual; Somente para o vetor peso mais próximo e sua vizinhança!

Características Calculando o vetor-peso mais próximo... Distância euclidiana; Produto escalar  comparação do y_in de cada unidade;

Arquitetura

Vizinhança

Algoritmo Inicialize pesos Estabeleça parâmetros de vizinhança topológica Estabeleça parâmetros de taxa de aprendizado

Algoritmo Enquanto condição de parada for falsa, faça Para cada vetor de entrada x, faça Para cada j Dj = 0 Para cada i Dj = Dj + (wij – xi)2

Algoritmo Encontre índice J tal que DJ seja mínimo Para todas as unidades j na vizinhança especificada de J Para todos os i wij = wij + α[xi - wij] Atualize taxa de aprendizado Reduza raio da vizinhança topológica em tempos determinados

Observações A taxa de aprendizado decresce lentamente em função do tempo; O raio de vizinhança também decresce enquanto o processo de clustering progride; Valores aleatórios podem ser estabelecidos para os pesos inicialmente.

[ Aplicação em breve disponível no site ]

Redes Neurais Artificiais em Jogos Aula 11

Sumário Técnicas de IA em Jogos Por que IA em Jogos? Por que RNA em Jogos? Casos de RNA em Jogos Smart Sweepers 1 Smart Sweepers 2 Neat Sweepers Brainy Aliens Neat Invaders GNU Mages Docking Station – Creatures Considerações Finais Referências Bibliográficas

Técnicas de IA em Jogos Máquinas de Estados Finitos e Scripts (TATAI, s.d.) Máquinas de Estados Finitos e Scripts Jogos de Estratégia, de RPG, FPS, Luta, etc. Mortal Kombat Unreal Total Annihilation

Técnicas de IA em Jogos Estratégias de Busca Tradicionais (TATAI, s.d.) Estratégias de Busca Tradicionais Algoritmos minimax e pathfinding; Busca em profundidade / largura, backtracking; Jogos de Tabuleiro, Estratégia, RPG, Ação, etc; Jogo de Xadrez Pacman

? Técnicas de IA em Jogos Algoritmos Genéticos (TATAI, s.d.) Algoritmos Genéticos Jogos de Estratégia ou de Simulação; Permite o aprendizado por meio da evolução! q ? Muitos jogos podem se utilizar de algoritmos genéticos com sucesso

Técnicas de IA em Jogos Redes Neurais Artificiais (TATAI, s.d.) Docking Station (série Creatures)

Técnicas de IA em Jogos (TATAI, s.d.) Sistemas Nebulosos ??? q ?

Técnicas de IA em Jogos E NeuroEvolution? (TATAI, s.d.) E NeuroEvolution? Redes Neurais + Algoritmos Genéticos;

Por que IA em Jogos? O jogador quer um inimigo: Reativo; Proativo; Com “comportamento humano”; Que se aperfeiçoe durante o jogo;

Por que RNA em Jogos? Usada principalmente em simulações (VIEIRA, 2005) Docking Station, da GameWare Development;

Casos de RNA em Jogos Smart Sweepers 1; Smart Sweepers 2; Neat Sweepers; Brainy Aliens; Neat Invaders; GNU Mages; Docking Stations – Creatures;

Smart Sweepers 1

Smart Sweepers 2

Neat Sweepers

Brainy Aliens

Neat Invaders Ferramentas Como pontuar cada inimigo? Para cada inimigo Delphi DelphiNEAT Library GR32 Library PNGDelphi Como pontuar cada inimigo? Para cada inimigo Entrada Coordenadas do jogador Se pode disparar ou não Vetor velocidade Vetor distância do míssil mais próximo Saída Vetor aceleração Se dispara ou não

Neat Invaders NeuroEvolution Augmenting Topologies

GNU Mages Capture the Flag; Em Java; Editor de mapas;

GNU Mages

Docking Station - Creatures GameWare Development; Simulador de vida de criaturas; Evolução das mesmas; Sociabilização com outras criaturas;

Docking Station - Creatures

Considerações Finais Ainda nos primeiros passos... Que outros gêneros de jogos poderão usar NeuroEvolution? Que benefícios o uso de Redes Neurais e Algoritmos Genéticos podem trazer aos jogos?

Referências Bibliográficas BUCKLAND, Matt, AI Techniques for Game Programming, Premier Press, 2002 FAUSETT, Laurene, Fundamentals of Neural Networks – Architectures, Algorithms and Applications TATAI, Victor K, Técnicas de Sistemas Inteligentes Aplicadas ao Desenvolvimento de Jogos de Computador, Universidade Estadual de Campinas, s.d. VIEIRA, Vicente, Revolution AI Engine – Desenvolvimento de um Motor de Inteligência Artificial para a Criação de Jogos Eletrônicos, UFPE, 2005 http://www.inf.unisinos.br/~jrbitt/mages http://w-shadow.com/blog/2006/10/26/neat-invaders-game http://www.gamewaredevelopment.co.uk

FIM!!! FIM!!!