O documento descreve o Modelo Hierarchical Temporal Memory (HTM) e sua aplicação no processamento de linguagem natural. O HTM visa modelar as propriedades do neocórtex cerebral e implementa algoritmos hierárquicos para aprendizagem, inferência e predição baseados em padrões temporais. O documento também discute aplicações do HTM no processamento de texto usando as tecnologias NuPIC e Cortical.IO.
O modelo htm e sua aplicação no processamento de linguagem natural
1. O Modelo HTM e Sua Aplicação No
Processamento de Linguagem Natural
Felipe Rayel
I A 8 8 9 – S I S T E M A S D E C O G N I Ç Ã O A R T I F I C I A L
F A C U L D A D E D E E N G E N H A R I A E L É T R I C A E D E C O M P U T A Ç Ã O U N I C A M P
N O V E M B R O / 2 0 1 4
2. Visão Geral
• O neocórtex:
• Área mais evoluída do córtex
• Recobre os lobos frontais dos mamíferos
• Tem espessura de uns 2 mm e está dividido em seis camadas
• Proporciona as habilidades cognitivas mais complexas (somente o
neocórtex?)
• Aproximadamente 30 bilhões de neurônios
• Exibe um padrão uniforme de circuitos neurais.
• Evidências biológicas sugerem que o neocórtex implementa um
conjunto de algoritmos para executar muitas funções distintas da
inteligência.
3. Visão Geral
• Hierarchical Temporal Memory (HTM):
• Tecnologia de aprendizagem de máquina
• Visa capturar as propriedades estruturais e algorítmicas do
neocórtex.
• Qualquer sistema que tenta modelar os detalhes da arquitetura
do neocórtex é uma rede neural.
• São um tipo de rede neural (nova forma de rede neural)
• Paradigma Conexionista
• Teoria de função cerebral descrita por Jeff Hawkins no seu livro
“On Intelligence” (2004).
• Modelam neurônios (células), organizados em colunas, camadas
e regiões em uma hierarquia.
4. HTM
• Desenvolvimento:
• Numenta
• Fundada em 2005 pelo criador da Palm Jeff Hawkins.
• Para uso comercial e cientifico.
5. Neurônios
• Neurônio biológico
• Sinapses proximais (em verde)
• Se conectam verticalmente com neurônios da mesma coluna.
• Podemos dizer que as entradas para os dendritos proximais são somadas
linearmente no corpo da célula.
• Sinapses distais (azul)
• Se conectam de forma horizontal com outras colunas, são numerosas e
têm pouca influência por estar longe dele.
• Se um número suficiente de sinapses se tornar ativa ao mesmo tempo,
poderão gerar um pico dendrítico.
• Portanto, podemos dizer estes dendritos atuam como um conjunto de
detectores de limites de coincidência.
• Célula HTM
• Cada célula HTM tem um único dendrito proximal.
• A atividade das sinapses é linearmente somada para produzir uma
ativação.
• Cada célula HTM mantém uma lista de segmentos dendríticos
distais.
• Cada segmento atua como um detector de limite.
• Se o número de sinapses ativas em qualquer um está acima de
um limite, o segmento se torna ativo, e as células associadas
entram em estado preditivo
6. Regiões
• Regiões HTM são compostas por muitas células.
• As células são organizadas em uma matriz bidimensional de colunas.
• A figura mostra uma pequena parte de uma região HTM com quatro células por coluna
7. Hierarquia
• A rede HTM é composta por regiões
organizadas em uma hierarquia de
camadas.
• O benefício da organização hierárquica é a
eficiência:
• Reduz significativamente o tempo de
treinamento e uso da memória
• Padrões aprendidos em cada nível da
hierarquia são reutilizados quando
combinados de forma inédita em níveis
mais altos.
• Por exemplo:
• Quando você aprende uma nova
palavra, você não precisa reaprender
letras, sílabas ou fonemas.
8. Hierarquia
• Nível mais baixo:
• O cérebro armazena informações sobre seções
pequenas do campo visual. (bordas, cantos, etc)
• Nível Médio:
• Combinações de padrões de baixo nível
• Formação de componentes mais complexos. (curvas,
texturas, etc)
• Um arco pode ser a ponta de uma orelha, o topo de um
volante ou a borda de um copo de café.
• Nível Alto:
• Combinações de padrões de nível médio
• Representam características de objetos (cabeças,
carros, casas, etc.)
• Para aprender um novo objeto de alto nível você não
tem que reaprender seus componentes.
9. Representação Distribuída Esparsa
Neocórtex: a informação é representada por uma pequena porcentagem de neurônios ativos ao
mesmo tempo.
• Uma região pode receber 20.000 bits de entrada: 10010101010010100000111001011001...
• A porcentagem de "1" e "0" pode variar ao longo do tempo.
• A região HTM reduz esta entrada em uma representação interna de 10.000 bits, dos quais 2%, ou
200, estão ativos ao mesmo tempo, independentemente de quantos dos bits de entrada forem
"1“.
• Com a variação da entrada ao longo do tempo, a representação interna sempre terá 200 bits
ativos entre os 10.000 possíveis.
• Isso garante pouca variação entre sequências de representações ao longo do tempo.
• Pode parecer que esse processo gera uma grande perda de informações, porém a perda de
informações teóricas não terá um efeito prático.
10. Aprendizagem
• Tempo:
• Desempenha um papel crucial na aprendizagem, inferência e predição.
• Sem o tempo, não podemos inferir quase nada dos nossos sentidos tátil
e auditivo.
• Por exemplo, se você estiver de olhos fechados e alguém colocar uma
maçã em sua mão, você poderá identificar o que é só depois de
manipulá-la por um segundo ou mais.
• Algoritmos HTM:
• Aprendem as sequências temporais de um fluxo de dados de entrada
• Constroem um modelo dos padrões que seguem outros padrões.
• São capazes de "aprendizagem on-line“ como em um sistema biológico:
• Aprendem continuamente a partir de cada nova entrada.
• Não há necessidade de uma fase de aprendizagem isolada de uma fase de
inferência, embora a inferência melhore depois de aprender mais.
11. Aprendizagem
• Inativando a aprendizagem:
• Pode-se desligar a aprendizagem só nos níveis mais baixos da
hierarquia, mas continuar a aprender com os níveis mais elevados.
• Uma vez que uma HTM tenha aprendido a estrutura estatística
básica de seu mundo, aprendizagens mais novas só ocorrerão nos
níveis superiores da hierarquia.
• Se uma HTM é exposta a novos padrões que têm estrutura de baixo
nível inéditas, vai levar mais tempo para a HTM aprender estes
novos padrões.
• Vemos essa característica nos seres humanos (Neuro-Darwinismo
de Edelman)
• Ex: Tentar aprender idiomas estrangeiros
12. Inferência
• Depois de uma HTM aprender os padrões no seu mundo, ela
pode fazer inferências em cima de novas entradas.
• Quando uma HTM recebe a entrada, ela a compara com os
padrões espaciais e temporais aprendidos anteriormente.
• Por exemplo:
• Ouvir a primeira nota de uma melodia diz-lhe pouco.
• A segunda nota reduz significativamente as possibilidades, mas
ainda pode não ser suficiente.
• Normalmente, leva-se três, quatro ou mais notas antes de você
reconhecer a melodia.
• A inferência em uma região HTM é semelhante.
13. Inferência
• Toda experiência sensorial parece ser nova.
• Por exemplo: a palavra café dita diversa vezes por pessoas
diferentes não estimula o sistema auditivo exatamente da mesma
forma.
• A região HTM enfrenta o mesmo problema que o seu cérebro: as
entradas podem não se repetir exatamente.
• Representações Distribuídas Esparsas:
• É um modo de uma região HTM lidar com a nova entrada.
• Você só precisa combinar uma parte do padrão de forma a
assegurar que a combinação seja significante.
14. Predição
• “Pra bom entendedor meia palavra basta” - Provérbio Brasileiro
• Aprender e reconhecer sequências.
• Após aprender sequência de padrões pode predizer o próximo padrão provável
dado a entrada atual e as últimas entradas passadas.
• Regiões HTM armazenam transições entre representações distribuídas esparsas.
T1 T2 Tn Predição
• Quando uma célula torna-se ativa, faz conexões (sinapses distais) com outras
células que estavam ativas pouco antes. As células podem então predizer quando
elas vão se tornar ativas, fazendo uma busca nas suas conexões.
• Não há nenhuma central de armazenamento para uma sequência de padrões;
• A memória é distribuída entre as células individuais. Devido a memória ser
distribuída, o sistema é robusto ao ruído e ao erro.
15. Nupic
• NuPIC (Numenta Platform for Intelligent Computing)
• Software que implementa uma rede HTM
• Projeto Open Source GPL v3
• Desenvolvido em Python e C++
• github.com/numenta/nupic
• Port para Java: github.com/numenta/htm.java
• O uso e propriedade intelectual é livre para fins de pesquisa.
16. Cortical.IO
• www.cortical.io
• Inspirada a partir da teoria HTM
• Fundada em 2011 (Vienna) por Francisco Webber
• Engine Cortical para Procesamento de texto.
• Promete tornar a linguagem natural compreensível para a máquina
• Desenvolve e comercializa a tecnologia.
• Uso como SaS (Software as Service)
• Uso como AMI (Amazon Machine Image)
17. Semantic Fingerprint
• Representam palavras, sentenças ou documentos
inteiros.
• São SDRs (Sparse Distributed Representation)
• Retina
• Componente central da tecnologia Cortical.IO
• Codifica palavras da mesma forma que as informações
sensoriais alimentam o cérebro.
• Utiliza 16.000 caracteristicas semanticas para cada
termo.
19. Aplicação
• Nupic NLP (Natural Language Processing)
• Numenta Nupic + Cortical IO Cept API (Retina)
• Apresentado no Hackaton em 2013 por Subutai Ahmad
• github.com/subutai/nupic_nlp
20. Aplicação
Primeiro Termo Segundo Termo Terceiro Termo Predição
1 jaguar is car
2 porsche is car car
3 wolf is animal car
4 fox is animal animal
5 ferrari is ? car
6 horse is ? animal
Aprendizado de uma gramática de três palavras.
Usar os primeiros e segundos termos como contexto para prever o
terceiro termo.
Apos treinamento, o algoritimo cortical pode prever sem nunca ter
visto a palavra.
São semanticamente semelhante pois possuem SDRs próximos.
Jaguar, Porsche, Ferrari
Wolf, Fox, Horse
21. Conclusões
• A teoria HTM não é definitiva e tem sido aprimorada.
• Ainda há pouca literatura a respeito
• Pouco interesse da comunidade
• Iniciativas tem sido feitas pela numenta através de hackatons para tentar
popularizar a tecnologia.
• O Engine Cortical da Cortical.IO resolve o problema do Symbol Grounding
para palavras isoladas, porém não para sentenças.
• Cortical IO Não reconhece palavras em outros idiomas.
• Em 2012 Laboratório em Chicago confirmou a teoria de que as aves
possuem uma estrutura com a mesma funcionalidade do neocórtex (DVR).
(Harvey Karten, 1960)
22. Referências
• HIERARCHICAL TEMPORAL MEMORY
• Jeff Hawkins, Subedei Ahmad, Donna Dubinsky, (Numenta), 2011
• O Modelo Cortical HTM e sua Aplicação na Classificação de Gêneros
Musicais
• Pedro Tabacof, 2011
• http://www.cortical.io/developers_tutorials.html
• Cortical.io Dev Team, 2014