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

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

Apr 16, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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!!!