Qual é a diferença entre "equivariante à tradução" e "invariante à tradução"

38

Estou tendo problemas para entender a diferença entre equivariante para tradução e invariante para tradução .

No livro Deep Learning . MIT Press, 2016 (I. Goodfellow, A. Courville e Y. Bengio), pode-se encontrar nas redes convolucionais:

  • [...] a forma específica de compartilhamento de parâmetros faz com que a camada tenha uma propriedade chamada equivalência à conversão
  • [...] o pool ajuda a tornar a representação aproximadamente invariável a pequenas traduções da entrada

Existe alguma diferença entre eles ou os termos são usados ​​de forma intercambiável?

Aamir
fonte
2
Nos velhos tempos da Estatística, como no tempo de Pitman, invariante era usado no significado de equivariante.
Xi'an

Respostas:

39

Às vezes, equivalência e invariância são usadas de forma intercambiável. Como apontado por @ Xi'an , você pode encontrar usos na literatura estatística, por exemplo, nas noções do estimador invariante e, especialmente, do estimador de Pitman .

No entanto, gostaria de mencionar que seria melhor se ambos os termos se mantivessem separados , já que o prefixo " in " em invariante é privativo (significando "nenhuma variação"), enquanto " equi- " em equivarante se refere a "variação numa proporção semelhante ou equivalente ". Em outras palavras, um não se move, o outro se move .

Vamos começar com recursos simples de imagem, e suponha que a imagem I tenha um máximo máximo de m na localização do pixel espacial (xm,ym) , que é aqui o principal recurso de classificação. Em outras palavras: uma imagem e todas as suas traduções são "iguais" . Uma propriedade interessante dos classificadores é sua capacidade de classificar da mesma maneira algumas versões distorcidas I de I , por exemplo, traduções por todos os vetores (u,v) .

O valor máximo m de I é invariável : m=m : o valor é o mesmo. Enquanto sua localização será em (xm,ym)=(xmu,ymv) , e é equivariante , o que significa que varia "igualmente" com a distorção .

As formulações precisas dadas em matemática para a equivalência dependem dos objetos e transformações que se considera, então prefiro aqui a noção que é usada com mais frequência na prática (e posso ser responsabilizado do ponto de vista teórico).

Aqui, as traduções (ou alguma acção mais genérico) pode ser equipada com a estrutura de um grupo G , g sendo um específico operador de tradução. Uma função ou característica f é invariável em G se para todas as imagens de uma classe e para qualquer g ,

f(g(I))=f(I).

Torna-se equivariante se existe outra estrutura ou ação matemática (geralmente um grupo) G que reflete as transformações em G maneira significativa . Em outras palavras, de modo que, para cada g , você tenha um único gG tal que

f(g(I))=g(f(I)).

No exemplo acima, no grupo de traduções, g e g são os mesmos (e, portanto, G=G ): uma tradução inteira da imagem reflete como a mesma tradução exata do local máximo.

Outra definição comum é:

f(g(I))=g(f(I)).

I no entanto usado potencialmente diferente G e G , porque às vezes f(I) e g(I) não estão no mesmo domínio. Isso acontece, por exemplo, em estatísticas multivariadas (consulte, por exemplo, propriedades de equivalência e invariância de quantil multivariado e funções relacionadas, e o papel da padronização ). Mas aqui, a singularidade do mapeamento entre g e g permite retornar à transformação original g .

Freqüentemente, as pessoas usam o termo invariância porque o conceito de equivalência é desconhecido, ou todo mundo usa invariância, e a equivalência parece mais pedante.

Para o registro, outras noções relacionadas (especialmente em matemática e física) são denominadas covariância , contravariância , invariância diferencial .

Além disso, a invariância da tradução, no mínimo aproximada ou em envelope, tem sido uma busca por várias ferramentas de processamento de sinal e imagem. Notavelmente, as transformações de várias taxas (bancos de filtros) e de várias escalas (wavelets ou pirâmides) foram projetadas nos últimos 25 anos, por exemplo, sob o capô de invariantes por turnos, rotações de ciclo, estacionárias, complexas e de duas árvores. transformações de wavelet (para uma revisão em wavelets 2D, um panorama sobre representações geométricas em várias escalas ). As wavelets podem absorver algumas variações discretas de escala. Todas as invariâncias (aproximadas) de teses geralmente vêm com o preço da redundância no número de coeficientes transformados. Porém, é mais provável que eles apresentem características invariantes à mudança ou equivalentes à mudança.

Laurent Duval
fonte
4
Ótimo! Eu realmente admiro o seu esforço para a resposta detalhada @Laurent Duval
Aamir
25

Os termos são diferentes:

  • Equivariante à tradução significa que uma tradução de recursos de entrada resulta em uma tradução equivalente de resultados. Portanto, se seu padrão 0,3,2,0,0 na entrada resultar em 0,1,0,0 na saída, o padrão 0,0,3,2,0 poderá levar a 0,0,1, 0 0

  • Invariante para conversão significa que uma conversão de recursos de entrada não altera as saídas. Portanto, se o seu padrão 0,3,2,0,0 na entrada resultar em 0,1,0 na saída, o padrão 0,0,3,2,0 também levaria a 0,1,0

Para que os mapas de recursos em redes convolucionais sejam úteis, eles geralmente precisam de ambas as propriedades em algum equilíbrio. A equivalência permite que a rede generalize a detecção de arestas, texturas e formas em diferentes locais. A invariância permite que a localização precisa dos recursos detectados seja menos importante. Esses são dois tipos complementares de generalização para muitas tarefas de processamento de imagem.

Neil Slater
fonte
O recurso traduzido produz saída traduzida em alguma camada. Por favor, elabore sobre a detecção de um objeto inteiro consideravelmente traduzido. Parece que será detectado mesmo que a CNN não tenha sido treinada com imagens contendo posições diferentes? A equivariância é válida neste caso (parece mais semelhante à invariância)?
VladimirLenin
@ VladimirLenin: Eu não acho que a elaboração seja necessária para essa pergunta, definitivamente não é algo que o OP pediu aqui. Sugiro que faça uma pergunta separada, com um exemplo concreto, se possível. Mesmo se visualmente um "objeto inteiro" tiver sido traduzido, isso não significa que os mapas de recursos em uma CNN estejam rastreando a mesma coisa que você espera.
Neil Slater
4

Apenas adicionando meus 2 centavos

f:ILIL

  • f:IL
  • f:LL

e é realizado usando as seguintes propriedades

  • a equivalência espacial, em relação ao ConvLayer (convolução espacial 2D + NonLin, por exemplo, ReLU) como uma mudança na Camada de entrada produz uma mudança na saída da camada (Nota: trata-se da camada, não do único operador de convolução)
  • invariância espacial, em relação ao Operador de Pooling (por exemplo, Max Pooling passa sobre o valor máximo em seu campo receptivo, independentemente de sua posição espacial)

I

L

O uso de camadas totalmente conectadas no front-end torna o classificador sensível à posição do recurso em alguma extensão, dependendo da estrutura do back-end: quanto mais profundo ele for e mais o operador invariante de conversão (Pooling) será usado

Foi demonstrado em Quantificando a invariância da tradução em redes neurais convolucionais que, para melhorar a invariância da tradução do classificador da CNN, em vez de atuar no viés indutivo (arquitetura, portanto, profundidade, pooling ...), é mais eficaz atuar no viés do conjunto de dados (aumento de dados )

Nicola Bernini
fonte