2018年11月12月机器学习相关文章概览

背景:自从做硬件项目以来,比较偏向于工程实现和代码能力的提升。对于机器学习理论和最新研究进展有很多不足的地方。因此需要多看一些机器学习的论文,了解研究方向与大趋势。

目的:粗略看一些机器学习相关研究的论文。文章多来自于公众号机器之心的梳理。

目录

一、用注意力GAN为百年旧照上色

技术细节

  1.1 Self-Attention Generative Adversarial Network

  1.2 Progressive Growing of GANs

  1.3 Two Time-Scale Update Rule

  1.4 Generator Loss

二、CPU实时的,各种朝向的人脸检测

概览

Progressive Calibration Networks (PCN)

三、深度强化学习概览

四、深度神经网络分布式训练概述

五、GAN换装

六、总结


一、用注意力GAN为百年旧照上色

项目地址:https://github.com/jantic/DeOldify/blob/master/README.md

2018年11月12月机器学习相关文章概览_第1张图片

2018年11月12月机器学习相关文章概览_第2张图片

技术细节

  1.1 Self-Attention Generative Adversarial Network

(https://arxiv.org/abs/1805.08318).

  • 带自注意力机制的生成对抗网络。生成器是一个预训练的 Unet,作者将它修改为具有光谱归一化和自注意力。这是一个非常简单的转换过程。
  • 作者之前尝试用 Wasserstein GAN,但效果并不好,
  • 用上注意力GAN之后,效果就非常棒。
  • 作者喜欢 Wasserstein GAN 的理念,但它在实践中并没有成功。

  1.2 Progressive Growing of GANs

Training structure inspired by (but not the same as) Progressive Growing of GANs (https://arxiv.org/abs/1710.10196).

训练过程受到这个文章的启发。

The difference here is the number of layers remains constant – I just changed the size of the input progressively and adjusted learning rates to make sure that the transitions between sizes happened successfully. It seems to have the same basic end result – training is faster, more stable, and generalizes better.

  • 与文章不同的地方在于,训练的层数依然是常数
  • 作者仅仅依次更改输入的size,然后更改学习率从而保证size之间的transition能顺利进行。
  • 最终的结果与上面文献相同——更快的训练,更稳定,以及生成更好的结果。

  1.3 Two Time-Scale Update Rule

Two Time-Scale Update Rule (https://arxiv.org/abs/1706.08500)GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium

  • This is also very straightforward – it's just one to one generator/critic iterations and higher critic learning rate.
  • 仅仅运用一对一的生成器/判别器,迭代次数和higher critic 的学习率。

  1.4 Generator Loss

生成器的loss由两部分组成:

  • One is a basic Perceptual Loss (or Feature Loss) based on VGG16 – this just biases the generator model to replicate the input image.
  • 一是基于VGG的Perceptual Loss(Feature loss),只是让生成模型更加的偏向于代表输入的图像
  • The second is the loss score from the critic.
  • 另一部分是来自判别器的loss
  • For the curious – Perceptual Loss isn't sufficient by itself to produce good results. It tends to just encourage a bunch of brown/green/blue。cheating to the test, basically, which neural networks are really good at doing!
  • Perceptual Loss并不能产生很好的结果,但是可以带来很多棕色,绿色,蓝色的填充。神经网络比较擅长在测试时的cheat。
  • Key thing to realize here is that GANs essentially are learning the loss function for you – which is really one big step closer to toward the ideal that we're shooting for in machine learning.
  • GAN的本质是学习出一个loss函数,这也朝着机器学习的理想迈出了一大步。

二、CPU实时的,各种朝向的人脸检测

概览

论文:Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks 

论文地址:https://arxiv.org/pdf/1804.06039.pdf

代码地址:

PCN 多角度实时人脸检测项目地址:https://github.com/Jack-CV/PCN-FaceDetection

摘要:CNN难以处理旋转的图像,即旋转鲁棒性比较差。中科院计算所提出一种渐进的方法校准人脸朝向,并精确控制其位置与角度,并且最近放出了该项目的源码。可以在人脸检测模型上实现CPU的快速实时推断。

贡献点:

  • 实时的CPU检测。
  • 能够检测到旋转的人脸。运用完全旋转平面(RIP)不变的人脸检测。

Progressive Calibration Networks (PCN)

2018年11月12月机器学习相关文章概览_第3张图片

具体而言,PCN 会抽选识别候选面部图像块,并将朝下的图像块翻转至正向,这样就会减半 RIP 的角度范围,即从 [−180° , 180° ] 到 [−90° , 90° ]。然后旋转过的面部图像块会进一步区分朝向并校准到垂直向的 [−45° , 45° ] 范围,这样又会减半 RIP 的角度范围。最后,PCN 会分辨到底这些候选图像块是不是人脸,并预测出精确的 RIP 角度。

通过将校准过程分割为几个渐进的步骤,且在早期校准步骤只预测粗略的朝向,PCN 最后能实现精确的校准。此外,每一个校准步骤可以简单地旋转-90°、90°和 180°,因此额外的计算量非常低,这也就是为什么该检测项目能在 CPU 上实时运行的重要原因。通过在逐渐降低的 RIP 范围内执行二元分类(是人脸或不是人脸),PCN 能在 360° RIP 旋转角度内准确地检测到人脸,而本项目重点就是实现这样旋转不变的人脸检测器。

2018年11月12月机器学习相关文章概览_第4张图片

三、深度强化学习概览

Beyond DQN/A3C: A Survey in Advanced Reinforcement Learning

DeepMind 的工程师 Joyce Xu 近日发表了一篇博客文章,介绍了深度强化学习领域的一些近期进展,其中涉及到分层式强化学习、记忆、注意机制、世界模型和想象等方向。

https://towardsdatascience.com/advanced-reinforcement-learning-6d769f529eb3

https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650751210&idx=4&sn=a1d4c4c2b27a7f62a4edbd74f626f23c&chksm=871a8494b06d0d82e3dc22b8a591cde7449d845576bbbdecf98ad513a4326cfe9b34eb6272b4&scene=0&xtrack=1#rd

2018年11月12月机器学习相关文章概览_第5张图片

强化领域最具挑战性的两个问题:

how we interact with the environment effectively (e.g. exploration vs. exploitation, sample efficiency),

如何有效的与环境交互(探索与利用,样本效率)

how we learn from experience effectively (e.g. long-term credit assignment, sparse reward signals).

如何有效利用已有的经验(长期的置信信号评估,稀疏的信号奖励)

In this post, I want to explore a few recent directions in deep RL research that attempt to address these challenges, and do so with particularly elegant parallels to human cognition. 作者想要探讨强化学习领域的这几个研究方向和与人类的认知进行对比:

  • hierarchical RL,分层的强化学习
  • memory and predictive modeling, 记忆与预测模型
  • combined model-free and model-based approaches. 将model-free与model-based的方法的结合

四、深度神经网络分布式训练概述

独立研究者 Karanbir Chahal 和 Manraj Singh Grover 与 IBM 的研究者 Kuntal Dey 近日发布了一篇论文,对深度神经网络的分布式训练方法进行了全面系统的总结,其中涉及到训练算法、优化技巧和节点之间的通信方法等。

文章地址:https://arxiv.org/abs/1810.11787

  • 在一台具有一个现代 GPU 的单台机器上完成一次基于 ImageNet 等基准数据集的训练可能要耗费多达一周的时间,研究者已经观察到在多台机器上的分布式训练能极大减少训练时间。
  • 近期的研究已经通过使用 2048 个 GPU 的集群将 ImageNet 训练时间降低至了 4 分钟。

经网络的分布式训练可以通过两种方式实现:数据并行化和模型并行化:

数据并行化:将数据集均等地分配到系统的各个节点(node),其中每个节点都有该神经网络的一个副本及其本地的权重。每个节点都会处理该数据集的一个不同子集并更新其本地权重集。这些本地权重会在整个集群中共享,从而通过一个累积算法计算出一个新的全局权重集。

模型并行化:通过将该模型的架构切分到不同的节点上来实现训练的分布化。AlexNet [2] 是使用模型并行化的最早期模型之一,其方法是将网络分摊到 2 个 GPU 上以便模型能放入内存中。当模型架构过大以至于无法放入单台机器且该模型的某些部件可以并行化时,才能应用模型并行化。

文章内容:

  • 分布式训练算法
  • 分布式节点之间的通信
  • 随机梯度下降(SGD)的变体
  • 同步SGD
  • 异步SGD
  • Ring 算法
  • 递归减半和倍增算法
  • Binary Blocks 算法
  • 容错式 All Reduce

结论:

为了打造一个高效且可扩展的分布式训练框架,作者推荐使用以下技术:

  • 推荐使用同步 SGD 算法来进行训练,因为它有严格的收敛保证。
  • 应该使用 Binary Blocks 算法来执行梯度累积的 All Reduce 流程,因为其运行时间更优。
  • 为了有效地使用硬件和网络带宽,应该在框架中使用梯度压缩、量化和混合精度训练等多种技术。我们推荐组合式地使用深度梯度压缩和混合精度训练。
  • 应该使用非常大的批量大小来进行训练,以最大化并行能力和最小化运行时间。我们推荐使用 LARS 算法,因为已有研究证明它能够以高达 64000 的批量大小足够稳健地训练网络。

五、GAN换装

韩国科学技术院和浦项科技大学的研究人员实现了图片到图片的换装操作,例如照片里的绵羊换成长颈鹿、牛仔长裤换成短裙。

其论文《InstaGAN: Instance-Aware Image-to-Image Translation》已被 ICLR2019 接收。

2018年11月12月机器学习相关文章概览_第6张图片

  • 论文链接:https://arxiv.org/pdf/1812.10889.pdf

  • 项目地址:https://github.com/sangwoomo/instagan

  • ICLR 链接:https://openreview.net/forum?id=ryxwJhC9YX

2018年11月12月机器学习相关文章概览_第7张图片

贡献点:

  • 本文提出了一种新的方法——instance-aware GAN(InstaGAN),
  • 这种 GAN 结合了实例信息(如目标分割掩码),提高了多实例转换的能力。在保持实例置换不变性的同时,该 GAN 对图像和相应的实例属性集进行转换。
  • 研究人员引入了一个语境保留损失函数,鼓励网络学习目标实例之外的恒等函数。
  • 他们还提出了一种序列 mini-batch 推理/训练技术,这种技术借助有限的 GPU 内存处理多个实例,增强了该网络在多实例任务中的泛化能力。
  • 对比评估证明了该方法在不同图像数据集上的有效性,尤其是在上述具有挑战性的情况下。

六、总结

强化学习和迁移学习有较多的关注度,GAN在图像处理领域非常火。

你可能感兴趣的:(2018年11月12月机器学习相关文章概览)