Anda di halaman 1dari 131

M. R.

Stemmer - DAS / CTC / UFSC


Redes Neurais Artificiais para
Controle & Automao
Prof. Marcelo Ricardo Stemmer
marcelo@das.ufsc.br

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

Introduo e Breve Histrico das RNAs

Algumas Aplicaes

O Neurnio Biolgico e o Neurnio Artificial

Redes Neurais Multicamadas

O Treinamento da RNA

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

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
Introduo

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
Algumas Aplicaes
Eng. Civil:
Avaliao da Condio de Pavimentos;
Gerenciamento da Construo;
Previso da Resistncia Mecnica do Concreto;
Eng. Eltrica:
Processamento de sinais;
Previso de carga eltrica;
Diagnstico de falhas;
Financeira:
Previso da bolsa de valores;
Previso de falncia de bancos;
Controle de Processos:
Modelagem / Identificao;
Controle Adaptativo e No-Linear;
Otimizao de Parmetros;
Robtica:
Inteligncia do Rob (tomada deciso);
Planejamento da Trajetria;
Controle Fora / seguimento trajetria.
Meteorologia:
Previso do Tempo;
Biomdica:
Anlise de Batimentos Cardacos;
Diagnstico Mdico da Tuberculose;
Deteco de Eventos Epilticos;
Linguagem Natural:
Analisador Sinttico;
Compreenso de Texto;
Corretor Gramatical;
Processamento de Voz e Fala:
Reconhecimento de Fala;
Reconhecimento do Locutor (voz);
Agricultura:
Previso de Produtividade da Lavoura;
Eng. de Produo:
Otimizao de Processos de Fabricao;
Monitoramento de Processos;
Viso Computacional


M. R. Stemmer - DAS / CTC / UFSC
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
Sinapse =
interface I/O

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

M. R. Stemmer - DAS / CTC / UFSC
A Rede Neural Humana

Crebro:
contm aprox. 10
11
neurnios;

10
15
interconexes;

vias de transmisso com 1 ou


mais metros;
Peso: ~1,5 Kg (2% peso corpo);
Consome 20 a 30% da energia do
organismo;

Crtex:
Rato (5 cm
3
), Chimpanz
(500 cm
3
);
Homem (2000 cm
3
);.

M. R. Stemmer - DAS / CTC / UFSC
O Neurnio Artificial
Neurnio Artificial pretende imitar caractersticas de primeira
ordem do neurnio biolgico:
F = Funo de Ativao no linear e limitada;
Sinapse pode ser excitadora (w > 0 ) ou inibidora (w < 0)
Se o peso zero, no h conexo.


) (i pred j
j ij i j
w x net

M. R. Stemmer - DAS / CTC / UFSC
O Neurnio Artificial
Exemplo de Funo de Ativao:
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 (no h direo privilegiada para


propagao da informao);

redes 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).

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
Unsupervised
(self-organizing)
Linear No linear
Hopfield Model
Bolzmann
machine - fb
Kohonen self
organizing
feature maps
(SOM) - lat.
Adaptive
Resonance Theory
(ART) - lat.+delay
supervised Unsupervised
(self-organizing)
Adaline
Madaline
Backprop
quickprop
rprop
reinforcement
Hebb
Oja
Sanger
competitive
Associative
Bi-directional
Memory
(BAM) - fb
MLP
RBF
hbrido
counterprop
Supervised
Hebbian competitive
Simulated
annealing

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
D
I
D
I
D
I
Rede
Neural
O
D
Supervisor
I
D
1
2
3
4
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 (Auto-
associao). Isto permite reconstituir entradas deturpadas (til em
processamento de sinais, filtragem, etc.).
I
I
I
I
Rede
Neural
O
Auto-ajuste
I
1
2
3
4
Conjunto de Exemplos

M. R. Stemmer - DAS / CTC / UFSC
O Treinamento da RNA
Seja um neurnio dado por:

e estabelecendo como conveno:


Valor +1 = ativo
Valor -1 = inativo
. . .
Entrada (-1 ou +1)
Processamento (ex. Soma)
Sada = -1 se resultado <= 0
Ponderao (entrada x peso)
Sada = +1 se resultado > 0

M. R. Stemmer - DAS / CTC / UFSC
O Treinamento da RNA
Para a situao abaixo:
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 "guarda-
chuva" ativas
entrada "chuva" ativa => sada "guarda-chuva" ativa
Entrada
Pesos
Soma
Sada
Entrada
Pesos
Soma
Sada
Nadar Bom Humor Guarda-Chuva
Bom Tempo Tempo Instvel Chuva
1 0 0 0 1 0 0 0 1
1 1 1

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).

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

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
Entrada
Pesos
Soma
Sada
Entrada
Pesos
Soma
Sada
Nadar Bom Humor Guarda-Chuva
Bom Tempo Tempo Instvel Chuva
1 0 0 0 1 0 0 0 1
1 1 1
1 -1 -1
1 -1
-1
-1
1 -1
1 -1 -1 1 -1 -1 1 -1 -1
1 -1 -1
1 -1 -1
Condio inicial: entrada [1,-1,-1]; sada desejada [1,1,-1]
Nadar Bom Humor Guarda-Chuva
desejado
obtido

M. R. Stemmer - DAS / CTC / UFSC
O Treinamento da RNA
Entrada
Pesos
Soma
Sada
Entrada
Pesos
Soma
Sada
Bom Tempo Tempo Instvel Chuva
2 0 0 1 1 0 0 0 1
1 1 1
1 -1 -1
1 -1
-1
-1
1 -1
1 -1 -1 1 -1 -1 1 -1 -1
2 0 -1
1 -1 -1
Primeiro ajuste de pesos:
Nadar Bom Humor Guarda-Chuva
Nadar Bom Humor Guarda-Chuva
desejado
obtido

M. R. Stemmer - DAS / CTC / UFSC
O Treinamento da RNA
Segundo ajuste de pesos: resultado alcanado !
Entrada
Pesos
Soma
Sada
Entrada
Pesos
Soma
Sada
Nadar Bom Humor Guarda-Chuva
Bom Tempo Tempo Instvel Chuva
3 0 0 2 1 0 0 0 1
1 1 1
1 -1 -1
1 -1
-1
-1
1 -1
1 -1 -1 1 -1 -1 1 -1 -1
3 1 -1
1 1 -1

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):
Erro = (Estado desejado da sada - Estado obtido com pesos atuais)
Novo peso = peso velho + (Fator de Aprendizado x Erro x Entrada)

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:
Entrada
Pesos
Soma
Sada
Entrada
Pesos
Soma
Sada
Nadar Bom Humor Guarda-Chuva
Bom Tempo Tempo Instvel Chuva
3 0 0 2 1 0 0 0 1
1 1 1
1 1 1
1 1
1
1
1 1
1 1 1 1 1 1 1 1 1
3 3 1
1 1 1
Nadar Bom Humor Guarda-Chuva
desejado
obtido
Para todos os
neurnios temos:
E =(-1-1) = -2
W
i+1
= W
i
+(-2x0,5x1)

M. R. Stemmer - DAS / CTC / UFSC
O Treinamento da RNA
Entrada
Pesos
Soma
Sada
Entrada
Pesos
Soma
Sada
Nadar Bom Humor Guarda-Chuva
Bom Tempo Tempo Instvel Chuva
2 -1 -1 1 0 -1 -1 -1 0
1 1 1
1 1 1
1 1
1
1
1 1
1 1 1 1 1 1 1 1 1
0 0 -2
-1 -1 -1
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 ?

M. R. Stemmer - DAS / CTC / UFSC
O Treinamento da RNA

Resultado para entrada = "bom tempo":


Entrada
Pesos
Soma
Sada
Entrada
Pesos
Soma
Sada
Nadar Bom Humor Guarda-Chuva
Bom Tempo Tempo Instvel Chuva
2 -1 -1 1 0 -1 -1 -1 0
1 1 1
1 -1 -1
1 -1
-1
-1
1 -1
1 -1 -1 1 -1 -1 1 -1 -1
4 2 0
1 1 -1

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.
x
1
x
2
(0,0) (1,0)
(0,1)
(1,1)
AND
x
1
x
2
(0,0) (1,0)
(0,1)
(1,1)
OR
x
1
x
2
(0,0) (1,0)
(0,1)
(1,1)
XOR

M. R. Stemmer - DAS / CTC / UFSC
Treinamento e Topologia
x1
x2
Fan-out
E (x1.x2)
E (x1.x2)
OU (x1.x2)+(x1.x2)
y
Soluo para o XOR:

M. R. Stemmer - DAS / CTC / UFSC
Treinamento e Topologia
Pesos e thresholds para gerar 2
retas separando casos no XOR

M. R. Stemmer - DAS / CTC / UFSC
Treinamento e Topologia
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
Treinamento e Topologia

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 (tambm chamadas


redes MLP = Multi-Layer Perceptron) podem tratar
com dados no linearmente separveis.

Para uma rede com 3 camadas e entradas 2D, pode-se


dizer que:
Cada nodo da primeira camada traa retas (ou hiperplanos,
para mais dimenses) no espao de padres de treinamento;

Cada nodo da segunda camada 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 que separam os padres
de entrada em classes.

M. R. Stemmer - DAS / CTC / UFSC
Treinamento e Topologia

Cybenko mostrou 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 as camadas intermedirias
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).

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):
U
Y
d
Y
rn
E
Modelo
Rede
Neural
+
-

M. R. Stemmer - DAS / CTC / UFSC
Error Backpropagation

Algoritmo Backpropagation (simplificado):


Passo 1: inicializar pesos com valores aleatrios pequenos;

Passo 2: alimentar rede com um padro de treinamento U e


vetor de sada desejado Y
d
;
Passo 3: calcular sada da rede usando valores atuais dos
pesos: Y=F(U.W);
Passo 4: calcular erro entre sada produzida e desejada (Y-
Y
d
);
Passo 5: corrigir pesos de todas as camadas por
retropropagao:
W
i+1
= W
i
- .dE(W)/dW para W = W
i
Passo 6: testar condio de parada (|E(k)| < Emin): se no
atendida, voltar ao passo 3.

M. R. Stemmer - DAS / CTC / UFSC
Error Backpropagation

Introduzido 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
d
i
a i-sima sada desejada
y
i
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 E
p
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 E
p
(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
1. aplique o vetor das entradas
1
1
1
1
]
1

pN
p
p
x
x
x
...
2
1
p x s unidades de entrada

2. calcule os valores net para as unidades da camada escondida

+
N
i
h
j
pi
h
ji
h
pj
x w net
1
.

3. calcule as sadas da camada escondida
) (net f i
h
pj
h
j pj


4. calcule os valores net para as unidades da camada de sada
o
k pj
L
j
o
kj
o
pk
i w net +

1
.

M. R. Stemmer - DAS / CTC / UFSC
Error Backpropagation
5. calcule as sadas da camada de sada
) (
o
pk
o
k pk
net f o

6. calcule o erro para as unidades da camada de sada
) ( ) (
o
pk
o
k pk pk
o
pk
net f o y

7. calcule o erro para as unidades da camada escondida

k
o
kj
o
pk
h
pj
h
j
h
pj
w net f . ). (

M. R. Stemmer - DAS / CTC / UFSC
Error Backpropagation
8. atualize os pesos da camada de sada
pj
o
pk
o
kj
o
kj
i t w t w . . ) ( ) 1 ( + +

9. atualize os pesos da camada escondida
i
h
pj
h
ji
h
ji
x t w t w . . ) ( ) 1 ( + +

10. calcule o erro total para checar a condio de parada do algoritmo

M
k
pk p
E
1
2
2
1

Se E
p
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
f
j
f
k
x
p1
x
p2
x
pn

+
N
i
h
j
pi
h
ji
h
pj
x w net
1
.
i j
k
w
ji
w
kj
input hidden output
) (net f i
h
pj
h
j pj

o
k pj
L
j
o
kj
o
pk
i w net +

1
.
) (
o
pk
o
k pk
net f o
) ( ) (
o
pk
o
k pk pk
o
pk
net f o y

k
o
kj
o
pk
h
pj
h
j
h
pj
w net f . ). (
pj
o
pk
o
kj
o
kj
i t w t w . . ) ( ) 1 ( + +
i
h
pj
h
ji
h
ji
x t w t w . . ) ( ) 1 ( + +

M
k
pk p
E
1
2
2
1


M. R. Stemmer - DAS / CTC / UFSC
Error Backpropagation

Influncia da taxa de
aprendizado :
Seja E(w) = w
2
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

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.

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
Modelos de RNA
Precisa muitos PE's para
armazenar poucos padres
Estvel Reconhecimento de
padres.
Bidirectional
Associative Memories
(BAM)
Sem aprendizado, os pesos
devem ser setados.
Implementao em larga
escala.
Recuperao de dados e
fragmentos de imagens.
Hopfield
Grande nmero de
neurnios e conexes
(topologia complexa)
Rapidez de treinamento Reconhecimento de
padres, anlise
estatstica.
Counterpropagation
Treinamento supervisionado
requer exemplos abundantes
simples e eficiente Larga aplicao MLP com
Backpropagation
No reconhece padres
complexos; sensvel a
mudanas.
Rede neural mais antiga. Reconhecimento de
caracteres.
Perceptrons
Pontos Fracos Pontos Fortes Principais Aplicaes Modelo Neural

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?

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 e
m
(k) (erro de
modelo) menor que um valor especificado.
G(s)
RNI
d
u(k)
y(k)
y
m
(k)
e
m
(k)
u(k-1)

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

Controle com RNA segue alguns esquemas


bsicos (e muitas variantes):
Controle supervisionado
Controle pelo Modelo Interno
Controle Direto Inverso e Controle Inverso Feedforward

Controle Adaptativo

RNA pode ainda ser usada em conjunto


com outros mtodos de controle:

Sistemas Neuro-Fuzzy, Neuro-Genticos

Sistemas hbridos RNA + convencional



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:
Yp
E
+
-
Rede
Neural
Controladora
Lei de controle
(p.ex. PID)
Processo
Yd

M. R. Stemmer - DAS / CTC / UFSC
Controle Supervisionado

Passo 2 - operao normal: RNA dentro da malha


fechada

Resultados: desempenho igual ao da lei de controle.


Yp
Rede
Neural
Controladora
Processo
Yd

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.
Yp
Rede
Neural
Controladora
Processo
Rede
Neural
Identificadora
Ym
Yd
+ -

M. R. Stemmer - DAS / CTC / UFSC
Controle pelo Modelo Interno

Passo 3 - operao normal (IMC): s funciona se


sistema estvel em malha aberta
Yp
Rede
Neural
Identificadora
Ym
Yd
+
-
Rede
Neural
Controladora
Processo

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 e
m(k)
fica menor que um valor especificado, os pesos da
RNA so copiados na RNC, atualizando o controlador.
G(s)
RNI
u(k) y(k)
ym(k)
em(k)
d
u(k-1)
RNC
x(k)
RNA
u'(k)
learn
I1
I2
O1
d
y(k-1)

M. R. Stemmer - DAS / CTC / UFSC
Esquemas Adaptativos - II
G(s)
u(k) y(k)
RNC
x(k)
e(k)
RNA
learn
I1 I2
u'(k)
O1

Os pesos da RNA so copiados para a RNC quando o


erro de treinamento fica abaixo de uma valor
especificado.
d
y(k-1)

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 de Performance
entre Controladores Clssicos e
um Controlador Torque
Computado Neural Aplicados
ao Rob PUMA 560
Marcelo R. Stemmer Edson R. de Pieri Fbio A. Pires Borges
UFSC / EEL / LCMI
C.P 476
CEP 88.040.900
Florianpolis - SC
marcelo@lcmi.ufsc.br
UFSC / EEL / LCMI
C.P 476
CEP 88.040.900
Florianpolis - SC
edson@lcmi.ufsc.br
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-se um modelo mais fcil de ser aplicado
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 :

Equao do Rob :
Sendo :
V = L I + R I + K q (1)
K I = J q + (2)
e
m

'



(1) e (2)
D(q) q + C(q, q) q + F q + G(q) (3)
K
K
N
mi
mi
i
K
K
N
ei
ei
i

V: Tenses de entrada na armadura dos motores.


J: Matriz das inrcia dos rotores dos motores.
K
e
: Matriz das constantes de tenses induzidas nos motores.
K
m
: 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.
C(q q , ) : Torques Centrfugos e de Corilis.

M. R. Stemmer - DAS / CTC / UFSC
Controladores a comparar

Controlador PD:
+ K e K e
p v


M. R. Stemmer - DAS / CTC / UFSC
Controladores a comparar

Controlador PID:
+ + K e K e K e s ds
p v i
t
( )
0
e q q
d


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:

(





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

( ) ( ) D q D q

( , ) ( , ) C q q C q q

F F

( ) ( ) G q G q
-Considerando:
e u -Substituindo a lei de controle acima na equao do rob, obtemos:
-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
tempo
1- Juta 1 ( Processo )
2- Junta 2 ( Processo )
3- Junta 1 ( Rede )
4- Junta 2 ( Rede )
2 e 4
1 e 3
Resultado do treinamento da RNA aps 30.000 iteraes para

1
= 90
0
e
2
= 180
0

M. R. Stemmer - DAS / CTC / UFSC
Simulaes e Resultados

erro em graus x tempo


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

1
= 90
0
e
2
=
180
0
1) Junta 1 ( PD clssico )
2) Junta 2 ( PD clssico )
3) Junta 1 ( Neural )
4) Junta 2 (Neural )
CONTROLADOR PD:

1
= 45
0
e
2
=
120
0
2
1
3
4

M. R. Stemmer - DAS / CTC / UFSC
Simulaes e Resultados

erro em graus x tempo


1
2
3
4
1) Junta 1 ( PD clssico )
2) Junta 2 ( PD clssico )
3) Junta 1 ( Neural )
4) Junta 2 (Neural )
3
2
1
4
1) Junta 1 ( PID clssico )
2) Junta 2 ( PID clssico )
3) Junta 1 ( Neural )
4) Junta 2 (Neural )
CONTROLADOR PD :

1
= 60
0
e
2
=
100
0
CONTROLADOR PID :

1
= 90
0
e
2
= 180
0

M. R. Stemmer - DAS / CTC / UFSC
Simulaes e Resultados

erro em graus x tempo


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

1
= 45
0
e
2
=
120
0
CONTROLADOR PID :

1
= 60
0
e
2
= 100
0

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 off-
line 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 DE
IMAGENS UTILIZANDO
DESCRITORES DE FOURIER
E
REDES 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
H i s t o g r a m a
T r e i n a R e d e
A c u m u l a E x e m p l o s I d e n t i f i c a I m a g e m
T r a n s f o r m a d a d e F o u r i e r
D e t e r m i n a T r i l h a
L i m p a d o F u n d o
C a p t a I m a g e m

M. R. Stemmer - DAS / CTC / UFSC
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 8-


conectados 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
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;
; . ) (
) ( ); (
y j x t Y
t Y with t Y Contour
+


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.

Anda mungkin juga menyukai