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论文:高效图片风格转换与解析闭合解

深度神经进化,Uber AI实验室新发现:遗传算法(GA)在深度增强学习中的出色表现(Deep Neuroevolution)

当深度网络应用在增强学习中,人们发现一些训练的捷径,但是没有统一的看法。每当深度网络应用在一个领域,总是会重复类似的故事,这也许正是深度学习有意思的地方 — David 9

如果你想入深度增强学习的坑,你一定发现在增强学习domain下,深度网络构建有那么多技巧。

不像一般的机器视觉,深度网络在增强学习中被用来理解环境(states)和回报值(reward),最终输出一个行为策略

因此关注的最小粒度其实是行为(action),依旧使用传统梯度下降更新网络并不高效(行为的跳跃很大,梯度更新可能很小)。另外,增强学习其实是可以高并行的问题,试想如果你有很多分身去玩Dota,最后让他们把关键经验告诉你,就省去了很多功夫。

在经验和行为主导的增强学习背景下,催生了DQNA3CEvolution Strategies等一系列深度网络的训练方法。包括我们今天的主角:遗传算法(GA)

Uber AI实验室发现GA对行为策略的把控,可以结合到深度网络中,他们称之为深度神经进化(Deep Neuroevolution),在某些领域的表现甚至超过了DQNA3CEvolution Strategies继续阅读深度神经进化,Uber AI实验室新发现:遗传算法(GA)在深度增强学习中的出色表现(Deep Neuroevolution)

理解Hinton胶囊网络之精华浓缩版,第一部分: 胶囊网络背后的灵感与初衷(Capsule Networks)

David 9 一直想扒一扒Hinton的胶囊网络,老教授两篇论文有些晦涩,但今天发现AI³普及帖不错,只是略显冗长。。所以,精华浓缩版就呼之欲出了O(∩_∩)O~

深度CNN是Hinton老教授10年前就在重点研究的课题,胶囊网络也是Hinton早已思考的内容,所以,

第一:胶囊网络不是空穴来风的新算法,而是基于CNN的缺陷和新需求的改进。

第二,胶囊网络比CNN好在哪里??

首先,CNN牛X之处在于用类似蛮力的海量数据方式,自动把重要的分类特征找到,所以,无论图像是不是完整,我们都有理由相信CNN能够识别图中有没有“米老鼠”这个对象:

不完整的米老鼠拼图
完整的米老鼠拼图

只要CNN看到有象征米老鼠的“耳朵”和“鼻子”, CNN就认定这张图中有“米老鼠”。(哪怕拼图还没完成继续阅读理解Hinton胶囊网络之精华浓缩版,第一部分: 胶囊网络背后的灵感与初衷(Capsule Networks)