Академический Документы
Профессиональный Документы
Культура Документы
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
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
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.
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.
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.
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).
Objetivos da IA
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.
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.
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.
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.
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.
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
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).
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.
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.
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;
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;
Viso Computacional
O Neurnio Biolgico
Dendrites = entradas
Axnio = sada
M. R. Stemmer - DAS / CTC / UFSC
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.
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.
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
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
O Crebro
Tipos de neurnios
O Neurnio Artificial
Uma primeira aproximao: o modelo de McCullog e Pitts (MCP)
y 1
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
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.
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).
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
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) ...
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
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?
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))
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).
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
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
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
1 1 1 1 Bom Tempo
-1 -1 1 -1 Tempo Instvel
-1 -1 1 -1 Chuva
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.
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)
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
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
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
O Treinamento da RNA
Exemplos anteriores baseados no modelo chamado Perceptron!
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...
AND
(1,1)
OR com perceptron
Seja o perceptron:
OR
(1,1)
x2 (0,1)
XOR
(1,1)
(0,0)
(1,0)
x2 Fan-out E (x1.x2)
OU (x1.x2)+(x1.x2)
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).
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.
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):
Yd + Yrn E
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.
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
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
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:
Error Backpropagation
A segunda derivada dada por:
Error Backpropagation
Esta derivada tambm pode ser calculada pela regra da cadeia:
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:
Error Backpropagation
Substituindo este dois termos na equao original, temos:
Error Backpropagation
Se o nodo j no for um nodo de sada, usamos a regra da cadeia novamente para escrever:
Onde:
Error Backpropagation
Substituindo novamente na equao original, obtemos para as camadas intermedirias:
Error Backpropagation
Podemos generalizar a frmula de ajuste de pesos como:
Onde
Error Backpropagation
Se a FA a sigmide:
Error Backpropagation
O algoritmo procura ajustar os pesos de modo que eles correspondam s coordenadas dos pontos mais baixos da superfcie de erro.
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
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 )
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).
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
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)
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
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
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.
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).
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.
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
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.
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.
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).
Memrias Associativas
Distncia de Hamming h
Relao com distncia euclidiana d: d = 2h h = d2/4
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.
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.
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.
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).
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:
BAM
O novo valor de y em t+1 est relacionado ao valor de y em t por:
BAM
Exemplo:
Vamos treinar a rede BAM para os vetores:
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
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.
Larga aplicao
simples e eficiente
Counterpropagation
Rapidez de treinamento
Hopfield
Reconhecimento de padres.
Estvel
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.)
Aplicaes I
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.
ym(k) em(k)
y(k)
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.
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.
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
Controle Supervisionado
RNA pode reproduzir comportamento de um operador humano Widrow e Smith usaram esquema para pendulo invertido em 1964
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
Controle Supervisionado
Passo 2 - operao normal: RNA dentro da malha fechada
Yd Rede Neural Controladora Yp Processo
Controle Supervisionado
Variante onde RNA fica em malha aberta RNA aprende modelo inverso, mesmo se sistema instvel em malha aberta
Yd
Yp Processo
Ym
Yp
Ym
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)
Esquemas Adaptativos - II
I1 learn I2 O1 u'(k) RNA
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
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
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.
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.
O Rob Manipulador
O Rob utilizado o PUMA 560, com seis graus de liberdade.
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).
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 =
Controladores a comparar
Controlador PD:
& = K p e + Kv e
M. R. Stemmer - DAS / CTC / UFSC
Controladores a comparar
Controlador PID:
e = qd q
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 & ) C (q , q &) C
$F F
$ (q ) G (q ) G
&& = 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.
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.
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
Simulaes e Resultados
erro em graus x tempo
2
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 )
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 )
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.
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.
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.
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.
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
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
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)
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
Imagem Binarizada
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.
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
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.
Extrao de Caractersticas
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
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%).
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.
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 !
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