Capsule Neural Networks: O que é, como funciona, arquitetura e componentes

Publicados: 2020-04-03

Como você reconhece as coisas? Se eu escrever 'Deles' e 'Thier', você leria os dois como 'Deles'? Sua resposta provavelmente seria sim.

Seu cérebro pode identificar características primárias e ajudá-lo a reconhecer as coisas. É por isso que você pode identificar rostos facilmente. As redes neurais de cápsula funcionam de maneira semelhante. Neste artigo, vamos dar uma olhada no que são e como funcionam. Se você estiver interessado em algoritmos de aprendizado de máquina , certamente gostaria deste artigo. Então vamos começar.

Índice

O que é uma Rede Neural Cápsula?

Uma rede neural cápsula se concentra na replicação de redes neurais biológicas para realizar melhor reconhecimento e segmentação. Eles são um tipo de Rede Neural Artificial. Eles têm uma camada aninhada sob uma camada das redes neurais da cápsula, é o que a palavra 'cápsula' indica.

As cápsulas nessas redes determinam os parâmetros das características de um objeto. Suponha que suas redes de cápsulas precisem identificar um rosto. As cápsulas se concentrarão em determinar se as características faciais específicas estão presentes ou não. Eles não estão restritos apenas a isso. Eles também verificarão como os recursos do rosto específico estão organizados. Assim, seu sistema pode identificar uma face somente quando as cápsulas determinarem que os elementos dessa face estão na ordem correta.

Você pode se perguntar, como eles determinam a ordem desses recursos? Essas redes podem fazer isso por causa da entrada que você fornece a elas. Depois de examinar centenas (ou mesmo milhares) de imagens, eles podem executar essa tarefa com eficiência.

Saiba mais: Redes Neurais: Aplicações no Mundo Real

Como funcionam as redes de cápsulas?

Agora, vamos dar uma olhada em como essas redes operam. Inicialmente, as cápsulas realizam a multiplicação de matrizes das matrizes de peso com vetores de entrada. Isso nos dá informações sobre a relação espacial entre vários recursos de baixo e alto nível.

Depois disso, as cápsulas selecionam uma cápsula pai. Eles fazem a seleção por meio de roteamento dinâmico, que discutimos mais adiante neste artigo. Uma vez que eles escolheram sua cápsula-mãe, eles encontram a soma dos vetores esmagados entre 0 e 1 quando eles mantêm sua direção. Você realiza o esmagamento usando a norma do quadro de coordenadas como a probabilidade de existência e a distância do cosseno para ser a medida de concordância.

Há uma diferença significativa entre redes neurais padrão e redes neurais de cápsula. Enquanto as redes de cápsulas usam cápsulas para encapsular bits essenciais de informações sobre uma imagem, as redes neurais padrão usam neurônios para essa finalidade. As cápsulas produzem vetores, enquanto os neurônios só podem produzir quantidades escalares. Por esse motivo, as cápsulas podem identificar a direção de um rosto (ou um recurso específico), mas os neurônios não. Se você mudar a direção de qualquer feição, o valor do vetor permanecerá o mesmo, mas sua direção mudará de acordo com a mudança de posição.

As redes de cápsulas têm um desempenho incrível em conjuntos de dados pequenos e facilitam a interpretação de imagens robustas. Além disso, eles retêm todas as informações da imagem, incluindo a textura, localização e pose. Sua única desvantagem é que eles não podem superar grandes conjuntos de dados.

Leia: 6 Tipos de Função de Ativação em Redes Neurais

Qual é a arquitetura de uma rede neural de cápsula?

Os dois componentes principais de uma rede de cápsulas são um codificador e um decodificador. No total, eles contêm seis camadas. O codificador possui as três primeiras camadas, e elas têm a responsabilidade de pegar e converter a imagem de entrada em um vetor (16-dimensional). A primeira camada do codificador é a rede neural convolucional e extrai os recursos básicos da imagem.

A segunda camada é a Rede PrimaryCaps, e ela pega esses recursos essenciais e encontra padrões mais detalhados entre eles. Por exemplo, ele pode ver a relação espacial entre traços específicos. Diferentes conjuntos de dados têm diferentes números de cápsulas na rede PrimaryCaps; por exemplo, o conjunto de dados MNIST tem 32 cápsulas. A terceira camada é a Rede DigitCaps, e o número de cápsulas presentes nela também varia. Após essas camadas, o codificador possui um vetor de 16 dimensões que vai para o decodificador.

O decodificador tem três camadas conectadas. Ele pega o vetor de 16 dimensões e tenta reconstruir a mesma imagem do zero com a ajuda dos dados que possui. Dessa forma, a rede se torna mais robusta, pois pode fazer previsões de acordo com seu conhecimento.

Leia também: Rede Neural Recorrente em Python

Computações em uma CNN

Multiplicação da matriz

Entre a primeira camada e a segunda camada, realizamos a multiplicação de matrizes. Isso codifica as informações de relações espaciais, e as informações codificadas mostram a probabilidade de classificações de rótulos.

Pesos escalares

Nesta etapa dos cálculos, as cápsulas de nível inferior ajustam seus pesos de acordo com os pesos das cápsulas de alto nível. Eles fazem isso para combinar com os pesos das cápsulas de alto nível. As cápsulas de alto nível representam graficamente a distribuição de peso e aceitam a maior alocação para passar. Todos eles se comunicam entre si por meio de roteamento dinâmico.

Roteamento dinâmico

No roteamento dinâmico, as cápsulas inferiores enviam seus dados para a cápsula pai. Todos eles enviam seus dados para a cápsula mais adequada de acordo com eles, e a cápsula que obtém a maioria dos dados se torna a cápsula pai. As cápsulas-mãe seguem o acordo e atribuem os pesos de acordo.

Para entender o roteamento dinâmico, suponha que você forneça à sua cápsula imagens de rede de uma casa. Enfrenta alguns problemas com a identificação do telhado da casa. Assim, as cápsulas analisam a imagem, especificamente sua parte constante. Eles coordenam a estrutura da casa em relação às paredes e ao telhado.

Eles primeiro decidem se o objeto é uma casa ou não e depois enviam suas previsões para as cápsulas de alto nível. Se as projeções do telhado em relação às paredes corresponderem a outras previsões de cápsulas de baixo nível, a saída diz que o objeto é uma casa. Este é o processo de roteamento por acordo.

Não linearidade de vetor para vetor

Quando o roteamento dinâmico é concluído, o sistema compacta as informações, o que significa que ele compacta essas informações. Dá a você a probabilidade de a cápsula reconhecer ou não um recurso específico.

Pensamentos finais

Depois de ler este artigo, você deve estar familiarizado com as redes neurais de cápsula e suas operações. Você também deve ter percebido como suas ações podem ser úteis.

Se você quiser saber mais sobre algoritmos de aprendizado de máquina, confira nosso blog. Você encontrará alguns artigos bem informados lá.

Se você estiver interessado em aprender mais sobre aprendizado de máquina, confira o PG Diploma in Machine Learning & AI do IIIT-B e upGrad, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, IIIT- B Status de ex-aluno, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.

O que são redes neurais transformadoras?

Quando uma rede neural recebe uma sequência de vetores como entrada, a altera para um vetor denominado (o processo é chamado de codificação) e depois a decodifica de volta em outra sequência, é chamada de rede neural transformadora. O transformador é um componente encontrado em muitas arquiteturas de redes neurais para processamento de dados sequenciais, incluindo texto em linguagem simples, sinais acústicos, sequências genômicas e dados de séries temporais. A aplicação mais comum de redes neurais transformadoras é no processamento de linguagem natural.

O que são redes neurais gráficas e como os gráficos funcionam?

As redes neurais gráficas, ou GNNs, são modelos neurais que usam a transmissão de mensagens entre os nós do gráfico para representar a dependência do gráfico. Essas redes operam diretamente nas estruturas de grafo fornecidas. Em palavras simples, cada nó no gráfico tem um rótulo e uma rede neural é usada para prever os nós de rótulo com base na verdade do terreno. As GNNs recentemente adquiriram destaque em uma variedade de disciplinas, incluindo redes sociais, gráficos de conhecimento, sistemas de recomendação e até ciências da vida.

As cápsulas são diferentes das redes de cápsulas?

Ambos os termos, cápsulas e redes de cápsulas, estão conectados ao aprendizado profundo, mas não são a mesma coisa. Um grupo de neurônios cujos vetores de atividade representam os parâmetros de instanciação de um determinado item, como o de um objeto, é conhecido como cápsula. No entanto, as redes cápsula são redes que podem recuperar informações geográficas e outros aspectos importantes para minimizar a perda de dados durante o processo de operações de pool.