Há um buraco calculado e de linguagem. Os estudos de sistemas neurais e modelos de probabilidade não têm uma linguagem comum. É provável que eu faça esse buraco de pensamento e considere um esforço e discurso mais coordenado entre esses campos, e dê uma execução previsível (Github connect). Na hipótese de que muitas palavras aqui são diferentes para você, salte para o glossário.

Os autoencoders variacionais são legais. Eles nos permitem estruturar modelos complexos de informações generativas, e adequá-los a enormes conjuntos de dados. Eles podem produzir imagens de grandes nomes anedóticos e de alta qualidade de artesanato computadorizado.

Estes modelos também rendem melhor na classe AI trazem a idade da imagem e apoiam o aprendizado. Os autoencoders variacionais (VAEs) foram caracterizados em 2013 por Kingma et al…

Como podemos fazer uma linguagem para falar de autoencoders variacionais? Que tal considerá-los primeiramente utilizando sistemas neurais, nesse ponto utilizando a indução variacional em modelos de probabilidade.

A perspectiva da rede neural

Em linguagem de rede neural, um autoencoder variacional consiste em um codificador, um decodificador e uma função de perda.

O codificador é um sistema neural. Sua informação é um datapoint xx, seu rendimento é um retrato oculto zz, e tem cargas e predisposições \thetaθ. Para ser sólido, suponha que xx seja uma fotografia de 28 por 28 pixels de um número escrito à mão. O codificador ‘codifica’ a informação que é 784784-dimensional em um espaço dormente (coberto) de retrato zz, que é consideravelmente menor que 784784 medidas. Isto é comumente aludido como um ‘gargalo’ com o argumento de que o codificador deve se familiarizar com uma pressão proficiente da informação para este espaço de menor dimensão. E que tal se referíssemos ao codificador q_theta (z \mid x)q

​θ

(z∣x). Observamos que o espaço inferior dimensional é estocástico: o codificador produz parâmetros q_theta (z \mid x)q

​θ

(z∣x), que é uma espessura de probabilidade gaussiana. Podemos testar a partir desta transmissão para obter estimativas altas das representações zz.

O decodificador é outra rede neural. Sua informação é o retrato zz, ele cede os parâmetros para a probabilidade de apropriação da informação, e tem cargas e inclinações \phiϕ. O decodificador é representado por p_phi(xmid z)p

​ϕ

(x∣z). Rodando com o modelo de dígitos escrito manualmente, suponha que as fotografias sejam de alto contraste e falem para cada pixel como 00 ou 11. A probabilidade de disseminação de um pixel solitário pode então ser falada utilizando uma apropriação de Bernoulli. O decodificador obtém como informação o retrato dormente de um dígito zz e produz parâmetros de Bernoulli 784784, um para cada um dos 784784 pixels da imagem. O decodificador ‘decifra’ os números estimados genuinamente em zz em 784784 números estimados genuinamente em algum lugar na faixa de 00 e 11. Dados do primeiro vetor 784784-dimensional não podem ser transmitidos de forma soberba, pois o decodificador apenas se aproxima de uma sinopse dos dados (como um vetor zz abaixo do 784784-dimensional). Que quantidade de dados é perdida? Medimos isso utilizando o remaking log-probability \log p_\phi (x\mid z)logp

​ϕ

(x∣z) cujas unidades são nats. Esta medida nos revela quão adequadamente o decodificador descobriu como refazer uma figura de informação xx dado seu retrato ocioso zz.

A capacidade de infortúnio do autocodificador variacional é a probabilidade de log negativo com um regularizador. Como não existem retratos mundiais que são compartilhados por todos os pontos de dados, podemos decompor o trabalho da desgraça em termos justos que dependem de um datapoint solitário l_il

​i

​​ . A desgraça é então \sum_{i=1}^N l_i∑

​i=1

​N

​​ l

​i

para NN datapoints completos. O trabalho infeliz l_il

​i

para datapoint x_ix

​i

é:

O termo primário é o infortúnio de reprodução ou probabilidade de log negativo esperado do ii-ésimo ponto de dados. O desejo é tomado em relação à disseminação do codificador sobre os retratos. Este termo urge o decodificador a descobrir como recriar a informação. Caso o rendimento do decodificador não reproduza bem a informação, afirmamos factualmente que o decodificador parametriza uma apropriação de probabilidade que não coloca muita massa de probabilidade sobre a informação genuína. Por exemplo, se provavelmente mostrarmos imagens de alto contraste e nosso modelo colocar alta probabilidade de haver manchas escuras onde há realmente manchas brancas, isto renderá a reprodução mais extremamente horrível possível. A má reprodução acarretará um enorme gasto neste trabalho infeliz.

O termo subseqüente é um regularizador que jogamos para dentro (perceberemos como é inferido mais tarde). Esta é a diferença Kullback-Leibler entre a disseminação do codificador q_theta(zmid x)q

​θ

(z∣x) e p(z)p(z). Esta dissemelhança estima a quantidade de dados perdidos (em unidades de nats) ao utilizar qq para falar com pp. É uma proporção de quão próximo qq está de pp.

No autocodificador variacional, pp é determinado como um padrão de circulação típica com zero médio e flutuação um, ou p(z) = Normal(0,1)p(z)=Normal(0,1). Na hipótese do codificador produzir retratos zz que são únicos em relação aos da difusão típica padrão, ele receberá uma punição na infelicidade. Este termo regularizador significa “manter os retratos zz de cada dígito adequadamente vários”. Na hipótese remota de excluirmos o regularizador, o codificador poderia descobrir como trapacear e dar a cada dado um retrato em um local alternativo do espaço euclidiano. Isto é horrível, tendo em vista que então duas figuras de um número similar (digamos um 2 composto por vários indivíduos, 2_{alice}2

alice ​alice

e 2_{bob}2

bob ​bob

) poderia terminar com retratos totalmente diferentes z_{alice}, z_{bob}z

alice ​alice

​​ ,z

bob ​bob

​​ . Precisamos que o espaço de retrato de zz seja significativo, por isso punimos esta conduta. Isto tem o impacto de manter os retratos de números comparáveis próximos uns dos outros (por exemplo, os retratos do dígito dois {z_{alice}, z_{bob}, z_{ali}}z

alice ​alice

​​ ,z

bob ​bob

​​ ,z

ali ​ali

permaneçam adequadamente próximos).

Treinamos o autocodificador variacional utilizando a inclinação do declive para melhorar a infelicidade em relação aos parâmetros do codificador e do decodificador thetaθ e phiϕ. Para o mergulho de inclinação estocástica com passo de 12, os parâmetros do codificador são refrescados utilizando a seta para a esquerda – frhofrac (parcial) 14-ρ

​∂θ

​∂l

e o decodificador é refrescado da mesma forma.