Você está na página 1de 88

CS-449: Redes Neurais

Queda 99
Instrutor: Genevieve Orr
Universidade Willamette
Notas de Aulas preparadas por Genevieve Orr, Nici Schraudolph e Fred Cummins

[ contedo ] [ Links]

O contedo do curso
Resumo
Nosso objetivo apresentar aos alunos uma poderosa classe de modelo, a Rede Neural.
Na verdade, este um termo amplo que inclui muitas diversos modelos e abordagens.
Vamos primeiro motivar redes, por analogia, para o crebro. A analogia solto, mas
serve para introduzir a idia de computao paralela e distribuda.
Em seguida, introduzir um tipo de rede em detalhe: a rede feedforward treinado por
retropropagao de erro. Discutimos arquiteturas de modelos, mtodos de treinamento e
questes de representao de dados. Esperamos para cobrir tudo o que voc precisa
saber para se backpropagation trabalhando para voc. A gama de aplicaes e extenses
para o modelo bsico ser apresentado na seo final do mdulo.
Aula 1: Introduo
Perguntas
Motivao e Aplicaes
Clculo no crebro
Modelos de neurnios artificiais
A regresso linear
Redes neurais lineares
Redes Multi-layer
Backpropagation erro
Aula 2: Classificao
Introduo
Perceptron Aprendizagem
Delta Aprendizagem
Faz-lo direito
Palestra 3: Otimizao Linear Networks
Pesos e Aprendizagem de moeda
Resumo
Palestra 4: O Retropropagao Toolbox
Redes de 2 camadas e Retropropagao
Rudo e Overtraining
mpeto
Delta-Bar-Delta
Muitas redes de camada e Retropropagao
Retropropagao: um exemplo
Overfitting e regularizao
Crescer e poda redes
Pr-condicionamento da rede
mpeto
Delta-Bar-Delta
Palestra 5: Aprendizagem no supervisionada
Introduo
Compresso Linear (PCA)
No-linear de Compresso
Aprendizagem Competitiva
Kohonon de auto-organizao Nets
Aula 6: Reforo de Aprendizagem
Introduo
Componentes de RL
Terminologia e Equao de Bellman
Aula 7: Tpicos Avanados
Adaptao de taxa de Aprendizagem
Classificao
A aprendizagem no-supervisionada
Redes Neurais tempo de atraso
Redes neurais recorrentes
Real-Time Recurrent Aprendizagem
Dinmica de RNNs
Longa memria de curto prazo

Perguntas
1. Que tarefas so mquinas boas em fazer que os seres humanos no so?
2. Que tarefas so seres humanos bons em fazer que as mquinas no so?
3. Que tarefas so ambos bons?
4. O que significa aprender?
5. Como aprendizagem relacionada inteligncia?
6. O que significa ser inteligente? Voc acredita que uma mquina nunca vai ser
construdo, que exibe a inteligncia?
7. J as definies acima mudou ao longo do tempo?
8. Se um computador eram inteligentes, como voc sabe?
9. O que significa ser consciente?
10. possvel ser inteligente e no consciente, ou vice-versa?

As redes neurais foram iniciados cerca de 50 anos atrs. Suas habilidades iniciais eram
exageradas, lanando dvidas sobre o campo como um todo h um renovado interesse
recente no campo, no entanto, por causa de novas tcnicas e uma melhor compreenso
terica das suas capacidades.
Motivao para redes neurais:
Os cientistas so desafiados a usar mquinas de forma mais eficaz para tarefas
atualmente resolvidos por seres humanos.
Regras Simblicas no refletem processos realmente usados por seres humanos
Computao tradicional supera em muitas reas, mas no em outros.

Tipos de Aplicaes

Aprendizagem de mquina:
Tendo-se um programa de computador a partir de um conjunto de exemplos para
que voc no tem que program-lo a si mesmo. Este ser um forte foco deste
curso: redes neurais que aprendem a partir de um conjunto de exemplos.
Otimizao: dado um conjunto de restries e uma funo de custo, como voc
encontrar uma soluo ideal? Por exemplo, problema do caixeiro viajante.
Classificao: agrupamento de padres em classes: caracteres manuscritos ou
seja, em letras.
Memria associativa: recordando uma memria baseada em uma
correspondncia parcial.
Regresso: mapeamento de funo
A cincia cognitiva:
Modelagem maior nvel de raciocnio:
o lngua
o resoluo de problemas
Modelagem menor nvel de raciocnio:
o viso
o reconhecimento de voz audio
o gerao discurso
Neurobiologia: Modelagem modelos de como o crebro funciona.
nvel de neurnio
nveis mais elevados: viso, audio, etc sobreposies com pessoas cognitivos.
Matemtica:
Anlise estatstica no paramtrica e de regresso.
Filosofia:
Pode almas humano / comportamento ser explicada em termos de smbolos, ou
exige algo de nvel inferior, como um modelo baseado neurally?

Onde esto as redes neurais esto
sendo usados?
Processamento de sinal: rudo na linha suprimir, com cancelamento de eco
adaptativo, a separao cega de fontes
Controle: por exemplo, fazer backup de um caminho: a posio da cabina, a
posio traseira, e combinar com a doca so convertidos para instrues de
direo. Fbricas para controlar mquinas automatizadas.
Siemens usa com sucesso as redes neurais para a automao de processos em
indstrias de base, por exemplo, na implementao de controle moinho mais de
100 redes neurais fazer o seu trabalho, 24 horas por dia
Robtica - navegao, reconhecimento viso
O reconhecimento de padres, ou seja, reconhecer caracteres manuscritos, por
exemplo, a verso atual do Newton da Apple usa uma rede neural
Medicina, ou seja, o armazenamento de registros mdicos com base em
informaes sobre o caso
Produo da fala: texto leitura em voz alta (Nettalk)
O reconhecimento de fala
Viso: reconhecimento de face, deteco de borda, os motores de busca visual
Empresas, por exemplo. regras para decises de hipoteca so extrados de
decises passadas feitas por avaliadores experientes, resultando em uma rede
que tem um alto nvel de acordo com os especialistas humanos.
Aplicaes Financeiras: anlise de sries temporais, a previso do mercado de
aes
Compresso de dados: sinal de voz, imagem, por exemplo, rostos
Playing Game: gamo, xadrez, vai, ...

Clculo no crebro


O crebro - que o meu segundo rgo favorito! - Woody Allen

O crebro como um Sistema de
Processamento de Informaes
O crebro humano contm cerca de 10 bilhes de clulas nervosas, ou neurnios . Em
mdia, cada neurnio est conectado a outros neurnios atravs de cerca de 10 000
sinapses . (Os nmeros reais variam muito, dependendo da neuroanatomia local.) A
rede do crebro de neurnios forma um sistema de processamento de informao
massivamente paralelo. Isto contrasta com os computadores convencionais, em que um
nico processador executa uma nica srie de instrues.
Contra isso, considerar o tempo necessrio para cada operao elementar: os neurnios
normalmente operam a uma taxa mxima de cerca de 100 Hz, enquanto uma CPU
convencional realiza vrias centenas de milhes de operaes de nvel de mquina por
segundo. Apesar de ser construdo com hardware muito lento, o crebro tem
capacidades bastante notveis:
seu desempenho tende a degradar graciosamente sob danos parciais. Em
contraste, a maioria dos programas e sistemas de engenharia so frgeis: se voc
remover algumas partes arbitrrias, muito provavelmente, o todo vai parar de
funcionar.
ele pode aprender (reorganizar) a partir da experincia.
isso significa que a recuperao parcial dos danos possvel se as unidades
saudveis podem aprender a assumir as funes anteriormente desempenhadas
pelas reas danificadas.
ele executa clculos massivamente paralelos de forma extremamente eficiente.
Por exemplo, a percepo visual complexo ocorre em menos de 100 ms, ou seja,
10 etapas de processamento!
ele suporta a nossa inteligncia e auto-conscincia. (Ningum sabe ainda como
isso ocorre.)

elemento
s de
processa
mento
tama
nho
do
eleme
nto
uso
de
ener
gia
velocidad
e de
processa
mento
estilo de
computa
o
tolera
nte a
falha
s
apre
nde
intelig
ente,
conscie
nte

10
14

sinapses
10
-6

m
30
W
100 Hz.
Paralela
mente,
distribud
os
sim sim
geralm
ente

10
8

transistore
s
10
-6

m
30
W
(CP
U)
10
9
Hz.
serial,
centraliza
do
no
um
pouc
o
(ainda)
no
Como uma disciplina de Inteligncia Artificial, Redes Neurais tentativa de trazer
computadores um pouco mais para as capacidades do crebro, imitando certos aspectos
do processamento de informaes no crebro, de uma forma altamente simplificada.

Redes neurais no crebro
O crebro no homognea. Na maior escala anatmica, distinguimos crtex ,
mesencfalo , tronco cerebral e cerebelo . Cada um destes pode ser
hierarquicamente subdividida em muitas regies e reas dentro de cada regio, seja de
acordo com a estrutura anatmica das redes neurais dentro dele, ou de acordo com a
funo exercida por eles.
O padro geral de projees (bundles de conexes neurais) entre as reas
extremamente complexo, e apenas parcialmente conhecido. O sistema melhor mapeada
(e maior) no crebro humano o sistema visual, onde foram identificados os primeiros
10 ou 11 estgios de processamento. Podemos distinguir feedforward projees que
vo desde estgios iniciais de processamento (perto da entrada sensorial) para os
posteriores (perto da sada do motor), a partir de feedback conexes que vo na direo
oposta.
Alm destas ligaes de longo alcance, os neurnios tambm articular-se com muitos
milhares de seus vizinhos. Dessa forma, eles formam, redes locais complexos muito
densas:


Neurnios e Sinapses
A unidade computacional base no sistema nervoso o das clulas nervosas ou
neurnios . Um neurnio tem:
Dendritos (entradas)
Corpo celular
Axon (sada)
Um neurnio recebe a entrada de outros neurnios
(normalmente muitos milhares). Entradas soma
(aproximadamente). Uma vez entrada exceder um
nvel crtico, o neurnio descarrega um pico - um
pulso eltrico que viaja a partir do corpo, atravs do
axnio, para o prximo neurnio (s) (ou outros
receptores). Este evento de cravao tambm
chamado de despolarizao , e seguido por um
perodo refractrio , durante a qual o neurnio
incapaz de disparar.
As terminaes dos axnios (Sada Zona) quase tocar os dendritos ou corpo celular do
neurnio seguinte. A transmisso de um sinal eltrico de um neurnio para o outro
feita por neurotransmittors , produtos qumicos que so liberados a partir do primeiro
neurnio e que se ligam a receptores no segundo. Este link chamado de sinapse . A
medida em que o sinal de um neurnio passado para o prximo depende de muitos
fatores, como por exemplo a quantidade de neurotransmittor disponvel, o nmero ea
disposio dos receptores, a quantidade de neurotransmittor reabsorvido, etc

Apre
ndiza
gem
Syna
ptic
Brains
aprender.
Claro.
Pelo que
sabemos
de
estruturas
neuronais,
de uma
maneira
crebro
aprender
,
alterando
a fora
das
conexes
entre os
neurnios
, e
adicionan
do ou
excluindo
as
conexes
entre os
neurnios
. Alm
disso, eles
aprendem
"on-line",
com base
na
experinci
a e,
normalme
nte, sem o benefcio de um professor benevolente.
A eficcia de uma sinapse pode mudar como resultado da experincia, fornecendo tanto
a memria e aprendizagem atravs de potenciao de longa durao . Uma maneira
isso acontece atravs da liberao de mais neurotransmissores. Muitas outras
variaes podem tambm estar envolvidos.
Potenciao de longa durao:
An (> 1 hora) aumento duradouro da eficcia sinptica que resulta da
estimulao de uma aferentes (entrada) caminho de alta freqncia
Hebbs Postulado:
"Quando um axnio da clula A. .. excita [s] clula
B e repetidamente ou persistentemente participa
atirando, algum processo de crescimento ou
alterao metablica ocorre em uma ou ambas as
clulas, de modo que de uma eficincia como uma
das clulas disparando B aumentada. "
Bliss e Lomo descoberto LTP no hipocampo em
1973
Informaes importantes sobre o LTP:
As sinapses tornam-se mais ou menos
importante ao longo do tempo (plasticidade)
LTP baseado na experincia
LTP baseado apenas em locais de
informao (postulado de Hebb)

Resumo
As seguintes propriedades de sistemas nervosos ser de particular interesse em nossos
modelos de inspirao neurally:
paralelo, processamento de informao distribuda
alto grau de conectividade entre as unidades bsicas
conexes so modificveis com base na experincia
aprendizagem um processo constante, e, geralmente, sem superviso
aprendizagem baseado apenas em informaes locais
desempenho degrada graciosamente se algumas unidades so removidas
etc .........

Alm disso surf: O Sistema Nervoso - uma tima introduo, muitas fotos

Neurnio artificial
Modelos

Neurobilogos Computacional construram modelos de computador muito elaboradas
de neurnios, a fim de executar simulaes detalhadas de circuitos especficos do
crebro. Como cientistas de computador, estamos mais interessados nas propriedades
gerais de redes neurais, independente de como eles so realmente "implementado" no
crebro. Isso significa que podemos usar muito mais simples, sumrio "neurnios", que
(espero) capturam a essncia da computao neural mesmo que deixar de fora a maior
parte dos detalhes de como os neurnios biolgicos funcionam.
As pessoas tm implementado neurnios modelo em hardware como circuitos
eletrnicos, muitas vezes integrados em chips VLSI. Lembre-se que os computadores
correr muito mais rpido do que os crebros - podemos, portanto, correr bastante
grandes redes de neurnios modelo simples como simulaes de software em tempo
razovel. Isto tem vantagens bvias sobre ter que usar computador "neural" especial.
Um simples neurnio artificial
Nosso elemento computacional bsico (modelo de neurnio) muitas vezes chamado de
n ou unidade . Ele recebe a entrada a partir de algumas outras unidades, ou talvez a
partir de uma fonte externa. Cada entrada tem um associado peso w , que pode ser
modificado de modo a modelar a aprendizagem sinptica. A unidade calcula alguma
funo f da soma ponderada das suas entradas:

A sua sada, por sua vez, pode servir como entrada para as outras unidades.


A soma ponderada chamada de entrada de rede para a unidade i ,
muitas vezes escrito net
i
.
Note-se que w
ij
refere-se ao peso da unidade j para a unidade i (e no o
contrrio).
A funo f a unidade funo de ativao . No caso mais simples, f a funo
identidade e sada da unidade apenas a sua entrada lquida. Isto chamado
uma unidade linear .
Exemplos de bordo de funes de ativao .

Regresso Linear

Montagem de um Modelo de Dados
Considere os dados abaixo (para dados mais completos de automveis, ver descrio de
dados , dados brutos , e parcelas de bordo ):
(Fig. 1)
Cada ponto na figura fornece informaes sobre o peso (eixo-x, as unidades: Libras dos
EUA) e de consumo de combustvel (eixo-y, unidades: milhas por galo) por um de 74
carros (dados de 1979). Claramente peso e o consumo de combustvel esto ligados, de
modo que, em geral, os carros pesados usar mais combustvel.
Agora, suponha que nos dado o peso de um carro 75, e pediu para prever a quantidade
de combustvel que vai usar, com base nos dados acima. Tais questes podem ser
respondidas por meio de um modelo - uma descrio curta matemtica - os dados (ver
tambm iluses pticas ). O modelo mais simples til aqui da forma
y = w
1
x + w
0
(1)
Esta uma linear modelo: em um-XY, a equao 1 descreve uma linha recta com o
declive w
1
e intercepta w
0
com o eixo y, tal como mostrado na fig. . 2 (note que temos
redimensionada eixos coordenados - isto no muda o problema de alguma forma
fundamental.)
Como que vamos escolher os dois parmetros w
0
e w
1
do nosso modelo? Claramente,
qualquer linha reta traada de alguma forma atravs dos dados poderia ser usado como
um indicador, mas algumas linhas vo fazer um trabalho melhor do que outros. A linha
na fig. 2 no , certamente, um bom modelo, pois a maioria dos carros, ele ir prever
muito o consumo de combustvel para um determinado peso.
(Fig. 2)

A funo de perda
A fim de tornar preciso o que entendemos por ser um "bom indicador", definimos uma
perda (tambm chamado de objetivo ou de erro ) Funo E ao longo dos parmetros
do modelo. Uma escolha popular para E o erro de soma-quadrado :

(2)
Em palavras, a soma de todos os pontos i no conjunto da diferena de quadrados entre
os nossos dados alvo valor t
i
(aqui: o consumo real de combustvel) e do modelo de
previso de y
i
, calculada a partir do valor de entrada x
i
(aqui: peso do carro) na
equao 1. Para um modelo linear, o erro soma-sqaured uma funo quadrtica dos
parmetros do modelo. A Figura 3 mostra E para uma gama de valores de w
0
e w
1
. A
Figura 4 mostra as mesmas funes que um grfico de contorno.
(Fig. 3) (Fig. 4)


Minimizar a perda
A funo de perda E nos fornece uma medida objetiva de erro preditivo para uma
escolha especfica de parmetros do modelo. Podemos, assim, reafirmar o nosso
objetivo de encontrar o melhor modelo (linear) como encontrar os valores para os
parmetros do modelo que minimizam E .
Para modelos lineares, regresso linear fornece uma maneira direta para calcular esses
parmetros do modelo ideal. (Veja qualquer livro de estatsticas para mais detalhes.) No
entanto, esta abordagem analtica no generalizar para no-lineares modelos (que
vamos chegar a at o final desta palestra). Mesmo que a soluo no pode ser calculado
de forma explcita, nesse caso, o problema ainda pode ser resolvido atravs de uma
tcnica chamada numrica iterativo gradiente descendente . Ela funciona como se
segue:
1. Escolha algumas (aleatrio) valores iniciais para os parmetros do modelo.
2. Calcular o gradiente de G da funo de erro com respeito a cada um dos
parmetros do modelo.
3. Alterar os parmetros do modelo de modo que mova a uma curta distncia no
sentido da maior taxa de reduo do erro, ou seja, no sentido de-L.
4. Repita os passos 2 e 3 at que G fica perto de zero.
Como isso funciona? O gradiente de E nos d a direo em que a funo de perda no
settting atual do w tem a mais ngreme encosta . Em ordder para diminuir E , tomamos
um pequeno passo na direo oposta, -G (Fig. 5).
(Fig. 5)
Ao repetir isso mais e mais, ns nos movemos "downhill" em E at chegar a um
mnimo, onde G = 0, de modo que nenhum progresso possvel (Fig. 6).
(Fig. 6)
Fig. 7 mostra o melhor modelo linear para os nossos dados do carro, encontrado por este
procedimento.
(Fig. 7)

uma rede neural!
O nosso modelo linear de equao 1 pode, de facto, ser implementada por uma rede
neural simples mostrado na fig. 8. Consiste num vis unidade, uma entrada de unidade,
e de uma forma linear de sada da unidade. A unidade de entrada faz com que a entrada
externa x (aqui: o peso de um carro) disponveis na rede, enquanto que a unidade de
polarizao tem sempre uma sada constante de uma unidade de sada A calcula a
soma.:
y
2
= y
1
w
21
+ 1,0 w
20
(3)
fcil ver que isso equivalente a equao 1, com w
21
implementao da inclinao da
linha reta, e w
20
sua intercepo com o eixo-y.
(Fig. 8)

Redes Neurais lineares

De regresso mltipla
Nosso exemplo do carro mostrou como poderamos descobrir uma funo linear ideal
para prever uma varivel (consumo de combustvel) a partir de um outro (peso).
Suponha agora que ns tambm recebem uma ou mais variveis adicionais que podem
ser teis como preditores. Nosso modelo de rede neural simples pode ser facilmente
estendido para este caso adicionando mais unidades de entrada (Fig. 1).
Da mesma forma, a gente pode querer prever mais de uma varivel a partir dos dados
que ns estamos dando. Isto pode ser facilmente acomodado por adio de mais
unidades de sada (Fig. 2). A funo de perda para uma rede com mltiplas sadas
obtida simplesmente adicionando a perda para cada unidade de produo em conjunto.
A rede tem agora uma estrutura em camadas tpica: uma camada de unidades de entrada
(e do enviesamento), ligada por uma camada de pesos de uma camada de unidades de
sada.

(Fig. 1) (Fig. 2)

Calculando o gradiente
A fim de treinar as redes neurais, tais como as mostradas acima por gradiente
descendente, precisamos ser capazes de calcular o gradiente G da funo de perda em
relao a cada peso w
ij
da rede. Ela nos diz como uma pequena mudana em que o peso
vai afetar o erro global E . Comeamos por dividir a funo de perda em termos
separados para cada ponto p em os dados de treinamento:

(1)
em que o percorre as unidades da rede de sada. (Note que usamos o expoente p para
designar o ponto de formao - isto no uma exponenciao!) Desde diferenciao e
soma so intercambiveis, podemos tambm dividir o gradiente em componentes
separados para cada ponto de formao:

(2)
No que se segue, descreve-se o clculo do gradiente para um nico ponto de dados,
omitindo o expoente p , a fim de tornar a notao mais fcil de seguir.
Primeiro use a regra da cadeia para decompor o gradiente em dois fatores:

(3)
O primeiro factor pode ser obtido por diferenciao Eq.. 1 acima:

(4)
Usando , o segundo fator se torna

(5)
Colocar os pedaos (equaes 3-5) juntos novamente, obtemos

(6)
Para encontrar o gradiente G para todo o conjunto de dados, que soma em cada peso a
contribuio dada pela equao 6 sobre todos os pontos de dados. Podemos ento
subtrair uma pequena proporo (chamado a taxa de aprendizagem ) de L a partir
dos pesos de realizar gradiente descendente.

The Descent Algoritmo Gradiente
1. Inicializar todos os pesos com valores aleatrios pequenos.
2. Repita at que fez
1. Para cada peso w
ij
conjunto
2. Para cada ponto de dados ( x, t )
p

1. configurar as unidades de entrada de x
2. valor de clculo de unidades de sada
3. Para cada peso w
ij

conjunto
3. Para cada peso w
ij
conjunto
O algoritmo termina, uma vez que est, ou suficientemente perto, o mnimo da funo
de erro, em que L = 0. Dizemos, ento, que o algoritmo tenha convergido .
Em resumo:

caso geral rede linear
Dados
Training
( x, t ) ( x, t )
Os
parmetros
do modelo
w w
Modelo y = g ( w , x )

Funo de
erro
E ( y, t )

Gradiente
em relao
a w
ij


- (T
i
- y
i
) y
j

Regra de
atualizao
de peso



The Learning Taxa
Uma considerao importante a taxa de aprendizagem , que determina por quanto
mudamos os pesos w em cada etapa. Se muito pequeno, o algoritmo vai levar um
longo tempo a convergir (Fig. 3).
(Fig. 3)
Por outro lado, se muito grande, podemos acabar saltando ao redor da superfcie do
erro fora de controle - o algoritmo diverge (Fig. 4). Isso geralmente termina com um
erro de estouro na aritmtica de ponto flutuante do computador.
(Fig. 4)

Batch vs Aprendizagem On-line
Acima temos acumulado das contribuies de gradiente para todos os pontos de dados
no conjunto de treinamento antes de atualizar os pesos. Este mtodo muitas vezes
referida como lote de aprendizagem. Uma abordagem alternativa on-line de
aprendizagem, onde os pesos so atualizados imediatamente depois de ver cada ponto
de dados. Uma vez que o gradiente de um nico ponto de dados pode ser considerada
como uma aproximao ruidoso ao gradiente geral L (fig. 5), este tambm chamado
estocstica (ruidoso) gradiente descendente.
(Fig. 5)
Aprendizagem on-line tem uma srie de vantagens:
que muitas vezes muito mais rpido, especialmente quando o conjunto
de treinamento redundante (contm muitos pontos de dados
semelhantes),
ele pode ser usado quando no existe um conjunto de treinamento fixo
(novos dados continua vindo em),
melhor em rastreamento no estacionrios ambientes (onde o melhor
modelo muda gradualmente ao longo do tempo),
o rudo no gradiente pode ajudar a escapar de mnimos locais (que so
um problema para a descida de gradiente em modelos no lineares).
Estas vantagens so, no entanto, comprados por preo: muitas tcnicas de otimizao
poderosos (tais como: conjugado e mtodos de gradiente de segunda ordem, as
mquinas de vetores de suporte, mtodos bayesianos, etc) - que no vamos falar neste
curso! - So mtodos em lotes que no pode ser usado em linha. ( claro que isso
tambm significa que, a fim de implementar o aprendizado lote muito bem, a pessoa
tem que aprender muito sobre estes mtodos bastante complicado!)
Um compromisso entre lotes e aprendizagem on-line o uso de "mini-lotes": os pesos
so atualizados aps cada n pontos de dados, onde n maior do que 1, mas menor do
que o tamanho do conjunto de treinamento.
A fim de manter as coisas simples, vamos nos concentrar muito na aprendizagem on-
line, onde gradiente descendente simples est entre as melhores tcnicas disponveis.
Aprendizagem on-line tambm altamente adequada para implementar coisas como
estratgias de controle de reativos em agentes adapative, e deve, portanto, se encaixam
bem com o resto do seu curso.

Redes Multi-layer

Um problema no linear
Considere novamente o melhor ajuste linear encontramos para os dados do carro. Observe
que os pontos de dados no esto uniformemente distribudas em torno da linha: para baixo
peso, vemos mais milhas por galo do que o nosso modelo prev. Na verdade, parece que uma
simples curva poderia caber esses dados melhor do que a linha reta. Ns podemos permitir
que nossa rede neural para fazer tal ajuste de curva, dando-lhe um n adicional que tem um
(devidamente curva no-linear ) funo de ativao . Uma funo til para esta finalidade o
formato de S tangente hiperblica funo (tanh) (fig. 1).





(Fig. 1)

(Fig. 2)
FIG. 2 mostra a nova rede: um n adicional (unidade 2) com a funo de activao tanh
foi inserido entre a entrada ea sada. Uma vez que tal n "escondido" dentro da rede,
comumente chamado de uma unidade oculta . Note-se que a unidade escondida
tambm tem um de peso a partir da unidade de polarizao. Em geral, todas as unidades
da rede neural no-entrada tem um peso tal vis. Para simplificar, a unidade de
preconceito e pesos so geralmente omitido a partir de diagramas de redes neurais - a
menos que seja especificado de outra forma, voc deve sempre assumir que eles esto
l.
(Fig. 3)
Quando esta rede treinada por gradiente descendente sobre os dados de veculos, que
aprende a ajustar a funo tanh para os dados (Fig. 3). Cada um dos quatro pesos na
rede desempenha um papel especial neste processo: os dois pesos vis mudar a funo
tanh no e x y-direo, respectivamente, enquanto os outros dois pesos escal-lo ao longo
dessas duas direes. Fig. 2 d os valores de peso que a soluo representada na fig. 3.

Camadas ocultas
Pode-se argumentar que, no exemplo acima, temos enganado por escolher uma funo de
ativao escondido unidade que poderia caber bem os dados. O que faramos se os dados se
parece com isso (Fig. 4)?
(Fig. 4)
(Concentrao relativa de NO e NO
2
, em gases de escape em funo
da riqueza da mistura de etanol / ar queimado em um motor de carro.)
Obviamente, a funo tanh no pode caber esses dados em tudo. Poderamos inventar
uma funo de ativao especial para cada conjunto de dados que encontramos, mas que
iria derrotar o nosso propsito de aprender a modelar os dados. Gostaramos de ter um
mtodo de aproximao geral, a funo no-linear que nos permita encaixar qualquer
conjunto de dados fornecido, no importa como ele se parece.
(Fig. 5)
Felizmente, h uma soluo muito simples: adicionar mais unidades escondidas! Na
verdade, uma rede com apenas duas unidades escondidas usando a funo tanh (Fig. 5)
pode caber a dat na figura. 4 muito bem - voc pode ver como? O encaixe pode ainda
ser melhorada por adio de ainda mais unidades para a camada escondida . Note, no
entanto, que ter muito grande uma camada oculta - ou muitas camadas escondidas -
pode prejudicar o desempenho da rede (mais sobre isso mais tarde). Em geral, no se
deve usar mais unidades ocultas do que o necessrio para resolver um determinado
problema. (Uma forma de garantir isso para comear a treinar com uma pequena rede.
Se gradiente descendente no conseguir encontrar uma soluo satisfatria, crescer a
rede, adicionando uma unidade oculta, e repetir.)
Os resultados tericos indicam que dadas as unidades escondidas suficientes, uma rede
como o de figura. 5 pode aproximar qualquer funo razovel para qualquer grau de
preciso. Em outras palavras, toda a funo pode ser expressa como uma combinao
linear de funes tanh: tanh uma funo de base universal . Muitas funes formam
uma base universal; as duas classes de funes de ativao comumente usados em redes
neurais so as sigmoidais (em forma de S) funes de base (ao qual pertence tanh), e as
radiais funes de base.

Backpropagation erro

J vimos como treinar redes lineares por gradiente descendente. Na tentativa de fazer o
mesmo para redes multi-camada, encontramos uma dificuldade: no temos quaisquer
valores-alvo para as unidades escondidas. Este parece ser um problema insupervel -
como poderamos dizer as unidades escondidas exatamente o que fazer? Esta questo
no resolvida era de fato a razo pela qual as redes neurais caiu em desgraa aps um
perodo inicial de grande popularidade na dcada de 1950. Demorou 30 anos antes da
retropropagao de erro (ou, em suma: Retropropagao ) algoritmo popularizou
uma maneira de treinar unidades escondidas, levando a uma nova onda de investigao
de redes neurais e aplicaes.
(Fig. 1)
Em princpio, Retropropagao fornece uma maneira de formar redes com qualquer
nmero de unidades intermedirias dispostas em qualquer nmero de camadas. (. H
limites prticos claros, que ns discutiremos mais tarde) Na verdade, a rede no tem que
ser organizados em camadas - qualquer padro de conectividade que permite uma
ordenao parcial dos gnglios da entrada sada permitido. Por outras palavras,
deve haver um modo para encomendar as unidades de modo a que todas as ligaes de
ir "anterior" (mais perto da entrada) para os "posteriores" (mais prxima do produto).
Isso equivale a afirmar que o seu padro de conexo no deve conter ciclos. Redes que
respeitem essa restrio so chamados feedforward redes; seu padro de conexo de
forma um grafo acclico dirigido ou dag .

O Algoritmo
Queremos formar uma rede feedforward multi-camada por gradiente descendente para
aproximar uma funo desconhecida, com base em alguns dados de treinamento que
consiste em pares ( x, t ). O vector x representa um padro de entrada para a rede, e o
vector t o correspondente alvo (sada desejada). Como vimos antes, o gradiente geral no
que diz respeito a todo o conjunto de treinamento apenas a soma dos gradientes para
cada padro; no que se segue, portanto, vamos descrever como calcular o gradiente para
apenas um nico padro de treinamento. Como antes, vamos numerar as unidades, e
denotam o peso da unidade j para a unidade i por w
ij
.
1. Definies:
o o erro de sinal para a unidade de j:


o o (negativo) de gradiente de peso w
ij
:


o o conjunto de ns anterior a unidade i:


o o conjunto de ns posterior a unidade j:


2. . O gradiente como fizemos para redes lineares antes, ns expandimos o
gradiente em dois fatores pelo uso da regra da cadeia:

O primeiro fator o erro de unidade i. A segunda

Colocando os dois juntos, chegarmos
.
Para calcular este gradiente, que, portanto, precisam conhecer a atividade e o
erro de todos os ns relevantes na rede.
3. Activaction frente. A actividade das unidades de entrada determinada pela
rede de entrada externa x . Para todas as outras unidades, a atividade
propagado para a frente:

Note-se que antes da atividade da unidade i pode ser calculado, a atividade de
todos os seus ns anterior (que formam o conjunto A
i
) deve ser conhecido.
Uma vez que as redes feedforward no contm ciclos, h uma ordenao de ns
de entrada para a sada que respeita esta condio.
4. Calculando erro de sada. Assumindo que estamos usando a perda soma-
quadrado

o erro da unidade de sada o simplesmente

5. Retropropagao de erro. Para as unidades ocultas, devemos propagar o erro
de volta dos ns de sada (da o nome do algoritmo). Novamente usando a regra
da cadeia, podemos expandir o erro de uma unidade escondida em termos de
seus ns posteriores:

Dos trs fatores dentro da soma, o primeiro apenas o erro de n i. A segunda

enquanto o terceiro a derivada da funo de ativao do n j:

Para unidades escondida h que usam a funo de ativao tanh, podemos fazer
uso da identidade especial
tanh (u) '= 1 - tanh (u)
2
, dando-nos

Colocar todas as peas juntas chegarmos

Note-se que, a fim de calcular o erro para a unidade j, preciso primeiro saber o
erro de todos os seus ns posteriores (que formam o conjunto P
j
). Mais uma
vez, desde que no haja ciclos na rede, existe uma ordem de nodos a partir da
sada de volta para a entrada que respeita esta condio. Por exemplo, pode
simplesmente utilizar o inverso da ordem na qual a actividade foi propagada
para a frente.

Formulrio de Matrix
Para redes feedforward em camadas que esto totalmente ligados - ou seja, cada n em
uma determinada camada se conecta a cada n na camada seguinte - muitas vezes
mais conveniente escrever o algoritmo Retropropagao em notao matricial ao invs
de usar forma mais geral grfico dado acima. Nesta notao, os pesos preconceitos, as
entradas lquidas, ativaes, e sinais de erro para todas as unidades em uma camada so
combinados em vetores, enquanto todos os pesos no-preconceito de uma camada para
a prxima formar uma matriz W. Layers so numerados de 0 (a camada de entrada) a G
(a camada de sada). O algoritmo, em seguida, Retropropagao parece como se segue:
1. Inicializar a camada de entrada:

2. Propagar atividade para a frente: para l = 1, 2, ..., L,

onde b
l
o vetor de pesos vis.
3. Calcular o erro da camada de sada:

4. Backpropagate o erro: para l = G-1, G-2, ..., 1,

onde T o operador de transposio da matriz.
5. Atualizar os pesos e preconceitos:

Voc pode ver que esta notao significativamente mais compacta do que a forma de
grfico, mesmo que ele descreve exatamente a mesma seqncia de operaes.

Backpropagation de
erro: um exemplo

Agora vamos mostrar um exemplo de uma rede Retropropagao como ele aprende a
modelar a dados altamente no-linear que encontramos antes.

O painel esquerdo mostra os dados a serem modelados. O painel da direita mostra uma
rede com duas unidades escondidas, cada um com uma funo de ativao tanh no-
linear. A unidade de sada calcula uma combinao linear das duas funes

(1)
Onde

(2)
e

(3)
Para comear, vamos definir os pesos, a .. g, para valores iniciais aleatrios no intervalo
[-1,1]. Cada unidade escondida est computando assim uma funo tanh aleatria. A
figura seguinte mostra as duas funes de activao inicial e a sada da rede, que a
soma mais uma constante negativa. (Se voc tiver dificuldade em fazer os tipos de
linhas, as duas primeiras curvas so as funes tanh, o outro na parte inferior a sada
de rede).

Vamos agora treinar a rede (taxa de 0,3 aprendizagem), atualizando os pesos aps cada
padro (aprendizagem online). Depois de ter passado por todo o conjunto de dados 10
vezes (10 pocas de treinamento), as funes computados parecido com este (a sada a
curva do meio):

Depois de 20 pocas, temos (a sada a curva de corcunda):

e aps 27 pocas, temos um ajuste muito bom para os dados:


Como as funes de ativao so esticados, escalado e trocou pelos pesos de mudana,
esperamos que o erro do modelo est caindo. Na prxima figura marcamos a soma total
erro quadrado sobre todos os 88 padres de dados em funo do treinamento poca.
Quatro corridas de treinamento so mostrados, com diferente peso de inicializao de
cada vez:

Voc pode ver que o caminho para a soluo diferente a cada vez, tanto porque
partimos de um ponto diferente no espao de peso, e porque a ordem em que os padres
so apresentados aleatrio. No entanto, todas as curvas de treinamento descer
monotonically, e todos atingir aproximadamente o mesmo nvel de erro global.

Superajuste

No exemplo anterior, utilizou-se uma rede com duas unidades escondidas. Basta olhar
para os dados, foi possvel supor que duas funes tanh faria um bom trabalho de ajuste
dos dados. Em geral, no entanto, podemos no saber quantas unidades escondidas, ou
equivalentemente, quantos pesos, teremos de produzir uma aproximao razovel para
os dados. Alm disso, geralmente procuram um modelo de dados que nos dar, em
mdia, os melhores possveis previses para novos dados. Este objetivo pode entrar em
conflito com a tarefa mais simples de modelagem de um treinamento especfico bem
definido. Nesta seo, vamos olhar para algumas tcnicas para prevenir o nosso modelo
se torne muito poderoso (overfitting). No prximo, vamos abordar a questo relacionada
de selecionar uma arquitetura apropriada com a quantidade certa de parmetros
treinveis.
Vis-Variance trade-off
Considere as duas funes embutidos abaixo. Os pontos de dados (crculos) ter sido gerada a
partir de uma funo suave, h (x) , com algum rudo adicionado. Obviamente, ns queremos
acabar com um modelo que se aproxima h (x) , dado um conjunto especfico de dados y (x)
gerado como:

(1)
No painel do lado esquerdo tentamos encaixar os pontos usando uma funo g (x) que
tem muito poucos parmetros: uma linha reta. O modelo tem a virtude de ser simples;
h apenas dois parmetros livres. No entanto, ele no faz um bom trabalho de ajuste dos
dados, e no faria bem para prever novos pontos de dados. Dizemos que o modelo mais
simples tem um alto vis .

O painel da direita mostra um modelo que foi montado usando muitos parmetros
livres. Ele faz um excelente trabalho de montagem dos pontos de dados, como o erro
nos pontos de dados est perto de zero. No entanto, no faria um bom trabalho de
previso de h (x) para os novos valores de x . Ns dizemos que o modelo tem uma alta
varincia . O modelo no refletir a estrutura que esperamos estar presentes em qualquer
conjunto de dados gerado pela equao (1) acima.
Claramente, o que ns queremos algo entre os dois: um modelo que poderoso o
suficiente para representar a estrutura subjacente dos dados ( h (x) ), mas no to
poderoso que fielmente os modelos do rudo associado a esta amostra de dados
particular.
O vis-varincia trade-off mais provvel de se tornar um problema se ns temos
relativamente poucos pontos de dados. No caso oposto, onde temos essencialmente um
nmero infinito de pontos de dados (como na aprendizagem on-line contnua), no so
geralmente em perigo de overfitting dos dados, como o rudo associado a qualquer
ponto nico de dados desempenha um papel muito pequeno em nosso ajuste global. As
seguintes tcnicas, portanto, aplicar-se a situaes em que temos um conjunto de dados
finito, e, geralmente, onde queremos treinar no modo batch.
Preveno overfitting
Interrupo precoce
Um dos meios mais simples e mais amplamente utilizados de evitar overfitting dividir os
dados em dois conjuntos: um conjunto de treinamento e uma validao definidos. Ns
treinamos usando apenas os dados de treinamento. De vez em quando, no entanto, parar de
treinar, e desempenho de rede de teste sobre o conjunto de validao independente. No h
atualizaes de peso so feitos durante este teste! Como os dados de validao
independente dos dados de treinamento, o desempenho de rede uma boa medida de
generalizao, e enquanto a rede est a aprender a estrutura subjacente dos dados ( h (x)
acima), o desempenho no conjunto de validao ir melhorar com treinamento. Uma vez que
a rede deixa de coisas que se esperam para ser verdade de qualquer amostra de dados e
aprende coisas que so verdadeiras apenas desta amostra (epsilon na Equao 1 acima) de
aprendizagem, desempenho no conjunto de validao vai parar de melhorar, e, normalmente,
vai piorar. Curvas de aprendizagem esquemticos mostrando erro nos conjuntos de
treinamento e validao so mostrados abaixo. Para evitar overfitting, ns simplesmente parar
de treinar em tempo t , em que o desempenho do conjunto de validao o ideal.

Um detalhe digno de nota ao usar interrupo precoce: se queremos testar a rede
treinada em um conjunto de dados independentes para medir sua capacidade de
generalizar, precisamos de um terceiro, conjunto de teste independente. Isto porque
ns usamos o conjunto de validao para decidir quando parar de treinar e, assim, nossa
rede treinados j no totalmente independente do conjunto de validao. Os requisitos
de treino, validao e teste conjuntos independentes significa que um fim precoce s
pode ser utilizado em uma situao rico em dados.
Decadncia Peso
A funo de sobre-montada acima mostra um elevado grau de curvatura, enquanto a funo
linear maximamente suave. regularizao refere-se a um conjunto de tcnicas que ajudam a
garantir que a funo calculado pela rede no mais curvo do que o necessrio. Isto
conseguido atravs da adio de uma penalizao para a funo de erro, dando:

(2)
Uma forma possvel de o regularizer vem da observao de que informal um
mapeamento sobre equipada com regies de grande curvatura requer grandes pesos.
Temos, assim, penalizar grandes pesos, escolhendo

(3)
Usando esta funo de erro modificada, os pesos so atualizados agora como

(4)
onde o termo direita faz com que o peso para diminuir em funo do seu tamanho. Na
ausncia de qualquer entrada, todos os pesos tender a diminuir exponencialmente, e da
o termo "decaimento peso".
Treinar com rudo
Um mtodo final, que muitas vezes podem ajudar a reduzir a importncia das caractersticas
de rudo especficos associados com uma amostra de dados em particular para adicionar uma
pequena quantidade extra de rudo (um valor aleatrio pequeno com valor mdio igual a zero)
para cada entrada. Cada vez que um padro de entrada especfico x apresentado, ns
adicionamos um nmero aleatrio diferente, e usar em seu lugar.
Num primeiro momento, isto pode parecer uma coisa bastante estranha de se fazer: a
uns deliberadamente corruptos prprios dados. No entanto, talvez voc pode ver que
agora vai ser difcil para a rede para aproximar qualquer ponto de dados especfico
muito de perto. Na prtica, a formao de rudo adicionado na verdade tem sido
mostrado para reduzir superajuste e, assim, melhorar a generalizao em algumas
situaes.
Se temos um conjunto de treinamento finito, uma outra maneira de introduzir rudo no
processo de formao usar o treinamento on-line, ou seja, a atualizao de pesos aps
cada apresentao padro, e para reordenar aleatoriamente os padres no final de cada
poca de treinamento. Desta maneira, cada actualizao de peso baseia-se numa
estimativa do rudo verdadeiro gradiente.

Crescer e poda
Networks

O modelador de rede neural confrontado com uma enorme variedade de modelos e
regimes de treinamento a partir do qual a escolher. Este curso s pode servir para
apresent-lo aos modelos mais comuns e gerais. No entanto, mesmo depois de decidir,
por exemplo, para treinar uma rede de avano de alimentao simples, usando alguma
forma especfica de gradiente descendente, com ns tanh em uma nica camada
escondida, uma questo importante a ser abordado permanece: como uma grande rede
que devemos escolher ? Quantas unidades escondida, ou, relativamente, quantos pesos?
A ttulo de exemplo, os dados no-linear que se formou o primeiro exemplo pode ser
montada muito bem utilizando 40 funes tanh. Aprender com 40 unidades escondidas
consideravelmente mais difcil do que aprender com 2, e leva muito mais tempo. O
encaixe resultante no melhor (como medido pela soma erro quadrado) do que o
modelo de duas unidades.
A resposta mais comum no necessariamente o melhor: que acho um nmero
apropriado (como fizemos acima).
Outra soluo comum experimentar vrios tamanhos de rede e selecionar os mais
promissores. Nenhum desses mtodos muito ntegro.
Duas classes mais rigorosos de mtodos esto disponveis, no entanto. Podemos
comear com uma rede que sabemos ser muito pequeno, e de forma iterativa adicionar
unidades e pesos, ou podemos treinar uma rede de grandes dimenses e remover
unidades / pesos da rede final. Vamos examinar brevemente cada uma dessas
abordagens.
Redes em crescimento
A forma mais simples do algoritmo crescente rede comea com uma pequena rede, um
dizer com somente uma nica unidade escondido. A rede treinada at que a melhoria
no erro sobre uma poca cai abaixo de um limiar. Em seguida, adicionar uma unidade
oculta adicional, com pesos de entradas e sadas. Ns inicializar os novos pesos de
forma aleatria e voltar a treinar. O processo continua at que nenhum ganho
significativo conseguido atravs da adio de uma unidade extra. O processo
ilustrado abaixo.

Correlao Cascade
Alm de simplesmente ter muitos parmetros (perigo de overfitting), h um problema
com grandes redes, que tem sido chamado de efeito manada . Imagine que temos uma
tarefa que essencialmente decomponvel em dois sub-tarefas A e B . Temos um
nmero de unidades escondidas e ligaes ponderados aleatoriamente. Se a tarefa A
responsvel pela maior parte do sinal de erro de chegar s unidades intermedirias,
haver uma tendncia para que todas as unidades para tentar resolver simultaneamente a
um . Uma vez que o erro imputvel a A foi reduzido, de erro da subtarefa B ir
predominar, e todas as unidades agora vai tentar resolver isso, levando a um aumento
novamente no erro de A . Eventualmente, devido, principalmente, aleatoriedade na
inicializao do peso, o rebanho vai dividir e unidades diferentes abordar diferentes
sub-problemas, mas isso pode levar um tempo considervel.
Para contornar este problema, Fahlman (1991) props um algoritmo chamado
correlao cascata que comea com uma rede mnima ter apenas unidades de entrada e
sada. Formao de uma camada nica no requer volta-propagao de erros e pode ser
feito de forma muito eficiente. Em algum momento, a formao contnua no vai
produzir muita melhora. Se o desempenho da rede satisfatria, a formao pode ser
interrompido. Se no, deve haver algum erro remanescente que queremos reduzir um
pouco mais. Isto feito atravs da adio de uma nova unidade escondida para a rede,
tal como descrito no pargrafo seguinte. A nova unidade adicionado, seus pesos de
entrada so congelados (ou seja, eles deixaro de ser alterado) e todos os pesos de sada
so, mais uma vez treinado. Este processo repetido at que o erro suficientemente
pequeno (ou at que desistir).
Para adicionar uma unidade oculta, comeamos com uma unidade de candidato e
fornec-lo com conexes de entrada das unidades de entrada e de todas as unidades
ocultas existentes. Ns ainda no dar quaisquer conexes de sada. Pesos de entrada da
nova unidade so treinados por um processo semelhante ao gradiente descendente.
Especificamente, buscamos maximizar a covarincia entre v , o valor da nova unidade, e
E
o
, o erro de sada na sada da unidade o .
Definimos S como:

(1)
onde o percorre as unidades de sada e de p varia ao longo dos padres de entrada. Os
termos so os valores mdios de v e E
o
sobre todos os padres. Realizando
gradiente ascenso na derivada parcial (vamos pular a frmula explcita aqui)
garante que vamos acabar com uma unidade cuja activao maximamente
correlacionados (positiva ou negativamente) com o erro remanescente. Uma vez que
tenhamos maximizada S , ns congelar os pesos de entrada e instalar a unidade na rede
como descrito acima. Todo o processo ilustrado abaixo.
Em (1) ns treinamos os pesos da entrada sada. Em (2), adicionamos uma unidade
candidato e treinar seus pesos para maximizar a correlao com o erro. Em (3) que
treinar a camada de sada (4), ns treinamos os pesos de entrada para outra unidade
oculta, (5) requalificar a camada de sada, etc Porque ns treinamos apenas uma camada
de cada vez, o treinamento muito rpido. O que mais, porque os pesos de
alimentao em cada unidade oculta no mudam quando a unidade foi adicionado,
possvel gravar e armazenar as ativaes das unidades escondidas para cada padro e
reutilizar esses valores sem reclculo em pocas posteriores.

Redes de poda
Uma abordagem alternativa para redes em crescimento comear com um
relativamente grande rede e, em seguida, remover os pesos, de modo a chegar a uma
arquitetura de rede ideal. O procedimento usual a seguinte:
1. Treinar um grande, densamente conectado, rede com um algoritmo de
treinamento padro
2. Examinar a rede treinada para avaliar a importncia relativa dos pesos
3. Retire a menos de peso importante (s)
4. treinar a rede podada
5. Repita os passos 2-4 at ficar satisfeito
Decidir quais so os pesos menos importantes uma questo difcil para o qual so
possveis vrias abordagens heursticas. Podemos estimar o montante pelo qual o erro
de funo E muda para uma pequena mudana em cada peso. A forma de clculo para
esta estimativa nos levaria longe demais aqui. Vrias formas desta tcnica foram
chamados danos cerebrais ideal e cirurgio cerebral ideal .

Pr-condicionamento da
Rede

Ill-condicionado
Na seo anterior em overfitting, vimos o que pode acontecer quando a rede aprende um
determinado conjunto de dados muito bem. Infelizmente, um problema muito mais
freqentes encontrados pelos usurios retropropagao exatamente o oposto: que a
rede no aprender bem em tudo! Isso geralmente devido ao mal-condicionamento da
rede.
(Fig. 1-A)
Lembre-se que a descida de gradiente requer uma razovel taxa de aprendizagem para
funcionar bem: se for muito baixa (Fig. 1a), a convergncia ser muito lenta; defini-lo
muito alto, ea rede vai divergir (Fig. 1b).
(Fig. 1b)
Infelizmente, a melhor taxa de aprendizagem normalmente diferente para cada peso da
rede! s vezes, essas diferenas so pequenas o suficiente para uma taxa de
aprendizagem compromisso nico, global para funcionar bem - outras vezes no. Ns
chamamos de uma rede mal-condicionado, se exige que as taxas de aprendizagem para
os seus pesos que diferem por tanto que no h nenhuma taxa mundial em que a rede
aprende razoavelmente bem. A funo de erro para uma rede deste tipo caracterizado
por longas, vales estreitos:
(Fig. 2)
(Matematicamente, mal condicionado caracterizado por um elevado nmero de
condio . O nmero de condio a relao entre o maior e o menor valor prprio da
rede de Hesse . Hessian a matriz de segundas derivadas da funo de perda em relao
ao peso. Embora seja possvel calcular a de Hesse para uma rede de multi-camada e de
determinar o seu nmero da condio explicitamente, um processo bastante
complicado, e raramente feito.)
Ill-condicionado em redes neurais podem ser causados pelos dados de treinamento, a
arquitetura da rede, e / ou seus pesos iniciais. Os problemas tpicos so: ter grandes
entradas ou valuess alvo, tendo ambas grandes e pequenas camadas na rede, tendo mais
do que uma camada escondida, e tendo pesos iniciais que so muito grandes ou muito
pequenas. Isto deve deixar claro que os maus-condicionado uma muito problema
comum, de fato! No que se segue, olhamos para cada fonte possvel de mal-
condicionado, e descrevem um mtodo simples para eliminar o problema. Como esses
mtodos so usados antes de treinamento da rede comea, ns nos referimos a elas
como pr-condicionamento tcnicas.

Normalizar Entradas e Alvos
(Fig. 3)
Lembre-se da rede linear simples (Fig. 3) que usou pela primeira vez para aprender o
conjunto de dados do carro. Quando apresentou o melhor ajuste linear , tnhamos
redimensionada tanto o x (entrada) e y (target) eixos. Por que fazemos isso? Considere o
que aconteceria se usssemos os dados originais diretamente em vez disso: a entrada
(peso do carro) seria muito grande - mais de 3000 (libras) em mdia. Para mapear essas
entradas grandes para os alvos muito pequenos, o peso da entrada sada deve se tornar
muito pequena - cerca de -0.01. Agora vamos supor que ns somos 10% (0.001) de
distncia do valor ideal. Isto iria causar um erro de (tipicamente) 3000 * 0,001 = 3 na
sada. Na taxa aprendizagem, a mudana de peso resultante deste erro seria * 3 *
3000 = 9000 . Para convergncia estvel, isto deve ser menor do que as distncias para
o valor ideal do peso: 9000 <0,001, dando-nos <10
-7
, uma muito pequena taxa de
aprendizagem. (E isso para aprendizagem on-line - para a aprendizagem do grupo,
onde as mudanas de peso para vrios padres so somados, a taxa de aprendizado teria
que ser ainda menor!)
Por que uma tal taxa de aprendizagem pequeno ser um problema? Considere-se que a
unidade de polarizao tem uma sada constante de 1. Um peso de polarizao que ,
por exemplo, 0,1 para longe do seu valor ideal teria, portanto, um gradiente de 0,1. A
uma taxa de aprendizagem de 10
-7
, no entanto, que levaria 10 milhes de passos para
mover o peso de polarizao por esta distncia! Este um caso claro de m-
condicionado causado pelo muito diferente escala de valores de entrada e de vis. A
soluo simples: normalizar a entrada, de modo que tenha uma mdia de zero e um
desvio padro de uma. A normalizao um processo de duas etapas:
Para normalizar a uma varivel, primeiro
1. ( centralizao ) subtrair sua mdia, em seguida,
2. ( scaling ) dividir por seu desvio padro.
Observe que, para os nossos propsitos, no realmente necessrio para o clculo da
mdia e desvio padro de cada entrada exatamente - valores aproximados so
perfeitamente suficientes. (No caso de os dados do carro, o "significa" de 3000 e
"desvio padro" de 1000 foram simplesmente imaginado depois de olhar para a trama
de dados .) Isto significa que em situaes em que os dados de treinamento no
conhecido com antecedncia, estimativas baseadas em qualquer conhecimento prvio ou
uma pequena amostra dos dados geralmente so bons o suficiente. Se os dados um
momento da srie x (t), voc tambm pode querer considerar o uso das primeiras
diferenas x (t) - x (t-1), como entradas de rede em vez; eles tem mdia zero, enquanto x
(t) estacionrio. Independentemente da forma como voc faz isso, lembre-se que voc
deve sempre
normalizar as entradas e
normalizar os alvos.
Para ver por que os valores-alvo tambm deve
ser normalizado, considere a rede que usamos
para encaixar um sigmide com os dados do
carro (Fig. 4). Se os valores-alvo foram as
encontradas nos dados originais , o peso da
unidade de sada para escondido teria que ser
10 vezes maior. O sinal de erro propagadas de
volta para a unidade escondida estaria, assim,
multiplicado por 17, ao longo do caminho. A
fim de compensar este aspecto, a taxa de
aprendizagem global teria de ser reduzido de
modo correspondente, desacelerando os pesos
que vo directamente para a unidade de sada.
Assim, enquanto as grandes entradas de causar
mal-condicionado, levando a muito pequenos
pesos, alvos grandes faz-lo, levando a grandes
pesos.
Finalmente, observe que o argumento para normalizar as entradas tambm podem ser
aplicados s unidades ocultos (que, afinal, se parecem com as entradas para seus ns
posteriores). Idealmente, gostaramos de ativaes de unidades ocultas, bem como para
ter uma mdia de zero e um desvio padro de um. Uma vez que os pesos em unidades
ocultas sempre a mudar durante o treinamento, no entanto, seria bastante difcil prever a
sua mdia e desvio padro com preciso! Felizmente, podemos contar com a nossa
funo de ativao tanh para manter as coisas razoavelmente bem condicionado: sua
faixa de -1 a +1 significa que o desvio-padro no pode ser superior a 1, enquanto a sua
simetria em torno de zero significa que a mdia normalmente ser relativamente
pequeno. Alm disso, o seu derivado tambm um mximo, de modo que os erros
backpropagated ser nem atenuada nem ampliada mais do que o necessrio.
Nota: Por razes histricas, muitas pessoas usam a logstica sigmide f (u) = 1 / (1 + e
-u
) como funo de ativao das unidades ocultas. Esta funo est intimamente
relacionado com tanh (de facto, f (u) = tanh (u / 2) / 2 + 0,5), mas tem um intervalo
menor, assimtrica (de 0 a 1), e um derivado de mximo de 0,25. Iremos mais tarde
encontrar um uso legtimo para esta funo, mas, como funo de ativao das unidades
ocultas, tende a Orsen condicionado da rede. Assim
no use a logstica sigmide f (u) = 1 / (1 + e
-u
) como funo de ativao das
unidades ocultas.
Use tanh vez: sua rede ser melhor condicionado.

Inicializar os pesos
Antes do treino, os pesos da rede so inicializados com valores aleatrios pequenos. Os
valores aleatrios so geralmente extrados de uma distribuio uniforme sobre o
intervalo [-r, r]. O que deve ser r? Se os pesos iniciais so muito pequenos, ambos os
sinais de ativao e de erro ir desaparecer ao longo de seu caminho atravs da rede. Por
outro lado, se forem demasiado grandes, a funo tanh das unidades intermedirias vai

(Fig. 4)
saturar - ser muito prximo do seu valor assinttico de + / -1. Isto significa que a sua
derivada ser prximo de zero, bloqueando quaisquer sinais de erro backpropagated de
passar atravs do n; este s vezes chamado paralisia do n.
Para evitar ambos os extremos, teramos afigurado como entrada lquida das unidades
escondidas em aproximadamente normalizado. Ns no sabemos as entradas para o n,
mas sabemos que eles so aproximadamente normalizada - que o que garantiu na
seo anterior. Parece razovel, ento a modelar as entradas esperadas como, variveis
aleatrias independentes normalizadas. Isso significa que suas varincias adicionar, para
que possamos escrever

uma vez que os pesos iniciais esto na gama [-r, r]. Para assegurar que Var (lquido
i
)
no mximo de 1, que pode, assim, definir r para o inverso da raiz quadrada do
ventilador em | Um
i
| do n - o nmero de pesos que entram em que:
inicializar peso w
ij
para um valor aleatrio uniformemente no intervalo [-r
i
, r
i

], onde

Definio de Aprendizagem Tarifas Locais
Acima vimos que a arquitetura da rede - mais especificamente: o fan-in de seus ns -
determina o intervalo dentro do qual seus pesos devem ser inicializados. A arquitetura
tambm afeta a forma como o sinal de erro dimensionado para cima ou para baixo,
como backpropagated atravs da rede. Modelando os sinais de erro como variveis
aleatrias independentes, temos

Vamos definir uma nova varivel v para cada n oculto ou de sada, proporcional ao
(estimado) varincia de seu sinal de erro dividido pelo seu f-in. Podemos calcular
todos os v por um procedimento backpropagation:
para todos os ns de sada o, set
backpropagate: para todos ns ocultos j, calcule
Desde as ativaes da rede j esto normalizados, podemos esperar que o gradiente de
peso w
ij
em escala com a raiz quadrada da varincia do sinal de erro correspondente, v
i

| A
i
|. A mudana de peso resultante, no entanto, deve ser compatvel com o tamanho
caracterstico do peso, o que dado por r
i
. Para alcanar este objectivo,
definir a taxa de aprendizagem
i
(usado para todos os pesos w
ij
em n
i)
Se voc seguir todos os pontos que fizemos nesta seo antes do incio do treinamento,
voc deve ter uma rede razoavelmente bem condicionado que pode ser treinado de
forma eficaz. Resta determinar um bom taxa de aprendizagem global. Este deve ser
realizado por ensaio e erro; uma boa primeira suposio (sobre o tamanho de altura)
seria o inverso da raiz quadrada do tamanho do lote (por um argumento similar ao que
fizemos acima), ou 1 para a aprendizagem online. Se isso leva a divergncia, reduzir e
tente novamente.

Momentum e Taxa de
Aprendizagem
Adaptao

Minima local
Na descida gradiente comeamos em algum ponto sobre a funo de erro definida sobre
os pesos, e tentar passar para o mnimo global da funo. Na funo simplificada da
Fig. 1a, a situao simples. Qualquer passo em uma direo para baixo nos levar
mais perto do mnimo global. Para problemas reais, no entanto, as superfcies de erro
so tipicamente complexa, e pode assemelhar-se mais a situao mostrada na figura 1b.
Aqui, existem numerosas mnimos locais , e a bola mostrado preso numa tal mnimo.
Os progressos neste domnio s possvel subir mais antes de descer para o mnimo
global.
(Fig. 1-A) (Fig. 1b)

J mencionamos uma maneira de escapar de um mnimo local: use aprendizagem on-
line . O barulho na superfcie de erro estocstico provvel que saltar a rede de
mnimos locais, desde que eles no so muito graves.

mpeto
Outra tcnica que pode ajudar a rede de mnimos locais o uso de um impulso prazo. Esta
provavelmente a extenso mais popular do algoritmo Retropropagao; difcil encontrar
casos em que isso no usado. Com o impulso m, a actualizao de peso a um determinado
tempo t se torna

(1)
onde 0 <m <1 um novo parmetro global, que deve ser determinado por tentativa e
erro. Momentum simplesmente adiciona uma frao m da atualizao peso anterior para
o atual. Quando o gradiente mantm a apontar na mesma direco, isto ir aumentar o
tamanho das medidas tomadas para o mnimo. otherefore muitas vezes necessrio
para reduzir a taxa de aprendizagem global quando se usa muita fora (m prximo de
1). Se voc combinar uma alta taxa de aprendizagem com muita fora, voc vai correr
passado o mnimo com grandes passos!
Quando o gradiente mantm mudando de direo, o momento vai suavizar as variaes.
Isto particularmente til quando a rede no est bem condicionado. Em tais casos, a
superfcie de erro tem curvatura substancialmente diferente ao longo de diferentes
sentidos, conduzindo formao de longas vales estreitos. Para a maioria dos pontos da
superfcie, o gradiente no apontam para o mnimo, e os passos sucessivos de gradiente
descendente, pode oscilar de um lado para o outro, progredindo apenas muito
lentamente para o mnimo (Fig. 2a). Fig. 2b mostra como a adio de impulso ajuda a
acelerar a convergncia para o mnimo de amortecimento destas oscilaes.
(Fig. 2-A) (fig. 2b)

Para ilustrar este efeito, na prtica, treinamos 20 redes em um problema simples (4-2-4
codificao), ambos com e sem impulso. Os tempos de treinamento mdia (em pocas)
foram
mpeto O tempo de treinamento
0 217
0,9 95

Aprender Taxa de Adaptao
Na seo sobre o pr-condicionamento , ns empregamos heurstica simples para chegar a
suposies razoveis para as taxas de aprendizagem globais e locais. possvel refinar estes
valores significativamente uma vez que a formao tenha iniciado, e a resposta da rede de
dados pode ser observado. Vamos agora apresentar alguns mtodos que podem faz-lo
automaticamente , adaptando as taxas de aprendizagem durante o treinamento.
Motorista Negrito
Um mtodo lote til para adaptar o taxa de aprendizagem global o motorista
ousado algoritmo. Seu funcionamento simples: depois de cada poca, comparar a
perda E da rede (t) para o valor anterior, E (t-1). Se o erro diminuiu, aumentar por
uma pequena proporo (tipicamente 1% a 5%). Se o erro aumentou em mais do que
uma pequena proporo (digamos, 10
-10
), no entanto, desfazer a ltima alterao de
peso e diminuir drasticamente - normalmente de 50%. Assim motorista ousado vai
continuar crescendo lentamente at que ela se encontra dando um passo que tem
claramente ido longe demais para cima da encosta oposta da funo de erro. Uma vez
que este significa que a rede chegou em uma rea complicada da superfcie de erro, faz
sentido reduzir o tamanho do passo drasticamente neste momento.
Recozimento
Motorista Infelizmente negrito no pode ser usado dessa forma para a aprendizagem on-
line: as flutuaes estocsticos em E (t) seria irremediavelmente confundir o algoritmo.
Se mantivermos fixo, no entanto, essas mesmas flutuaes impedir a rede de nunca
devidamente convergindo para o mnimo - em vez disso, acabam danando de forma
aleatria em torno dele. A fim de realmente atingir o mnimo, e ficar l, temos de
temperar (gradualmente inferior) a taxa de aprendizagem global. Um cronograma de
recozimento simples, no adaptvel para este fim a busca ento convergem
cronograma
(t) = (0) / (1 + t / T) (2)
Seu nome deriva do fato de que ele mantm quase constante durante os primeiros
padres de treinamento T, permitindo que a rede para encontrar a localizao geral do
mnimo, antes do recozimento que a um ritmo (muito lento), que conhecido da teoria
para garantir a convergncia para o mnimo. O tempo caracterstico T desta agenda
um novo parmetro livre que deve ser determinado por tentativa e erro.
Taxa local Adaptao
Se estamos dispostos a ser um pouco mais sofisticado, vamos muito mais longe do que
os mtodos globais acima. Primeiro vamos definir uma atualizao de peso on-line que
utiliza uma taxa de aprendizagem local, varivel no tempo para cada peso:

(3)
A idia adaptar essas taxas locais de aprendizagem por gradiente descendente,
adaptando simultaneamente os pesos. No tempo t, gostaramos de mudar a taxa de
aprendizagem (antes de mudar o peso) de modo que a perda de E (t +1) no prximo
passo de tempo reduzido. O gradiente de que precisamos de

(4)
Gradiente descendente Ordinria em
ij
, usando a taxa de aprendizagem q-meta (um
novo parmetro global), daria

(5)
J podemos ver que isso funcionaria de forma semelhante ao momento: aumentar a taxa
de aprendizagem, desde que o gradiente continua apontando na mesma direo, mas
diminu-la quando voc terra na encosta oposta da funo de perda.
Problema:
ij
pode tornar-se negativo! Alm disso, o tamanho do passo deve ser
proporcional
ij
de modo que ele pode ser adaptado ao longo de vrias ordens de
grandeza. Isto pode ser conseguido atravs da realizao do gradiente descendente em
log (
ij
), em vez:

(6)
Exponencializando isto d

(7)
onde a aproximao serve para evitar uma chamada caro funo exp. O multiplicador
limitada abaixo de 0,5 para proteo contra pequenas (ou mesmo negativos) fatores.
Problema: o gradiente barulhento; o produto de dois deles ser ainda mais ruidosos -
a taxa de aprendizagem vai saltar em torno de um lote. Uma forma popular de reduzir o
Estocasticidade substituir o gradiente no passo de tempo anterior (t-1) por uma mdia
exponencial de gradientes ltimos. A mdia exponencial de uma srie de tempo u (t)
definido como

(8)
onde 0 <m <1 um novo parmetro global.
Problema: se o gradiente mal-condicionado, o produto de dois gradientes ser ainda
pior - o nmero de condio quadrado. Vamos precisar para normalizar os tamanhos
de passo de alguma forma. Uma soluo radical jogar fora a magnitude do passo, e
apenas manter o sinal, dando

(9)
onde r = e
q
. Isso funciona bem para a aprendizagem do grupo, mas ...
(Fig. 3)
Problema: normalizers no lineares, como a funo principal sinal de erros sistemticos
na descida gradiente estocstico (Fig. 3): a distribuio gradiente enviesada mas de
mdia zero (tpico para o equilbrio estocstico) mapeado para uma distribuio
normalizada com mdia diferente de zero. Para evitar os problemas que isso alguma
causando, precisamos de um normalizador linear para a aprendizagem online. Um bom
mtodo a de dividir o passo a , em mdia exponencial do gradiente quadrado.
Isto d

(10)
Problema: padres de treinamento sucessivas podem ser correlacionados, fazendo com
que o produto de gradientes estocsticos a se comportar estranhamente. O clculo da
mdia exponencial no ajuda a se livrar de correlaes de curto prazo, mas no pode
lidar com a entrada que apresenta correlaes entre longos perodos de tempo. Se voc
est interagindo sobre um conjunto de treinamento fixo, certifique-se de permutar
(Shuffle)-lo antes de cada iterao para destruir quaisquer correlaes. Isto pode no ser
possvel em uma situao real de aprendizagem on-line, onde os dados de treinamento
recebido um padro de cada vez.
Para mostrar que todas essas equaes realmente fazer algo til, aqui um conjunto
tpico de curvas de aprendizagem on-line (em ps-escrito) para um problema de
referncia difcil, dado tanto no correlacionadas padres de treinamento, ou padres
com fortes de curto prazo ou de longo prazo correlaes. Nestas figuras "momentum"
correspondente ao meio da equao (1) acima, e "s-OMTP" para a equao (10).
"ALAP" como "s-ALAP", mas sem a mdia exponencial de gradientes passado,
enquanto "ELK1" e "SMD" so mtodos mais avanados (desenvolvidas por um de ns
).
Classificao

Discriminantes
As redes neurais podem tambm ser usados para classificar os dados. Ao contrrio de
problemas de regresso, onde o objetivo produzir um valor de sada particular para uma
dada entrada, problemas de classificao nos obrigam a identificar cada ponto de dados como
pertencentes a um dos n aulas. As redes neurais pode fazer isso, a aprendizagem de uma
discriminante funo que separa as classes. Por exemplo, uma rede com uma nica sada
linear pode resolver um problema de duas classes de aprendizagem em funo discriminante,
que maior do que zero para uma aula, e menos do que zero para o outro. Fig. 6 mostra duas
de tais problemas de duas classes, com pontos cheios pertencentes a uma classe, e os pontos
vagos para o outro. Em cada caso, uma linha traada em funo discriminante, que separa as
duas classes zero.
(Fig. 6)
No lado esquerdo, uma linha recta pode servir como um discriminante: podemos
colocar a linha de tal forma que todos os pontos cheios se encontram de um lado, e
todos os vazios encontram-se na outra. As aulas esto a ser dito linearmente
separveis . Tais problemas podem ser aprendidas por redes neurais sem unidades
ocultas. No lado direito, uma funo altamente no-linear necessrio para garantir a
separao das classes. Este problema s pode ser resolvido por uma rede neural com
unidades escondidas.

Binmio
Para usar uma rede neural para a classificao, precisamos construir um problema de
aproximao de funes equivalentes atravs da atribuio de um valor-alvo para cada classe.
Para um binmio problema (duas classes), podemos usar uma rede com uma nica sada y, e
valores-alvo binrios: 1 para uma classe, e 0 para o outro. Podemos, assim, interpretar a sada
da rede como uma estimativa da probabilidade de que um determinado padro pertence
classe de a '1 '. Para classificar um novo padro aps o treinamento, que, em seguida,
empregar a mxima verossimilhana discriminante, y> 0,5.
Uma rede com sada linear utilizada desta forma, no entanto, vai gastar muito do seu
esforo em obter os valores-alvo exatamente certo para seus pontos de treinamento -
quando tudo o que realmente importa o posicionamento correto do discriminante. A
soluo usar uma funo de ativao na sada que satura os dois valores-alvo: a tal
funo ser prximo do valor alvo para qualquer entrada de rede que suficientemente
grande e tem o sinal correto. Especificamente, ns usamos o sigmide logstica funo

Dada a interpretao probabilstica, uma sada de rede, digamos, de 0,01 para um
padro que est realmente na '1 ' uma classe muito erro mais grave do que, digamos,
0,1. Infelizmente, a funo de perda soma-quadrado faz quase nenhuma distino entre
estes dois casos. A funo de perda que apropriado para lidar com probabilidades o
cross-entropia erro. Para o caso de duas classes, dado por

Quando as unidades de produo e logstica de erro de entropia cruzada so utilizados
em conjunto na aprendizagem backpropagation, o sinal de erro para a unidade de sada
torna-se apenas a diferena entre o alvo e de sada:

Em outras palavras, a implementao de erro de entropia cruzada para este caso
equivale a nada mais do que omitir o f 'factor (lquido) que o sinal de erro, caso
contrrio, se multiplicado por. Este no um acidente, mas um indicativo de uma
ligao matemtica mais profunda: erro de entropia cruzada e sadas logsticas so a
combinao "correta" a ser usada para probabilidades binomiais, assim como sadas
lineares e erro soma-quadrado so para valores escalares.

Multinomial
Se temos vrios independentes atributos binrios por que classificar os dados, podemos usar
uma rede com vrias sadas de logstica e de erro de entropia cruzada. Para multinomiais
problemas de classificao (1-de-n, onde n> 2), usamos uma rede com sadas n, uma
correspondente a cada classe e os valores-alvo de 1 para a classe correta, e 0 caso contrrio.
Uma vez que estas metas no so independentes uma da outra, no entanto, j no adequada
a utilizao de unidades de sada de logstica. A generalizao corect do sigmide logstica para
o caso multinomial o softmax funo de ativao:

onde o percorre as unidades de sada n. O erro de entropia cruzada para uma tal camada
de sada dada pela

Uma vez que todos os ns de uma camada de sada interagem softmax (o valor de cada
n depende dos valores de todas as outras), o derivado do erro de entropia cruzada
difcil de calcular. Felizmente, mais uma vez simplifica para



por isso no precisa se preocupar com isso.

Aprendizado no-
supervisionado

possvel a utilizao de redes neurais para aprender sobre dados que contm nem
sadas de destino nem rtulos de classe. H muitos truques para obter sinais de erro em
tais no-supervisionado configuraes; aqui ns vamos discutir brevemente algumas
das abordagens mais comuns: autoassociation, a previso de sries temporais, e
aprendizado por reforo.

Autoassociation
Autoassociation baseado em uma idia simples: se voc tem entradas, mas sem metas, s
usar as entradas como alvos. Uma rede autoassociator assim tenta aprender a funo
identidade. Isto apenas o no-trivial se a camada oculta forma um gargalo de informao -
contm menos unidades do que a camada de entrada (sada), de modo que a rede tem de
realizar a reduo dimensionalidade (uma forma de compresso de dados).
A autoassociator linear treinado com erro soma-quadrado em vigor realiza anlise de
componentes principais (PCA), uma tcnica estatstica conhecida. APC extrai o
subespao (instrues) de maior varincia dos dados. Como foi o caso com a regresso,
a rede neural linear no oferece nenhuma vantagem direta sobre mtodos estatsticos
conhecidos, mas sugere uma generalizao no-linear interessante:

Este autoassociator no linear inclui uma camada intermediria em ambos o
codificador e o descodificador parte da rede. Juntamente com a camada de gargalo
linear, isto d uma rede com, pelo menos, trs camadas escondidas. Essa rede de
profundidade deve ser pr-condicionado se para aprender com sucesso.

Previso de Sries Temporais
Quando os dados de entrada X forma uma srie temporal uma tarefa importante para prever
o ponto seguinte: o tempo futuro, a bolsa de cinco minutos a partir de agora, e assim por
diante. Ns podemos (tentar) fazer isso com uma rede feedforward usando tempo de atraso
de incorporao : no tempo t, ns damos a rede de x (t), x (t-1), ... x (td) como entrada, e
tentar prever x (t + 1) na sada. Aps a atividade propagao para a frente para fazer a
previso, podemos esperar que o valor real de x (t +1) a entrar antes de calcular e
backpropagating o erro. Como todos os parmetros de arquitetura de rede neural, a dimenso
d da incorporao uma escolha importante, mas difcil.
Uma maneira mais poderoso (mas tambm mais complicado) para modelar uma srie
temporal usar recorrentes redes neurais.

Aprendizado por reforo
s vezes a gente se depara com o problema da recompensa adiada : ao invs de ser dito a
resposta correta para cada padro de entrada imediatamente, s pode ocasionalmente obter
um sinal positivo ou negativo reforo para nos dizer se toda a seqncia de aes que levaram
a isso foi bom ou mau. Reforo de aprendizagem fornece maneiras de obter um sinal de erro
contnuo em tais situaes.
Q-learning associados uma utilidade esperada (o valor-Q), com cada ao possvel em
um determinado estado. Se no tempo t estamos em estado de s (t) e decidir realizar uma
ao (t), o valor de Q correspondente atualizado da seguinte forma:

onde r (t) a recompensa instantnea resultante da nossa ao, s (t +1) o estado que
ela levou, um so todos possveis aes nesse estado, e gama <= 1 um fator de
desconto que nos leva a preferem instantnea sobre recompensas atrasados.
Uma maneira comum de implementar Q-learning para pequenos problemas manter
uma tabela de valores de Q para todos os pares estado / ao possvel. Para grandes
problemas, no entanto, muitas vezes impossvel manter uma grande mesa como na
memria, muito menos aprender suas entradas em tempo razovel. Em tais casos, uma
rede neural pode proporcionar uma aproximao compacto da funo de valor de Q.
Essa rede leva o estado s (t) como entrada, e tem uma sada y
uma
para cada ao
possvel. Para saber o valor Q Q (s (t), a (t)), ele usa o lado direito do acima Q-iterao
como um alvo:

Note-se que, uma vez que requerem sadas da rede no tempo t +1, a fim de calcular o
seu sinal de erro no tempo t, devemos manter uma memria de uma etapa de toda a
atividade de entrada e n oculto, bem como a ao mais recente. O sinal de erro
aplicada apenas para a sada correspondente a essa ao; todos os outros ns de sada
recebem nenhum erro (eles so "no liga").
TD-learning uma variao que atribui valores de utilidade para os estados sozinhos
ao invs de pares estado / ao. Isto significa que a pesquisa deve ser utilizada para
determinar o valor do melhor estado sucessor. TD ( ) substitui a memria de uma
etapa com uma mdia exponencial do gradiente da rede; isso semelhante ao impulso, e
pode ajudar a acelerar a transmisso de sinais de recompensa retardada atravs de
grandes distncias temporais.
Uma das aplicaes mais bem sucedidas de redes neurais TD-Gammon , uma rede
que utilizou TD ( ) para aprender o jogo de gamo do zero, jogando apenas contra si
mesmo. TD-Gammon agora programa de gamo mais forte do mundo, e desempenha
a nvel de grandes mestres humanos.

Redes recorrentes I
Considere as duas redes seguintes:
(Fig. 1)
A rede do lado esquerdo uma rede de avano de alimentao simples do tipo que j
conheci. A rede mo direita tem uma conexo adicional da unidade oculta a si mesmo .
Que diferena isso poderia aparentemente pequena mudana para a rede fazer?
Cada vez que um padro apresentado, a unidade calcula a sua ativao, assim como
em uma rede para a frente feed. Entretanto, sua entrada lquida agora contm um termo
que reflete o estado da rede (a ativao da unidade oculta), antes o padro foi visto.
Quando apresentamos os padres subseqentes, os estados das unidades ocultas e de
sada ser uma funo de tudo o que a rede tem visto at agora.
O comportamento da rede baseada em sua histria, e por isso temos de
pensar em padro de apresentao, como acontece com o tempo.
Topologia de rede
Uma vez que permite conexes de feedback, a nossa topologia de rede torna-se muito
livre: podemos ligar qualquer aparelho a qualquer outro, mesmo a si mesmo. Dois dos
nossos requisitos bsicos para ativaes de computao e erros na rede agora esto
violados. Ao calcular as ativaes, ns necessrio que antes de calcular y
i
, tnhamos de
saber as ativaes de todas as unidades no conjunto posterior de ns, P
i
. Para calcular
os erros, ns necessrio que, antes de computao , tivemos de conhecer os erros de
todas as unidades em seu conjunto anterior de ns, A
i
.
Para uma unidade arbitrria em uma rede recorrente, agora definir sua ativao no
tempo t como:
y
i
( t ) = f
i
( net
i
( t -1))



Em cada passo de tempo, portanto, a ativao se propaga para a frente atravs de uma
camada de apenas conexes. Uma vez que um certo nvel de activao est presente na
rede, que vai continuar a fluir em torno das unidades, mesmo na ausncia de qualquer
nova entrada que seja. Agora podemos apresentar a rede com uma srie de tempo de
insumos, e exigem que o mesmo produzir uma sada com base nessa srie. Estas redes
podem ser usados para modelar muitos novos tipos de problemas, no entanto, essas
redes tambm nos apresentam muitas novas questes difceis em formao.
Antes de abordar as novas questes na formao e operao de redes neurais
recorrentes, vamos primeiro olhar para algumas tarefas de amostra que foram tentadas
(ou resolvidos) por essas redes.
Aprender gramticas formais
Dado um conjunto de cordas S , cada uma composta por uma srie de smbolos,
identificar as cordas que pertencem a uma linguagem L . Um exemplo simples:
L = { a
n
, b
n
} o idioma compostos por cadeias de qualquer nmero de um 's,
seguido pelo mesmo nmero de b 's. Cordas que pertencem lngua incluem
aaabbb , ab , aaaaaabbbbbb . Cordas que no pertencem linguagem incluem
aabbb , abb , etc Uma referncia comum a linguagem definida pela gramtica
reber . Cordas que pertencem a uma linguagem L seriam gramatical e so
ungrammatical contrrio.
O reconhecimento de fala
Em alguns dos melhores sistemas de reconhecimento de fala construdos at
agora, a fala apresentado pela primeira vez como uma srie de fatias espectrais
para uma rede recorrente. Cada sada da rede representa a probabilidade de um
telefone especfico (som da fala, por exemplo, / i /, / p /, etc), uma vez presente e
entrada recente. As probabilidades so, ento, interpretados por um Modelo
Oculto de Markov, que tenta reconhecer todo o enunciado. Os detalhes so
fornecidos aqui .
Composio de msica
Uma rede recorrente pode ser treinado por apresent-lo com as notas de uma
partitura musical. tarefa prever a prxima nota. Obviamente, isso
impossvel de fazer perfeitamente, mas a rede aprende que algumas notas so
mais provveis de ocorrer em um contexto que o outro. Formao, por exemplo,
sobre um monte de msica de JS Bach, podemos semear a rede com uma frase
musical, deix-lo prever a nota seguinte, alimentar esta de volta em como
entrada, e repetir, gerando novas msicas. Msica gerado dessa forma
normalmente soa bastante convincente em uma escala muito local, ou seja,
dentro de uma frase curta. Numa escala maior, no entanto, as composies de
vagar aleatoriamente de chave a chave, e sem coerncia global, surge. Esta
uma rea interessante para o trabalho futuro .... O trabalho original descrito
aqui .
A Rede Recorrente Simples
Uma maneira de atender a esses requisitos ilustrada abaixo em uma rede conhecida
tambm como uma rede de Elman (aps Jeff Elman, o originador), ou como um
recorrente Simple Network . Em cada passo de tempo, uma cpia das unidades
camada escondida feita a uma camada de cpia. O processamento realizado da
seguinte forma:
1. Entradas de cpia para o tempo t para as unidades de entrada
2. Calcule ativaes de unidades escondidas usando a entrada lquida de unidades
de entrada e de camada de cpia
3. Calcule sada da unidade ativaes, como de costume
4. Copie novas ativaes de unidades escondidas para copiar camada

Ao calcular a ativao, eliminamos ciclos, e por isso a nossa exigncia de que as
ativaes de todos os ns posteriores ser conhecido seja cumprido. Da mesma forma,
em erros de computao, todos os pesos so treinveis alimentar para a frente s, para
que possamos aplicar o algoritmo backpropagation padro como antes. Os pesos da
camada de cpia camada oculta desempenhar um papel especial em erro de clculo. O
sinal de erro que recebem vem das unidades intermedirias, e portanto depende do erro
nas unidades ocultos no tempo t . As ativaes nas unidades ocultas, no entanto, so
apenas a ativao das unidades ocultas no momento t-1 . Assim, na formao, que
estamos considerando um gradiente de uma funo de erro que determinada pelas
activaes no presente e os intervalos de tempo anteriores.
A generalizao desta abordagem para copiar a entrada e ativaes de unidades
ocultas para um nmero de Timesteps anteriores. Quanto mais contexto (copiar
camadas) que mantemos, mais histria que so explicitamente inclusive em nosso
clculo do gradiente. Esta abordagem tornou-se conhecido como Back Propagation
Through Time . Ele pode ser visto como uma aproximao ao ideal de computao um
gradiente que leva em considerao no apenas as entradas mais recentes, mas todas as
entradas visto at agora pela rede. A figura abaixo ilustra uma verso do processo:
As entradas e ativaes de unidades ocultas nos ltimos trs passos de tempo so
armazenados. As setas a cheio mostram como cada conjunto de activaes
determinada a partir da entrada e activaes unidade ocultos no passo de tempo anterior.
Uma passagem para trs, ilustrado pelas setas a tracejado, realizada para determinar os
valores distintos de delta (o erro de uma unidade em relao sua entrada de lquido)
para cada unidade e cada passo de tempo separadamente. Como cada camada mais cedo
uma cpia da camada de um nvel acima, apresentamos a nova restrio que os pesos
de cada nvel ser idnticos. Em seguida, o derivado parcial do erro mximo no que diz
respeito a w
i, j
simplesmente a soma das parciais calculadas para a cpia de w
i, j
entre
cada duas camadas.

Redes Elman e sua generalizao, Back Propagation Through Time, ambos buscam
aproximar o clculo de um gradiente com base em todas as entradas anteriores,
mantendo o padro algoritmo volta prop. BPTT tem sido utilizado numa srie de
aplicaes (por exemplo, ECG de modelagem ). A principal tarefa a de produzir uma
seqncia de sada especficos em resposta a seqncias de entrada especficos. A
desvantagem de BPTT que ele requer uma grande quantidade de armazenamento,
computao e exemplos de treinamento, a fim de funcionar bem. Na prxima seo,
vamos ver como podemos calcular o verdadeiro gradiente temporal, usando um mtodo
conhecido como Tempo real Recurrent Learning.

Tempo real Recorrente
Aprendizagem

Na derivao de uma regra de atualizao baseado em gradiente de redes recorrentes,
ns agora fazer a conectividade de rede muito irrestrita. Ns simplesmente supor que
temos um conjunto de unidades de entrada, I = { x
k
(t), 0 <k <m }, e um conjunto de
outras unidades, U = { y
k
(t), 0 <k <n } , que pode ser oculto ou unidades de sada. Para
indexar uma unidade arbitrria, na rede pode utilizar

(1)
Deixe- W pode ser a matriz de peso com n linhas e m + n colunas, onde w
i, j
o peso de
unidade de i (que em U ) da unidade de j (que em I ou U ). Unidades calcular suas
ativaes no caminho agora familiar, pelo primeiro calcular a soma ponderada de suas
entradas:

(2)
em que o nico elemento novo na frmula a introduo do ndice temporal t .
Unidades ento calcular uma funo no-linear de sua entrada lquida
y
k
( t +1) = f
k
(lquido
k
( t )) (3)
Normalmente, ambas as unidades escondidas e de sada tero funes de activao no-
lineares. Note-se que a entrada externa no tempo t no influencia a sada de qualquer
unidade at o tempo t +1 . A rede , portanto, um sistema dinmico discreto.
Algumas das unidades de L so unidades de sada, para o qual o alvo definido. A meta
no pode ser definida para cada entrada no entanto. Por exemplo, se estamos
apresentando uma string para a rede a ser classificados como gramatical ou no
gramatical, podemos fornecer um alvo apenas para o ltimo smbolo da cadeia. Ao
definir um erro sobre as sadas, por isso, precisamos fazer depender o tempo de erro
tambm, de modo que ele pode ser definida (ou 0) para uma unidade de sada para o
qual no existe nenhum alvo no presente. Deixe- T (t) o conjunto de ndices de k em U
para o qual no existe um valor-alvo d
k
(t) no tempo t . Somos forados a usar a
notao d
k
em vez de t aqui, como t agora refere-se ao tempo. Deixe o erro nas
unidades de sada de ser

(4)
e definir a nossa funo de erro para um nico passo de tempo como

(5)
A funo de erro que deseja minimizar a soma do erro sobre todos os passos anteriores
da rede

(6)
Agora, porque o erro total a soma de todos os erros anteriores e o erro nesse intervalo
de tempo, de modo que tambm, a inclinao do erro total a soma da inclinao para
este intervalo de tempo e o gradiente por passos anteriores

(7)
Como uma srie de tempo apresentado para a rede, que podem acumular-se os valores
de gradiente, ou equivalentemente, as alteraes de peso. Temos, assim, manter o
controle do valor

(8)
Depois que a rede tem sido apresentado com toda a srie, ns alteramos cada peso w
ij

por

(9)
Precisamos, portanto, um algoritmo que computa

(10)
em cada passo de tempo t . Desde que ns sabemos e
k
(t) em todos os tempos (a
diferena entre as nossas metas e sadas), s precisamos encontrar uma maneira de
calcular o segundo fator .
IMPORTANTE
A chave para entender RTRL apreciar o que este fator expressa. , essencialmente, uma
medida da sensibilidade do valor de sada da unidade de k no tempo t para uma pequena
mudana no valor de w
ij
, tendo em conta o efeito de uma tal alterao do peso ao longo de
toda a trajectria da rede de t
0
a t . Note-se que w
ij
no tem que ser ligado unidade de k .
Assim, este algoritmo no-local, em que preciso considerar o efeito de uma mudana em
um lugar na rede sobre os valores computados em um lugar completamente diferente.
Certifique-se de entender isso antes de mergulhar na derivao dado prxima
Derivao
Esta dada aqui para ser completo, para aqueles que desejam talvez para implementar
RTRL. Certifique-se de, pelo menos, saber qual o papel que o fator
desempenha no clculo do gradiente.
A partir das Equaes 2 e 3, obtemos

(11)
onde o delta de Kronecker

(12)
[Exerccio: derivar Equao 11 a partir das Equaes 2 e 3]
Dado que os sinais de entrada no depende dos pesos na rede,

(13)
Equao 11 torna-se:

(14)
Esta uma equao recursiva. Ou seja, se ns sabemos o valor do lado esquerdo para o
tempo 0, podemos calcular o valor de uma hora, e usar esse valor para calcular o valor
em tempo de 2, etc Porque ns assumimos que o nosso estado inicial ( t = 0 )
independente dos pesos, temos

(15)
Essas equaes so vlidos para todos .
Precisamos, portanto, para definir os valores

(16)
para cada vez que passo t e todas as medidas adequadas i, j e k . Comeamos com a
condio inicial
p
ij
k
( t
0
) = 0 (17)
e calcular, em cada passo de tempo

(18)
O algoritmo ento consiste em computao, a cada passo de tempo t , a quantidade p
ij
k

( t ) usando as equaes 16 e 17, e em seguida, usando as diferenas entre as metas e os
resultados reais para calcular as alteraes de peso

(19)
e a correco global para ser aplicado a w
ij
dada pela

Dinmica e RNNs

Considerar a rede recorrente ilustrado abaixo. Uma unidade de entrada nica ligado a
cada uma das trs unidades de "ocultos". Cada unidade escondido por sua vez est
ligado a ela e as outras unidades escondidas. Como na derivao RTRL, no fazem a
distino entre as unidades agora escondidos e de sada. Qualquer ativao que entra na
rede atravs do n de entrada pode fluir em torno de uma unidade para a outra,
potencialmente para sempre. Pesos inferior a 1,0 ser exponencialmente reduzir a
ativao, pesos maiores que 1.0 far com que ele aumente. As funes de ativao no-
lineares das unidades escondidas, esperamos evitar que cresce sem limites.

Como temos trs unidades ocultas, sua ativao em um determinado momento t
descreve um ponto em um espao de estado em 3 dimenses. Podemos visualizar a
evoluo temporal da rede estadual, observando o estado de evoluir ao longo do tempo.
Na ausncia de entrada, ou na presena de uma entrada em estado estacionrio, uma
rede geralmente se aproxima de um ponto fixo atractor. Outros comportamentos so
possveis, no entanto. As redes podem ser treinados para oscilar de forma regular, e o
comportamento catico, tambm tem sido observada. O desenvolvimento de
arquiteturas e algoritmos para gerar formas especficas de comportamento dinmico
ainda uma rea de pesquisa ativa.

Algumas limitaes dos mtodos de
gradiente e RNNs
A rede recorrente simples calculado um gradiente com base no estado atual da rede e
seu estado uma vez passo atrs. Usando Voltar Prop Through Time, podemos calcular
um gradiente com base em alguns finitos n passos de tempo de operao da rede. RTRL
forneceu uma forma de calcular o verdadeiro gradiente com base no histrico de rede
completa desde o tempo 0 at o presente. essa perfeio?
Infelizmente, no. Com as redes feedforward que tm um grande nmero de camadas,
os pesos que esto mais prximas da sada so os mais fceis de treinar. Isso no
surpresa, como a sua contribuio para o erro de rede direta e facilmente mensurveis.
Toda vez que voltar propagar um erro uma camada mais para trs, no entanto, a nossa
estimativa da contribuio de um peso especfico para o erro observado torna-se mais
indireta. Voc pode pensar no erro que flui em cima da rede em correntes distintas.
Cada pacote de propagao dilui o erro, misturar erro a partir de fontes distintas, at
que, bem no fundo da rede, torna-se praticamente impossvel dizer quem responsvel
pelo qu. O sinal de erro se tornou completamente diluda.
Com RTRL e BPTT que enfrentamos um problema semelhante. Erro agora
propagadas de volta no tempo, mas cada passo de tempo exatamente equivalente a
propagao atravs de uma camada adicional de uma rede para a frente feed. O
resultado, claro, que se torna muito difcil de avaliar a importncia de o estado da
rede em momentos que se encontram longe no passado. Normalmente, as redes de
gradiente com base no pode utilizar com segurana a informao que se encontra mais
de cerca de 10 passos de tempo no passado. Se voc agora imagine uma tentativa de
usar uma rede neural recorrente em uma situao da vida real, por exemplo, o
monitoramento de um processo industrial, onde os dados so apresentados como uma
srie de tempo em algum taxa de amostragem real (digamos 100 Hz), torna-se claro que
estas redes so uso de limitada. A prxima seo apresenta um modelo recente que tenta
resolver este problema.

Longa memria de curto
prazo

Numa rede recorrente, a informao armazenada em duas formas distintas. As
activaes das unidades so uma funo da histria recente do modelo, e assim formar
uma memria de curto prazo. Os pesos tambm formar uma memria, uma vez que so
modificados com base na experincia, mas a escala de tempo da mudana de peso,
muito mais lento do que o das activaes. Ns chamamos aqueles a memria de longo
prazo. O modelo de memria Long Short-Term [1] uma tentativa de permitir que as
ativaes de unidades de reter informaes importantes ao longo de um perodo mais
longo de tempo do que os passos de 10 a 12 de tempo, que o limite de modelos RTRL
ou BPTT.
A figura abaixo mostra uma rede LSTM simples no mximo, com uma nica entrada,
uma nica sada, e um nico bloco de memria no lugar da unidade oculta
familiarizado.

Esta figura abaixo
mostra uma rede
LSTM simples no
mximo, com uma
nica entrada, uma
nica sada, e um
nico bloco de
memria no lugar da
unidade oculta
familiarizado. Cada
bloco tem duas
unidades de porta
associados (detalhes
abaixo). Cada camada
pode, claro, ter
vrias unidades ou
blocos. Numa
configurao tpica, a
primeira camada de
pesos fornecido a
partir da entrada para
os blocos e as portas.
H, ento, as
conexes recorrentes
de um bloco para
outros blocos e
portes. Finalmente,
existem os pesos dos
blocos para as sadas.
A figura seguinte
mostra os pormenores
do bloco de memria
em mais detalhe.

As unidades
intermedirias de uma
rede neural recorrente
convencional j tenha
sido substitudo por
memria de blocos ,
cada um dos quais
contm um ou mais de
memria de clulas .
No centro da clula
uma unidade linear
simples, com uma
nica ligao de auto-
recorrente com o peso
ajustado a 1,0. Na
ausncia de qualquer
outra entrada, esta
conexo serve para
preservar o estado
atual da clula, de um
momento para o
outro. Em adio
ligao de auto-
recorrentes, as clulas
recebem a entrada de
unidades de entrada e
outra de clulas e
portas. Enquanto as
clulas so
responsveis pela
manuteno das
informaes por
longos perodos de
tempo, a
responsabilidade de
decidir quais
informaes para
armazenar, e quando
aplicar essa
informao encontra-
se com uma unidade
de entrada e sada de
gating,
respectivamente.
A entrada para a clula passada atravs de uma funo no-linear de esmagamento ( g
(x) , tipicamente a funo logstica, dimensionado para ficar dentro [-2,2]), e o resultado
multiplicado por a sada do gate entrada unidade. A ativao da porta varia de [0,1],
por isso, se a sua activao quase zero, nada pode entrar na clula. S se o porto de
entrada suficientemente ativo o sinal permitidos dentro Da mesma forma, nada
emerge a partir da clula a menos que o porto de sada est ativa. Como o estado
celular interno mantido em uma unidade linear, a sua gama de ativao ilimitado, e
por isso a sada da clula novamente esmagado quando for lanado ( h (x) , gama
tpica [-1,1]). Os prprios portes no so nada mais do que as unidades convencionais
com funes de ativao sigmoidal que variam ao longo do [0,1], e que cada um receber
a entrada das unidades de entrada da rede e de outras clulas.
Assim, temos:
De sada da clula: y
c
j
( t )
y
c
j
( t ) = y
fora
j
( t ) h ( s
c j
( t ))
onde y
fora
j
( t ) a ativao da porta de sada, e do Estado, s
c j
( t ) dada por
s
c j
( 0 ) = 0, e
s
c j
( t ) = s
c j
( t -1) + y
em
j
( t ) g (lquido
c j
( t )) para t > 0.
Esta diviso de responsabilidades --- os portes de entrada decidir o que para armazenar
a informao lojas celulares, eo porto de sada quando decide que a informao deve
ser aplicado --- tem o efeito de que os acontecimentos mais marcantes podem ser
lembrados sobre arbitrariamente longos perodos de tempo . Equipado com vrios
desses blocos de memria, a rede pode efetivamente atender a eventos em vrias escalas
de tempo.
O treinamento da rede utiliza uma combinao de RTRL e BPTT, e ns no vamos
entrar em detalhes aqui. No entanto, considerar um sinal de erro a ser transmitido de
volta a partir da unidade de sada. Se permitido dentro da clula (como determinado
pela ativao da porta de sada), agora preso, e ele passado para trs por meio da
conexo de auto-recorrente indefinidamente. Ela s pode afetar os pesos de entrada, no
entanto, se permitida a passagem pelo porto de entrada.
Por problemas selecionados, uma rede LSTM pode reter informaes sobre
arbitrariamente longos perodos de tempo; mais de 1000 passos de tempo em alguns
casos. Isto d-lhe uma vantagem significativa sobre redes RTRL e BPTT em muitos
problemas. Por exemplo, um recorrente Simple Network pode aprender a Reber
gramtica , mas no o incorporado Reber gramtica . Uma rede RTRL pode, por vezes,
mas no sempre, aprender a gramtica incorporado Reber depois de cerca de 100 000
seqncias de treinamento. LSTM sempre resolve o problema integrado, geralmente
aps cerca de 10 000 apresentaes de seqncia.
Um de ns est treinando redes LSTM para distinguir entre diferentes idiomas falados
com base na prosdia da fala (aproximadamente: a melodia e ritmo da fala).
Referncias
Hochreiter, Sepp e Schmidhuber, Juergen, (1997) "Long memria de curto prazo",
Computao Neural , Vol. 9 (8), pp: 1735-1780

Alguns tpicos do
projeto possveis

A seguir esto algumas sugestes de temas do projeto. Todos eles so apresentados de
forma fiarly aberto aqui. Ter de ser decidido em detalhes dependendo de seus
interesses e do tamanho do projeto planejado projetos potenciais. Em cada caso, as
metas e os requisitos finais tero de ser decididas em conjunto com o Professor
Colombetti e ns. Voc tambm livre para sugerir temas de seu prprio pas.
Por favor, tenha em mente que Nic e Fred so ambos normalmente em Lugano. Eles
so, evidentemente, contactvel por e-mail.
Implementar Tempo real Recorrente Aprendizagem (Computao Neural, 1,
270-280, 1989). Codificar a sua prpria implementao de RTRL. Reproduzir os
resultados no XOR temporal e oscilao de onda senoidal. Examinar os efeitos
de entradas peridicas contnuas e uma discretas sobre uma rede de formao
para oscilar. De que forma a rede de arrastar a um sinal externo?
8-3-8 Encoder Implementar uma rede feedforward com uma camada escondida
e backpropagation lote, e quer o impulso ou o mtodo motorista ousado.
Configur-lo como um autoencoder com 8 entradas / sadas e 3 unidades ocultas,
e trein-lo sobre os 8 padres binrios, que consistem em um nico '1 'e sete
zeros. Encontre os valores para os parmetros livres que lhe do rpido
convergncia, de confiana, e depois comparar a velocidade de aprendizagem e
melhor desempenho para os seguintes casos:
o sadas lineares, erro de soma-quadrado
o sadas logsticas, erro soma-quadrado
o sadas de logstica, de erro de entropia cruzada
o sadas Softmax, erro de entropia cruzada
Aprendizagem On-line Escreva um programa que gera os dados de treinamento
para uma rede neural, de modo que a funo da rede deve aprender a mudanas
aproximados periodicamente. Em seguida, implementar uma rede neural que
obtm seus padres de treinamento a partir deste gerador, e realiza a
aprendizagem online com adaptao de taxa de aprendizagem local nele.
Compare o desempenho da rede para vrios valores da taxa de meta-
aprendizagem.
Tic-Tac-Toe Implementar uma rede que usa Q-learning para aprender o jogo de
tic-tac-toe (ver figura) a partir de auto-play.
Tic-tac-toe
Aplicaes Voc pode querer considerar a aplicao de uma rede neural, como
parte de um projeto que diz respeito a outra parte do seu curso - por exemplo, na
construo ou simulando um agente reativo.
Sua sugesto aqui . Tem um conjunto de dados favorito voc deseja modelar?
Dados da srie cronolgica de prever? Problema de reconhecimento de padres?
Deixe-nos saber.

Você também pode gostar