Como funciona a "teoria das cápsulas" de Hinton?

35

Geoffrey Hinton está pesquisando algo que ele chama de "teoria das cápsulas" em redes neurais. O que é isso e como funciona?

rcpinto
fonte
8
Agora, este artigo pode ser visto em: arxiv.org/abs/1710.09829 Roteamento dinâmico entre cápsulas Sara Sabour, Nicholas Frosst, Geoffrey E Hinton
Danke Xie
11
Há uma pergunta relacionada às informações mais recentes (novembro de 2017): Qual é o principal conceito por trás da Capsule Networks?
Mjul 10/11

Respostas:

31

Parece não ter sido publicado ainda; os melhores disponíveis online são esses slides para essa palestra . (Várias pessoas fazem referência a uma conversa anterior com este link , mas, infelizmente, ele está quebrado no momento em que escrevemos esta resposta.)

Minha impressão é que é uma tentativa de formalizar e abstrair a criação de sub-redes dentro de uma rede neural. Ou seja, se você observar uma rede neural padrão, as camadas estão totalmente conectadas (ou seja, todos os neurônios da camada 1 têm acesso a todos os neurônios da camada 0 e são acessados ​​por todos os neurônios da camada 2). Mas isso não é obviamente útil; pode-se ter, digamos, n pilhas paralelas de camadas (as 'cápsulas') que cada uma se especializa em alguma tarefa separada (que pode, por si só, exigir que mais de uma camada seja concluída com êxito).

Se estou imaginando seus resultados corretamente, essa topologia gráfica mais sofisticada parece algo que poderia facilmente aumentar a eficácia e a interpretabilidade da rede resultante.

Matthew Graves
fonte
9
O artigo está agora (outubro de 2017) publicado: arxiv.org/pdf/1710.09829.pdf
machinaut
13

Para complementar a resposta anterior: existe um artigo sobre isso que trata principalmente de aprender cápsulas de baixo nível a partir de dados brutos, mas explica a concepção de Hinton de uma cápsula em sua seção introdutória: http://www.cs.toronto.edu/~ fritz / absps / transauto6.pdf

Também é importante notar que o link para a conversa do MIT na resposta acima parece estar funcionando novamente.

De acordo com Hinton, uma "cápsula" é um subconjunto de neurônios dentro de uma camada que gera um "parâmetro de instanciação" indicando se uma entidade está presente em um domínio limitado e um vetor de "parâmetros de pose" que especifica a pose da entidade em relação a uma versão canônica.

Os parâmetros emitidos por cápsulas de baixo nível são convertidos em previsões para a pose das entidades representadas por cápsulas de nível superior, que são ativadas se as previsões concordarem e produzirem seus próprios parâmetros (os parâmetros de pose de nível superior são médias das previsões recebidas )

Hinton especula que essa detecção de coincidência de alta dimensão é para que serve a organização de minicolunas no cérebro. Seu principal objetivo parece substituir o pool máximo usado em redes convolucionais, nas quais camadas mais profundas perdem informações sobre pose.

a.kief
fonte
4

As redes de cápsulas tentam imitar as observações de Hinton do cérebro humano na máquina. A motivação deriva do fato de que as redes neurais precisavam de uma melhor modelagem das relações espaciais das partes. Em vez de modelar a coexistência, desconsiderando o posicionamento relativo, as redes de cápsulas tentam modelar as transformações relativas globais de diferentes sub-partes ao longo de uma hierarquia. Essa é a troca entre eqivariance vs. invariância, conforme explicado acima por outros.

Portanto, essas redes incluem um ponto de vista / orientação de orientação e respondem de maneira diferente a diferentes orientações. Essa propriedade os torna mais discriminativos, ao mesmo tempo em que introduz potencialmente a capacidade de executar estimativa de pose, pois os recursos do espaço latente contêm detalhes específicos e interpretáveis ​​da pose.

Tudo isso é conseguido incluindo uma camada aninhada chamada cápsulas dentro da camada, em vez de concatenar outra camada na rede. Essas cápsulas podem fornecer saída vetorial em vez de escalar por nó.

A contribuição crucial do documento é o roteamento dinâmico que substitui o pool máximo padrão por uma estratégia inteligente. Esse algoritmo aplica um cluster de deslocamento médio nas saídas da cápsula para garantir que a saída seja enviada apenas ao pai apropriado na camada acima.

Os autores também combinam as contribuições com perda de margem e perda de reconstrução, que simultaneamente ajudam a aprender melhor a tarefa e mostram resultados de última geração no MNIST.

O artigo recente chama-se Dynamic Routing Between Capsules e está disponível em Arxiv: https://arxiv.org/pdf/1710.09829.pdf .

Tolga Birdal
fonte
3

Baseado no artigo Roteamento Dinâmico entre Cápsulas

Uma cápsula é um grupo de neurônios cujo vetor de atividade representa os parâmetros de instanciação de um tipo específico de entidade, como um objeto ou parte do objeto. Usamos o comprimento do vetor de atividade para representar a probabilidade da entidade existir e sua orientação para representar os parâmetros da instanciação. Cápsulas ativas em um nível fazem previsões, através de matrizes de transformação, para os parâmetros de instanciação de cápsulas de nível superior. Quando várias previsões concordam, uma cápsula de nível superior se torna ativa. Mostramos que um sistema de cápsulas multicamadas, treinado discriminadamente, alcança desempenho de ponta no MNIST e é consideravelmente melhor que uma rede convolucional no reconhecimento de dígitos altamente sobrepostos. Para alcançar esses resultados, usamos um mecanismo iterativo de roteamento por contrato: Uma cápsula de nível inferior prefere enviar sua saída para cápsulas de nível superior cujos vetores de atividade têm um grande produto escalar, com a previsão vindo da cápsula de nível inferior. A versão final do artigo está em revisão para incorporar os comentários dos revisores.

mwweb
fonte
2
Uma boa resposta é geralmente mais do que apenas uma citação. Geralmente, você pode reafirmar de maneira mais clara ou aprofundar-se mais. Muito raramente, é apenas uma citação para dar uma boa resposta. Você acha que poderia melhorar um pouco isso editando ?
user58
3

Uma das principais vantagens das redes neurais convolucionais é a sua invariância à tradução. No entanto, essa invariância tem um preço, ou seja, não considera como diferentes recursos estão relacionados entre si. Por exemplo, se tivermos uma imagem de um rosto, a CNN terá dificuldades em distinguir a relação entre o aspecto da boca e o nariz. As camadas máximas de pool são a principal razão para esse efeito. Porque quando usamos o máximo de camadas de pool, perdemos os locais precisos da boca e do ruído e não podemos dizer como eles se relacionam.

As cápsulas tentam manter a vantagem da CNN e corrigir essa desvantagem de duas maneiras;

  1. Invariância: citando este artigo

Quando a cápsula está funcionando corretamente, a probabilidade de a entidade visual estar presente é localmente invariável - ela não muda à medida que a entidade se move sobre a variedade de possíveis aparências dentro do domínio limitado coberto pela cápsula.

Em outras palavras, a cápsula leva em consideração a existência do recurso específico que procuramos, como boca ou nariz. Essa propriedade garante que as cápsulas sejam invariantes à conversão, da mesma forma que as CNNs.

  1. Equivariância: em vez de invariância da tradução do recurso , o capsule o tornará equivalente à tradução ou equivalente ao ponto de vista. Em outras palavras, à medida que o recurso se move e muda sua posição na imagem, a representação do vetor do recurso também muda da mesma maneira que o torna equivariante. Essa propriedade de cápsulas tenta resolver a desvantagem das máximas camadas de pooling que mencionei no início.
RAS
fonte