本文作者在过去一年编辑了大量探索机器学习和深度学习的文章(这里有更多信息),因此想花点时间着重介绍最有趣的一些论文和研究,并分享了代码实现链接,以便广大开发者亲自尝试。(每篇论文分别给出了代码库和论文两个地址,点击文字即可访问)
本文最初发布于 Medium,经原作者授权由 InfoQ 中文站翻译并分享。
对比表征蒸馏
这篇模型蒸馏领域的论文利用对比目标族来捕获相关性和高阶输出相关性。在这篇文章中,它们被用来将知识从一个神经网络提取到另一个神经网络。
该库包含论文“对比表征蒸馏(CRD)”的实现
这篇论文考虑了三个蒸馏阶段:
模型压缩
将知识从一种形态转为另一种形态(如 RGB 到深度)
将一系列网络蒸馏成一个网络
对比表征蒸馏:我们常常希望将表征性知识从一个神经网络转移到另一个神经网络。例如,蒸馏
对比学习的主要思想是学习一个在某些度量空间中正对接近、负对远离的表示。
通过可转换结构搜索进行网络修剪
这是一篇网络修剪领域的论文。本文提出将神经网络结构搜索直接应用于具有灵活通道和层大小的网络。最小化修剪后,网络的损失在学习通道的数量方面会有所帮助。
网络修剪减少了超参数化网络的计算成本,同时又不影响性能。
修剪后,网络的特征图由 K 个基于概率分布采样的特征图片段组成,损失会反向传播到网络权值和参数化分布。
这个项目包含了以下在 PyTorch 中实现的神经结构搜索算法。更多的 NAS 资源……
本文提出的修剪方法分为三个阶段:
使用标准的分类训练程序,训练未修剪的大型网络。
通过可转换结构搜索(TAS)来搜索小型网络的深度和宽度,TAS 旨在寻找网络的最佳规模。
利用简单知识蒸馏(KD)方法将未剪枝网络中的信息传递到搜索的小型网络中。
用于对象检测的数据扩充策略学习
虽然这本身不是一个模型架构,但本文提出创建可以应用于对象检测数据集的转换,这些转换可以转移到其他对象检测数据集,这些转换通常在训练时应用,使用的策略的训练代码如下:
首先,确保在谷歌云上使用 Tensorflow 1.13+。此外,还需要安装一些包。
该模型将增强策略定义为训练过程中随机选择的 n 个策略集合,该模型中应用的一些操作包括对颜色通道进行扭曲,对图像进行几何扭曲,仅对边框标注中的像素内容进行扭曲。
数据扩充是训练深度学习模型的重要组成部分,尽管数据扩充已被证明。
XLNet:面向语言理解的广义自回归预训练
XLNet 是转换器领域非常令人兴奋的研究方向。XLNet 是一种广义的自回归预训练方法,它通过最大化因子分解顺序所有排序的期望来实现双向上下文学习。它不使用固定的前向或后向分解顺序。
XLNet 是一种基于广义排序语言的无监督语言表示学习方法。
该方法最大化了一个序列的所有可能的因子分解顺序排列的期望对数似然。由于这些排列,每个位置的上下文可以由来自左边和右边的标记组成。由于每个位置都要学习利用所有位置的上下文信息,所以要捕获双向上下文。
通过对双向上下文建模实现基于自编码的去噪预训练,与 BERT 类似。
Transformer-XL:一种超出固定长度上下文的注意力语言模型(ACL 2019)
Transformer-XL(意为超长)允许学习超过固定长度的依赖,而又不破坏时间一致性。它结合了片段级递归机制和位置编码方案。TransformerXL 学习的依赖关系,比 RNN 长 80%,比普通转换器长 450%。它可以在 TensorFlow 和 PyTorch 上使用。
Transformer-XL:一种超出固定长度上下文的注意力语言模型
转换器有学习长期依赖关系的潜力,但受到固定长度上下文的限制。
论文作者将递归引入到他们的深层自注意力网络中。它们重用前一片段中获得的隐藏状态,而不是从头计算每个新片段的隐藏状态。被重用的隐藏状态充当递归片段的记忆。
这个存储库包含了论文中的 PyTorch 和 TensorFlow 代码
这在片段之间建立了一种递归联系。由于信息是通过递归联系传递的,所以对长期依赖关系进行建模成为可能。作者还介绍了一个更有效的相对位置编码公式,该公式可以推广到比训练中观察到的更长的注意力长度。
无传感器深度预测:利用单目视频的无监督学习结构(AAAI 2019)
本文研究了场景深度和机器人自我运动的无监督学习,其中监督由单目视频提供。这是通过在学习过程中引入几何结构来实现的。它包括对场景和单个对象、摄像机的自我运动以及从单目视频输入中学习的对象运动建模。作者还介绍了一种在线优化方法。
这是一种基于单目视频的无监督深度和自适应的学习方法。
作者介绍了一种与自我运动网络结构相同的对象运动模型。不过,它专门用于预测单个 3D 物体的运动。
从 RGB 输入中预测场景深度对于室内外机器人导航都是一项具有挑战性的任务。
它以 RGB 图像序列作为输入,由预先计算的实例分割掩膜补充。运动模型的工作是学习预测三维空间中每个物体的变换向量,这会在相应的目标帧中创建观察到的对象外观。
Auto-Keras:一个高效的神经结构搜索系统
本文提出了一个框架,使贝叶斯优化指导网络形态,从而获得有效的 NAS。基于他们的方法,作者们构建了一个名为Auto-Keras的开源 AutoML 系统。
Official Website: autokeras.com
Auto-Keras 是一种用于自动化机器学习的开源软件库(AutomML)……
该方法的主要构建块是在贝叶斯优化算法的指导下,通过变换神经结构来探索搜索空间。由于 NAS 空间不是欧几里德空间,作者通过设计一个神经网络核函数来解决这一挑战。核函数是将一个神经结构变转换为另一个神经结构的编辑距离。
神经结构搜索(NAS)被提出用于自动调整深度神经网络。
深度感知视频帧插值(CVPR 2019)
本文提出了视频帧插值方法,通过探测深度信息来检测遮挡。作者开发了一种深度感知的流投影层,该层整合了对距离较近的物体进行采样的直接流,而不是对距离较远的物体进行采样的直接流。
层次化特征学习是通过从相邻像素处获取上下文信息来实现的。然后,基于光流和局部插值核,通过扭曲输入帧、深度图和上下文特征生成输出帧。
视频帧插值的目的是在原始帧之间合成不存在的帧。
作者提出了一种深度感知视频帧插值(DAIN)模型,该模型有效地利用光流、局部插值核、深度图和上下文特征来生成高质量的视频帧。
OpenPose:利用部位亲和域的多人二维姿态估计
OpenPose 是一个开源的实时系统,用于多人 2D姿态估计,包括身体、脚、手和面部关键点。本文提出了一种实时检测图片和视频中二维人体姿态的方法。
CMU-Perceptual-Computing-Lab/openpose_train
OpenPose Training 包括 OpenPose 的训练代码,以及一些可能的试验性模型
该方法采用非参数表示,即部分亲和域(PAFs)。这篇论文的部分作者来自 IEEE。该方法以图像作为 CNN 的输入,预测出检测人体部分的置信度图和部分关联的 PAFs。本文还介绍了一个具有 15K 人足实例的足数据集。
实时多人 2D 姿态是让机器了解人的重要一步。
FastFCN:重新思考语义分割模型主干中的扩展卷积
本文提出了一种新的联合上采样模块 Joint Pyramid Upsampling(JPU),它代替了传统的占用大量时间和内存的扩展卷积。它的工作原理是将高分辨率图的提取功能转化为联合上采样问题。
FastFCN 的官方实现:重新思考语义分割主干中的扩展卷积。
该方法以全连通网络(FCN)为主干,利用 JPU 对低分辨率最终特征图进行上采样,得到高分辨率特征图,用 JPU 替换扩展卷积不会导致任何性能损失。
现代的语义分割方法通常在主干中采用扩展卷积来提取。
小结
希望这篇文章能让你对过去一年机器学习和深度学习研究领域有一些深入了解。我尽量把原始论文的链接和代码都包含了进来,广大开发者可以进行尝试以检验效果。
英文原文:2019’s Top Machine and Deep Learning Research Papers
评论