Sustentabilidade GAN Learning (Aprofundando)

imagem

No artigo anterior, usando o exemplo de modelos de brinquedos, tentei analisar por que, de fato, somos capazes de treinar efetivamente GANs. Agora tentaremos resumir alguns dos resultados e, mais importante, tentar analisar como a arquitetura das redes neurais afeta a estabilidade do processo de aprendizagem.

1. Introdução


Você pode ver o processo de aprendizado da GAN como um processo de minimizar o limite inferior da divergência ou como um sistema dinâmico que consiste em um discriminador e um gerador. A primeira abordagem é muito bem desenvolvida. Se alguém interessado puder encontrar muitos trabalhos interessantes sobre esse tópico, darei apenas os mais significativos em minha opinião: f-GAN , WGAN . Por outro lado, The Numerics of GANs, Lars Mescheder et al, 2017 mostraram que não se pode olhar para um GAN apenas a partir de uma posição de minimização de divergência (embora esse seja o objetivo principal), mas ainda é necessário levar em consideração as propriedades de um sistema dinâmico. Nosso objetivo é combinar essas duas abordagens e ver quais propriedades teóricas as trajetórias de um sistema dinâmico terão.

A seguir, consideraremos uma forma bastante geral do funcional da GAN (objetivo da GAN).

I( theta, phi)=  intpd(x)fD(D theta(x))dx +  intp( epsilon)fG(D theta(G phi( epsilon))d epsilon


onde  theta - parâmetros discriminadores,  phi - parâmetros do gerador. E também assumimos que o gerador e o discriminador são funções duas vezes diferenciáveis.

O processo de aprendizado pode ser matematicamente formulado como:

\ underset {\ phi} {min} \ {\ underset {\ theta} {max} I (\ theta, \ phi) \}

\ underset {\ phi} {min} \ {\ underset {\ theta} {max} I (\ theta, \ phi) \}



Ponto de descanso


Apesar da enorme quantidade de trabalho no GAN, a questão da existência de um ponto de inatividade permanece em aberto. Agora tentaremos responder a esta pergunta.

Suponha ( suposição 1 ) que, para qualquer gerador, exista um discriminador maximizando

I( theta, phi)


Ou seja, função

\ theta_ {opt} = \ underset {\ theta} {argmax} \ {I (\ theta, \ phi) \}

\ theta_ {opt} = \ underset {\ theta} {argmax} \ {I (\ theta, \ phi) \}


definido para quaisquer valores  phi . Embora seja possível e ambíguo - ou seja, existem muitos discriminadores ótimos diferentes. Vamos chamar todo o conjunto desses discriminadores ótimos de "reparametrização" e o conjunto \ {\ theta_ {opt} \}\ {\ theta_ {opt} \} conjunto de reparametrização discriminadora. Vamos fazer um pequeno esclarecimento - por máximo, queremos dizer não apenas um máximo global, mas qualquer máximo local.

Matematicamente  thetaopt determinado pelo sistema de equações:

 nabla thetaI( thetaopt, phi)=0


 nabla theta2I( theta, phi) preceq0


Embora se o gerador e o discriminador são redes neurais e treinamos o gerador de imagens, essa suposição não é cumprida. Nos artigos a seguir, mostrarei como isso pode ser alcançado com a ajuda de um regularizador simples, mas por enquanto tenho que acreditar.

A segunda suposição ( suposição 2 ) é que, para qualquer mudança infinitamente pequena nos parâmetros do gerador, existe um discriminador ideal infinitamente próximo do atual. Você pode tentar descobrir quando isso é feito para redes neurais, mas parece-me que esse é um requisito intuitivo e com alta probabilidade de ser cumprido para redes bastante flexíveis.

Matematicamente, esse requisito pode ser formulado da seguinte forma: um sistema de equações

 nabla theta2I( thetaopt, phi)d theta= nabla theta phiI( thetaopt, phi)d phi ;(1)


tem decisões d theta a qualquer d phi .
Esta condição é facilmente obtida a partir da decomposição  nabla thetaI( thetaopt, phi)=0 em uma fileira de taylor.

Agora mostramos que, na suposição 2, o gradiente do gerador  nabla phiI( thetaopt, phi) não muda se avançarmos no conjunto de reparametrização discriminadora. Mover-se matematicamente pelo conjunto de reparametrização significa que  delta theta pertence ao núcleo  nabla theta2I( theta, phi) ou seja:

 nabla thetaI( thetaopt, phi)= nabla thetaI( thetaopt+d thetaopt, phi)=0


Vamos expandir em uma série de Taylor:

 nabla phiI( thetaopt+d thetaopt, phi)= nabla phiI( thetaopt, phi)+ nabla phi thetaI( theta, phi)d thetaopt


De onde, para que o gradiente não mude, é necessário que d thetaopt pertencia ao núcleo  nabla phi thetaI( theta, phi) . Mas se d thetaopt pertence ao núcleo  nabla theta2I( theta, phi) e (1) mantém, então d thetaopt pertence ao núcleo  nabla phi thetaI( theta, phi) . Isso é fácil de mostrar multiplicando (1) por d thetaopt e considerando que d phi pode ser qualquer:

d thetaTopt nabla theta2I( thetaopt, phi)d theta=d thetaTopt nabla theta phiI( thetaopt, phi)d phi=0


Acabamos de provar o maravilhoso fato de que o gradiente \ nabla_ \ phi \ underset {\ theta} {max} \ {I (\ theta, \ phi) \} não importa qual é selecionado  theta do conjunto de reparametrização do discriminador, o que significa  underset thetamaxI( theta, phi) é uma função diferenciável de  phi e podemos minimizá-lo usando métodos de otimização de gradiente.

O que se pode dizer sobre o mínimo dessa função? Infelizmente, nenhuma conclusão geral pode ser tirada até agora. Temos que fazer mais uma suposição ( suposição 3 ) sobre as propriedades do discriminador, a saber  underset thetamaxI( theta, phi) geq0 . A partir da análise da esteira, sabemos que uma função contínua limitada abaixo atinge seu valor mínimo ou existem sequências monotonamente decrescentes de pontos (isto é, a função atinge seu mínimo no infinito).

A suposição 3 afirma que não importa em que ponto começamos a treinar o discriminador (inicializando a rede neural), o discriminador ideal sempre atribui um valor mais alto (ou igual) (em média) aos dados do que as amostras do gerador e qualquer discriminador que faça o oposto não pode ser o ideal. Na minha opinião, essa suposição é muito lógica internamente e as redes neurais suficientemente flexíveis devem satisfazê-la. A propósito, é fácil mostrar que o discriminador linear satisfaz essa suposição.

“Trajetória ideal”


Acabamos de descobrir que, se o discriminador satisfaz suposições suficientemente “brandas”, então o ponto de descanso existe ou está localizado no infinito e podemos abordá-lo assintoticamente.

Para fazer isso, suponha que  theta e  phi parâmetros atuais e o discriminador é treinado para convergir. Agora mudamos um pouco o gerador (  phik+1= phik+d phi ) para que \ underset {\ theta} {argmax} \ {I (\ theta, \ phi) \} diminui - por exemplo, damos um passo na descida do gradiente. Como devemos atualizar o discriminador? A resposta é dada pela fórmula (1):

d theta= nabla theta2I( theta, phi) punhal nabla theta phiI( theta, phi)d phi(2)


onde  nabla theta2I( theta, phi) adaga É uma matriz pseudoinversa.
Para ser matematicamente rigoroso, a fórmula (2) determina o hiperplano tangente à superfície no espaço de parâmetros no qual os discriminadores ideais “vivem”. Vamos chamar essa superfície de "ideal".

Mas o que acontecerá se começarmos de um ponto muito próximo, mas ainda assim o discriminador não era o ideal. Obviamente, nossa fórmula descreve trajetórias completamente imprevisíveis, porque foi obtido apenas para discriminadores ótimos. Vamos tentar consertar essa situação. Nesse caso, seria lógico mover-se não apenas paralelamente à superfície “ideal”, mas também em direção a ela. Obviamente, um passo na direção indicada pelo método de Newton é bastante adequado para isso. Nossa fórmula final será assim:

d theta= nabla theta2I( theta, phi) punhal[ nabla thetaI( theta, phi)+ nabla theta phiI( theta, phi)d phi](3)


O que acabamos de fazer? Primeiro, observe que em uma superfície ideal  nabla thetaI( theta, phi)=0 , ou seja, se se  theta foi o discriminador treinado para convergência, então não mudamos a trajetória. Por outro lado, se começarmos em algum lugar próximo ao ponto "ideal", o termo adicional nos "puxará" para a trajetória "ideal". Ou seja, fizemos a trajetória “ideal” resistente ao ruído.

Infelizmente, não posso provar matematicamente. Mas não precisamos disso. Vamos dar uma olhada mais de perto na fórmula (3), que pode ser reescrita no formato:

d theta= nabla theta2I( theta, phi) punhal nabla thetaI( theta, phi+d phi)


Parece algo? Parece quase o método de Newton. Isso sugere que as atualizações alternadas (na literatura em inglês usam alternadas) dos parâmetros gerador e discriminador, em que o discriminador é atualizado pelo método Newton (na verdade, não precisamos dar o passo completo de Newton, mas podemos dar um pequeno passo na direção indicada pelo método de Newton), e o gerador, de um modo geral, pode dar um passo em qualquer direção, o principal é diminuir \ underset {\ theta} {argmax} \ {I (\ theta, \ phi) \} é uma boa aproximação do movimento ao longo de uma trajetória ideal.

A propósito, talvez seja aqui que reside o sucesso de Adam no treinamento da GAN. Afinal, é sabido que Adam tenta aproximar Hessian e usa essas informações para a etapa do gradiente (aproxima o método de Newton).

Estabilidade da trajectória


Para analisar a estabilidade das trajetórias, usaremos as mesmas ferramentas usadas pelos caras em Quais métodos de treinamento para GANs realmente convergem? . Quem tiver tempo, recomendo que você entenda bem esse trabalho, vale a pena.

Acredito que a principal desvantagem deste artigo é que os autores analisam a estabilidade do sistema em um ponto de repouso, o que simplesmente não existe para a maioria dos GANs reais (para exemplos 2D ou 3D de brinquedos, é claro que isso é possível). Quero dizer, em geral, não há ponto de descanso, e o ponto em que o gerador tem a mesma distribuição que os dados e o discriminador é idêntico a 0. Portanto, não analisaremos a estabilidade do sistema no ponto de descanso, seguiremos um caminho um pouco diferente - tentaremos analisar a estabilidade das trajetórias do sistema . Embora essa análise possa ser facilmente transferida para o ponto de repouso, o ponto de repouso também é uma trajetória.

Como trajetórias estudadas, escolhemos as trajetórias obtidas durante o treinamento por descida gradiente. Por que isso é importante? Primeiro, descobrimos qual é a trajetória "ideal" e descobrimos que ela pode ser bem aproximada por atualizações discriminadoras na direção indicada pelo método de Newton. E o método de Newton é o método mais gradiente que usa informações de segundas derivadas para ajustar a direção. Mas a principal razão pela qual estamos fazendo isso é muito simples - porque podemos. Qualquer desvio disso leva a fórmulas tão loucas que é simplesmente impossível entender alguma coisa lá.

A maneira padrão de analisar a estabilidade das trajetórias é analisar modelos linearizados. Semelhante aos autores de Quais métodos de treinamento para GANs realmente convergem? exploraremos as trajetórias jacobianas:

A = \ begin {bmatrix} \ nabla_ \ theta ^ 2 I (\ theta, \ phi) e \ nabla _ {\ theta \ phi} ^ 2 I (\ theta, \ phi) \\ - \ nabla _ {\ theta \ phi} ^ 2 I (\ theta, \ phi) ^ T & - \ nabla_ \ phi ^ 2 I (\ theta, \ phi) \ end {bmatrix}


J=I+ Aeta


onde I É a matriz de identidade.

Assumimos que o discriminador, embora não seja o ideal, esteja próximo o suficiente do ideal  nabla theta2I( theta, phi) preceq0 . E também que o regularizador (eu já mencionei que no GAN real o discriminador não tem um ponto ideal e que devemos criar esse ponto com a ajuda do regularizador) não inveja o gerador. Vou avançar um pouco - o melhor regularizador que encontramos na prática depende, mas para nossos estudos teóricos essa suposição não nos limita tanto.

Pelo que se segue, precisamos de um fato elementar sobre matrizes: se  nabla theta2I( theta, phi) preceq0 e  nabla phi2I( theta, phi) successq0 , então há  eta>0 qual é a norma espectral da matriz J será menor ou igual a 1.
A prova é elementar - escrevemos JTJ :

JTJ=[I+ etaA]T[I+ etaA]=I+ eta[A+AT+ eta(ATA)]


mas:

A + A ^ T = \ begin {bmatrix} 2 \ nabla_ \ theta ^ 2 I (\ theta, \ phi) & 0 \\ 0 & -2 \ nabla_ \ phi ^ 2 I (\ theta, \ phi) \ end {bmatrix}


Portanto, devido à continuidade dos valores próprios, é óbvio que se pode escolher tais  eta>0 que autovalores JTJ será menor ou igual a 1. A partir disso, segue-se o fato de que precisamos  left |J certo | leqslant1 .

Sabemos que em nossa trajetória  nabla theta2I( theta, phi) preceq0 executada (já que a trajetória é "ótima") e se houvesse  nabla phi2I( theta, phi) successq0 então qualquer trajetória (incluindo o ponto de equilíbrio) seria estável - ou seja, com um ligeiro desvio da trajetória, o sistema tenderia a retornar a ela. Isso é óbvio porque qualquer trajetória discreta pode ser representada como o produto dos jacobianos, e o produto de matrizes com uma norma menor ou igual a 1 não pode ter uma norma maior que 1.

Mas muitos fatos dizem que, para a GAN, esse nem sempre é o caso. Um exemplo impressionante é o modo de recolhimento, que, além disso, nem sempre acontece e nem para todos os modelos. Argumento que a complexidade do treinamento GAN está relacionada a dois fatos: não existe um discriminador ideal (tratado por um regularizador) e o jacobiano do gerador não é uma matriz definida não negativa. Agora tentaremos entender como, se não nos livrarmos completamente do segundo problema, ao menos minimizaremos seu efeito na sustentabilidade.

Para fazer isso, escrevemos o jacobiano do gerador. Ele será composto por três componentes:

J1= intp( epsilon)fG(D theta(G phi( epsilon)))[ nabla phiG phi( epsilon) nablaxD theta(G phi( epsilon)]][ nabla phiG phi( epsilon) nablaxD theta(G phi( epsilon))]Td epsilon


J2= intp( epsilon)fG(D theta(G phi( epsilon))) nabla phi2G phi( epsilon) nablaxD theta(G phi( epsilon))d epsilon


J3= intp( epsilon)fG(D theta(G phi( epsilon))) nabla phiG phi( epsilon)T nabla2xD theta(G phi( epsilon)) nabla phiG phi( epsilon)d epsilon


Como as expressões para o jacobiano são muito complexas e é impossível ver qualquer tipo de estrutura, todas as nossas ações terão como objetivo garantir que essas matrizes estejam o mais próximo possível de 0.

J1 pode-se ver que esse termo é muito fácil de redefinir - basta selecionar a função fG tal que fG(x)=0 ou então o “ponto de operação” está na região onde a segunda derivada é próxima de 0. A propósito, a escolha da função fG(x)=0 Em conformidade com o WGAN. O WGAN é conhecido por sua estabilidade?

Os outros dois termos só podem ser influenciados pela arquitetura das redes neurais. Por exemplo, eles são anulados no caso de um gerador e discriminador linear (as segundas derivadas são zero). A propósito, a ativação da ReLU vem à mente - infelizmente essa análise não é aplicável a essas redes, porque a suposição de diferenciabilidade é violada. Mas, a partir da prática, sabe-se que realmente GANs com redes neurais com ativações lineares por partes são treinadas muito mais estáveis ​​do que com tangentes hiperbólicas, por exemplo. Ainda não se sabe se isso se deve ao jacobiano ou se existe outra razão mais importante, mas no futuro pretendo investigar um pouco esse problema.

Também podemos concluir que o GAN "prefere" redes amplas. De fato, sabemos que a GAN com redes profundas entra em colapso com mais frequência.

Conclusão


Neste artigo, tentei dar respostas a perguntas de longa duração na teoria da GAN. Você e eu vimos que, para que um ponto de descanso exista, basta que o discriminador possua propriedades bastante simples. Vimos também que a interpretação probabilística (minimização da divergência) do GAN tem todos os direitos à vida e que, com um algoritmo bastante simples, podemos muito bem aproximar as trajetórias “ótimas”. E também que o algoritmo de Adam já faz isso e, em teoria, deve estabilizar o treinamento da GAN, que já foi observado em muitos trabalhos.

Ainda assim, o que é bastante importante, vimos que as recomendações empíricas para escolher a arquitetura das redes neurais e as funções de perda são bastante consistentes com a teoria. E o mais importante, todos os problemas no aprendizado devido a não linearidades - os modelos lineares são treinados de maneira muito estável.

O que resta do artigo? Prática. No próximo artigo, descreverei o regularizador usado para fornecer um ponto de descanso para o discriminador e vários truques para melhorar a estabilidade do processo de aprendizado da GAN (a propósito, alguns deles são motivados por essa análise).

E, por exemplo, uma rede profunda (50 camadas de gerador e 50 camadas de discriminador) treinada no conjunto de dados do quarto LSUN (apenas 100 mil iterações e não usamos a média do gerador)

Source: https://habr.com/ru/post/pt447494/


All Articles