论文阅读2018-2019学年上学期

2 minute read

Published:

2018-2019上学期部分论文整理

论文报告2018-2019学年上学期

Bayesian deep convolutional encoder–decoder networks for surrogate modeling and uncertainty quantification

  • 作者 YinhaoZhu, NicholasZabaras

  • 来源 Journal ofComputationalPhysics366(2018)415–447

  • 时间 2018

论文亮点

BNN 把神经网络的参数看做是随机变量,而不是定值,为了解决数据不足导致的认知不确定性。
模型最后的输出不仅仅是方程的解的值,还有方程的解的分布与方差
BNN模型可以用很少的数据量训练一个很复杂的模型。是其他的深度学习模型做不到的。
BNN本身就具有防止过拟合的效果。有很强的鲁棒性

论文使用到的方法

BNN将网络中的每一个参数都看做是一个随机变量,并且在训练过程中不断调整参数的分布。
BNN的更新要使用变分推断进行

变分推断

training inputs:
corresponding outputs
找到参数w使得
先验信息:
分类问题下softmax 后的概率

或者Gaussian likelihood for regression

with model precision . This can be seen as corrupting the model output with observation noise with variance .
使用贝叶斯公式

可以算出, 是先验分布。

Inference process:
给定一个新的输入点

normaliser or model evidence:

marginal likelihood
大多数情况下是没有解析解的,所以要用到变分推断
找到一个简单的分布与所要求的分布尽量的接近。

这里定义 是关于完全连续的.
对于事件A, implies
是目标函数的最优解。
这样就可以用代替

问题可以通过计算转换为:





所以问题换位最大化evidence lower bound (ELBO):
evidence
最大化第一项(expected log lokelihood) 即为让更好的解释数据
最小化第二项(prior KL)即为让跟先验分布更接近。
This acts as an “Occam razor” term and penalises complex distributions
保持了贝叶斯模型的好处,即拟合了数据,又用最简单的方法来
变分推断把积分计算变成了优化过程(求导)。
与深度学习的优化过程相比,这里优化的是一个分布,而不是点估计。
Note that optimisation in the deep learning sense can be recovered by setting the approximating distribution as a delta

SVGD

SVGD是在变分推断的基础上,与SGD结合产生的算法,在更新BNN上效果很好。与其他的算法相比有
1在数据量大时表现很好,2很容易用于复杂的模型中,且不用改变模型原本的架构。3使用起来很方便,不需要知道原理也可以使用。

Alt text

论文主要内容

方程:




其中:




将空间进行网格化拆分为65*65的网格:
where

输入是u(65*65),输出是

Alt text

Alt text
训练数据:
用了256个训练数据。
训练数据用FEniCS生成,velocity用third-order Raviart–Thomas elements,p使用fourth-order discontinuous elements.

inference

Predictive uncertainty at

积分部分使用Monte Carlo计算




所以这样计算出了输出的分布,均值和方差

实验结果:

Alt text
用了不多的数据就可以计算出较好的结果。

Generative Adversarial Nets

  • 作者 Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley,
    Sherjil Ozairy, Aaron Courville, Yoshua Bengioz

  • 来源 arXiv:1406.2661

  • 时间 2014

论文主要内容

GAN使用对抗式训练的方法使得可以使用极少数据甚至不需要标注数据训练很大的网络。在各个领域都有很大的应用。
GAN由Generator和Discriminator组成,由G生成样本,然后D进行判断样本是来自于真实样本还是G生成的。

训练时先优化D,max第一项即为使D能更好地判断出真实样本,max第二项即为使D能判断出来自于G生成的样本。
接着优化G,min第二项即为使G生成的样本能混淆D的判断。使生成的样本更真实。
当训练收敛时,训练好的D就是一个很好的判别模型,能够分辨出数据是否来自真实样本。G可以生成难以分辨真假样本。

Alt text

缺点:

必须小心平衡生成器和判别器的训练程度,如果判别器训练的太好,生成器梯度消失,判别器训练得不好,生成器梯度方差很大。
生成器和判别器的loss无法指示训练进程
生成样本缺乏多样性

Towards Principled Methods for Training Generative Adversarial Networks

这篇文章主要从理论上分析了原始的GAN出现的问题和原因,提出了解决方法。

Alt text
的支集是高维空间中的低维流形时,重叠部分测度为0的概率为1。

Alt text
在近似最优判别器下,最小化生成器的loss等价于最小化P_r与P_g之间的JS散度,而由于P_r与P_g几乎不可能有不可忽略的重叠,所以无论它们相距多远JS散度都是常数,最终导致生成器的梯度趋于0,梯度消失。

Alt text
判别器训练得太好,生成器梯度消失,生成器loss降不下去;判别器训练得不好,生成器梯度不准,四处乱跑。

collapse mode:



原方程变为:

  • ,时,即生成器没能生成真实的样本,

  • ,时,即生成器生成了不真实的样本,
    所以生成器会生成很多重复的样本,而不是生成多样性的样本。


Wasserstein GAN

文章使用了Wasserstein 距离。

所以,使用了Wasserstein距离后,的测度即使为0,仍然可以仍然可以反映距离的远近




根据Kantorovich-Rubinstein duality:

在满足Lipschitz条件下:

因为…N层神经网络,所以当时,
于是用参数截断(weight clipping)代替Lipschitz条件.
此时的损失定义为:

所以最终算法为:

Alt text

WGAN与Origin GAN的区别:
  • 判别器最后一层去掉sigmoid

  • 生成器和判别器的loss不取log

  • 每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数c

  • 不要用基于动量的优化算法,推荐RMSProp,SGD。(这里是根据经验得出)

Improved Training of Wasserstein GANs

weight clipping 会导致参数的值集中在c 和-c两点。同时可能会导致梯度爆炸或者梯度消失


直接使用lips条件作为损失


(无法再整个空间加上lips条件,所以在分布r和分布g直接加上lips条件)
使用了以上的方法进行训练后,能显著降低训练GAN的难度。并且提高效果。

GAN的应用

DCGAN

Machine Learning Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
训练数据


G(z)把图像从z(100维)变为3*64*64
D(x) 把x(3*64*64)变为1维(图片是否是真实图片的概率)
损失:

训练过程:
(1) Update D network: maximize log(D(x)) + log(1 - D(G(z)))
先用真实数据训练:(image,label),label =1
Loss = BCELoss(D(image),label)
再用假的数据训练:
从正态分布中获取100维的noise向量z
G(z)即为生成的假的图片,label=0
Loss = BCELoss(D(G(z)))
(2) Update G network: maximize log(D(G(z)))
label = 1
Loss = BCELoss(D(G(z),label))
GAN在图片生成上的效果

GAN在微分方程正问题上的应用

Deep learning the Phtsics of Transport Phenomena

作者: Amir Barati Farimani,⇤ Joseph Gomes,⇤ and Vijay S. Pande
来源:arxiv
时间:2017
问题:
热方程的正问题

输入为初始和边界条件,
比如:

进行网格剖分为64*64。
G:输入为64*64*1,输出为64*64*1.输出为方程的解。
模型为:

Alt text
采用了Unet的网络架构。参数量相对较少。
D:输入为64*64*2输出是定值,表示是否来自同一个分布的概率。D判断unknown的64*64*1的分布是否来自于input的64*64*1
模型为:

Alt text

模型效果:
用6000个训练数据训练,可以达到效果MAE<1%的准确率。

Alt text