概要
scGenの論文の解説.実際はほぼVAEの話になった.実験の詳細とかは割愛.LPSが異なる生物に与える影響とかを予測していてかなりアツい.
細胞が外界から刺激を受けたときにどんな反応をするかを予測する.潜在空間で摂動$\delta$が加えられたときに,遺伝子発現空間での変化をニューラルネットワークを使って予測する.
VAE
variational autoencoder(VAE)では確率分布$P(\boldsymbol{x} _ i;\boldsymbol{\theta})$に従って新しいデータ点が生成される.ただし,確率分布は$P(\boldsymbol{x} _ i;\boldsymbol{\theta})$の対数尤度(を各$\boldsymbol{x} _ i$について足したもの)が最大となるように取る.潜在変数を$\boldsymbol{z}$とすれば,この確率は次のようになる:
P(xi;θ)=∫P(xi∣zi;θ)P(zi;θ)dzi.(1)
$\boldsymbol{x} _ i$を生成しそうな$\boldsymbol{z} _ i$が潜在空間から正規分布$P(\boldsymbol{z} _ i;\boldsymbol{\theta})$に従ってサンプリングされるような確率分布を求めることが目標になる.
ここで,$P(\boldsymbol{x} _ i\mid \boldsymbol{z} _ i;\boldsymbol{\theta})$に近い確率分布$Q(\boldsymbol{z} _ i\mid \boldsymbol{x} _ i;\boldsymbol{\theta})$をニューラルネットワークで作る.2つの確率分布の近さの評価としてKullback Leibler divergenceを使う:
KL(Q(zi∣xi;ϕ)∥P(zi∣xi;θ))=EQ(zi∣xi;ϕ)[logQ(zi∣xi;ϕ)−logP(zi∣xi;θ)]=EQ(zi∣xi;ϕ)[logQ(zi∣xi;ϕ)−logP(xi;θ)P(zi;θ)P(xi∣zi;θ)]=EQ(zi∣xi;ϕ)[logQ(zi∣xi;ϕ)−logP(zi;θ)−logP(xi∣zi;θ)+logP(xi;θ)]=−EQ(zi∣xi;ϕ)[logP(xi∣zi;θ)]+logP(xi;θ)+KL(Q(zi∣xi;ϕ)∥P(zi;θ)).(2)
式変形の途中でBayesの定理を用いた.$Q(\boldsymbol{z} _ i\mid \boldsymbol{x} _ i;\boldsymbol{\theta})$は$P(\boldsymbol{x} _ i\mid \boldsymbol{z} _ i;\boldsymbol{\theta})$の近似であるので,これらの量のKullback Leibler divergenceはほぼ$0$である.よって,
logP(xi;θ)≃EQ(zi∣xi;ϕ)[logP(xi∣zi;θ)]−KL(Q(zi∣xi;ϕ)∥P(zi;θ)).(3)
(3)式第1項は解析的に解くことは困難なので,Monte Carlo法によるサンプリングによって決める.ただし,$Q(\boldsymbol{z} _ i\mid\boldsymbol{x} _ i;\boldsymbol{\phi})$に従って$\boldsymbol{z} _ i$を選び出す:
zi∼Q(zi∣xi;ϕ)(4)
のは不便であるので,再パラメータ化を考える.すなわち,
zi=gϕ(ϵ,xi),ϵ∼p(ϵ)(5)
となる関数$g _ {\boldsymbol{\phi}}$とノイズ$\boldsymbol{\epsilon}$を適当に選んでやる.こうすれば,
EQ(zi∣xi;ϕ)[f(zi)]=∫Q(zi∣xi;ϕ)f(zi)dzi=∫p(ϵ)f(zi)dϵ=Ep(ϵ)[f(zi)],zi=gϕ(ϵ,xi)(6)
となる.よって,再パラメータ化を施せば(3)第1項は
EQ(zi∣xi;ϕ)[logP(xi∣zi;θ)]=L1l=1∑LlogP(xi∣zi(l);θ)(7)
となる.ただし,
zi(l)=gϕ(ϵ(l),xi),ϵ(l)∼p(ϵ)(8)
である.よって,(3)は次のようになる:
logP(xi;θ)=L1l=1∑LlogP(xi∣zi(l);θ)−KL(Q(zi∣xi;ϕ)∥P(zi;θ)).(9)
ここで,$Q(\boldsymbol{z}\mid\boldsymbol{x};\boldsymbol{\theta})$が多変量正規分布であると仮定する:
Q(z∣x;θ)=(2π)n∣Σ∣1exp[−21t(z−μ)Σ−1(z−μ)].(10)
ただし,$\Sigma,\boldsymbol\mu$は$\boldsymbol{x}$によって決まり,特に$\Sigma$は対角行列であるとする:
Σ=⎝⎜⎜⎜⎛σ12Oσ22⋱Oσn2⎠⎟⎟⎟⎞.(11)
さらに,$P(\boldsymbol{z};\boldsymbol{\theta})$も正規分布であるとする:
P(z;θ)=(2π)n1exp(−2∣z∣2).(12)
まず,
∫Q(z∣x;θ)logP(z;θ)dz=(2π)n∣Σ∣1∫exp[−21t(z−μ)Σ−1(z−μ)]×[−2nlog(2π)−2∣z∣2]dz=−2nlog(2π)−2(2π)n∣Σ∣1×∫∣z∣2exp[−21t(z−μ)Σ−1(z−μ)]dz(13)
第2項の積分は
i=1∑n∫zi2exp[−21j=1∑nσj2(zj−μj)2]dz=i=1∑n∫exp[−2σ12(z1−μ1)2]dz1×⋯×∫zi2exp[−2σj2(zj−μj)2]dzi×⋯×∫exp[−2σn2(zn−μn)2]dzn=i=1∑n(2π)2n−1j=i∏σj∫zi2exp[−2σj2(zj−μj)2]dzi=i=1∑n(2π)2nj=1∏nσj(σi2+μi2)(14)
のように変形できるので,
∫Q(z∣x;θ)logP(z;θ)dz=−2nlog(2π)−21i=1∑n(σi2+μi2).(15)
次に,
∫Q(z∣x;θ)logQ(z∣x;θ)dz=(2π)n∣Σ∣1∫exp[−21i=1∑nσi2(zi−μi)2]×[−2nlog2π−21log∣Σ∣−21j=1∑nσj2(zj−μj)2]dz=−2nlog2π−21log∣Σ∣−2(2π)n∣Σ∣1×i=1∑n∫σi2(zi−μi)2exp[−j=1∑n2σj2(zj−μj)2]dz(16)
第3項の積分は
i=1∑nσi21∫zi2j=1∏nexp(−2σj2zj2)dz=i=1∑nσi21∫exp(−2σ12z12) dz1×⋯×∫zi2exp(−2σi2zi2) dzi×⋯×∫exp(−2σn2zn2)dzn=i=1∑nσi21(2π)2n−1j=i∏σj2πσi3=i=1∑n(2π)2nj=1∏nσj(17)
のように変形できるので,
∫Q(z∣x;θ)logQ(z∣x;θ)dz=−2nlog(2π)−21j=1∑n(1+logσj2).(18)
(15),(18)から,(3) 第2項は,
−KL(Q(zi∣xi;ϕ)∥P(zi;θ))=−∫Q(zi∣xi;θ)logQ(zi∣xi;θ)dzi+∫Q(zi∣xi;θ)logP(zi;θ)dzi=21j=1∑n[(1+logσj2)−μj2−σj2].(19)
また,今回は$Q(\boldsymbol{z} _ i\mid\boldsymbol{x} _ i;\boldsymbol{\phi})$が正規分布$\mathcal{N}(\boldsymbol{z} _ i,\boldsymbol{\mu},\boldsymbol{\sigma}\odot\boldsymbol{\sigma}E)$であるとしたので,再パラメータ化は
gϕ(ϵ,xi)=μ(xi)+σ(xi)⊙ϵ,ϵ∼N(ϵ,0,E)(20)
とする.これは,
EN(ϵ,0,E)[μ(xi)+σ(xi)⊙ϵ]=μ(xi)(21)
および
EN(ϵ,0,E)[(μi+σiϵi−μi)(μj+σjϵj−μj)]=δijσiσj(22)
から分かる.
以上から,
logP(xi;θ)=21j=1∑n[(1+logσj2)−μj2−σj2]+L1l=1∑LlogP(xi∣zi(l);θ).(23)
ただし,
zi(l)ϵ(l)=μ(l)(xi)+σ(l)(xi)⊙ϵ(l),∼N(ϵ,0,E).(24)
これが最大になるように,NNを構成すればよい.
摂動$\delta$の予想
各状態にある細胞を抽出し,細胞の数によるバイアスを無くすために,調節する.最後に
δ=z1−z0(25)
を計算する.$\overline{z _ 0}$は各状態の潜在変数の平均,$\overline{z _ 1}$は摂動があったときの潜在変数の平均.