Como seria o novo “computador neural diferenciável” de Deepmind?

12

Deepmind acaba de publicar um artigo sobre um "computador neural diferenciável" , que basicamente combina uma rede neural com uma memória .

A idéia é ensinar a rede neural a criar e recuperar memórias explícitas úteis para uma determinada tarefa. Isso complementa bem as habilidades de uma rede neural, porque as NNs armazenam apenas conhecimento implicitamente nos pesos e as informações usadas para trabalhar em uma única tarefa são armazenadas apenas na ativação da rede e degradam rapidamente quanto mais informações você adicionar. (Os LSTMs tentam retardar essa degradação das memórias de curto prazo, mas isso ainda acontece.)

Agora, em vez de manter as informações necessárias na ativação, eles presumivelmente mantêm os endereços dos slots de memória para obter informações específicas na ativação, portanto, eles também devem estar sujeitos a degradação. Minha pergunta é por que essa abordagem deve ser dimensionada. Um número um pouco maior de informações específicas da tarefa não deve sobrecarregar novamente a capacidade da rede de manter os endereços de todos os slots de memória apropriados em sua ativação?

BlindKungFuMaster
fonte

Respostas:

3

Examinar a arquitetura do DNC realmente mostra muitas semelhanças com o LSTM . Considere o diagrama no artigo do DeepMind ao qual você vinculou:

Arquitetura DeepMind DNC

Compare isso com a arquitetura LSTM (crédito para ananth no SlideShare):

insira a descrição da imagem aqui

Existem alguns análogos próximos aqui:

  • Bem como o LSTM, o DNC irá executar alguma conversão de entrada para vectores de estado de tamanho fixo ( h e c no LSTM)
  • Da mesma forma, o DNC realizará alguma conversão desses vetores de estado de tamanho fixo em potencialmente arbitrariamente longos. saída (no LSTM, amostramos repetidamente nosso modelo até estarmos satisfeitos / o modelo indica que estamos concluídos)
  • As portas de esquecer e de entrada do LSTM representam a gravação operação de no DNC ('esquecer' é essencialmente apenas zerar ou zerar parcialmente a memória)
  • A porta de saída do LSTM representa a operação de leitura no DNC

No entanto, o DNC é definitivamente mais do que um LSTM. Obviamente, ele utiliza um estado maior que é discretizado (endereçável) em pedaços; isso permite que o gate do LSTM seja mais binário. Com isso, quero dizer que o estado não é necessariamente corroído por alguma fração a cada passo do tempo, enquanto no LSTM (com a função de ativação sigmóide) ele necessariamente é. Isso pode reduzir o problema do esquecimento catastrófico que você mencionou e, assim, aumentar sua escala.

O DNC também é inovador nos links que usa entre a memória. No entanto, isso pode ser uma melhoria mais marginal no LSTM do que parece se re-imaginarmos o LSTM com redes neurais completas para cada porta, em vez de apenas uma única camada com uma função de ativação (chamada de super-LSTM); Nesse caso, podemos realmente aprender qualquer relação entre dois slots na memória com uma rede suficientemente poderosa. Embora eu não conheça as especificidades dos links sugeridos pelo DeepMind, eles implicam no artigo que estão aprendendo tudo apenas retropropagando gradientes como uma rede neural comum. Portanto, qualquer relação que eles estejam codificando em seus links deve teoricamente ser aprendida por uma rede neural e, portanto, um 'super-LSTM' suficientemente poderoso deve ser capaz de capturá-lo.

Com tudo isso dito , é comum o aprendizado profundo que dois modelos com a mesma capacidade teórica de expressividade têm um desempenho muito diferente na prática. Por exemplo, considere que uma rede recorrente pode ser representada como uma enorme rede de feed-forward se apenas a desenrolarmos. Da mesma forma, a rede convolucional não é melhor do que uma rede neural de baunilha, porque possui alguma capacidade extra de expressividade; de fato, são as restrições impostas a seus pesos que o tornam mais eficaz. Assim, comparar a expressividade de dois modelos não é necessariamente uma comparação justa de seu desempenho na prática, nem uma projeção precisa de quão bem eles serão dimensionados.

Uma pergunta que tenho sobre o DNC é o que acontece quando fica sem memória. Quando um computador clássico fica sem memória e outro bloco de memória é solicitado, os programas começam a falhar (na melhor das hipóteses). Estou curioso para ver como o DeepMind planeja resolver isso. Suponho que ele contará com alguma canibalização inteligente de memória atualmente em uso. Em certo sentido, os computadores atualmente fazem isso quando um sistema operacional solicita que os aplicativos liberem memória não crítica se a pressão da memória atingir um determinado limite.

eric.mitchell
fonte