deep dream 尝试

下面为博客摘要,详细内容请看http://keke046.github.io/2021/12/26/deep-dream/

效果

用VGG16预训练模型,$L=17$(RELU也算一层),$lr=0.08$,$\lambda=0.08$,金字塔每层优化器迭代5次,感觉很克苏鲁。







优化目标为:$$\delta = \text{argmax} _ \delta \quad ||G _ L(x + \delta)|| _ 2^2 - \lambda \sum _ {c,i,j} |x _ {c,i,j} - \overline{x} _ c | \cdot | \delta _ {c,i,j}|$$然后用Adam优化器优化 $\delta$ 就可以了。jpg %}!--more--# 方法去看了一下 deep dream,感觉和对抗攻击很像,就是优化器不去优化网络,而是去优化输入图像。{% asset_img img。!-- indicate-the-source --# 效果用VGG16预训练模型,$L=17$(RELU也算一层),$lr=0。图像一个点与均值的差异越大,这个点的扰动的惩罚就越大。08$,$\lambda=0。jpg %} {% asset_img dream。设$x$为输入图像,$\delta$为加入的扰动,$G_L$为网络第$L$层输出,带 $\lambda$ 的是惩罚项,其中$c$表示通道。# Code在github上开源:[https://github。**优化的目标就是让神经网络某一层的神经元的总响应(输出的范数)最大化**。com/KEKE046/deep-dream)。实际测试的时候,发现图像中**较亮的部分和比较暗的部分容易被加到溢出,需要加入正则**。08$,金字塔每层优化器迭代5次,感觉很克苏鲁。网上很多做 deep dream 的就是对输入图像求梯度,其实**完全可以用 Adam 来优化输入,应该会跑得快很多**。一来就去优化最大的规格图像,容易产生很多高频的局部噪音(因为卷积是局部的)。处理方法是,先把图像缩到最小,让网络dream,然后把dream之后图像放大,放大后再让网络dream,然后再放大……**把小图像放大相当于增加了低频信息,这样得到的效果会比较好**。com/KEKE046/deep-dream](https://github。在具体做的时候,有一个技巧,就是要分级做