Cs-449 Neural Networks Portugues

88
CS-449: Redes Neurais Queda 99 Instrutor: Genevieve Orr Universidade Willamette Notas de Aulas preparadas por Genevieve Orr, Nici Schraudolph e Fred Cummins [ conteúdo ] [ Links] O conteúdo 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 cérebro. A analogia é solto, mas serve para introduzir a idéia de computação paralela e distribuída. Em seguida, introduzir um tipo de rede em detalhe: a rede feedforward treinado por retropropagação de erro. Discutimos arquiteturas de modelos, métodos de treinamento e questões de representação de dados. Esperamos para cobrir tudo o que você precisa saber para se backpropagation trabalhando para você. A gama de aplicações e extensões para o modelo básico será apresentado na seção final do módulo. Aula 1: Introdução Perguntas Motivação e Aplicações Cálculo no cérebro Modelos de neurônios artificiais A regressão linear Redes neurais lineares Redes Multi-layer Backpropagation erro Aula 2: Classificação

Transcript of Cs-449 Neural Networks Portugues

  • 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

  • Aprendizagem Synaptic

    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

  • 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

  • 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

  • (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

  • 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

  • (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