Redes neurais treinadas instantaneamente são uma classe de redes neurais artificiais feedforward que criam um novo nó de neurônio oculto para cada nova amostra de treinamento encontrada. Os pesos atribuídos a esse neurônio oculto recém-criado são projetados para separar não apenas a amostra de treinamento específica, mas também outras amostras que estão próximas a ela, proporcionando assim uma forma de generalização. Essa separação é alcançada usando o hiperplano mais próximo que pode ser escrito instantaneamente, sem otimização iterativa. Nas duas implementações mais proeminentes, a vizinhança de generalização varia com a amostra de treinamento (a rede CC1) ou permanece constante (a rede CC4). Essas redes normalmente empregam codificação unária para uma representação eficaz dos conjuntos de dados de entrada.
O conceito foi proposto pela primeira vez em um artigo de 1993 de Subhash Kak. Desde essa introdução, redes neurais treinadas instantaneamente foram sugeridas como modelos de aprendizado de curto prazo em sistemas biológicos e foram aplicadas a tarefas práticas, como busca na web, previsão de séries temporais financeiras, classificação instantânea de documentos e como componentes em pipelines de aprendizado profundo e mineração de dados. Como na maioria das redes neurais, seu uso normal é como software, mas também foram implementadas em hardware usando matrizes de portas programáveis em campo (FPGAs) e por meio de implementações ópticas.
Arquitetura da Rede CC4
A rede CC4 é uma arquitetura feedforward de três estágios. Sua camada de entrada contém um número de nós igual ao tamanho do vetor de treinamento mais um nó extra, que serve como um nó de polarização cuja entrada é sempre definida como 1. Para vetores de entrada binários, os pesos dos nós de entrada para um neurônio oculto (indexado por j) correspondente a um vetor treinado são definidos por uma fórmula específica. Para cada componente de entrada xi, o peso wij é definido como -1 se xi for igual a 0, e +1 se xi for igual a 1. Para o nó de polarização (i = n+1), o peso é definido como r - s + 1, onde r é o raio de generalização e s é o peso de Hamming (o número de 1s) da sequência binária.
Os neurônios da camada oculta e os neurônios da camada de saída usam uma função de ativação por limiar: eles produzem 1 se a soma ponderada de suas entradas for 0 ou positiva, e 0 se a soma ponderada for negativa. Da camada oculta para a camada de saída, os pesos são 1 ou -1, dependendo se o vetor correspondente pertence a uma determinada classe de saída. Essa arquitetura permite que a rede classifique novas entradas com base em sua proximidade com amostras de treinamento previamente armazenadas, com o raio r controlando o tamanho da vizinhança de generalização.
Rede CC1 e Variações
A rede CC1 difere da rede CC4 no fato de que o raio de generalização não é constante, mas varia com cada amostra de treinamento. Isso permite que a rede adapte seu comportamento de generalização localmente, potencialmente proporcionando melhor desempenho em regiões do espaço de entrada com densidade de dados variável. A rede CC4 também foi modificada para aceitar vetores de entrada não binários, com raios de generalização variáveis, efetivamente fornecendo uma implementação CC1 dentro da estrutura CC4. Essas modificações estendem a aplicabilidade das redes neurais treinadas instantaneamente além de dados puramente binários.
Modelos de Aprendizado Instantâneo Relacionados
Além das arquiteturas feedforward, outros modelos de redes neurais também exibem capacidades de aprendizado instantâneo. A rede Willshaw, um tipo de memória associativa, pode armazenar e recuperar padrões em uma única apresentação. Da mesma forma, a rede de Hopfield, uma rede neural recorrente usada para memória associativa e otimização, pode aprender padrões instantaneamente por meio de uma regra de aprendizado hebbiana de uma única passagem. Essas redes de feedback compartilham a propriedade de aprendizado rápido e de uma única passagem com as redes neurais treinadas instantaneamente feedforward, embora seus princípios operacionais e aplicações difiram.
Aplicações e Implementações
Redes neurais treinadas instantaneamente foram aplicadas em vários domínios devido à sua velocidade de treinamento rápida e simplicidade. Na busca na web, elas foram usadas para classificação instantânea de documentos, permitindo a categorização rápida de páginas da web ou resultados de busca. Na previsão de séries temporais financeiras, sua capacidade de aprender com novos pontos de dados sem retreinar toda a rede as torna adequadas para previsão adaptativa. Elas também foram exploradas como modelos de aprendizado de curto prazo na ciência cognitiva, onde a aquisição rápida de novas informações é uma característica fundamental. Implementações de hardware usando FPGAs foram demonstradas, e implementações ópticas foram propostas, aproveitando a natureza paralela dos cálculos da rede.