HTM é o componente algorítmico da Teoria dos Mil Cérebros de Jeff Hawkins. Assim, novas descobertas sobre o neocórtex são progressivamente incorporadas no modelo HTM, que muda ao longo do tempo em resposta. As novas descobertas não invalidam necessariamente as partes anteriores do modelo, pelo que as ideias de uma geração não são necessariamente excluídas nas suas sucessivas descobertas. Devido à natureza evolutiva da teoria, houve várias gerações de algoritmos HTM, que são brevemente descritas abaixo.
Primeira geração: zeta 1Edit
A primeira geração de algoritmos HTM é por vezes referida como zeta 1.
TrainingEdit
Durante o treino, um nó (ou região) recebe uma sequência temporal de padrões espaciais como sua entrada. O processo de aprendizagem consiste em duas fases:
- O agrupamento espacial identifica (na entrada) os padrões frequentemente observados e memoriza-os como “coincidências”. Padrões que são significativamente semelhantes uns aos outros são tratados como a mesma coincidência. Um grande número de padrões de entrada possíveis é reduzido a um número controlável de coincidências conhecidas.
- As coincidências de partições de agrupamento temporal que provavelmente se seguirão na sequência de treino em grupos temporais. Cada grupo de padrões representa uma “causa” do padrão de entrada (ou “nome” em On Intelligence).
Os conceitos de agrupamento espacial e agrupamento temporal são ainda bastante importantes nos actuais algoritmos HTM. O agrupamento temporal ainda não é bem compreendido, e o seu significado mudou ao longo do tempo (à medida que os algoritmos HTM evoluíram).
InferenceEdit
Durante a inferência, o nó calcula o conjunto de probabilidades de que um padrão pertence a cada coincidência conhecida. Depois calcula as probabilidades de que a entrada representa cada grupo temporal. O conjunto de probabilidades atribuídas aos grupos é chamado de “crença” de um nó sobre o padrão de entrada. (Numa implementação simplificada, a crença do nó consiste em apenas um grupo vencedor). Esta crença é o resultado da inferência que é passada a um ou mais nós “pai” no nível imediatamente superior da hierarquia.
padrões “inesperados” para o nó não têm uma probabilidade dominante de pertencer a qualquer grupo temporal, mas têm probabilidades quase iguais de pertencer a vários dos grupos. Se as sequências de padrões forem semelhantes às sequências de treino, então as probabilidades atribuídas aos grupos não mudarão com a mesma frequência com que os padrões são recebidos. A saída do nó não mudará tanto, e perde-se uma resolução no tempo.
Num esquema mais geral, a crença do nó pode ser enviada para a entrada de qualquer nó(s) em qualquer nível(is), mas as ligações entre os nós ainda são fixas. O nó de nível mais elevado combina esta saída com a saída de outros nós filhos, formando assim o seu próprio padrão de entrada.
Desde que a resolução no espaço e tempo se perde em cada nó como descrito acima, as crenças formadas pelos nós de nível mais elevado representam uma gama ainda maior de espaço e tempo. Isto destina-se a reflectir a organização do mundo físico tal como é percebido pelo cérebro humano. Conceitos maiores (por exemplo, causas, acções e objectos) são percebidos a mudar mais lentamente e consistem em conceitos mais pequenos que mudam mais rapidamente. Jeff Hawkins postula que os cérebros evoluíram este tipo de hierarquia para corresponder, prever e afectar a organização do mundo externo.
Mais detalhes sobre o funcionamento de Zeta 1 HTM podem ser encontrados na documentação antiga de Numenta.
Segunda geração: algoritmos de aprendizagem corticalEdit
A segunda geração de algoritmos de aprendizagem HTM, frequentemente referidos como algoritmos de aprendizagem cortical (CLA), era drasticamente diferente de zeta 1. Baseia-se numa estrutura de dados chamada representações distribuídas esparsas (ou seja, uma estrutura de dados cujos elementos são binários, 1 ou 0, e cujo número de 1 bits é pequeno comparado com o número de 0 bits) para representar a actividade cerebral e um modelo de neurónio mais biologicamente realista (muitas vezes também referido como célula, no contexto do HTM). Há dois componentes centrais nesta geração de HTM: um algoritmo de agrupamento espacial, que produz representações distribuídas esparsas (SDR), e um algoritmo de memória de sequência, que aprende a representar e prever sequências complexas.
Nesta nova geração, as camadas e minicolunas do córtex cerebral são abordadas e parcialmente modeladas. Cada camada HTM (não confundir com um nível HTM de uma hierarquia HTM, como descrito acima) consiste num número de minicolunas altamente interligadas. Uma camada HTM cria uma representação distribuída esparsa a partir da sua entrada, de modo a que uma percentagem fixa de minicolunas esteja activa em qualquer altura. Uma minicoluna é entendida como um grupo de células que têm o mesmo campo receptivo. Cada minicoluna tem um número de células que são capazes de se lembrar de vários estados anteriores. Uma célula pode estar num de três estados: estado activo, inactivo e preditivo.
Agrupamento espacialEditar
O campo receptivo de cada minicoluna é um número fixo de entradas que são seleccionadas aleatoriamente a partir de um número muito maior de entradas de nós. Com base no padrão de entrada (específico), algumas minicolunas estarão mais ou menos associadas com os valores de entrada activos. O agrupamento espacial selecciona um número relativamente constante das minicolunas mais activas e inactiva (inibe) outras minicolunas nas proximidades das activas. Padrões de entrada semelhantes tendem a activar um conjunto estável de colunas de minicolunas. A quantidade de memória utilizada por cada camada pode ser aumentada para aprender padrões espaciais mais complexos ou diminuída para aprender padrões mais simples.
Células activas, inactivas e preditivasEditar
Como mencionado acima, uma célula (ou um neurónio) de uma minicoluna, em qualquer momento, pode estar num estado activo, inactivo ou preditivo. Inicialmente, as células estão inactivas.
Como as células se tornam activas?Edit
Se uma ou mais células da minicoluna activa estiverem no estado preditivo (ver abaixo), serão as únicas células a tornarem-se activas no passo de tempo actual. Se nenhuma das células da minicoluna activa estiver no estado preditivo (o que acontece durante o passo de tempo inicial ou quando a activação desta minicoluna não era esperada), todas as células se tornam activas.
Como é que as células se tornam preditivas?Edit
Quando uma célula se torna activa, forma gradualmente ligações a células próximas que tendem a estar activas durante vários passos de tempo anteriores. Assim, uma célula aprende a reconhecer uma sequência conhecida, verificando se as células ligadas estão activas. Se um grande número de células ligadas estiver activo, esta célula muda para o estado preditivo em antecipação a uma das poucas entradas seguintes da sequência.
A saída de uma minicolunaEdit
A saída de uma camada inclui minicolunas tanto em estado activo como preditivo. Assim, as minicolunas estão activas durante longos períodos de tempo, o que leva a uma maior estabilidade temporal vista pela camada mãe.
Inferência e aprendizagem on-lineEdit
Algoritmos de aprendizagem cortical são capazes de aprender continuamente a partir de cada novo padrão de entrada, pelo que não é necessário um modo de inferência separado. Durante a inferência, o HTM tenta fazer corresponder o fluxo de entradas a fragmentos de sequências previamente aprendidas. Isto permite que cada camada de HTM esteja constantemente a prever a provável continuação das sequências reconhecidas. O índice da sequência prognosticada é a saída da camada. Uma vez que as previsões tendem a mudar com menos frequência do que os padrões de entrada, isto leva a uma maior estabilidade temporal da saída em níveis hierárquicos superiores. A previsão também ajuda a preencher padrões em falta na sequência e a interpretar dados ambíguos, enviesando o sistema para inferir o que previu.
Aplicações do CLAsEdit
Algoritmos de aprendizagem cortical estão actualmente a ser oferecidos como SaaS comerciais por Numenta (tais como Grok).
A validade do CLAsEdit
A seguinte pergunta foi colocada a Jeff Hawkins em Setembro de 2011 no que respeita aos algoritmos de aprendizagem cortical: “Como sabe se as alterações que está a fazer ao modelo são boas ou não? A resposta de Jeff foi “Há duas categorias para a resposta: uma é olhar para a neurociência, e a outra é métodos para a inteligência da máquina. No domínio das neurociências, há muitas previsões que podemos fazer, e estas podem ser testadas. Se as nossas teorias explicam uma vasta gama de observações neurocientíficas, então diz-nos que estamos no caminho certo. No mundo da aprendizagem da máquina, eles não se importam com isso, apenas com a forma como funciona nos problemas práticos. No nosso caso, isso ainda está para ser visto. Na medida em que se pode resolver um problema que ninguém foi capaz de resolver antes, as pessoas vão tomar nota”
Terceira geração: inferência sensorimotoraEditar
A terceira geração baseia-se na segunda geração e acrescenta numa teoria de inferência sensorimotora no neocórtex. Esta teoria propõe que as colunas corticais em cada nível da hierarquia podem aprender modelos completos de objectos ao longo do tempo e que as características são aprendidas em locais específicos sobre os objectos. A teoria foi alargada em 2018 e referida como a Teoria dos Mil Cérebros.