用Keras训练一个准确率90%+的Cifar-10预测模型

第五届ICLR(ICLR2017)最近被炒的厉害,David 9回顾去年著名论文All you need is a good init,当时提出了一种新型初始化权重的方法,号称在Cifar-10上达到94.16%的精度,碰巧最近在看Keras。

好!那就用Keras来还原一下这个Trick。效果果然不错,没怎么调参,差不多200个epoch,testing准确率就徘徊在90%了,training准确率到了94%:

测试准确率
测试准确率

继续阅读用Keras训练一个准确率90%+的Cifar-10预测模型

MSRA微软亚洲研究院 最新卷积网络: Deformable Convolutional Networks(可变形卷积网络)

抽样方法的改进似乎像人类进化一样永无休止 — David 9

CVPR 2017机器视觉顶会今年6月21号才举办,但是2016年11月就投稿截止了。微软每年都是CVPR大户,今天我们要讲解的就是MSRA微软亚洲研究院的最新投稿论文:Deformable Convolutional Networks。(很可能被收录哦~)我们暂且翻译为:可变形卷积网络

这是一种对传统方块卷积的改进核。本质是一种抽样改进。

谈到抽样,人脑好像天生知道如何抽样获得有用特征,而现代机器学习就像婴儿一样蹒跚学步。我们学会用cnn自动提取有用特征,却不知用什么样的卷积才是最有效的。我们习惯于方块卷积核窗口,而Jifeng Dai的work认为方块不是最好的形状:

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

如果能让网络自己学习卷积窗口形状,是不是一件很美好的事情? 继续阅读MSRA微软亚洲研究院 最新卷积网络: Deformable Convolutional Networks(可变形卷积网络)

DeepMind新型神经网络:可异步训练的深度网络!— “解耦神经网络” 与 “合成梯度”

如果深度学习不是神经网络的终点, 那么神经网络会跟随人类进化多久? — David 9

自3年前Google收购DeepMind,这家来自英国伦敦的人工智能公司就一直站在神经网络与深度学习创新的风口浪尖(AlphaGoDeepMind Health)。

今天要介绍的“解耦神经网络接口”(Decoupled Neural Interfaces)的异步网络就是出自DeepMind之手。这篇2016发表的论文试图打破传统的前向传播和后向传播按部就班的训练过程。在传统神经网络, 整个过程是非异步的更新,更新也是逐层紧耦合的(图b):

截自:https://arxiv.org/pdf/1608.05343.pdf
截自论文“Decoupled Neural Interfaces using Synthetic Gradients“:https://arxiv.org/pdf/1608.05343.pdf

图(b)是传统普通前馈反馈神经网络(黑色是前馈箭头绿色是反馈箭头),f层到fi+1 层的权重矩阵由fi+1层的偏导反馈δ更新, 众所周知,反馈δi 必须等到后向反馈从输出层传递到fi+1 层后才能计算出。

为了试图解除这种“锁”(强耦合)(图(c)(d)),在(c)图中我们注意到在f层和fi+1 层之间,引入了模型Mi+1(图中菱形),又称人工“合成梯度”模型,用来模拟当前需要的梯度反馈更新。 继续阅读DeepMind新型神经网络:可异步训练的深度网络!— “解耦神经网络” 与 “合成梯度”

#15 增强学习101 闪电入门 reinforcement-learning

是先用自己的”套路”边试边学, 还是把所有情况都考虑之后再总结, 这是一个问题 — David 9

David 9 本人并不提倡用外部视角或者”黑箱”来看待”智能”和”机器学习”.

正如《西部世界》迷宫的中心是自己的内心. 神经网络发展到目前的深度学习, 正是因为内部的结构发生了变化(自编码器, 受限玻尔兹曼机, 改进的激活函数, 等等…) . 所以David 9 相信神经网络未来的发展在于人类对内部结构的新认知, 一定有更美的内部结构存在 !

而今天所说的增强学习, 未来更可能作为辅助外围框架, 而不是”智能核心”存在. 不过作为闪电入门, 我们有必要学习这一流行理论:

来自: http://www.cis.upenn.edu/~cis519/fall2015/lectures/14_ReinforcementLearning.pdf

没错, 这张图和文章特色图片是一个思想:

训练实体(Agent)不断地采取行动(action), 之后转到下一个状态(State), 并且获得一个回报(reward), 从而进一步更新训练实体Agent. 继续阅读#15 增强学习101 闪电入门 reinforcement-learning

Yoshua Bengio大神深度学习实战方法论解读 — 模型评估, 超参数调优,网格搜索,调试策略

人类擅长把一个问题转化为另一个问题,而深度学习试图把所有问题转化为同一个问题 — David 9

现代深度学习或机器学习,很大程度上是把所有问题转化为同一个“模型训练”问题。如何解决这个模型训练的问题成为了数据科学家们的主攻问题。

鲜为人知的是,设计机器学习模型、训练算法和目标函数仅仅是工作的一部分。还有很重要的一部分是:数据科学家们要对数据和问题有更深层次的理解,对于模型评估超参数调优网格搜索调试策略都有相当的实践经验。

正如Deep Learning(Ian Goodfellow Yoshua Bengio)一书中所说:

Correct application of an algorithm depends on mastering some fairly simple methodology

继续阅读Yoshua Bengio大神深度学习实战方法论解读 — 模型评估, 超参数调优,网格搜索,调试策略

keras 手把手入门#1-MNIST手写数字识别 深度学习实战闪电入门

人们已经教会计算机自动找出那些重要的特征和属性, 那么下一步我们改教会计算机什么? — David 9

用深度学习框架跑过实际问题的朋友一定有这样的感觉: 太神奇了, 它竟然能自己学习重要的特征 ! 下一步我们改教会计算机什么?莫非是教会他们寻找新的未知特征

对于卷积神经网络cnn, 其中每个卷积核就是一个cnn习得的特征, 详见David 9之前的关于cnn博客

今天我们的主角是keras,其简洁性和易用性简直出乎David 9我的预期。大家都知道keras是在TensorFlow上又包装了一层,向简洁易用的深度学习又迈出了坚实的一步。

所以,今天就来带大家写keras中的Hello World , 做一个手写数字识别的cnn。回顾cnn架构:

我们要处理的是这样的灰度像素图: 继续阅读keras 手把手入门#1-MNIST手写数字识别 深度学习实战闪电入门

10个超实用的python可视化库,总有一款适合你~

再好的数据,也离不开可视化 — David 9

最近David 9翻看以前收藏,发现一篇关于python可视化库的文章,现在忍不住想分享给大家。以下是改编和翻译:

从专注研究眼睛移动的GazeParser项目到可视化神经网络实时训练的pastalog项目,优秀的python可视化的项目非常多,是时候我们总结一下10个超实用的python可视化库,相信总有一款适合你~ 而且,这些库可以在jupyter python notebook中直接运行显示。

matplotlib

上图是两个柱状图 (matplotlib)

matplotlib 是经典老牌的Python数据可视化库了。在Python社区里几乎无人不知。而且它模仿了1980年代的MATLAB可视化库。

又因为matplotlib是第一个Python数据可视化库,许多优秀的可视化库是基于matplotlib的,比如 pandas 和 Seaborn继续阅读10个超实用的python可视化库,总有一款适合你~