151
http://www.computacao.gigamundo.c Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

Embed Size (px)

Citation preview

Page 1: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Neurais Artificiais

Christiano Lima Santos

Redes Neurais Artificiais

Page 2: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Classificação de Padrões

Aula 2

Classificação de Padrões

Page 3: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 4: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Arquitetura

• Single-layer;

• Uso de bias para ajustar, mantendo o threshold fixo;

• Problemas separáveis linearmente;

Page 5: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Separabilidade Linear

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

22

11

2

12 x

w

wx

w

wx

Page 6: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Separabilidade Linear

Page 7: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 8: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Características

• Vetores de entrada na forma bipolar ou binária;

• Resultado na forma bipolar;

• Treinamento supervisionado;

Page 9: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

para i = 0 até n

wi += xi*t;

Page 10: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Função AND

• O treinamento foi efetuado com sucesso;

• Resultados alcançados em uma única época;

Entrada Saída

1 1 1 1

1 -1 1 -1

-1 1 1 -1

-1 -1 1 -1

Page 11: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 12: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Função OR

• O treinamento foi efetuado com sucesso;

• Resultados alcançados em uma única época;

Entrada Saída

1 1 1 1

1 -1 1 1

-1 1 1 1

-1 -1 1 -1

Page 13: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Um Caso Específico...

• Treinamento fracassou;

• Uma possível combinação de pesos seria:

1, 1, 1, -2

Entrada Saída

1 1 1 1 1

1 1 -1 1 -1

1 -1 1 1 -1

-1 1 1 1 -1

Page 14: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 15: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Perceptron

Aula 3

Perceptron

Page 16: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Sumário

• Arquitetura

• Características

• Representação Gráfica

• Função de Ativação

• Algoritmo

• Função AND

• Reconhecimento de Caracteres

Page 17: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Arquitetura

• Single-layer;

• Threshold X bias;

• Problemas linearmente separáveis;

Page 18: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Características

• Duas retas dividem o plano cartesiano;

• Taxa de aprendizado α;

• Treinamento em épocas;

Page 19: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Representação gráfica

bxwxw

e

bxwxw

2211

2211

Page 20: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Função de Ativação

ii xtw ..

inyif

inyif

inyif

inyf

_,1

_,0

_,1

)_(

Page 21: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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)

Page 22: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Função AND

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

Page 23: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Reconhecimento de Caracteres

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

Page 24: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Adaline

Aula 4

Adaline

Page 25: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Sumário

• Arquitetura

• Características

• Representação Gráfica

• Função de Ativação

• Algoritmo

• Reconhecimento de Caracteres

Page 26: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Arquitetura

• Uma única camada;

• Dispensa especificação de Threshold;

• Problemas linearmente separáveis;

Page 27: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Características

• Taxa de aprendizado α;

• Treinamento em épocas;

• Utiliza-se da regra de aprendizado delta;

Page 28: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Representação gráfica

Page 29: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Função de Ativação

ijij xinytw )._.(

0_,1

0_,1)_(

inyif

inyifinyf

Page 30: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Algoritmo

(Em breve, disponível no site)

Page 31: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Reconhecimento de Caracteres

(Em breve, disponível no site)

Page 32: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

MadalineMadalineAula 5

Page 33: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Sumário

• Arquitetura

• Características

• Representação Gráfica

• Algoritmo

• Função XOR

Page 34: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Arquitetura• Várias Adalines organizadas em múltiplas

camadas;

• Não somente problemas linearmente separáveis;

Page 35: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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!

Page 36: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Representação gráfica

Page 37: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Algoritmo

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

Page 38: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Função XOR

(Aplicação em breve, no site)

Page 39: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

JavaNNS

Aula 6

JavaNNS

Page 40: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Sumário

• O Que é?

• Instalação

• Tela do JavaNNS

• Menus

• Algumas Janelas

• Rede AND

Page 41: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

O Que é?

• Universidade de Tübingen– 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

Page 42: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Instalação

• JRE instalado;

• Descompactação;

• Execução por meio da JVM– java –jar javanns.jar

• Diretórios:– Examples;– Manuals;

Page 43: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Tela do JavaNNS

Page 44: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Menus

• File– New

– Open

– Close

– Save / Save As / Save Data

– Print

– Exit

• Edit– Undo / Redo

– Names / Output values

– Unit properties

– Delete• Units

• Links

Page 45: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Menus

• View– Network

– Display Settings

– Error graph

– Weights

– Projection

– Kohonen

– Log

– Status Panel

– Properties

• Tools– Control Panel

– Cascade & TACOMA

– Analyser

– Create• Layers

• Connections

Page 46: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Menus

• Pattern– Add

– Modify

– Copy

– New Set

• Window– Cascade

– Close all

• Help– Contents

– About

Page 47: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Algumas Janelas

View Network

Error Graph

Page 48: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Algumas Janelas

Log Window

Control Panel

Page 49: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Rede AND

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

Page 50: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Associação de Padrões

Aulas 7 e 8

Associação de Padrões

Page 51: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Parte 1Parte 1

Aula 7

Page 52: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Sumário

• O que são Redes Associativas

• Regras de Treinamento

• Regra Hebb

• Regra Delta

• Redes Heteroassociativas

• Redes Autoassociativas

Page 53: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 54: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 55: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Regras de Treinamento

• Regra Hebb– Mais simples;

• Regra Delta– Reproduz melhores resultados;

Page 56: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Regra Hebb

• A matriz peso é resultado do produto externo do padrão associado

W = sT.t

jiij yxw

Page 57: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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:ijjij xytw )..(

)_('.)..( jijjij inyfxytw

Page 58: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Heteroassociativas

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

Page 59: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Heteroassociativas

• Funções de ativação– Step bipolar

0_,1

0_,0

0_,1

j

j

j

j

inyif

inyif

inyif

y

Page 60: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Heteroassociativas

• Funções de ativação– Step binária

0,0

0,1

x

xy j

Page 61: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Heteroassociativas

• Funções de ativação– Incluindo um threshold θi

• Usada em Memória Associativa Bidirecional (BAM)

jj

jjj

jj

j

inyif

inyify

inyif

y

_,1

_,

_,1

Page 62: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Heteroassociativas

• Para um conjunto de associações-padrão (usando a regra Hebb)

W = W(1) + ... + W(i) + ... + W(P)

Page 63: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Autoassociativas

• Vetor de treinamento = saída desejada;

• Armazenamento do vetor;

• “Zerar” a diagonal principal da matriz peso;

P

p

T pspsW1

)()(

(regra Hebb)

Page 64: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 65: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Parte 2Parte 2Aula 8

Page 66: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 67: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Autoassociativas Iterativas

• Incapacidade de associar um vetor com muitas “incertezas” na primeira tentativa;– Entretanto conseguem determinar de

forma iterativa!

Page 68: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Autoassociativas Iterativas

• Alguns tipos:– Autoassociador linear recorrente;

– Redes Brain-State-in-a-Box;

– Redes de Hopfield;

• Todos os n neurônios interconectados!

Page 69: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 70: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

ij

ijj

ij

ijji

ij

ijj

i

wxse

wxsex

wxse

x

,1

,

,1

jiij ww 0iiw

Page 71: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Rede Discreta de Hopfield

• Totalmente interconectadas, pesos simétricos e nenhuma autoconexão;

• Atualização assíncrona:– Somente uma unidade por vez;

Page 72: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Rede Discreta de Hopfield

• Sinal externo + Sinal de cada um dos outros neurônios;

• Função de Energia ou Lyapunov;

Page 73: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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?

Page 74: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Rede Discreta de Hopfield

i

iii

iiji j

ijji yyxwyyE 5.0

Função Energia

nP 15,0n

nP

2log2

Capacidade de Armazenamento

Padrões Binários Padrões Bipolares

Page 75: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Memória Associativa Bidirecional (BAM)

• Soma de matrizes de correlação bipolares;

• Camadas de neurônios X e Y;

Page 76: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

jj

jjj

jj

j

inyse

inysey

inyse

y

_,1

_,

_,1

Page 77: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

)_exp(1

1)_(

jj iny

inyf

Page 78: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

n

xxH ],[ 21

Page 79: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Backpropagation

Aula 9

Backpropagation

Page 80: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Standard Backpropagation

Standard Backpropagation

Page 81: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 82: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 83: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Estágios do Treinamento

• Feedforward do padrão de treinamento de entrada;

• Cálculo e “backpropagation” do erro;

• Ajuste dos pesos;

Page 84: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Arquitetura

Page 85: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Função de Ativação

Sigmóide Binária Sigmóide Bipolar

)](1)[()('

)exp(1

1)(

xfxfxf

xxf

2/)](1)][(1[)('

1)exp(1

2)(

xfxfxf

xxf

Page 86: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Fatores e Variações dos Pesos

Da camada de saída Da camada oculta

jkjk

kkkk

zw

inyfyt

)_(')(

ijij

jjj

m

kjkkj

xv

inzfin

win

)_('_

_1

Page 87: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 88: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Algumas Decisões Importantes

• Representação dos dados– Binária X Bipolar;

• Número de camadas ocultas– Uma camada é suficiente para muitos

problemas;

Page 89: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Aplicações

• Compressão de Dados;– Quando usado em redes autoassociativas, por

exemplo;

Page 90: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

VariaçõesVariações

Page 91: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 92: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Quanto à Atualização dos Pesos

• Momento

• Atualização em “Batch” dos Pesos

• Taxas de Aprendizado Adaptativas

Page 93: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Momento

• O ritmo de cada mudança deve ser considerado;

)]1()([)()1( twtwztwtw jkjkjkjkjk

Onde 0 < μ < 1

Page 94: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 95: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Taxas de Aprendizado Adaptativas

• Taxa de aprendizado varia durante o treinamento;

Page 96: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 97: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Taxas de Aprendizado Adaptativas

• Delta-Barra-Delta

ijij

ij

jkjk

jk

xv

E

zw

E

)1()()1()(

)1()()1()(

ttt

ttt

ijijij

jkjkjk

0 < β < 1

Page 98: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Taxas de Aprendizado Adaptativas

• Delta-Barra-Delta

contráriocasot

ttset

ttset

t

jk

jkjkjk

jkjkjk

jk

)(

0))()1(()()1(

0))()1(()(

)1(

Page 99: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Taxas de Aprendizado Adaptativas

Método Sucessos Épocas

Backpropagation 24 16859.8

Backpropagation com momento

25 2056.3

Delta-Barra-Delta 22 447.3

Page 100: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 101: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

a

ab

)exp(1)(

xxg

/)]()][([)(' xgxgxg

Page 102: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Parâmetro Slope Adaptativo para Sigmóide

jjj

kkk

inz

iny

_

_

Page 103: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Outra Função Sigmóide

)(2

)( xarctgxf

21

12)('

xxf

Page 104: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

)0(1

1

)0(1

1

)('

)0()1log(

)0()1log()(

xsex

xsex

xf

xsex

xsexxf

Page 105: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

)(2)exp(.2)('

)exp()(2

2

xxfxxxf

xxf

Page 106: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 107: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 108: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Número de Camadas Ocultas

ihih

hhh

p

jhjjh

xu

inzfin

vin

)_('_

_1

Page 109: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Resultados TeóricosResultados Teóricos

Page 110: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Sumário

• Derivação das Regras de Aprendizado

Page 111: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Derivação das Regras de Aprendizado

• No Standard Backpropagation

k

kk ytE 2][5.0

Jkkkk

kkJKJK

zinyfytytww

E)_('][...][5.0 2

)_('][ kkkK inyfyt

Page 112: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Derivação das Regras de Aprendizado

• No Standard Backpropagation

])[_('...][ IJk

Jkkk

kIJ

kkIJ

xinzfwyv

ytv

E

)_(' Jk

JkkJ inzfw

Page 113: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Derivação das Regras de Aprendizado

• No Standard Backpropagation

jkjkkkjk

jk zzinyfytw

Ew

)_('][

ijk

jkkijij

ij xwxinzfv

Ev

)_('

Page 114: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Kohonen

Aula 10

Kohonen

Page 115: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Sumário

• Introdução

• Características

• Arquitetura

• Vizinhança

• Algoritmo

• Observações

• Aplicação

Page 116: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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;

Page 117: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Introdução

• MAXNET;

• Chapéu Mexicano;

• Quantização do Vetor de Aprendizagem (LQV);

• Mapeamento auto-organizável de Kohonen.

Page 118: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Características

• Preserva topologias;

• Treinamento não-supervisionado– Busca similaridades nos vetores e agrupa-os;

Page 119: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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!

Page 120: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Características

• Calculando o vetor-peso mais próximo...

– Distância euclidiana;

– Produto escalar comparação do y_in de cada unidade;

Page 121: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Arquitetura

Page 122: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Vizinhança

Page 123: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Algoritmo

Inicialize pesos

Estabeleça parâmetros de vizinhança topológica

Estabeleça parâmetros de taxa de aprendizado

Page 124: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 125: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

AlgoritmoEncontre í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

Page 126: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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.

Page 127: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Aplicação

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

Page 128: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Redes Neurais Artificiais em

JogosAula 11

Redes Neurais Artificiais em

Jogos

Page 129: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 130: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Técnicas de IA em Jogos

• Máquinas de Estados Finitos e Scripts– Jogos de Estratégia, de RPG, FPS, Luta, etc.

(TATAI, s.d.)

Mortal Kombat

Total Annihilation

Unreal

Page 131: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Técnicas de IA em Jogos

• Estratégias de Busca Tradicionais– Algoritmos minimax e pathfinding;– Busca em profundidade / largura, backtracking;– Jogos de Tabuleiro, Estratégia, RPG, Ação, etc;

(TATAI, s.d.)

Jogo de Xadrez Pacman

Page 132: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Técnicas de IA em Jogos

• Algoritmos Genéticos– Jogos de Estratégia ou de Simulação;– Permite o aprendizado por meio da evolução!

(TATAI, s.d.)

q?Muitos jogos podem se utilizar de algoritmos genéticos com sucesso

Page 133: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Técnicas de IA em Jogos

• Redes Neurais Artificiais

(TATAI, s.d.)

Docking Station (série Creatures)

Page 134: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Técnicas de IA em Jogos

• Sistemas Nebulosos– ???

(TATAI, s.d.)

q?

Page 135: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Técnicas de IA em Jogos

• E NeuroEvolution?– Redes Neurais + Algoritmos Genéticos;

(TATAI, s.d.)

Page 136: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Por que IA em Jogos?

• O jogador quer um inimigo:– Reativo;– Proativo;– Com “comportamento humano”;– Que se aperfeiçoe durante o jogo;

Page 137: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Por que RNA em Jogos?

• Usada principalmente em simulações (VIEIRA, 2005)– Docking Station, da GameWare Development;

Page 138: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Casos de RNA em Jogos

• Smart Sweepers 1;

• Smart Sweepers 2;

• Neat Sweepers;

• Brainy Aliens;

• Neat Invaders;

• GNU Mages;

• Docking Stations – Creatures;

Page 139: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Smart Sweepers 1

Page 140: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Smart Sweepers 2

Page 141: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Neat Sweepers

Page 142: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Brainy Aliens

Page 143: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Neat Invaders

• Ferramentas– 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

Page 144: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Neat Invaders

• NeuroEvolution Augmenting Topologies

Page 145: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

GNU Mages

• Capture the Flag;

• Em Java;

• Editor de mapas;

Page 146: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

GNU Mages

Page 147: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Docking Station - Creatures

• GameWare Development;

• Simulador de vida de criaturas;– Evolução das mesmas;– Sociabilização com outras criaturas;

Page 148: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

Docking Station - Creatures

Page 149: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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?

Page 150: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

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

Page 151: Http:// Redes Neurais Artificiais Christiano Lima Santos Redes Neurais Artificiais

http://www.computacao.gigamundo.com

FIM!!!FIM!!!