Sei sulla pagina 1di 208

DAS 9012 Inteligncia Computacional

Temas abordados: Redes Neurais Artificiais (Marcelo) Algoritmos Genticos (Marcelo) Lgica Nebulosa - Fuzzy logic (Jomi) Avaliao: Seminrios de 30 min em duplas sobre uso das tcnicas aprendidas Trabalho escrito em forma de artigo tipo survey sobre uma rea de aplicao Preferncia por aplicaes que usem hibridizao das tcnicas
M. R. Stemmer - DAS / CTC / UFSC

Redes Redes Neurais Neurais Artificiais Artificiais para para Controle Controle & & Automao Automao

Prof. Marcelo Ricardo Stemmer marcelo@das.ufsc.br


M. R. Stemmer - DAS / CTC / UFSC

Sumrio
Introduo - Inteligncia Artificial Simblica e Conexionista. Histrico das Redes Neurais Artificiais. O Neurnio Biolgico. Tipos de Redes, Arquiteturas, Caractersticas e Aplicaes. Multi-layer Perceptron e Regra de Aprendizado Backpropagation. Redes Auto-organizativas (ex. SOM). Memrias Associativas (ex. BAM). Aplicaes em Controle e Automao: Redes Neurais em Identificao e Controle de Processos Redes Neurais em Robtica Redes Neurais em Viso Computacional Comentrios Finais

M. R. Stemmer - DAS / CTC / UFSC

Introduo ao Estudo das Redes Neurais Artificiais


Objetivos Oferecer uma introduo abordagem da IA conexionista,descrevendo: caractersticas de funcionamento formas de aprendizado (treinamento) aplicaes tpicas na rea de C&A

M. R. Stemmer - DAS / CTC / UFSC

Bibliografia
Freeman, James A. & Skapura, David M. Neural Networks: Algorithms, Applications and Programming Techniques. Addison-Wesley Publishing, 1992. Haykin, Simon. Neural Networks: a comprehensive foundation. IEEE Press, 1994. Barreto, Jorge M. Inteligncia Artificial: No limiar do sculo XXI. Edies, 1997. Kovcs, Zsolt Laszlo. Redes Neurais Artificiais: fundamentos e aplicaes. Collegium Cognitio, 1997. Rumelhart, D.; Hinton, G. & Williams, R. Learning Internal representation by Error Propagation. In: Parallel Distributed Processing: explorations in the microstructure of cognition - Vol 1. MIT Press, 1986. Arbib, Michael A. (Ed) The Handbook of Brain Theory and Neural Networks. MIT Press, 1995.
M. R. Stemmer - DAS / CTC / UFSC

Origens da IA
O QUE INTELIGNCIA?
Binet: Inteligncia julgar bem, compreender bem, raciocinar bem. Tearman: A capacidade de conceituar e de compreender o seu significado. Helm: A atividade inteligente consiste na compreenso do essencial de uma situao e numa resposta reflexa apropriada. Piaget: Adaptao ao ambiente fsico e social.

M. R. Stemmer - DAS / CTC / UFSC

Origens da IA
A INTELIGNCIA S HUMANA?
A inteligncia geralmente associada a uma caracterstica unicamente humana, de representao de conhecimentos e resoluo de problemas, refletindo um ponto de vista altamente antropocntrico. No compreendemos como funciona nossa inteligncia e nem mesmo a origem de nossos pensamentos.

M. R. Stemmer - DAS / CTC / UFSC

Origens da IA
Hoje a idia de inteligncia passou a ser associada com a idia de sobrevivncia. Carne: Talvez a caracterstica bsica de um organismo inteligente seja sua capacidade de aprender a realizar vrias funes em um ambiente dinmico, tais como sobreviver e prosperar. Fogel: inteligncia pode ser definida como a capacidade de um sistema de adaptar seu comportamento para atingir seus objetivos em uma variedade de ambientes.

M. R. Stemmer - DAS / CTC / UFSC

Definies de IA
um ramo da cincia da computao ao mesmo tempo recente (oficialmente nasceu em 1956) e muito antigo (lgica de Aristteles) At mesmo a origem do termo cercada de mistrio - John McCarthy, suposto criador do termo em 1956 no tem certeza de no haver ouvido o termo anteriormente! Elaine Rich: IA o estudo de como fazer os computadores realizarem coisas que, hoje em dia, so feitas melhor pelas pessoas. Winston: IA o estudo das idias que permitem aos computadores serem inteligentes. Charniak e McDermott: IA o estudo das faculdades mentais atravs da utilizao de modelos computacionais. Bellman: IA o estudo e simulao de atividades que normalmente assumimos que requerem inteligncia. Russell e Norvig: IA o estudo e implementao de agentes racionais (um agente racional algo que procura atingir seus objetivos atravs de suas crenas).
M. R. Stemmer - DAS / CTC / UFSC

Definies de IA
Uma mquina inteligente se ela capaz de solucionar uma classe de problemas que requerem inteligncia para serem solucionados por seres humanos (McCarthy e Hayes, 1969). Inteligncia Artificial a parte da cincia da computao que compreende o projeto de sistemas computacionais que exibam caractersticas associadas, quando presentes no comportamento humano, inteligncia (Handbook of AI, 1981).

M. R. Stemmer - DAS / CTC / UFSC

Objetivos da IA

O objetivo central da IA simultaneamente:


terico - a criao de teorias e modelos para a capacidade cognitiva e prtico - a implementao de sistemas computacionais baseados nestes modelos.

M. R. Stemmer - DAS / CTC / UFSC

IA forte x fraca
Inteligncia Artificial Forte: aborda a criao da forma de inteligncia baseada em computador que consiga raciocinar e resolver problemas. Idia da mquina auto-consciente. A IA forte tema bastante controverso, pois envolve temas como conscincia e fortes problemas ticos ligados ao que fazer com uma entidade que seja cognitivamente indiferencivel de seres humanos.

M. R. Stemmer - DAS / CTC / UFSC

IA forte x fraca
Inteligncia Artificial Fraca: Trata da noo de como lidar com problemas no determinsticos. Centra a sua investigao na criao de inteligncia artificial que no capaz de verdadeiramente raciocinar. Uma mquina com esta caracterstica agiria como se fosse inteligente, mas no tem autoconscincia ou noo de si. O teste clssico para aferio da inteligncia em mquinas o Teste de Turing.
M. R. Stemmer - DAS / CTC / UFSC

IA x IC
Inteligncia Artificial Clssica: tambm conhecida como IA simblico-dedutiva, associada a IA fraca. baseada em anlise formal e estatstica do comportamento humano ante diferentes problemas:
Raciocnio baseado em casos: Ajuda a tomar decises enquanto se resolvem certos problemas concretos. Sistemas especialistas: Inferem uma soluo atravs do conhecimento prvio do contexto em que se aplica e de certas regras ou relaes. Redes bayesianas: Prope solues mediante inferncia estatstica. Inteligncia artificial baseada em comportamentos: tem autonomia e podem auto regular-se e controlar-se para melhorar.
M. R. Stemmer - DAS / CTC / UFSC

IA x IC
Inteligncia Computacional: tambm conhecida como IA sub-simblica indutiva, associada a IA forte. Implica desenvolvimento ou aprendizagem interativa (por exemplo, modificaes interativas dos parmetros em sistemas conexionistas). A aprendizagem se realiza baseando-se em dados empricos (exemplos). Usa paradigmas como:
Redes Neurais Artificiais Programao Evolutiva (Algoritmos Genticos) Lgica Fuzzy
M. R. Stemmer - DAS / CTC / UFSC

Abordagens da IA
Dcada de 50: duas abordagens concorrentes em IA Conexionista (neural, paralela) x Simbolista (clssica, seqencial). Objetivo da linha Conexionista: investigar possibilidade de simular comportamentos inteligentes atravs de modelos da estrutura e funcionamento do crebro humano. Linhas nasceram praticamente juntas: encontro no Darthmouth College de 1956 j abordou RNA. Tcnicas simbolistas tiveram preferncia no incio da IA (computadores disponveis inadequados para abordagem conexionista).
M. R. Stemmer - DAS / CTC / UFSC

IA Simblica
Um sistema simblico capaz de manifestar um comportamento inteligente. O comportamento inteligente global simulado sem considerar os mecanismos responsveis por este comportamento. Estratgia fundamental: Physical Symbol Systems Hypothesis, de Newell e Simon (1976): A physical symbol system consists of a set of entities, called symbols, which are physical patterns that can occur as components of another type of entity called an expression (or symbol structure)the system also includes a collection of processes that operate on expressions to produce other expressions: processes of creation, modification, reproduction and destruction. A physical symbol system is a machine that produces through time an evolving collection of symbol structures.Such a system exists in a world of objects wider than just these symbolic expressions themselves
M. R. Stemmer - DAS / CTC / UFSC

IA Conexionista
Se for construdo um modelo suficientemente preciso do crebro, este modelo apresentar um comportamento inteligente. Se apenas uma pequena parte do crebro for reproduzida, a funo exercida por esta parte emergir do modelo.

M. R. Stemmer - DAS / CTC / UFSC

Abordagem algortmica x conexionista


Abordagens para soluo de problemas: Abordagem algortmica: extremamente eficiente, desde que se conhea exatamente a seqncia de instrues a serem executadas para resoluo do problema. O crebro dos seres vivos parece adequado para resolver problemas no algortmicos. Abordagem conexionista: procura se inspirar no funcionamento do crebro para soluo dos problemas.

M. R. Stemmer - DAS / CTC / UFSC

Fases Histricas
poca Pr-Histrica (at 1875 quando Camillo Golgi visualizou o neurnio)
Objetivo: Criar seres e mecanismos apresentando comportamento inteligente. Metodologia e Conquistas: Mecanismos usando mecnica de preciso desenvolvida nos autmatos, mecanismos baseados em teares, como o pato de Jacques de Vaucanson (1738). Limitaes: Complexidade dos mecanismos, dificuldades de construo. Fraudes: a mquina de xadrez (baro von Kempelen)
M. R. Stemmer - DAS / CTC / UFSC

Fases Histricas
poca Antiga (1875-1943 - Neurnio de McCulloch& Pitts)
Objetivo: Entender a Inteligncia Humana. Metodologia e Conquistas: Estudos de psicologia e neurofisiologia. Nascimento da psicanlise. Limitaes: Grande distncia entre as conquistas da psicologia e da neurofisiologia.

M. R. Stemmer - DAS / CTC / UFSC

Fases Histricas
poca Clssica (1943-1956 Reunio no Darthmouth College)
Objetivo: Simular a Inteligncia Humana . Metodologia e Conquistas: Inspirao na Natureza, Nascimento da Ciberntica. Primeiros mecanismos imitando o funcionamento de redes de neurnios. Primeiros programas imitando comportamento inteligente. Limitaes: Limitao das capacidades computacionais.
M. R. Stemmer - DAS / CTC / UFSC

Fases Histricas
poca Romntica (1956-1969 Livro Perceptrons)
Objetivo: Expandir ao Mximo as aplicaes da IA tanto usando a abordagem simblica quanto a conexionista. Metodologia e Conquistas: Criao do Perceptron (Rosenblatt, 1958). Primeiros sistemas especialistas usando a abordagem simblica. Limitaes: Dificuldades em tcnicas de aprendizado de redes complexas. Subestimao da complexidade computacional dos problemas.

M. R. Stemmer - DAS / CTC / UFSC

Fases Histricas
poca das Trevas (1969-1981 Anuncio dos Computadores de Quinta Gerao)
Objetivo: Encontrar para a IA aplicaes prticas. Simular a Inteligncia Humana em situaes prdeterminadas. Metodologia e Conquistas: Sistemas Especialistas. Formalismos de representao de conhecimento adaptados ao tipo de problema. Limitaes: Subestimao da quantidade de conhecimento necessria para tratar mesmo o mais banal problema de senso comum.
M. R. Stemmer - DAS / CTC / UFSC

Fases Histricas
Renascimento (1981-1987 Primeira Conferncia Internacional em Redes Neurais)
Objetivo: Renascimento da IA Simblica e Conexionista. Metodologia e Conquistas: Sistemas de regras, representao da incerteza, popularizao do Prolog. Alguns pesquisadores criando condies para a fase seguinte no que diz respeito s Redes Neurais. Limitaes: IA Simblica e Conexionista evoluindo separadamente.

M. R. Stemmer - DAS / CTC / UFSC

Fases Histricas
poca Contempornea (1987-...)
Objetivo: Alargamento das aplicaes das Redes Neurais Artificiais (RNAs). Metodologia e Conquistas: Redes Diretas como aproximador universal. Bons resultados em problemas mal-definidos. Limitaes: Falta de um formalismo e de uma profunda anlise matemtica sobre as capacidades das Redes Neurais. Falta de estudos sobre computabilidade e complexidades neurais.
M. R. Stemmer - DAS / CTC / UFSC

Por que o renascimento?


Retomada de interesse pela abordagem Conexionista na dcada de 1980, devido a: melhores conhecimentos da estrutura real do crebro e dos neurnios (neurologia); melhores algoritmos de treinamento (backpropagation introduzido em 1985); disponibilidade de hardware computacional mais adequado (inclusive paralelo).

M. R. Stemmer - DAS / CTC / UFSC

Breve Histrico das RNAs


1943: Warren McCullog (neuro-anatomista) e Walter Pitts (matemtico) propem modelo binrio para o neurnio. No havia treinamento. 1949: Donald Hebb prope principio de aprendizado em sistemas nervosos, no qual a conexo entre 2 neurnios reforada sempre que ambos esto ativos ao mesmo tempo. 1958: Frank Rosenblatt prope uma rede de neurnios com valores contnuos e treinamento baseado em Hebb, denominada Perceptron. 1960: Widrow e Hoff propem as rede ADALINE (Adaptive Linear Element) e MADALINE (Multiple ADALINE) e uma nova regra de aprendizado chamada Regra Delta (Mtodo Gradiente). 1969: Minsky e Pappert (MIT) publicam o livro Perceptrons, com dura critica as RNA e expondo as limitaes dos Perceptrons (como a impossibilidade de aprender a funo XOR ou treinar redes multicamadas). Interesse pelas RNA diminui muito.
M. R. Stemmer - DAS / CTC / UFSC

Breve Histrico das RNAs


Dcada de 70: Kohonen constri memria associativa. Grossberg cria ART (Adaptive Resonance Theory). 1982: Hopfield introduz redes recorrentes. 1985: Hinton introduz mquina de Boltzmann. 1985: Rummelhart, Hinton e Williams criam algoritmo Error Backpropagation (Regra Delta Generalizada) e modelo de neurnio com funo de ativao no linear. 1986: Rummelhart e McClelland publicam o livro Parallel Distributed Processing. Inicio de nova era de pesquisas em RNA.
M. R. Stemmer - DAS / CTC / UFSC

Interesse nas RNAs


Psiclogos
Esto vendo possibilidades de construir redes neurais artificiais e ver aparecer comportamentos emergentes tais como o aprendizado de novos conceitos, ajudando a compreenso dos mecanismos do aprendizado.

Neurofisiologistas
Esto interessados em ver as RNAs como metfora cerebral e, por simulao, melhorar o conhecimento dos mecanismos cerebrais (estudar a capacidade de memorizao, por exemplo).

M. R. Stemmer - DAS / CTC / UFSC

Interesse nas RNAs


Cientistas Cognitivos
Se empenham em usar as redes neurais artificiais para um melhor conhecimento dos mecanismos envolvidos no processo cognitivo (qual o melhor mtodo de aprendizado?).

Engenheiros
Olham as RNAs como um caminho para, implementando estas redes em circuitos eltricos/eletrnicos, ter computadores realmente paralelos e distribudos. Muitos encontraram no aprendizado de RNAs um campo para aplicar o que se conhece da teoria da otimizao. Ferramenta para resolver problemas onde no se conhecem modelos matemticos precisos dos processos.

M. R. Stemmer - DAS / CTC / UFSC

Interesse nas RNAs

Cientistas de Computao
Encontraram um novo paradigma de programao e uma arquitetura distribuda. Explorar este paradigma, analisando suas capacidades e complexidades computacionais, desenvolvendo tcnicas de programao, aplicaes, etc.

M. R. Stemmer - DAS / CTC / UFSC

Algumas Aplicaes
Eng. Civil:
Avaliao da Condio de Pavimentos; Gerenciamento da Construo; Previso da Resistncia Mecnica do Concreto;

Meteorologia:
Previso do Tempo;

Biomdica:
Anlise de Batimentos Cardacos; Diagnstico Mdico da Tuberculose; Deteco de Eventos Epilticos;

Eng. Eltrica:
Processamento de sinais; Previso de carga eltrica; Diagnstico de falhas;

Linguagem Natural:
Analisador Sinttico; Compreenso de Texto; Corretor Gramatical;

Financeira:
Previso da bolsa de valores; Previso de falncia de bancos;

Processamento de Voz e Fala:


Reconhecimento de Fala; Reconhecimento do Locutor (voz);

Controle de Processos:
Modelagem / Identificao; Controle Adaptativo e No-Linear; Otimizao de Parmetros;

Agricultura:
Previso de Produtividade da Lavoura;

Robtica:
Inteligncia do Rob (tomada deciso); Planejamento da Trajetria; Controle Fora / seguimento trajetria.

Eng. de Produo:
Otimizao de Processos de Fabricao; Monitoramento de Processos;

M. R. Stemmer - DAS / CTC / UFSC

Viso Computacional

Por que usar RNA?


RNA interessante nestas e outras aplicaes porque: capaz de aprender atravs de exemplos; capaz de generalizar (reconhecer instncias similares aos exemplos, mas nunca apresentadas); apresenta elevada imunidade ao rudo (desempenho no colapsa na presena de informaes falsas ou ausentes); tem bom desempenho em problemas mal definidos (onde no existe conhecimento de modelos matemticos para os sistemas).

M. R. Stemmer - DAS / CTC / UFSC

O Neurnio Biolgico
Dendrites = entradas

Axnio = sada
M. R. Stemmer - DAS / CTC / UFSC

Sinapse = interface I/O

O Neurnio Biolgico
Possui um corpo celular, axnio e diversas ramificaes (dendritos). Os dendritos so dispositivos de entrada que conduzem sinais das extremidades para o corpo celular. O axnio (geralmente 1) o dispositivo de sada que transmite um sinal do corpo celular para a suas extremidades. As extremidades do axnio so conectadas com dendritos de outros neurnios pelas sinapses.

M. R. Stemmer - DAS / CTC / UFSC

O Neurnio Biolgico
Sinapse: a ligao entre a terminao axnica e os dendritos e que permite a propagao dos impulsos nervosos de uma clula a outra. As sinapses podem ser excitatrias ou inibitrias. As sinapses excitatrias cujos neuro-excitadores so os ons sdio permitem a passagem da informao entre os neurnios As sinapses inibitrias, cujos neuro-bloqueadores so os ons potssio, bloqueiam a atividade da clula, impedindo ou dificultando a passagem da informao.

M. R. Stemmer - DAS / CTC / UFSC

O Neurnio Biolgico
Comunicao dentro do neurnio: eltrica Comunicao entre sinapses: qumica Existe uma diferena de potencial entre o interior e o exterior do neurnio Potssio fica no interior da clula e sdio no exterior Potencial de repouso: -70 mV (de dentro para fora) Potencial de disparo: -50 mv No disparo, fluxo de sdio e potssio invertido e interior da clula passa a ter potencial positivo em relao ao exterior Causa envio de impulso do corpo ao axnio e dele sinapse Molculas neurotransmissoras so liberadas para a clave sinptica e sinal propagado para o prximo neurnio Aps envio do impulso, neurnio entra em perodo de retrao
M. R. Stemmer - DAS / CTC / UFSC

O Neurnio Biolgico

M. R. Stemmer - DAS / CTC / UFSC

O Neurnio Biolgico

Sinapse transfere impulso eletroqumico para dendrito de outro neurnio se somatrio dos sinais de entrada ultrapassa determinado limiar.
M. R. Stemmer - DAS / CTC / UFSC

A Rede Neural Humana


Crebro:
contm aprox. 1011 neurnios; 1015 interconexes; vias de transmisso com 1 ou mais metros; Peso: ~1,5 Kg (2% peso corpo); Consome 20 a 30% da energia do organismo (20% do oxignio, 25% da glicose, 15%do fluxo de sangue). Crtex: Rato (5 cm3), Chimpanz (500 cm3); Homem (2000 cm3);.
M. R. Stemmer - DAS / CTC / UFSC

O Crebro

M. R. Stemmer - DAS / CTC / UFSC

Tipos de neurnios

M. R. Stemmer - DAS / CTC / UFSC

O Neurnio Artificial
Uma primeira aproximao: o modelo de McCullog e Pitts (MCP)

Entradas xi e sada y binrias (0 ou 1). A sada y ser ativada quando:

y 1

Equivale a um degrau, onde o offset:


M. R. Stemmer - DAS / CTC / UFSC
xii

O Neurnio Artificial
Um modelo um pouco melhor: sinais contnuos e funo de ativao pode ser qualquer funo limitada (no precisa ser degrau) Neurnio Artificial pretende imitar caractersticas de primeira ordem do neurnio biolgico:

net j =

i j pred ( i )

xw

ij

F = Funo de Ativao (ideal: no linear, derivvel e limitada) Sinapse pode ser excitadora (w > 0 ) ou inibidora (w < 0) Se o peso zero, no h conexo
M. R. Stemmer - DAS / CTC / UFSC

O Neurnio Artificial
Exemplo de Funo de Ativao (sigmide logstica): F(net) = 1/(1+e-net) Sigmide muito usada pois derivvel e montona.

Degrau

Sigmide

Tangente hiperblica

Funo da base radial (RBF)


M. R. Stemmer - DAS / CTC / UFSC

Redes Neurais Multicamadas


Um nico neurnio pode realizar funes de deteco de padres muito simples. O poder de computao neural vem da conexo dos neurnios dentro de uma rede. Topologias de rede:
redes Recorrentes (Feedback): no h direo privilegiada para propagao da informao; redes Diretas (Feedforward): sinal vai sempre das entradas para as sadas.

M. R. Stemmer - DAS / CTC / UFSC

Redes Neurais Multicamadas


A rede mais simples formada por um grupo de neurnios arranjados em uma camada (ex.: perceptron e ADALINE).
Fan-out w11 x1 FO1 w1m w21 x2 w22 FO2 w2m wn1 wn2 xn FOn Nm wnm ym N2 y2 N1 w12 y1

M. R. Stemmer - DAS / CTC / UFSC

Redes Neurais Multicamadas


Redes multicamadas feedforward podem ser formadas colocando em cascata redes de 1 camada; a sada de uma camada providncia a entrada para a camada subseqente.

M. R. Stemmer - DAS / CTC / UFSC

Classificao de RNAs
Redes Neurais Artificiais

Feed-forward

Recorrentes

Linear
Adaline Madaline

No linear
MLP RBF

Supervised
Bolzmann machine - fb Simulated annealing

Unsupervised (self-organizing)

supervised
Backprop quickprop rprop reinforcement

Unsupervised (self-organizing)
Hebb Oja Sanger competitive

hbrido
counterprop

Hebbian
Hopfield Model Associative Bi-directional Memory (BAM) - fb

competitive
Adaptive Resonance Theory (ART) - lat.+delay Kohonen self organizing feature maps (SOM) - lat.

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Treinar rede neural: ajustar pesos das vrias camadas de forma que a sada coincida com valor desejado para uma dada entrada. O treinamento pode ser:
supervisionado (com um professor); no supervisionado (auto-organizado).

M. R. Stemmer - DAS / CTC / UFSC

Treinamento Supervisionado
O treinamento supervisionado exige um vetor de entrada com um vetor alvo representando a sada desejada. Juntos, so chamados par de treinamento.

I I I I

D D D D
1

4 3

Rede Neural

Supervisor

Conjunto de Exemplos

M. R. Stemmer - DAS / CTC / UFSC

Treinamento No Supervisionado
No treinamento no supervisionado, o conjunto de treinamento consiste somente de vetores de entrada. O algoritmo de treinamento modifica os pesos da rede para produzir um vetor de sada consistente com a entrada. A aplicao de um vetor de treinamento ou um vetor que suficientemente similar a ele na entrada ir produzir o mesmo padro de sada (Autoassociao). Isto permite reconstituir entradas deturpadas (til em processamento de sinais, filtragem, etc.). I I I I
1

4 3

Rede Neural

Auto-ajuste

Conjunto de Exemplos
M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Seja um neurnio dado por:
Sada = -1 se resultado <= 0 Sada = +1 se resultado > 0 Processamento (ex. Soma) Ponderao (entrada x peso) Entrada (-1 ou +1) ...

e estabelecendo como conveno:


Valor +1 = ativo Valor -1 = inativo
M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Para a situao abaixo:
Nadar Bom Humor Guarda-Chuva Sada Soma 1 0 0 0 1 0 0 0 1 Pesos Entrada

Sada Soma 1 1 1 Pesos Entrada

Bom Tempo

Tempo Instvel

Chuva

deseja-se ajustar os pesos de forma que: entrada "bom tempo" ativa => sadas "nadar" e "bom humor" ativas entrada "Tempo instvel" ativa => sadas "bom humor" e "guardachuva" ativas entrada "chuva" ativa => sada "guarda-chuva" ativa
M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Possvel soluo: ajustar pesos manualmente at que a sada coincida com a desejada para os valores dados de entrada. Soluo melhor: definir uma regra de ajuste dos pesos (regra de aprendizado). Em que basear esta regra?

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Hiptese de Hebb: "A ligao entre dois neurnios reforada se ambos so simultaneamente ativados por um dado estmulo de entrada".

Formulao de uma Regra simples baseada em Hebb: "Incrementar em 1 o peso de ligao entre neurnio i e neurnio j quando o neurnio i estiver ativado e o estado desejado do neurnio j seja ativo"
M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Formulao matemtica da regra de Hebb (regra do produto da atividade): ij(t) = .yj(t).xi(t) Recai no caso anterior se taxa de aprendizado = 1 e x e y so binrias (0 ou 1) Se x e y variam de -1 a +1 (como no nosso exemplo), podemos tambm decrementar pesos! Regra de Hebb no limita valores dos pesos! Variante que limita pesos: regra de Oja ij(t) = .yj(t).(xi(t) - yj(t). ij(t))

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Algoritmo de Treinamento da Rede: 1. definir a sada desejada para cada conjunto de entradas; 2. definir valores iniciais aleatrios para cada peso; 3. colocar um conjunto de valores na entrada e calcular a sada; 4. corrigir os pesos seguindo a regra de Hebb at obter a sada desejada para aquela entrada; 5. voltar ao passo 3 (valor seguinte de entrada).

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Condio inicial: entrada [1,-1,-1]; sada desejada [1,1,-1]
Nadar Nadar 1 1 1 0 0 1 -1 -1 Bom Humor Bom Humor -1 -1 0 1 0 1 -1 -1 Guarda-Chuva Guarda-Chuva -1 -1 0 0 1 1 -1 -1 Sada Soma Pesos Entrada desejado obtido

1 1 1 1 Bom Tempo

-1 -1 1 -1 Tempo Instvel

-1 -1 1 -1 Chuva

Sada Soma Pesos Entrada

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Primeiro ajuste de pesos:
Nadar Nadar 1 2 2 0 0 1 -1 -1 Bom Humor Bom Humor -1 0 1 1 0 1 -1 -1 Guarda-Chuva Guarda-Chuva -1 -1 0 0 1 1 -1 -1 Sada Soma Pesos Entrada desejado obtido

1 1 1 1 Bom Tempo

-1 -1 1 -1 Tempo Instvel

-1 -1 1 -1 Chuva

Sada Soma Pesos Entrada

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Segundo ajuste de pesos: resultado alcanado !

Nadar 1 3 3 1 0 0 -1 -1

Bom Humor 1 1 2 1 1 0 -1 -1

Guarda-Chuva -1 -1 0 0 1 1 -1 -1 Sada Soma Pesos Entrada

1 1 1 1 Bom Tempo

-1 -1 1 -1 Tempo Instvel

-1 -1 1 -1 Chuva

Sada Soma Pesos Entrada

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
A rede aparenta ter "aprendido" corretamente ! Problemas se fornecida uma entrada para a qual a rede no foi treinada. Exemplo: todas as 3 entradas em 1 (ilgico para o caso) resulta em todas as sadas em 1 (o que tambm ilgico!). Podemos incluir mais um par de treinamento: para a entrada [1,1,1] desejamos sada [-1,-1,-1]. Com a regra de treinamento em uso, este novo par nunca ser aprendido ! Isto se deve a simplicidade extrema da regra de aprendizado utilizada.

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Podemos melhorar nossa regra de aprendizado, introduzindo a noo de erro (Regra Delta de Widrow e Hoff, em essncia a mesma usada por Rosenblatt no Perceptron):
Erro = (Estado desejado da sada - Estado obtido com pesos atuais) Novo peso = peso velho + (Fator de Aprendizado x Erro x Entrada)

j = ydj - yj ij(k+1) = ij(k)+.j.xi


M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Partindo dos pesos obtidos anteriormente e treinando para o novo par com a regra melhorada e com FA= 0,5:
Nadar Nadar 1 3 0 1 Bom Humor Bom Humor 1 3 1 1 Guarda-Chuva Guarda-Chuva 1 1 0 1 Sada Soma Pesos Entrada
Para todos os neurnios temos: desejado obtido

3 1

0 1

2 1

0 1

0 1

1 1

1 1 1 1 Bom Tempo

1 1 1 1 Tempo Instvel

1 1 1 1 Chuva

Sada Soma Pesos Entrada

E =(-1-1) = -2 Wi+1= Wi+(-2x0,5x1)

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Aps o primeiro ajuste de pesos temos E=0 para todas as sadas (pesos no mudam mais daqui para frente = fim treinamento). Aprendemos novo par ! Ter a rede esquecido o que aprendeu no par anterior ?
Nadar -1 0 -1 -1 1 1 Bom Humor -1 0 0 -1 1 1 Guarda-Chuva -1 -2 -1 -1 0 1 1 1 Sada Soma Pesos Entrada

2 1

1 1

1 1 1 1 Bom Tempo

1 1 1 1 Tempo Instvel

1 1 1 1 Chuva

Sada Soma Pesos Entrada

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Resultado para entrada = "bom tempo":
Nadar 1 4 2 1 -1 -1 -1 -1 1 1 Bom Humor 1 2 0 -1 -1 -1 1 Guarda-Chuva -1 0 -1 -1 0 -1 -1 Sada Soma Pesos Entrada

1 1 1 1 Bom Tempo

-1 -1 1 -1 Tempo Instvel

-1 -1 1 -1 Chuva

Sada Soma Pesos Entrada

M. R. Stemmer - DAS / CTC / UFSC

O Treinamento da RNA
Exemplos anteriores baseados no modelo chamado Perceptron!

M. R. Stemmer - DAS / CTC / UFSC

Treinamento e Topologia
A rede usada no exemplo anterior tem uma camada de entrada e uma de sada (como perceptron de Rosenblatt ou ADALINE de Widrow). Sabemos qual o valor de sada desejado, de modo que podemos calcular facilmente o erro para a ltima camada. Este tipo de rede s pode tratar problemas linearmente separveis. Quanto maior o nmero de entradas, maior a famlia de funes no linearmente separveis. Vamos examinar alguns exemplos...

M. R. Stemmer - DAS / CTC / UFSC

AND com perceptron


Seja perceptron dado por:

Determinar w1, w2 e teta que aprendam funo lgica AND:


x2 (0,1)

AND
(1,1)

Possvel soluo: w1=w2=1 = 2


x1 (0,0) (1,0)

M. R. Stemmer - DAS / CTC / UFSC

OR com perceptron
Seja o perceptron:

Determinar w1, w2 e teta que aprenda a funo lgica OR


x2 (0,1)

OR
(1,1)

Possvel soluo: w1=w2= = 1


x1 (0,0) (1,0)

M. R. Stemmer - DAS / CTC / UFSC

XOR com perceptron


Determinar w1, w2 e para que o Perceptron aprenda a funo lgica OU-EXCLUSIVO (XOR)

x2 (0,1)

XOR
(1,1)

Precisamos de duas retas!


x1

(0,0)

(1,0)

M. R. Stemmer - DAS / CTC / UFSC

XOR com perceptron


Soluo para o XOR: E (x1.x2) x1 y

x2 Fan-out E (x1.x2)

OU (x1.x2)+(x1.x2)

M. R. Stemmer - DAS / CTC / UFSC

XOR com perceptron

Pesos e thresholds para gerar 2 retas separando casos no XOR

M. R. Stemmer - DAS / CTC / UFSC

XOR com perceptron


Outra soluo para o XOR (para entradas +1 e -1):

(Setas indicam pesos e crculos os valores de threshold)


M. R. Stemmer - DAS / CTC / UFSC

XOR com perceptron


Para que uma RNA aprenda o XOR: Precisamos pelo menos uma camada intermediria; Precisamos de uma funo de ativao no linear, que pode at ser o degrau, como no exemplo anterior. Problema: como calcular o erro nas camadas intermedirias?

M. R. Stemmer - DAS / CTC / UFSC

Treinamento e Topologia
Redes com mltiplas camadas (MLP = Multi-Layer Perceptron) podem tratar com dados no linearmente separveis. Para uma rede com 2 camadas intermedirias, pode-se dizer que:
Cada nodo da primeira camada intermediria traa retas (ou hiperplanos) no espao de padres de treinamento; Cada nodo da segunda camada intermediria combina as retas (hiperplanos) dos nodos da primeira camada formando regies convexas; Cada nodo da camada de sada combina as regies da camada anterior, formando regies abstratas, separando padres de entrada em classes.
M. R. Stemmer - DAS / CTC / UFSC

Treinamento e Topologia
Cybenko (1988, 1989) e outros mostraram que: Uma camada intermediria suficiente para aproximar qualquer funo contnua; Duas camadas intermedirias so suficientes para aproximar qualquer funo matemtica. O uso de muitas camadas intermediarias no recomendvel, pois elas trabalham com uma estimativa do erro, que se torna pior a cada retropropagao (s se sabe o valor exato do erro na ltima camada).

M. R. Stemmer - DAS / CTC / UFSC

Treinamento e Topologia
O nmero de neurnios da camada de entrada e de sada em geral dado pela aplicao. Para as camadas intermedirias: Geralmente o nmero de neurnios determinado de forma emprica; O nmero de conexes deve ser bem menor do que o nmero de exemplos para evitar overfitting (memorizao dos padres de treinamento sem extrao de caractersticas gerais que permitem generalizao); O nmero de neurnios depende: do nmero de exemplos, da quantidade de rudo, da complexidade da funo a ser aprendida e da distribuio estatstica dos dados de treinamento.

M. R. Stemmer - DAS / CTC / UFSC

Treinamento e Funo de Ativao


Usamos no exemplo anterior uma funo de ativao em degrau (threshold), que no linear. Com ela, a avaliao do erro para camadas intermedirias seria complexa, pois os nodos no sabem se suas respostas esto prximas ou no do valor desejado. Se usarmos funes de ativao lineares, o clculo do erro nas camadas escondidas fcil, mas pode ser demonstrado que uma rede MLP com qualquer nmero de camadas equivale a uma rede de uma nica camada: y = (x.Wa).Wb Se existe Wc = Wa.Wb Ento y = x.Wc A funo de ativao para redes MLP deve ser no linear, contnua e derivvel (para clculo do gradiente, como veremos a seguir). desejvel que a funo tambm seja limitada.
M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Se a rede tiver uma ou mais camadas escondidas (intermedirias), como calcular o erro para estas camadas? Algoritmo de treinamento mais usado: "Error Backpropagation" (retropropagao do erro):

Modelo U Rede Neural

Yd + Yrn E

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Criado em 1974 por Paul Werbos (sem grande difuso) Em 1982, David Parker cria independentemente mtodo similar (tambm sem grande difuso) Idia retomada em 1985 por Rummelhart, Hinton e Williams Generalizao da Regra Delta (Widrow e Hoff) Algoritmo de gradiente descendente para otimizao no linear Duas fases principais:
Forward: so apresentados vetores de entrada e calculadas as sadas; Backward: o erro entre a sada obtida na fase anterior e a sada desejada retropropagado para corrigir os pesos.

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Aprendizado por lote (batch) ou poca (epoch): algoritmo procura minimizar uma funo de erro global:

Onde: E o erro mdio quadrtico p o nmero de padres apresentados rede n o nmero de neurnios de sada di a i-sima sada desejada yi a i-sima sada gerada pela rede

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Aprendizado por padro (pattern): a minimizao da funo de erro para cada padro individual levar minimizao de E. Assim, o erro por padro Ep pode ser definido por:

Esta funo define uma superfcie de erro em funo dos pesos da rede.
M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation

Erro mdio quadrtico em funo dos pesos (supondo somente 2 pesos)


M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Objetivo do algoritmo: obter valores dos pesos que apresentam menor valor de E ou Ep (mnimo global) Variao do peso deve ser feita proporcionalmente ao negativo do gradiente do erro em relao aos pesos da rede:

Onde: W ji o peso da sada j para a entrada i (A proporcionalidade pode ser substituda por igualdade introduzindo o termo , que a taxa de aprendizado)
M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
necessrio definir como cada peso de cada nodo deve ser ajustado de forma a minimizar o erro gerado pela rede. Utilizando a regra da cadeia sobre a equao anterior, temos:

Onde:

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
A segunda derivada dada por:

A primeira derivada mede o erro do nodo j, sendo geralmente chamada de j:

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Esta derivada tambm pode ser calculada pela regra da cadeia:

A segunda derivada nesta ltima equao dada por:

Por esta razo, importante que a funo de ativao seja derivvel!

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
A primeira derivada depende da camada onde o nodo se encontra. Se for um nodo da ltima camada (sada), o erro pode ser facilmente definido como:

Esta a mesma frmula da regra delta original, como seria de se esperar!

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Substituindo este dois termos na equao original, temos:

Esta equao fornece o erro para cada nodo da ltima camada.

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Se o nodo j no for um nodo de sada, usamos a regra da cadeia novamente para escrever:

Onde:

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Substituindo novamente na equao original, obtemos para as camadas intermedirias:

Esta equao fornece o erro da cada nodo das camadas intermedirias.

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Podemos generalizar a frmula de ajuste de pesos como:

Esta frmula tambm pode ser escrita de forma recursiva como:

Onde

Para nodos da camada de sada Para nodos de camadas intermedirias

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Se a FA a sigmide:

A derivada fica simples:

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
O algoritmo procura ajustar os pesos de modo que eles correspondam s coordenadas dos pontos mais baixos da superfcie de erro.

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
xp1 xp 2 1. aplique o vetor das entradas xp = s unidades de entrada ... xpN 2. calcule os valores net para as unidades da camada escondida
h net = wh ji .xpi + j h pj i =1 N

3. calcule as sadas da camada escondida i pj = f jh(net h pj ) 4. calcule os valores net para as unidades da camada de sada
net
o pk o = wkj .i pj + ko j =1 L

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation

5. calcule as sadas da camada de sada o pk = f ko ( net o pk ) 6. calcule o erro para as unidades da camada de sada
o pk = ( y pk o pk ) f ko( net o pk )

7. calcule o erro para as unidades da camada escondida


k

h o o pj = f jh( net h pj ). pk .wkj

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
8. atualize os pesos da camada de sada o o o wkj (t + 1) = wkj (t ) + . pk .i pj 9. atualize os pesos da camada escondida h h wh ji (t + 1) = w ji (t ) + . pj .xi 10. calcule o erro total para checar a condio de parada do algoritmo 1 M 2 E p = pk 2 k =1 Se Ep for menor do que um dado valor, o algoritmo repetido para o prximo vetor de entrada. Seno, retorna-se ao passo 2 (mantendo-se o mesmo vetor de entrada).

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
i
xp1

j
i pj = f jh(net h pj )
fj

k
fk

o pk = f ko (net o pk )

xp2

wji

wkj

h h net h pj = w ji .xpi + j i =1

o net o i pj + ko pk = wkj . j =1

xpn
h h wh ji (t + 1) = w ji (t ) + . pj .xi o o o wkj (t + 1) = wkj (t ) + . pk .i pj

input

hidden = f (net ).
h pj h j h pj k

output
o pk

.w

o kj

o pk = ( y pk o pk ) f ko( net o pk )

Ep =

1 M 2 pk 2 k =1

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Influncia da taxa de aprendizado :
Seja E(w) = w2 Achar mnima (obviamente em w=0) partindo de w = 1 w(k+1) = w(k) .2.w(k)

M. R. Stemmer - DAS / CTC / UFSC

Error Backpropagation
Problemas com Backpropagation:
Baixa velocidade de convergncia quando prximo a um mnimo da funo de erro Pode convergir para um mnimo local da funo de erro

M. R. Stemmer - DAS / CTC / UFSC

Outros Algoritmos de Treinamento


Backpropagation com Momentum: introduz termo na equao, para acelerar convergncia e tentar fugir de mnimos locais.

RProp (Resilient Propagation): baseado somente no sinal do gradiente da funo de erro para atualizao dos pesos. Convergncia mais rpida. Algoritmos Genticos: podem ser usados para treinar RNA (genes so os pesos, representados como nmeros reais). Tende a encontrar mnimo global, mas lento.
M. R. Stemmer - DAS / CTC / UFSC

Outros Algoritmos de Treinamento


ABPropagation (Adaptive Backpropagation): taxa de aprendizado no fixa, mas funo do erro e do gradiente do erro. Sempre trabalha em modo batch. Produz acelerao na convergncia. Quickpropagation (Fahlman, 1988): aproxima curva de erro para cada peso por uma parbola com concavidade voltada para cima. Equao de modificao dos pesos dada por:

M. R. Stemmer - DAS / CTC / UFSC

Outros Algoritmos de Treinamento


Levenberg-Marquardt Backpropagation: Algoritmo original proposto por Kenneth Levenberg em 1944 (no foi criado para RNA!) Aperfeioado por Donald Marquardt em 1963 Mtodo numrico para minimizar funes no lineares Interpola entre mtodo de Gauss-Newton e gradiente descendente Introduzido como mtodo de treinamento de RNA em 1994 no artigo [M. T .Hagan and M. B. Menhaj, Training feed forward networks with the Marquardt algorithm, IEEE Transactions on Neural Networks, vol. 5, no. 6,pp.989-993, 1994]. Disponvel no Toolbox de RNA do MATLAB
M. R. Stemmer - DAS / CTC / UFSC

Redes Auto-organizativas
So mais semelhantes as redes neurobiolgicas do que RNAs supervisionadas. RNAs self-organizing possuem amplo leque de aplicaes potenciais, principalmente em problemas de reconhecimento de padres e categorizao de dados em que as classes no so conhecidas a priori. padres que compartilham caractersticas comuns devem ser agrupados, com cada grupo de padres representando uma classe nica. algoritmo self-organizing precisa encontrar caractersticas ou padres significativos nos dados de entrada, sem o auxlio de um professor ou crtico externo.
M. R. Stemmer - DAS / CTC / UFSC

Redes Auto-organizativas
A redundncia dos padres de entrada fornece o conhecimento incorporado rede. Parte deste conhecimento pode ser obtida por meio da observao de parmetros estatsticos (mdia, varincia e matriz de correlao do vetor de entrada). Ao incorporar este tipo de conhecimento, a rede aprende a distinguir padres nos dados de entrada. Este conhecimento necessrio para o aprendizado nosupervisionado.

M. R. Stemmer - DAS / CTC / UFSC

Redes Auto-organizativas
Algoritmos de treinamento utilizados: aprendizado competitivo: aprendizado hebbiano. Aprendizado competitivo utilizado em problemas de classificao, de extrao de caractersticas, compresso de dados e formao de clusters (agrupamentos). Exemplos: ART e SOM. Aprendizado hebbiano utilizado em extrao de caractersticas, anlise de dados e memria associativa. Exemplos: modelos de Hopfield, Linsker e redes PCA (Principal Component Analysis).

M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


Introduzidos por Teuvo Kohonen em 1982 Baseada no crtex cerebral, que uma folha com 1 m2 de rea e 2 a 4 mm de espessura, dobrada de modo a caber na caixa craniana. Crtex tem reas especializadas para fala, audio, viso, controle motor, etc. A estrutura bsica do corpo refletida na organizao do crtex nesta regio. Neurnios prximos reagem de maneira similar a estmulos semelhantes. Exemplo: MAPA TONOTPICO DA AUDIO Neurnios vizinhos respondem de maneira similar a sons de mesma freqncia, em uma seqncia ordenada das freqncias mais altas para as mais baixas.
M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


Na rede SOM, quando um padro de entrada p apresentado , a rede procura a unidade mais parecida com p. Durante o treinamento, a rede aumenta a semelhana do nodo escolhido e de seus vizinhos ao padro p. Desta forma, a rede constri um mapa topolgico onde nodos que esto topologicamente prximos respondem de forma semelhante a padres de entrada semelhantes. Vetores de entrada multi-dimensionais so projetados em uma superfcie bidimensional. Isto permite que se visualize relaes importantes entre os dados que de outra forma poderiam passar despercebidas.
M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


A Rede de Kohonen uma estrutura de duas camadas de neurnios: Camada de Entrada: seus neurnios esto completamente interconectados aos neurnios da segunda camada. Camada Competitiva: organizada como uma grade bidimensional, com cada neurnio conectado a todos os neurnios em sua vizinhana. Cada neurnio est associado a um vetor de pesos W de mesma dimenso dos vetores de entrada X

M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


Topologia:

M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


A rede SOM utiliza um algoritmo de aprendizado competitivo, em que os nodos da camada de sada competem entre si para se tornarem ativos, ou seja, para ver quem gera o maior valor de sada. Para cada padro de entrada, apenas um nodo de sada ou nodo por grupo se torna ativo. Esta competio chamada de winner-takes-all, o vencedor leva tudo. Durante o processo de treinamento, todos os neurnios que recebem sinais excitatrios do neurnio vencedor tambm tem seus pesos modificados, participando assim do processo de aprendizado. Estes sinais excitatrios so propagados atravs das conexes laterais.

M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


A curva caracterstica das interaes laterais entre neurnios encontrados no crtex, ou funo de vizinhana (neighborhood function), chamada de CHAPU MEXICANO. O neurnio vencedor (no centro), excita lateralmente uma pequena vizinhana com realimentaes positivas. A medida que a distncia lateral do neurnio central aumenta, a excitao decresce at que vira uma inibio.

M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


Na rede SOM so usadas simplificaes da funo de vizinhana Uma simplificao usual um funo retangular A distncia a define uma vizinhana de neurnios em torno de um neurnio central, que vo participar do aprendizado junto com ele.

M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


Alternativa melhor usar uma funo de vizinhana gaussiana, que mais parecida com a funo chapu mexicano A amplitude da vizinhana h decresce monotonamente com a distncia lateral d O termo a largura efetiva da vizinhana topolgica

M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


A regra de ajuste dos pesos dada por: Wi(t+1)=Wi(t) + (t).hij(x)(t)(X-Wi(t)) Onde (t) a taxa de aprendizado (idealmente decaindo gradualmente com o tempo) e hij(x) a funo de vizinhana centrada no neurnio vencedor A frmula aplicada a todos os neurnios na grade que esto na vizinhana imediata do neurnio vencedor i. O efeito mover o vetor de pesos sinpticos wi em direo ao vetor de entradas x. Aps apresentao de todos os vetores de entrada, os vetores de peso tendem a seguir a mesma distribuio espacial. O algoritmo leva a uma ordenao topolgica do mapa de caractersticas no espao de entradas, no sentido em que os pesos de neurnios adjacentes na grade tero pesos semelhantes.
M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


Sumrio do algoritmo: 1. Inicializa-se os pesos aleatoriamente. 2. Aplica-se um vetor de entrada X 3. Determina-se o neurnio vencedor (best matching unit): o neurnio vencedor aquele cujo vetor de pesos W o mais prximo do vetor de entrada X ||X-Wc|| = arg min{||X-Wi||} onde o ndice c se refere ao neurnio vencedor. 4. Atualiza-se os pesos do neurnio vencedor e dos neurnios que esto na vizinhana do neurnio vencedor Wi(t+1)=Wi(t) + (t).hij(x)(t)(X-Wi(t)) 5. Repete passos 2 e 3 at que no hajam mudanas perceptveis no mapa.
M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


A vizinhana comea com um valor grande para que um grande nmero de neurnios participem do processo de aprendizado. A medida que o treinamento vai prosseguindo, o tamanho da vizinhana vai diminuindo at englobar apenas o prprio neurnio vencedor. A medida de semelhana entre X e W utilizada pode ser a distncia Euclidiana

M. R. Stemmer - DAS / CTC / UFSC

SOM (Self Organizing Maps)


A medida que os vetores de entrada so apresentados rede, os pesos dos neurnios cujos valores so mais prximos do vetor de entrada so modificados de maneira a diminuir ainda mais a diferena. Aps diversas pocas de treinamento, cada regio da rede especializa-se em uma classe de vetores de entrada. Rede vai construindo um mapa que preserva a topologia dos vetores de entrada. No exemplo abaixo, rede tem duas entradas e uma grade de 8x8 sadas

M. R. Stemmer - DAS / CTC / UFSC

SOM e LVQ
Uma vez que a rede SOM tenha sido treinada e rotulada, pode ser interessante fazer um ajuste fino do mapa de modo a melhorar o desempenho da rede para certos clusters. Isto pode ser feito aplicando o algoritmo de aprendizado supervisionado LVQ (Learning Vector Quantization) aps o mapeamento feito pela rede SOM. LVQ utiliza informaes sobre as classes para mover levemente os vetores de peso, de modo a melhorar a qualidade das regies de deciso do classificador.

M. R. Stemmer - DAS / CTC / UFSC

SOM e LVQ
Algoritmo LVQ bsico: 1. Inicializar pesos e parmetros 2. Repetir 2.1 Para cada padro de treinamento x faa 2.1.1 Definir nodo vencedor 2.1.2 Atualizar os pesos do nodo vencedor e seus vizinhos: Se x e w pertencem a mesma classe, aproximar w de x; seno, afastar w de x 2.1.3 Reduzir taxa de aprendizado 3. At o erro ser menor que um dado valor

M. R. Stemmer - DAS / CTC / UFSC

Memrias Associativas
Memria associativa parece ser uma das funes primrias do crebro. Facilmente associamos a face de um amigo com seu nome, ou um nome a um nmero de telefone. Tambm serve para reconstituir padres corrompidos ou incompletos: se algum que normalmente no usa culos aparece de culos, ainda assim reconhecemos a face.

M. R. Stemmer - DAS / CTC / UFSC

Memrias Associativas
Associadores Lineares: Suponha que tenhamos L pares de vetores, {(X1,Y1),(X2,Y2),...,(XL,YL)}, com Xin, e Yim. Chamamos a estes vetores exemplares. O que desejamos com os Associadores Lineares fazer um mapeamento de X para Y.

M. R. Stemmer - DAS / CTC / UFSC

Memrias Associativas
Tipos de Memrias Associativas:
Memrias Heteroassociativas: Implementam um mapeamento de X para Y tal que (Xi) = Yi. Se X for o mais prximo (menor distncia de Hamming) de Xi do que qualquer Xj, j=1,2,...,L, ento (X) = Yi. Memrias Associativas Interpolativas: Tambm implementam um mapeamento de X para Y tal que (Xi) = Yi, mas se o vetor de entrada X diferir de um exemplar Xi por um vetor D, de forma que X=Xi+D, ento a sada da memria tambm difere dos exemplares de sada por um vetor E, ou seja: (X) = (Xi+D) = Yi +E. Memrias Autoassociativas: Assume que Xi = Yi e implementa um mapeamento de X para X tal que (Xi) = Xi. Se X for o mais prximo (menor distncia de Hamming) de Xi do que qualquer Xj, j=1,2,...,L, ento (X) = Xi.
M. R. Stemmer - DAS / CTC / UFSC

Memrias Associativas
Implementaes mais conhecidas de Memrias Associativas em RNA: BAM (Bidirectional Associative Memory) Memria de Hopfield Restrio para construir uma memria associativa: vetores exemplares devam ser ortonormais entre si (vetores dos vrtices de um Cubo de Hamming).

M. R. Stemmer - DAS / CTC / UFSC

Memrias Associativas
Distncia de Hamming h
Relao com distncia euclidiana d: d = 2h h = d2/4

Cubo de Hamming em espao 3D possui 8 pontos com valores +1 ou -1

M. R. Stemmer - DAS / CTC / UFSC

Memrias Associativas
Sistemas fsicos com memria: possuem um nmero finito de estados de mnima energia. quando inicializados em um estado que no seja de mnima energia tm um comportamento que tende a reconduzi-lo ao mnimo mais prximo.

M. R. Stemmer - DAS / CTC / UFSC

BAM
BAM (Bidirectional Associative Memory) usa neurnios de McCullog e Pitts (entradas +1 ou -1) Consiste de duas camadas de neurnios que esto completamente conectados entre as camadas. Cada neurnio est conectados a si mesmo. O peso das conexes determinado a-priori, baseado nos vetores de treinamento.

M. R. Stemmer - DAS / CTC / UFSC

BAM
Ajuste de pesos da BAM (treinamento): Dados L pares de vetores que constituem o conjunto de exemplares que desejamos armazenar: W= Y1.X1T + Y2.X2T + Y3.X3T + ... + YL.XLT fornece os pesos das conexes da camada X para a camada Y. WT fornece os pesos das conexes da camada Y para a camada X.

M. R. Stemmer - DAS / CTC / UFSC

BAM
Algoritmo para Recuperao da Informao: 1. Aplicar um par de vetores iniciais (X0,Y0). 2. Propagar a informao de X para Y (multiplicar X0 pela matriz W) e atualizar Y. 3. Propagar a informao atualizada de Y para X (multiplicar Y pela matriz WT) e atualizar X. 4. Repetir os passos 2 e 3 at no haver mudana nos valores dos neurnios. Dado (X0, Y0), o resultado ser (Xi,Yi) com a menor distncia de Hamming de (X0,Y0).

M. R. Stemmer - DAS / CTC / UFSC

BAM
este algoritmo que d a BAM sua natureza bidirecional. Os termos entrada e sada dependem da direo atual de propagao. Aps algumas iteraes a rede ir estabilizar em um estado estvel. No bom sobrecarregar demais a memria com muita informao, ou ela ir estabilizar em um estado esprio (crosstalk). O Crosstalk ocorre quando os padres exemplares esto muito prximos uns dos outros.
M. R. Stemmer - DAS / CTC / UFSC

BAM
Matemtica bsica da BAM clculo do net para um neurnio da camada Y: clculo do net para a camada Y: clculo do net para um neurnio da camada X: clculo do net para a camada X:

M. R. Stemmer - DAS / CTC / UFSC

BAM
O novo valor de y em t+1 est relacionado ao valor de y em t por:

O novo valor de x em t+1 est relacionado com o valor de x em t por:

M. R. Stemmer - DAS / CTC / UFSC

BAM
Exemplo:
Vamos treinar a rede BAM para os vetores:

x1= (1,-1,-1,1,-1,1,1,-1,-1,1)t y1 = (1,-1,-1,-1,-1,1)t x2 = (1,1,1,-1,-1,-1,1,1,-1,-1)t y2 = (1,1,1,1,-1,-1)t A matriz de pesos fica:

M. R. Stemmer - DAS / CTC / UFSC

BAM
Vamos tentar recuperar algum padro j visto a partir de um par nunca visto (xo,y0): x0 = (-1,-1,-1,1,-1,1,1,-1,-1,1)t h(x0,x1) = 1 e h(x0,x2) = 7 (logo mais parecido com x1) y0 = (1,1,1,1,-1,-1)t (que igual a y2) Vamos primeiro propagar de x para y: nety = (4,-12,-12,-12,-4,12)t ynovo = (1,-1,-1,-1,-1,1)t (que igual a y1) Propagando de volta de y para x temos: netX = (4,-8,-8,8,-4,8,4,-8,-4,8)t xnovo = (1,-1,-1,1,-1,1,1,-1,-1,1)t (que igual a x1) Novos passos no geram mudanas, logo terminamos! A rede recuperou o conjunto de vetores (x1,y1), que o mais parecido com o que foi apresentado, isto , tem a menor distncia de Hamming!
M. R. Stemmer - DAS / CTC / UFSC

Outros modelos de RNA


Outros modelos teis de RNA: Memrias associativas: Memria de Hopfield Redes Counterpropagation (CPN) Redes ART (Adaptive Resonance Theory): ART I (binria), ART II (contnua) e ART III, ARTMAP, Fuzzy-ART e Fuzzy-ARTMAP. Redes recorrentes: Elman, Jordan, etc. Redes RBF (Radial Basis Function) Etc.

M. R. Stemmer - DAS / CTC / UFSC

Modelos de RNA
Modelo Neural Perceptrons Principais Aplicaes Reconhecimento de caracteres. Pontos Fortes Rede neural mais antiga. Pontos Fracos No reconhece padres complexos; sensvel a mudanas. Treinamento supervisionado requer exemplos abundantes Grande nmero de neurnios e conexes (topologia complexa) Sem aprendizado, os pesos devem ser setados.

MLP com Backpropagation

Larga aplicao

simples e eficiente

Counterpropagation

Reconhecimento de padres, anlise estatstica. Recuperao de dados e fragmentos de imagens.

Rapidez de treinamento

Hopfield

Implementao em larga escala.

Bidirectional Associative Memories (BAM)

Reconhecimento de padres.

Estvel

Precisa muitos PE's para armazenar poucos padres (pouco eficiente)

M. R. Stemmer - DAS / CTC / UFSC

RNA e processamento temporal


Tempo um fator importante em vrias tarefas de reconhecimento de padres (rec. fala, deteco de movimentos, verificao de assinaturas, rec. escrita manual, viso, processamento de sinais, controle, etc.). Backpropagation (e outros) no permite aprender mapeamentos dinmicos. Artifcio muito usado: trabalhar com janelas de tempo, onde a entrada da rede utiliza trechos dos dados temporais como se eles formassem um padro esttico. Para que uma rede seja dinmica, deve possuir memria.
M. R. Stemmer - DAS / CTC / UFSC

RNA e processamento temporal


Para prover memria, existem duas maneiras:
1. Introduzir atraso no tempo: Time Delay Neural Network (TDNN) Finite duration Impulse Response (FIR) MLP 2. Utilizar redes recorrentes: Back-Propagation Through Time (BPTT) Real time recurrente learning Redes parcialmente recorrentes de Elman e de Jordan.
M. R. Stemmer - DAS / CTC / UFSC

RNA e processamento temporal

Elman
M. R. Stemmer - DAS / CTC / UFSC

Jordan

Hibridizao
RNA e Lgica Fuzzy: Simular lgica fuzzy com RNA RNA adapta parmetros de um sistema fuzzy (RNA substitui sistema de inferncia) RNA e Algoritmos Genticos: AG usada para treinar RNA (pode ser combinado com BP) AG usada para otimizar parmetros da RNA (nmero de camadas, funo de ativao, taxa de aprendizado, nmero de neurnios, etc.)

M. R. Stemmer - DAS / CTC / UFSC

Aplicaes I

Identificao e Controle de Processos


M. R. Stemmer - DAS / CTC / UFSC

Redes Neurais em Controle


Primeiras aplicaes: dcada de 60. Vantagens quando o processo:
difcil de modelar; tem no linearidades; sofre alterao de parmetros com o tempo.

Algumas possveis aplicaes de interesse so:


Identificao Controle Adaptativo Robusto Multivarivel Robtica (Posio, Trajetria, Fora, Flexibilidades, etc.)

M. R. Stemmer - DAS / CTC / UFSC

Quando Usar RNA?


Fatores que determinam o papel de uma RNA em uma malha de controle:
A informao disponvel do sistema suficiente para sntese de controladores mais simples, ou necessria a identificao ou modelagem da planta? necessrio o levantamento total do modelo do sistema, ou somente alguns de seus parmetros? O sistema opera em diferentes pontos de operao? A sua dinmica modifica-se consideravelmente nesses diferentes pontos de operao (no-linearidades)? As no-linearidades existentes no processo inviabilizam o emprego de tcnicas mais simples de controle (controladores convencionais)? A melhora no desempenho do sistema justifica o estudo e emprego de tcnicas mais avanadas de controle?
M. R. Stemmer - DAS / CTC / UFSC

Identificao
Rede aprende a imitar mapeamento de E/S do processo (modelo direto ou inverso). O treinamento concludo quando em(k) (erro de modelo) menor que um valor especificado.

RNI d u(k-1) u(k) G(s)

ym(k) em(k)

y(k)

M. R. Stemmer - DAS / CTC / UFSC

Controle
Controle com RNA segue alguns esquemas bsicos:
Controle supervisionado: rede treinada para imitar aes de um mecanismo (operador humano ou controlador) atuando sobre o processo. Controle Direto Inverso: uma RNA no papel de controlador da planta, treinada para mapear a dinmica inversa da planta, de forma que o produto em cascata com o processo seja prximo a um, em todas as faixas de operao. Controle Inverso Feedforward: uma RNA em paralelo com a planta treinada de forma off-line com a dinmica direta do processo. Uma segunda RNA, na malha direta com a planta, assume o papel de controlador, sendo treinada com dinmica inversa, ao modo do controlador do item anterior.

M. R. Stemmer - DAS / CTC / UFSC

Controle
Controle com RNA (cont.): Controle pelo Modelo Interno: um modelo inverso e um modelo direto so empregados. O modelo direto colocado em paralelo com a planta, e a diferena entre a sada da planta e da rede realimentada. Esse sinal processado por um filtro e introduzido na rede que desempenha a dinmica inversa (rede controladora). Controle Adaptativo: Emprego de uma RNA para sintonia de um controlador adaptativo, ou fornecendo os parmetros estimados utilizados pela lei de controle. Controle Preditivo: A RNA fornece os valores futuros da planta dentro de um horizonte especificado. Esse sinal passado ao controlador, que pode ser uma RNA ou no, que busca minimizar uma determinada funo custo.

M. R. Stemmer - DAS / CTC / UFSC

Controle
RNA pode ainda ser usada em conjunto com outros mtodos de controle:
Sistemas Neuro-Fuzzy Sistemas Neuro-Genticos Sistemas hbridos RNA + convencional Controle timo Estrutura varivel Controle por alocao de plos PID self-tunning

M. R. Stemmer - DAS / CTC / UFSC

Controle Supervisionado
RNA pode reproduzir comportamento de um operador humano Widrow e Smith usaram esquema para pendulo invertido em 1964

M. R. Stemmer - DAS / CTC / UFSC

Controle Supervisionado
Idia bsica: fazer rede aprender uma lei de controle existente. Passo 1 - treinar rede para reproduzir comportamento de um controlador qualquer:
Lei de controle (p.ex. PID) Yd + E Processo Yp

Rede Neural Controladora

M. R. Stemmer - DAS / CTC / UFSC

Controle Supervisionado
Passo 2 - operao normal: RNA dentro da malha fechada
Yd Rede Neural Controladora Yp Processo

Resultados: desempenho igual ao da lei de controle.

M. R. Stemmer - DAS / CTC / UFSC

Controle Supervisionado
Variante onde RNA fica em malha aberta RNA aprende modelo inverso, mesmo se sistema instvel em malha aberta

M. R. Stemmer - DAS / CTC / UFSC

Controle pelo Modelo Interno


Internal Model Control (IMC): Hunt e Sbarbaro, 1991 Passo 1 - treinar rede identificadora com modelo direto da planta Passo 2 - treinar rede controladora com modelo inverso da planta Controlador e Identificador tratados como uma s rede multicamadas, onde pesos da parte identificadora so fixos.

Yd

Rede Neural Controladora

Yp Processo

Rede Neural Identificadora + -

Ym

M. R. Stemmer - DAS / CTC / UFSC

Controle pelo Modelo Interno


Passo 3 - operao normal (IMC): s funciona se sistema estvel em malha aberta
Yd Rede Neural Controladora Processo +

Yp

Rede Neural Identificadora

Ym

M. R. Stemmer - DAS / CTC / UFSC

Controle Direto Inverso


RNA com modelo inverso colocada em srie com processo, de modo a gerar produto em cascata = 1

M. R. Stemmer - DAS / CTC / UFSC

Esquemas Adaptativos - I
O erro de modelo retropropagado atravs de uma RNI, sem alterar seus pesos, mas ajustando os pesos da RNA. Quando em(k) fica menor que um valor especificado, os pesos da RNA so copiados na RNC, atualizando o controlador.
I1 O1 I2 RNA d u(k-1) u(k) RNC d y(k-1) u'(k) RNI ym(k) em(k)

learn

x(k)

G(s)

y(k)

M. R. Stemmer - DAS / CTC / UFSC

Esquemas Adaptativos - II
I1 learn I2 O1 u'(k) RNA

x(k) RNC d y(k-1) e(k)

u(k)

G(s)

y(k)

Os pesos da RNA so copiados para a RNC quando o erro de treinamento fica abaixo de uma valor especificado.
M. R. Stemmer - DAS / CTC / UFSC

Controle Hbrido
RNA opera junto com controlador convencional

M. R. Stemmer - DAS / CTC / UFSC

Aplicaes II

Robtica
M. R. Stemmer - DAS / CTC / UFSC

Comparao Comparao de de Performance Performance entre entre Controladores Controladores Clssicos Clssicos e e um um Controlador Controlador Torque Torque Computado Computado Neural Neural Aplicados Aplicados ao ao Rob Rob PUMA PUMA 560 560
Marcelo R. Stemmer UFSC / EEL / LCMI C.P 476 CEP 88.040.900 Florianpolis - SC marcelo@lcmi.ufsc.br Edson R. de Pieri UFSC / EEL / LCMI C.P 476 CEP 88.040.900 Florianpolis - SC edson@lcmi.ufsc.br Fbio A. Pires Borges UFSC / EEL / LCMI R. Almirante Barroso, 1424 CEP 96.010.280 Pelotas - RS borges@pool.poolps.com.br

M. R. Stemmer - DAS / CTC / UFSC

Introduo
Limitaes dos controladores clssicos usados em robtica: controladores Junta por junta PD e PID, no rastreamento de trajetria, possuem erro mnimo limitado por no levarem em conta as no linearidades tpicas do modelo de um rob manipulador controladores tipo Torque Computado tentam levar em conta estas no linearidades, mas esbarram na dificuldade de se obter uma perfeita representao do modelo da dinmica inversa do rob. As Redes Neurais constituem uma alternativa para o controle de robs manipuladores, pois nos permite representar com maior preciso o modelo da dinmica inversa do rob.

M. R. Stemmer - DAS / CTC / UFSC

Introduo
Vamos comparar a performance de:
Controladores clssicos junta por junta, PD e PID; Controlador tipo torque computado, onde a dinmica inversa do rob obtida treinando-se uma Rede Neural.

Sistema um modelo simplificado de um rob manipulador do tipo PUMA 560, planar, com dois graus de liberdade.

M. R. Stemmer - DAS / CTC / UFSC

O Rob Manipulador
O Rob utilizado o PUMA 560, com seis graus de liberdade.

M. R. Stemmer - DAS / CTC / UFSC

O Rob Manipulador
Para simplificar a anlise e obter um modelo mais fcil de aplicar em simulaes computacionais, toma-se o segundo e o terceiro elos do rob, considerando estticos os demais elos e considerando o efetuador como uma massa uniforme na extremidade do terceiro elo. Obtm-se um rob planar (movimentos em duas dimenses), de dois graus de liberdade (Juntas 2 e 3).

M. R. Stemmer - DAS / CTC / UFSC

Modelo Matemtico do Rob


Considerando que as juntas so acionadas por motores DC e desprezando a flexibilidade nas transmisses (modelo rgido), tem-se: Equaes do motor :
& + RI + K q V = LI e& && + Km I = J q
(1) e (2)

V: Tenses de entrada na armadura dos motores. J: Matriz das inrcia dos rotores dos motores. Ke: Matriz das constantes de tenses induzidas nos motores. Km: Matriz das constantes mecnicas dos motores. R: Matriz das resistncias das armaduras dos motores. L: Matriz das indutncias nas armaduras dos motores. F : Torques devido ao atrito viscoso. : Torques totais nas juntas do rob. q : ngulos das juntas do rob. N: Matriz das relaes de transmisso das engrenagens. G(q) : Torques Gravitacionais.

Equao do Rob :
& q & + Fq & + G(q) (3) = D(q) && q + C(q,q)
Kmi Ni Kei Ni

Sendo :

Kmi =

Kei =

& ) : Torques Centrfugos e de Corilis. C(q, q


M. R. Stemmer - DAS / CTC / UFSC

Controladores a comparar
Controlador PD:

& = K p e + Kv e
M. R. Stemmer - DAS / CTC / UFSC

Controladores a comparar
Controlador PID:

& + K i e(s) ds = K pe + Kve

e = qd q

M. R. Stemmer - DAS / CTC / UFSC

Controladores a comparar
Torque Computado:
-Aplicao da tcnica Feedback Linearization, que consiste do cancelamento das no-linearidades de tal forma que o sistema dinmico em malha fechada tenha um comportamento linear. -Lei de controle:

$ $ q) $ q $ & q & +F & + G(q) = D(q) ( && q d - u) + C(q,


-Considerando: $ (q ) D(q ) D

$ (q , q & ) C (q , q &) C

$F F

$ (q ) G (q ) G

-Substituindo a lei de controle acima na equao do rob, obtemos:

&& = u e

-O sistema em malha fechada linear e representado por um conjunto de n integradores duplos desacoplados. -A entrada u deve ser escolhida de tal forma a obter uma resposta criticamente amortecida. -As opes tpicas para u so os controladores PD e PID.
M. R. Stemmer - DAS / CTC / UFSC

Controladores a comparar
Torque Computado Neural:
- o controlador tipo torque computado depende da obteno da dinmica inversa do rob => difcil. - RNA utilizadas para a obteno de um modelo que represente a dinmica inversa do rob manipulador. - As entradas da rede sero as posies e velocidades desejadas para as juntas e a acelerao desejada menos uma entrada u. A entrada u resultado da operao do controlador linear.

M. R. Stemmer - DAS / CTC / UFSC

Arquitetura da RNA
Utilizado algoritmo de treinamento Backpropagation, com treinamento exclusivamente Off-Line. Modelo do rob implementado em Simnon Vetores de treinamento obtidos com um controlador clssico junta por junta controlando o rob manipulador durante o rastreamento de uma determinada trajetria representada por um polinmio de terceira ordem. Tomou-se como pares de treinamento as tenses de entrada nos motores de acionamento das juntas do rob (sadas da rede), e os respectivos valores de posio, velocidade e acelerao angular das juntas no mesmo momento (entradas da rede). RNA possui 6 neurnios de entrada, equivalentes aos seis pares de variveis posio, velocidade e acelerao, e 2 neurnios de sada, equivalentes ao par de tenses de acionamento das duas juntas. A melhor convergncia deu-se para uma rede com 2 camadas escondidas com 10 neurnios cada.

M. R. Stemmer - DAS / CTC / UFSC

Treinamento da RNA
O momentum foi fixado em 0,95 e a taxa de aprendizado em 0,5. O conjunto de pesos inicial foi escolhido de maneira randmica, com valores entre -0,01 e +0,01.
Vin

1- Juta 1 ( Processo ) 2- Junta 2 ( Processo ) 3- Junta 1 ( Rede ) 4- Junta 2 ( Rede ) 2e4 1e3

tempo

Resultado do treinamento da RNA aps 30.000 iteraes para 1 = 900 e 2 = 1800


M. R. Stemmer - DAS / CTC / UFSC

Simulaes e Resultados
erro em graus x tempo
2

2 1 1) Junta 1 ( PD clssico ) 2) Junta 2 ( PD clssico ) 3) Junta 1 ( Neural ) 4) Junta 2 (Neural ) 4 3


3
1

1) Junta 1 ( PD clssico ) 2) Junta 2 ( PD clssico ) 3) Junta 1 ( Neural ) 4) Junta 2 (Neural )


4

CONTROLADOR PD: 1 = 900 e 2 = 1800


M. R. Stemmer - DAS / CTC / UFSC

CONTROLADOR PD: 1 = 450 e 2 = 1200

Simulaes e Resultados
erro em graus x tempo
2 1 1) Junta 1 ( PD clssico ) 2) Junta 2 ( PD clssico ) 3) Junta 1 ( Neural ) 4) Junta 2 (Neural ) 4

2 1 4

1) Junta 1 ( PID clssico ) 2) Junta 2 ( PID clssico ) 3) Junta 1 ( Neural ) 4) Junta 2 (Neural )

CONTROLADOR PD : 1 = 600 e 2 = 1000


M. R. Stemmer - DAS / CTC / UFSC

CONTROLADOR PID : 1 = 900 e 2 = 1800

Simulaes e Resultados
erro em graus x tempo
2 1 4 1) Junta 1 ( PID clssico ) 2) Junta 2 ( PID clssico ) 3) Junta 1 ( Neural ) 4) Junta 2 (Neural )

2 1 4 1) Junta 1 ( PID clssico ) 2) Junta 2 ( PID clssico ) 3) Junta 1 ( Neural ) 4) Junta 2 (Neural )

CONTROLADOR PID : 1 = 450 e 2 = 1200

CONTROLADOR PID : 1 = 600 e 2 = 1000

M. R. Stemmer - DAS / CTC / UFSC

Concluso Parcial
As RNAs realmente conseguem aproximar satisfatoriamente o comportamento do Rob Manipulador. Torque Computado Neural tem desempenho muito melhor do que os controladores clssicos. Os erros transitrios so de trs a quatro vezes menores do que aqueles apresentados pelos controladores clssicos, o que realmente motiva o uso desta tcnica. A RNA treinada de forma off-line leva o processo a desestabilizao quando este submetido a uma mudana acentuada em relao aos parmetros utilizados no treinamento. Em uma Rede Neural com ajuste on-line, desde que com um algoritmo de treinamento suficientemente rpido, este problema seria contornado.

M. R. Stemmer - DAS / CTC / UFSC

Esquema Alternativo (Adaptativo)


Controlador adaptativo baseado na passividade:

M. R. Stemmer - DAS / CTC / UFSC

Treinamento On-Line
Algoritmo de treinamento: Quickpropagation. Arquitetura: 4 camadas, 2 camadas escondidas com 10 neurnios cada. Treinamento inicial off-line: Rob controlado por PD clssico segue uma trajetria dada; Medimos tenso aplicada na entrada e os valores de posio, velocidade e acelerao resultantes; 300 Pares de treinamento so adquiridos; So feitas 10.000 iteraes de treinamento.

M. R. Stemmer - DAS / CTC / UFSC

Treinamento On-Line
Mudanas na dinmica devem ser incorporadas em tempo real. Queremos testar comportamento com mudanas na carga til (payload) do rob. Comportamento Adaptativo:
Novos pares de treinamento adicionados em tempo real a cada 5 ms. Novo treino feito em somente 15 iteraes com Quickpropagation. A rede atualizada a cada 200 ms.

M. R. Stemmer - DAS / CTC / UFSC

Controlador Neural x PD sem carga

M. R. Stemmer - DAS / CTC / UFSC

Controlador neural sem carga

M. R. Stemmer - DAS / CTC / UFSC

Adio de Carga de 2.5 Kg

M. R. Stemmer - DAS / CTC / UFSC

Adio de Carga de 3.2 Kg

M. R. Stemmer - DAS / CTC / UFSC

Concluses
Controlador neural tem menor erro de seguimento de trajetria do que PD clssico. O controlador neural adaptativo tem melhor comportamento do que o PD e do que o neural offline com mudana da carga til. Podemos ter problemas se a trajetria e a carga excitam os modos flexveis das juntas.

M. R. Stemmer - DAS / CTC / UFSC

Aplicaes III

Viso Computacional
M. R. Stemmer - DAS / CTC / UFSC

RECONHECIMENTO RECONHECIMENTO DE DE IMAGENS IMAGENS UTILIZANDO UTILIZANDO DESCRITORES DESCRITORES DE DE FOURIER FOURIER E E REDES REDES NEURAIS NEURAIS
Marcelo R. Stemmer Carlos Amado Machado Neto Alexandre Orth

M. R. Stemmer - DAS / CTC / UFSC

Introduo
Objetivo: desenvolver sistema de reconhecimento de peas em 2D para uso em FMC com as caractersticas seguintes: reconhecer peas mesmo com sujeira e m iluminao (condies reais de cho de fbrica); realizar o reconhecimento em tempo real; identificar a posio e orientao da pea de forma a informar o rob para manipulao; reconhecer objetos mltiplos em uma imagem; reconhecer objetos parcialmente superpostos.
M. R. Stemmer - DAS / CTC / UFSC

Estrutura fsica do sistema

M. R. Stemmer - DAS / CTC / UFSC

Recursos
Cmera - Panasonic WV-1410 B&W CCD Placa digitalizadora TrueVision ICB 200 linhas x 256 colunas cores - RGB cada pixel - 12 bits PC Pentium 300MHz (1999)

M. R. Stemmer - DAS / CTC / UFSC

Estrutura do Sistema
Capta Imagem Histograma Limpa do Fundo Determina Trilha Transformada de Fourier Acumula Exemplos Treina Rede
M. R. Stemmer - DAS / CTC / UFSC

Identifica Imagem

Aquisio e Limpeza da Imagem


Amostrar uma imagem (ICB) e ler a memria da placa Calcular mdia das componentes RGB Obtm-se uma matriz 200x256 em que cada pixel um nmero de 0 a 31 que representa a intensidade luminosa do ponto correspondente na imagem. Aplicao de threshold: se o pixel tem intensidade menor que um limiar, igualar a 0 apenas os pixels que compem a pea permanecem diferentes de 0 (binarizao)

M. R. Stemmer - DAS / CTC / UFSC

Imagem Binarizada

M. R. Stemmer - DAS / CTC / UFSC

Determinao do Contorno
varredura procura uma regio clara na imagem, indicando provvel existncia de um objeto. Contorno definido como a seqncia ordenada dos pontos 8conectados pertencentes ao objeto e que possuem pelo menos um ponto 4-vizinho pertencente ao fundo. Contorno pode ser visto como seqncia de nmeros complexos cuja parte real a componente horizontal do ponto na imagem, h(k), e a parte imaginria a componente vertical, v(k):
S(k) = h(k) + j.v(k) k=0..N-1

onde N o nmero total de pontos no contorno. Qualquer ponto do contorno pode ser escolhido como o incio da seqncia. Os demais so tomados ordenadamente no sentido horrio, encerrando com o ponto imediatamente anterior ao inicial.

M. R. Stemmer - DAS / CTC / UFSC

Determinao do Contorno

Contour = Y (t ); with Y (t ) Y (t ) = x + j . y ;

Contorno = {(3,3); (4,3); (5,3); (6,3); (6,4); (6,5); (6,6); (5,6); (4,6); (3,5); (3,4)}; Y(1) = 3 + j3;
M. R. Stemmer - DAS / CTC / UFSC

Contorno da Pea 3

M. R. Stemmer - DAS / CTC / UFSC

Extrao de Caractersticas
Contorno composto por um vetor de pontos bidimensionais (x, y). Se considerarmos os valores x como pertencentes ao eixo de tempo e os valores de y como amplitudes de sinal, podemos interpretar o contorno como um sinal discreto no tempo e aplicar DFT. Os coeficientes da Transformada de Fourier Discreta (DFT) da seqncia S(k) so chamados Descritores de Fourier (DF) e servem para caracterizar o objeto. Na etapa de classificao so utilizados os coeficientes com ndices de 1 at 20. O coeficiente F(0) fornece a posio do centride do contorno. Algoritmo DFT clssico (no possvel usar FFT pois o nmero de pontos da trilha no conhecido priori). Propriedades: invariante translao e rotao.

M. R. Stemmer - DAS / CTC / UFSC

Extrao de Caractersticas

M. R. Stemmer - DAS / CTC / UFSC

Identificao/Classificao
Descritores de Fourier submetidos a uma Rede Neural para Classificao Rede Neural: camada de entrada com 20 neurnios (1 para cada DF) uma camada oculta configurvel (ex. 10 neurnios) camada de sada configurvel (1 para cada objeto) rede feedforward esttica

M. R. Stemmer - DAS / CTC / UFSC

Imagens com Vrias Peas


Na etapa de treinamento, as peas so apresentadas isoladamente. Durante a operao, as peas podem ser apresentadas conjuntamente. Aps terminado o processamento de um contorno, a pea j tratada apagada da imagem. Inicia-se, ento, a procura e tratamento de outra pea, procedimento que se repete at que nenhuma outra seja encontrada. Encerrado o tratamento de todas as peas contidas numa imagem, outra imagem pode ser capturada.
M. R. Stemmer - DAS / CTC / UFSC

Tratamento de Peas Sobrepostas


Obtm-se o contorno da pea de cima e depois remove-se esta pea da imagem, at que todas as peas empilhadas tenham sido processadas. Limitaes: Espessura das peas deve ser muito menor que comprimento e largura de modo que contorno no mude muito com superposio (processamento 2D). Necessrio elevado contraste entre peas. Procedimento de limpeza da imagem tem que ser modificado a fim de levar em considerao a existncia de mais de dois nveis de cinza na imagem (apenas um limiar no basta).

M. R. Stemmer - DAS / CTC / UFSC

Imagem da Pea 2 sobre a Pea 1

M. R. Stemmer - DAS / CTC / UFSC

Imagem da Pea 1 sobre a Pea 2

M. R. Stemmer - DAS / CTC / UFSC

Treinamento da Rede
A rede foi treinada com o algoritmo backpropagation. O conjunto de treinamento foi formado com DFs resultantes do processamento de imagens contendo 3 exemplos (imagens) de cada pea. Foram includos 40 exemplos de DFs resultantes do processamento de imagens onde as peas figuravam parcialmente ocultas (com grau de ocultao de at 50%).

M. R. Stemmer - DAS / CTC / UFSC

Exemplos de Peas Usadas

M. R. Stemmer - DAS / CTC / UFSC

Resultados
Obteve-se uma taxa de acerto de praticamente 100% para peas isoladas ou mltiplas no superpostas. Tempo de treinamento: 20s para 4 peas Para peas sobrepostas: cerca de 90% de acerto para situaes muito prximas as encontradas no grupo de treinamento taxas bastante baixas de acerto na pea de baixo se ocultao muito grande.

M. R. Stemmer - DAS / CTC / UFSC

Resultados
A componente F(0) da DFT do contorno fornece a posio do centride da pea em relao ao canto superior esquerdo da imagem. Se a posio deste ponto em relao aos eixos de referncia do rob for conhecida podemos posicionar sua garra exatamente sobre a pea focalizada. A informao sobre a orientao da pea, contida na fase dos coeficientes F(u), u=1..N-1, pode ser utilizada para informar ao rob qual o ngulo mais favorvel para agarrar a pea.
M. R. Stemmer - DAS / CTC / UFSC

Concluses
Taxas de acerto so boas, mesmo com m iluminao e peas muito semelhantes O tempo de treinamento pode ser reduzido com outros algoritmos como Quikpropagation ou Resilient Propagation. Trabalhos futuros sobre Imagens 3D !

M. R. Stemmer - DAS / CTC / UFSC

Comentrios Finais
Tcnica de RNA alvo de muitas pesquisas. Problemas a resolver:
desenvolvimento de modelos de neurnios mais prximos dos biolgicos; escolha do nmero de neurnios ideal para uma aplicao; escolha do nmero de camadas da rede; escolha de redes com ou sem feedback; escolha da melhor tcnica de treinamento; desenvolvimento de novos algoritmos de treinamento da rede (velocidade x plausibilidade biolgica); demonstrao de estabilidade de controladores neurais; escolha de padres de treinamento adequados.
M. R. Stemmer - DAS / CTC / UFSC

Potrebbero piacerti anche