Use a rede neural Capsule
Redes Capsule (CapsNet) são uma classe recente de redes neurais com o objetivo de fornecer uma alternativa às redes neurais convolucionais clássicas no campo da visão computacional. CapsNets ainda não são usadas em aplicações do mundo real, mas são um tópico de pesquisa promissor. Este exemplo mostra a rede Capsule original treinada na tarefa de classificação MNIST e explora as propriedades dos vetores de cápsula que ela calcula.
Obtenha um modelo CapsNet pré-treinada do Wolfram Neural Net Repository.
CapsNet não são classificadores puros; eles também são um codificador automático e podem, portanto, reconstruir seus dados de entrada.
Em vez de ter neurônios escalares mantendo os valores finais para cada classe, um CapsNet produz vetores de cápsula, que codificam o valor em sua norma. Além do caso escalar, as informações sobre as propriedades da instância detectada são codificadas na orientação dos vetores de cápsula, de maneira semelhante aos vetores de propriedades. Extraia vetor-cápsula de 16 elementos com a norma mais alta do bloco "pick" da rede.
O bloco "Reconstruct" é treinado para reconstruir a imagem de entrada a partir das informações contidas no vetor da cápsula, atuando como um regularizador. A reconstrução feita com sucesso prova que os vetores de cápsula codificam as características da instância específica que foram reconhecidas em sua orientação. Obtenha o reconstrutor.
Alimente o vetor da cápsula obtido anteriormente no reconstrutor.
O espaço ocupado pelos vetores de cápsula possui características que lembram os espaços latentes de autocodificadores clássicos e variacionais. Experimente mudar o vetor de cápsula. Alterar o vetor da cápsula pode resultar em variações de propriedades, como espessura, ou pode transformar completamente a instância em outra classe.
Interpole entre vetores de cápsula de diferentes dígitos.