Não, eles não. Nós os projetamos basicamente para que eles não possam preservar distâncias. Um autoencoder é uma rede neural que aprende uma representação "significativa" da entrada, preservando seus recursos "semânticos". As palavras citadas (como tantos termos nos artigos do Deep Learning) não têm definição rigorosa, mas digamos que, treinado em um conjunto de entradas, o autoencoder deve aprender alguns recursos comuns dessas entradas, que permitem reconstruir uma entrada invisível com pequenas erro 1 .
A maneira mais simples de o autoencoder minimizar as diferenças entre entrada e saída (entrada reconstruída) seria apenas enviar a entrada, ou seja, aprender a função de identidade, que é uma isometria, preservando distâncias. No entanto, não queremos que o autoencodificador simplesmente aprenda o mapa de identidade, porque, caso contrário, não aprendemos representação "significativa" ou, para dizer melhor, não aprendemos a "comprimir" a entrada aprendendo suas informações básicas. características semânticas e "jogando fora" os mínimos detalhes (o ruído, no caso do autoencoder denoising).
Para impedir que o autoencoder aprenda a transformação de identidade e forçá-lo a compactar a entrada, reduzimos o número de unidades nas camadas ocultas do autoencoder (camada ou camadas de gargalo). Em outras palavras, forçamos a aprender uma forma de redução não linear da dimensionalidade: não é por acaso que existe uma conexão profunda entre os autoencodificadores lineares e o PCA , um procedimento estatístico bem conhecido para a redução linear da dimensionalidade.
No entanto, isso tem um custo : forçando o autoencoder a executar algum tipo de redução não linear da dimensionalidade, impedimos que ele preserve distâncias. De fato, você pode provar que não existe isometria, ou seja, nenhuma transformação de preservação de distância, entre dois espaços euclidianosEn e Em E se m < n(isso está implicitamente comprovado nesta prova de outra declaração ). Em outras palavras, uma transformação de redução de dimensão não pode ser uma isometria. Isso é bastante intuitivo, na verdade: se o autoencoder precisar aprender a mapear elementos de um espaço vetorial de alta dimensãoV, para elementos de um coletor de dimensões inferiores M embarcado em V, ele terá que "sacrificar" algumas direções em V, o que significa que dois vetores que diferem apenas nessas direções serão mapeados para o mesmo elemento de M. Assim, sua distância, inicialmente diferente de zero, não é preservada (passa a 0).
NOTA : pode ser possível aprender um mapeamento de um conjunto finito de elementos deV S= {v1 1, ... ,vn}, para um conjunto finito de elementos O = {W1 1, ... ,Wn} ∈ M, de modo que as distâncias aos pares sejam conservadas. Isso é o que escala multidimensional tenta fazer. No entanto, é impossível mapear todos os elementos deV para elementos de um espaço de menor dimensão W preservando distâncias.
As coisas ficam mais complicadas quando nos referimos ao meu sabor favorito de autoencoder, o Variational Autoencoder, mas não vou focar neles aqui.