Upload
duilio-ferronatto-leite
View
218
Download
0
Embed Size (px)
Citation preview
7/24/2019 Rede Elman
1/4
A rede Elman comumente uma rede de duas camadas com o feedback do sada
da primeira camada para a entrada da primeira camada. Esta ligao permite que a
repetio Rede Elman para detectar e gerar padres variveis no tempo. ma de duas
camadas Elman rede mostrado abai!o.
Figura 1 - Esquema da rede Elman (Fonte: NNtoolbox)
A rede Elman tem neur"nios tansig em sua escondido #recorrente$ camada% e
purelin neur&nios na sua camada de sada. Esta combinao especial em que redes de
duas camadas com estas funes de transfer'ncia pode apro!imar qualquer funo #com
um n(mero finito de descontinuidades$ com preciso arbitrria. ) (nico requisito que
a camada oculta deve ter suficientes neur&nios. *ais neur"nios ocultos so necessrios%
como a funo que est sendo montado aumentos de comple!idade. +ote,se que a rede
de Elman difere de redes de duas camadas convencionais em que a primeira camada tem
uma ligao recorrente. ) atraso neste conte!to arma-ena os valores do passo de tempo
anterior% que pode ser usado na actual intervalo de tempo.
Assim% mesmo se duas redes Elman% com os mesmos pesos e desvios% so dadas
entradas id'nticas em um determinado intervalo de tempo% seus resultados podem ser
diferentes por causa da diferentes estados feedback.
ma ve- que a rede pode arma-enar informao para refer'ncia futura% capa-de aprender padres temporais% bem como padres espaciais. A rede pode ser Elman
treinados para responder a% e para gerar% ambos os tipos de padres.
Criao de uma rede Elman (newelm)
oc' pode usar o ne/elm funo para criar uma rede de Elman com dois ou
mais camadas. As camadas ocultas geralmente t'm funes de transfer'ncia tansig e
este o padro para ne/elm. ) diagrama mostra que a arquitectura purelin
normalmente a funo de transfer'ncia de sada de camada.
A funo de treinamento backpropagation padro trainbfg. oc' pode usartrainlm% mas tende a avanar to rapidamente que ele no necessariamente fa-er bem na
7/24/2019 Rede Elman
2/4
rede de Elman. A funo peso backpropagation 0 vis de aprendi-ado padro
learngdm% ea funo de desempen1o padro mse.
2uando a rede criado% os pesos e preconceitos de cada camada so iniciali-ado
com o mtodo camada iniciali-ao +gu3en,4idro/% que implementado no initn/
funo. 5or e!emplo% considere uma sequ'ncia de vetores de entrada de um (nicoelemento no intervalo de 6 a 7 e com pot'ncia na mesma gama. 8upon1a que voc' quer
ter cinco camadas escondidas neur"nios tansig e uma camada de sada logsig (nico. )
comando a seguir cria esta rede9
net : ne/elm#;6 77%7@
ans :
Columns 7 t1roug1 G
6.666D 6.77HI 6.6667 6.667G 6.F=HH 6.667H 6.6667
Column B
6.6666
Assim% uma ve- que a rede ser criada e a entrada especificado% voc' s& precisa
de c1amar a funo sim.
7/24/2019 Rede Elman
3/4
Trainando a rede Elman
Elman redes podem ser treinados com qualquer uma das duas funes% trem ou
adaptar. 2uando voc' usa a funo de trem para treinar uma rede Elman o seguinte
ocorre9
Em cada poca%
7 A sequ'ncia inteira de entrada apresentada para a rede% e as suas sadas so calculado
e comparado com a sequ'ncia alvo para gerar um erro sequ'ncia.
D 5ara cada intervalo de tempo% o erro backpropagated para encontrar gradientes de
erros para cada peso e preconceito. Este gradiente realmente uma apro!imao%
porque as contribuies de pesos e preconceitos a erros via adiada cone!o recorrente
so ignorados.
J Este gradiente % ento% utili-ado para actuali-ar os pesos com o Retropropagao
escol1ido funo de treinamento. ) traingd! funo recomendado. 7J +et/orks1ist&rico 7J,I 2uando voc' usa a funo de adaptar,se a treinar uma rede de Elman% o
seguinte ocorre9
Em cada passo de tempo,
7 vectores de entrada so apresentados K rede% e gera um erro.
D ) erro backpropagated para encontrar gradientes de erros para cada peso e vis. Este
gradiente na verdade uma apro!imao% porque as contribuies de pesos e desvios
para o erro% atravs da ligao recorrente atrasou% so ignorado.
J Este gradiente apro!imado ento utili-ado para actuali-ar os pesos com o funo de
aprendi-agem escol1ido. ) learngdm funo recomendado. Redes Elman no so to
confiveis como alguns outros tipos de redes% porque treinamento e adaptao acontecer
usando uma apro!imao do erro gradiente.
5ara uma Elman para ter a mel1or c1ance de aprender um problema% ele precisa de mais
neur"nios escondidos em sua camada escondida do que so realmente necessrios para
uma soluo por outro mtodo. Enquanto uma soluo pode estar disponvel com menos
neur"nios% o Rede Elman menos capa- de encontrar os pesos mais adequadas para
ocultos neur&nios porque o gradiente de erro apro!imada. 5ortanto% ter uma feira
n(mero de neur"nios para comear torna mais provvel que os neur"nios escondidos vaicomear a dividir o espao de entrada em formas (teis.
) trem funo treina uma rede Elman para gerar uma seqL'ncia de destino
vectores de quando apresentado com uma dada sequ'ncia de vectores de entrada. A
entrada vetores e vetores alvo so passados para treinar como matri-es 5 e M. trem leva
estes vectores e os pesos iniciais e preconceitos da rede% treina o rede usando
backpropagation com mpeto e uma aprendi-agem adaptativa ta!a% e retorna novos
pesos e preconceitos.
Continuar com o e!emplo% e supon1a que voc' quer treinar uma rede com uma
entrada 5 e alvos M como definido a seguir%
5 : round#rand#7%B$$
7/24/2019 Rede Elman
4/4
5 : 7 6 7 7 7 6 7 7
E
M : ;6 #5#79end,7$N5#D9end$ :: D$?tansig?%?logsig?@$
se trainbfg como a funo de treinamento e treinar para 766 pocas. Ap&s o
treinamento% simular a rede com a entrada 5 e calcular a diferena entre o sada de
destino e a sada da rede simulada.
5seq : conDseq#5$
Mseq : conDseq#M$
net : train#net%5seq%Mseq$
: sim#net%5seq$
- : seqDcon#$
->7%7@
diff7 : M , ->7%7@
+ote,se que a diferena entre o alvo e a sada da simulao rede treinada muito
pequena. Assim% a rede treinado para produ-ir o seqL'ncia de sada deseOado na
apresentao do vetor de entrada 5. Consulte PAppelm79 Qeteco AmplitudeP na
pgina 77,77 para uma aplicao do Rede Elman para a deteco da amplitude da onda.