Model generatiu basat en fluxos

De testwiki
La revisió el 21:32, 1 feb 2025 per imported>EVA3.0 (bot) (es requereix > cal (edicions supervisades))
(dif.) ← Versió més antiga | Versió actual (dif.) | Versió més nova → (dif.)
Salta a la navegació Salta a la cerca

Un model generatiu basat en flux és un model generatiu utilitzat en l'aprenentatge automàtic que modela explícitament una distribució de probabilitat aprofitant el flux normalitzador, [1][2] que és un mètode estadístic que utilitza la llei de probabilitats de canvi de variable per transformar un distribució en un de complex.

La modelització directa de la probabilitat ofereix molts avantatges. Per exemple, la probabilitat logarítmica negativa es pot calcular directament i minimitzar com a funció de pèrdua. A més, es poden generar mostres noves mitjançant el mostreig de la distribució inicial i l'aplicació de la transformació del flux.

En canvi, molts mètodes alternatius de modelització generativa, com ara el codificador automàtic variacional (VAE) i la xarxa adversària generativa, no representen explícitament la funció de probabilitat.[3]

Esquema de normalització de cabals

Mètode

Deixar z0 ser una variable aleatòria (possiblement multivariant) amb distribució p0(z0).

Per i=1,...,K, deixar zi=fi(zi1) ser una seqüència de variables aleatòries transformades de z0. Les funcions f1,...,fK hauria de ser inversible, és a dir, la funció inversa fi1 existeix. La sortida final zK modela la distribució objectiu.

La probabilitat de registre de zK és (vegeu la derivació):

logpK(zK)=logp0(z0)i=1Klog|detdfi(zi1)dzi1|

Per calcular de manera eficient la probabilitat de registre, les funcions f1,...,fK hauria de ser 1. fàcil d'invertir, i 2. fàcil de calcular el determinant del seu jacobià. A la pràctica, les funcions f1,...,fK es modelen mitjançant xarxes neuronals profundes i s'entrenen per minimitzar la probabilitat de registre negatiu de les mostres de dades de la distribució objectiu. Aquestes arquitectures solen estar dissenyades de manera que només cal el pas endavant de la xarxa neuronal tant en els càlculs inversos com en els determinants jacobians. Alguns exemples d'aquestes arquitectures inclouen NICE, RealNVP, i Glow.[4]

Derivació de la probabilitat de registre

Considereu z1 i z0. Tingues en compte que z0=f11(z1).

Pel canvi de fórmula variable, la distribució de z1 és:

p1(z1)=p0(z0)|detdf11(z1)dz1|

On detdf11(z1)dz1 és el determinant de la matriu jacobiana de f11.

Segons el teorema de la funció inversa:

p1(z1)=p0(z0)|det(df1(z0)dz0)1|

Per la identitat det(A1)=det(A)1 (on A és una matriu invertible), tenim:

p1(z1)=p0(z0)|detdf1(z0)dz0|1

La probabilitat de registre és així:

logp1(z1)=logp0(z0)log|detdf1(z0)dz0|

En general, l'anterior s'aplica a qualsevol zi i zi1. Des de logpi(zi) és igual a logpi1(zi1) restat per un terme no recursiu, podem inferir per inducció que:

logpK(zK)=logp0(z0)i=1Klog|detdfi(zi1)dzi1|

Aplicacions

Plantilla:Referències