对于整个深度学习和机器学习来说,今年是重要的一年。如今,连面向婴儿的神经网络的书籍都已经面世。不过,除了读书之外,在这个疯狂的世界中保持最新状态的最佳方法是阅读论文。拥有超过10年的人工智能和软件开发经验的Rubik’s Code公司为我们重点介绍了今年对我们产生重大影响的5篇论文。
XLNet:用于语言理解的广义自回归预训练
论文链接:
https://arxiv.org/pdf/1906.08237.pdf
代码资源:
https://github.com/zihangdai/xlnet?source=post_page-----1ec363f29e85----------------------
从去年开始,NLP领域就一直受BERT的统治,但在2019年,我们迎来了新王者XLNet。来自CMU和Google的研究人员开发的新架构在20个任务上的表现超过BERT。问题是,BERT的训练是在有损坏的输入上进行的,这会导致预训练与精调之间的差异。简而言之,输入token序列中的特定数量的token将被特殊符号替换,再训练BERT使用双向上下文进行重构,从损坏的输入中恢复原始token。
XLNet也使用这种自动编码方法,但是结合了自动回归语言建模。这种方法利用上下文来预测下一个单词,但仅限于两个方向,可以向前或向后。也就是说,如果我们尝试预测句子中的某个单词(token),会查看该词之前或之后的词以对其进行预测。最著名的自回归语言模型是Transformer。XLNet使用更高级的Transformer-XL体系结构。
本质上讲,自回归语言建模和BERT相对于其他语言占据优势,而XLNet则在兼顾两者优势的同时,巧妙地避免了自身的劣势。和BERT一样,XLNet利用双向上下文预测,即预测时考虑token前后的单词。另一方面,作为自回归语言模型,XLNet不依赖于输入数据损坏,因此不存在BERT的局限性。
基于可转换架构搜索的网络剪枝
论文链接:
https://arxiv.org/pdf/1905.09717.pdf
代码资源:
https://github.com/D-X-Y/NAS-Projects?source=post_page-----1ec363f29e85----------------------
网络剪枝是深度学习的一个有趣的领域。其思路是分析神经网络的结构,并在其中找到“死角”和有用的参数。然后按照估计好的深度和宽度建立一种新架构,称为剪枝网络。然后,可以将来自原网络中的有用参数传输到新网络。这种方式对于深度卷积神经网络(CNN)特别有用,如果在嵌入式系统中进行部署,网络规模可能会变得很大且不切实际。在前一种情况下,网络剪枝可以减少超参数数量,降低CNN的计算成本。
传统的网络剪枝方法如下所示:
本文实际上建议使用的方法如下图所示:
本文实际上一开始就进行了大型网络的训练。然后通过传输体系结构搜索(TAS)提出了搜索小型网络的深度和宽度的建议。最后,使用知识提炼将大型网络中的知识转移到小型网络中。
Demucs:一个面向音乐源的深度提取器
论文链接:
https://arxiv.org/pdf/1909.01174v1.pdf
代码资源:
https://github.com/facebookresearch/demucs
在录制某些歌曲时,每种乐器都分别录制到单独的音轨或stem中。之后在混音和母带阶段,这些词干被合并在一起,生成歌曲。本文的目的是找到这一过程的逆向过程的方法,也就是说要从完成的歌曲中提取每个单独的stem。这个问题的灵感源自所谓“鸡尾酒会效应”,是说人脑可以从一个嘈杂的聊天室的环境中将单独对话分离出来,并专注于这个特定的对话,自带降噪效果。
本文提出的体系架构是SING神经网络体系结构和Wave-U-Net的思想的结合。前者用于符号到乐器的音乐合成,而后者是从混音中提取stem的方法之一。本质上是LSTM、卷积层与U-Net架构的结合。其中卷积层负责体系结构的编码,LSTM层用于解码。为了提高模型性能,本文中的架构不使用批量归一化层。
StarGAN v2:多域的多样化图像合成
论文链接:
https://arxiv.org/pdf/1912.01865v1.pdf
代码资源:
https://github.com/clovaai/stargan-v2
我们爱GANs!特别是在图像创建和处理方面。这个领域中一个非常有趣的问题就是所谓的“图像到图像转换问题”,我们希望将特征从一个图像域转移到另一个图像域(这里的“图像域”代表可以归类为视觉上独特的类别的一组图像)。我们喜欢CycleGAN和StarGAN等旨在解决此问题的解决方案,因此您可以想象几天前看到StarGAN v2论文时我们有多么兴奋。
本文还讨论了另一个问题——域的可伸缩性。这意味着它可以同时解决多个图像域的问题。本质上,这个架构依赖于StarGAN早期版本的成功,并为其添加了样式层。它由四个模块组成:第一个模块是生成器,它负责将输入图像转换为反映域特定样式的输出图像;接下来是映射网络转换器(Mapping Network Transformer),它将潜在代码转换为多个域的样式代码;第三个是样式编码器,它提取图像的样式并将其提供给生成器;最后,判别器可以从多个域中区分真实图像和伪图像。
深度感知视频插帧
论文链接:
https://arxiv.org/pdf/1904.00830
代码资源:
https://github.com/baowenbo/DAIN?source=post_page-----1ec363f29e85----------------------
视频帧合成是信号处理领域的一个有趣的分支。通常,这都是关于在现有视频中合成视频帧的。如果在视频帧之间完成操作,则称为内插(interpolation);而在视频帧之后进行此操作,则称为外推(extrapolation)。视频帧内插是一个长期存在的课题,并且已经在文献中进行了广泛的研究。这是一篇利用了深度学习技术的有趣论文。通常,由于较大的物体运动或遮挡,插值的质量会降低。在本文中,作者使用深度学习通过探索深度信息来检测遮挡。
他们创建了称为“深度感知视频帧内插”(Depth-Aware video frame INterpolation,DAIN)的架构。该模型利用深度图、局部插值核和上下文特征来生成视频帧。本质上,DAIN是基于光流和局部插值核,通过融合输入帧、深度图和上下文特征来构造输出帧。
在这些文章中,我们有机会看到一些有趣的论文和在深度学习领域取得的进步。这一领域在不断发展,我们预计2020年会更有趣。
参考链接:
https://rubikscode.net/2019/12/16/top-5-deep-learning-research-papers-in-2019/