O que está impedindo as redes neurais pulsadas serem usadas em aplicações?

13

As redes neurais pulsadas ou Spiking incorporam mais a dinâmica da membrana dos neurônios biológicos, onde os pulsos transportam informações para a próxima camada. Os neurônios não precisam necessariamente "disparar" todos ao mesmo tempo, como faria em um backprop, por exemplo.

No entanto, parece haver barreiras contra o emprego desses modelos para problemas de aprendizado de máquina. Quais questões específicas estão no caminho dos profissionais de aprendizado de máquina que usam modelos mais biologicamente realistas?

jonsca
fonte

Respostas:

12

A principal questão é que ninguém sabe como o cérebro funciona :)

Teoria

Até onde eu sei, existem três grandes etapas na pesquisa de redes neurais:

  1. Modelo Perceptron (ou, threshold-gate), onde qualquer função booleana pode ser calculada por algum perceptron de várias camadas com uma única camada oculta.
  2. Modelo de neurônio - versão aprimorada da anterior, onde os elementos de rede usam a função de ativação sigmóide (conjunto contínuo de entradas e saídas possíveis). Eles também podem calcular qualquer função booleana (após aplicar um limite) e, adicionalmente, podem aproximar-se de qualquer função contínua.
  3. Modelo de neurônios spiking, que usa "codificação temporal" para transmitir informações entre elementos de rede. Ele pode fazer tudo o que o modelo anterior faz, e geralmente pode fazê-lo com menos neurônios.

Basicamente, a evolução aqui é para se aproximar de como o cérebro humano funciona, e o último modelo tem a melhor fidelidade.

Prática

Os SNNs parecem muito promissores e há até um produto comercial SpikeNET construído sobre ele (em "O que o SpikeNET pode fazer" e "O que o SpikeNET ainda não pode fazer", você pode ver os problemas que eles enfrentaram).

Não posso falar sobre problemas específicos com redes de spikes - mas, em geral, tenho a impressão de que os problemas surgem porque as pessoas querem que os SNNs funcionem cada vez mais como um cérebro humano:

  • eles querem escolher como codificar as informações - o que pode ser feito através da codificação de atraso (neurônios mais altamente estimulados tendem a aumentar com mais frequência e mais cedo ), codificação binária (a informação é representada pelo número de espículas dentro de um determinado intervalo de tempo), codificação de tempo (a informação é o inverso da granularidade do intervalo de tempo distinguível), a codificação da ordem de classificação (os primeiros picos recebidos por um neurônio recebem influência e os posteriores são inibidos) e outros enfeites.
  • eles imitam a plasticidade hebbiana, que aumenta o peso entre os neurônios quando os dois estão "ligados" (ou ambos "desligados") ao mesmo tempo.
  • eles aplicam a auto-organização onde um grupo de neurônios compete com o neurônio vencedor, inibindo a resposta de outros neurônios. Com um neurônio spiking, o vencedor pode ser calculado rapidamente com base apenas em eventos de disparo único.

A Wikipedia possui um link para o livro "Redes Neurais Pulsadas" , que possui a seção "Problemas de implementação de redes neurais codificadas por pulsos", mas eu não sou educado o suficiente para comentar sobre isso.

Quanto à introdução ao tópico, recomendo este artigo: Redes Neurais Pulsadas e sua Aplicação ( pdf )

andreister
fonte
1
Concordo que ninguém sabe como o cérebro funciona, mas existem bons modelos de membrana fisiologicamente precisos desde os anos 30. Informações excelentes na resposta, mas, pelo que você escreveu, acho que os profissionais seriam incentivados a usá-las, em vez de desencorajados.
jonsca
Sim, exatamente - eles são incentivados por essas questões! :)
andreister
0

parece que todos os algoritmos de redes neurais usam alguma forma de descida de gradiente em seus algoritmos de treinamento e até modelos que não são da RNA usam descida de gradiente. parece não haver teoria sobre como aplicar a descida gradiente de maneira temporal sobre os SNNs. uma possibilidade é um aumento na computação neuromórfica, que usa modelos biologicamente mais realistas, semelhantes aos SNNs. mas parece que não há fortes benchmarks / descobertas de aprendizado de máquina alcançados no campo neuromórfico até o momento, assim como os benchmarks muito definidos alcançados com RNAs em muitos problemas comuns de ML, como reconhecimento de escrita, reconhecimento de fala, reconhecimento de objetos, tradução de idiomas etc.

vzn
fonte
re computação neuromorphic, pergunta um pouco semelhante há qualquer modelo de programação para sistemas de neuromórficos auto-aprendizagem cs.se
vzn