tensorboard快速上手,tensorboard可视化普及贴(代码基于tensorflow1.2以上)

有太多小伙伴问David 9关于Tensorboard的入门了,

我们都知道tensorflow训练一般分两步走:第一步构建流图graph,第二步让流图真正“流”起来(即进行流图训练)。

tensorboard会对这两步都进行跟踪,启动这种跟踪你必须先初始化一个tensorflow的log文件writer对象

writer = tf.train.SummaryWriter(logs_path, graph=tf.get_default_graph())

然后启动tensorboard服务:

[root@c031 mnist]# tensorboard --logdir=/tmp/mnist/2
TensorBoard 1.5.1 at http://c031:6006 (Press CTRL+C to quit)

即可看到你定义的流图:

GRAPHS中的每个方框代表tensorflow代码中的scope作用域,比如上图就定义了7个作用域:train,  cross_entropy,  Accuracy,  softmax,  input,  weights,  biases. 每个作用域下都可能有一些Variable或者计算操作的Tensor,可以对方框双击鼠标放大

上图可见,input的scope下有两个placeholder:x-input和y-input. 继续阅读tensorboard快速上手,tensorboard可视化普及贴(代码基于tensorflow1.2以上)

当变分推断(variational inference)遇上神经网络,贝叶斯深度学习以及Pytorch开源代码

如果人脑在执行任务时有特定模式,那么神经网络在增强学习中也应该有特定模式,而不是杂乱无章地更新 — David 9

我们在之前的文章中讨论过,Evolution Strategy遗传算法等传统算法都可以在深度增强学习中发挥作用。其实,人们早就在神经网络中植入各种传统机器学习的方法(包括L2正则法等等)。

在2015年google的论文中就提到结合变分推断(variational inference)启发式更新神经网络的内部参数:

来自:https://arxiv.org/pdf/1505.05424.pdf

其性能效果堪比dropout方法,并且在增强学习中有较好表现。

那么,贝叶斯深度学习或者说变分推断(variational inference)如何应用在神经网络呢?

理论上,对于一般的深度神经网络,Loss如下:

θ 是神经网络的内部参数集。xi, yi 即样本集中的一个样本。上式只是让训练损失最小。

即,要找到一个最好的 θ* ,让  Ln(θ) 最小。 继续阅读当变分推断(variational inference)遇上神经网络,贝叶斯深度学习以及Pytorch开源代码

“图片风格转换”又出新作,英伟达CVPR论文:高效图片风格转换与解析闭合解

如果性能遇到了瓶颈,“老套”的办法总能帮我们搞定一些事情 — David 9

深度卷积网络 广泛应用以来,我们更像进入了一个“伪智能”时代。深度网络的“创造”更多的是基于“巨量数据”的“创造”。以图片风格转换为例,无论是我们以前说的GAN还是其他变形CNN,都需要标注样本达到一定量,才能生成比较好的风格转换图(附带着冗长的训练时间 和其他模型调优技巧):

英伟达前不久放出的CVPR新论文,一定程度上证明了在这个“伪智能”时代,只用深度网络是不够的,往往加入一些“老套”的算法可以帮你得到一些“漂亮”的结果:

来自:https://arxiv.org/pdf/1802.06474.pdf

上图是给定一张原始图片(a)和一张“黑夜”风格图片(b),我们希望把(a)的风格转换成(b)的结果。

可见(c)与(d)的结果都没有英伟达声称的方法(e)看起来自然。

英伟达这篇论文的一大半贡献不在深度网络,

而是如何把传统的WCT白化和调色转换:whitening and coloring transforms)应用到深度网络中,以及图片平滑的后处理工作。

整体框架如下:

来自:https://arxiv.org/pdf/1802.06474.pdf 继续阅读“图片风格转换”又出新作,英伟达CVPR论文:高效图片风格转换与解析闭合解