作者——Jerry Chi
与其他领域相比,机器学习和人工智能领域的变化可以说是翻天覆地的。这些变化有时会让你发出赞叹声,甚至是对活在当下感到自豪。正如《两分钟(读懂)论文》的创作者说的那样。
备注:机器学习和人工智能领域的新进展实在太多了。这篇文章所罗列出来的是我比较感兴趣的部分。同时,我可能会使用不那么严谨的术语来让这篇文章更容易阅读。
从一些无用的信息中来准确推测出墙对面一个人的走路姿态(http://rfpose.csail.mit.edu/)
我们通过一个人引起的Wifi信号的扰动,可以准确地估计他在墙的另一边是站着/坐着/走着还是怎样的。
详细内容:《通过视频测量材料的物理特性》(http://news.mit.edu/2015/visual-microphone-identifies-structural-defects-0521)
2014年,研究人员证明,他们可以根据人对着薯片袋说话时,薯片袋的震动视频(该视频中不包含音频),来推测说话的内容。需要补充的是,这部分是在没有机器学习的情况下完成的。2015年,他们利用机器学习证明,你可以通过视频来估计材料的刚度、弹性、单位面积的重量等等(在某些情况下,仅仅是普通空气循环引起的振动就足够了)。
根据键盘旁边的智能手机来估计你敲击键盘某按键的次数。
研究人员表示,将一个智能手机放在键盘旁边进行音频录制,推测你按了哪个键、按了多少次的准确率高达94%。与以前使用的在键盘周围放置许多麦克风的监督深度学习方法不同,本文实际上使用了相对简单的机器学习技术(K-means集群)和非监督学习。
生成模型
在保证不失真的情况下,进行面部的生成和不同风格脸型的混合,以及插值。
相关论文:https://arxiv.org/abs/1812.04948
相关视频:https://www.youtube.com/watch?v=kSLJriaOumA
研究人员将一种新的架构与GPUs相结合,创建出极其逼真的人工智能脸庞。这些人脸可以在其他人脸之间进行插值,或者将一张脸的"风格"应用于另一张脸上。这项工作是建立在过去GANs工作的基础上的。GANs是2014年发明的,基于它的相关研究工作在之后得到快速发展。GANs的实现方式是让两个网络相互竞争。其中一个叫做生成器网络(Generator Network),它不断捕捉训练库中的数据,从而产生新的样本。另一个叫做判别器网络(Discriminator Network),它也根据相关数据,去判别生成器提供的数据到底是不是足够真实。
总的来说,关于对抗性机器学习有很多很棒的研究(https://github.com/yenchenlin/awesome-adversarial-machine-learning),毕竟这已经有十多年的历史了。
教机器画画(https://ai.googleblog.com/2017/04/teaching-machines-to-draw.html)
我在谷歌大脑的熟人David Ha(https://twitter.com/hardmaru)使用递归神经网络(RNN)绘制基于矢量的图形(我认为不考虑自动化的成分这跟Adobe Illustrator没什么区别)。
教差劲的舞者"学会"好的舞蹈
相关网址:https://carolineec.github.io/everybody_dance_now/
相关视频:https://www.youtube.com/watch?v=PCBTZh41Ris
这就跟舞蹈领域的"Auto-Tune"差不多。通过姿势估计和生成式对抗训练,研究人员能够制作出一段假视频,让任何真人("目标"人)都会跳出高超的舞步。所需的输入只有:
1.一个很有舞蹈技巧的人跳舞的短片
2.几分钟目标人物跳舞的视频(大多数人跳舞都很烂)
我还看到NVIDIA首席执行官黄延森(Jensen Huang)播放了一段他自己像迈克尔 · 杰克逊(Michael Jackson)那样跳舞的视频(通过这种技术)。我认为真的不错。
强化学习
世界模型——让人工智能在(它的)梦中学习(https://worldmodels.github.io/)
人类并不真正了解或思考我们生活的世界的所有细节。换句话说,我们的行为基于我们头脑中世界的抽象。例如,如果我骑自行车,我不会想到自行车的齿轮/螺母/螺栓。我只是大致知道车轮、座椅和手柄在哪里,以及如何与它们互动。为什么不对人工智能使用类似的方法呢?
这种"世界模型"方法(同样由 David Ha 等人创建)允许"代理人"(例如一个在赛车游戏中控制汽车的人工智能)创建一个周围世界 / 环境的生成模型,这是对实际环境的简化 / 抽象处理。因此,你可以把世界模型想象成一个活在人工智能头脑中的"梦"。然后,人工智能可以在这个"梦"中通过强化学习进行训练,以获得更好的性能。所以这种方法实际上是将机器学习和强化学习学习相结合。通过这些举措,研究人员能够在某些视频游戏任务上取得突出的表现。
基于上述的"世界模型"方法,谷歌刚刚发布了:深度计划网络,其效率比以前的方法提高了5000%(http://ai.googleblog.com/2019/02/introducing-planet-deep-planning.html)。
人工智能击败世界选手——星际争霸游戏中AlphaStar表现亮眼
相关博客:https://deepmind.com/blog/alphastar-mastering-real-time-strategy-game-starcraft-ii/
相关视频:https://www.youtube.com/watch?v=cUTMhmVh1qs
李世石(Lee Sedol)和DeepMind的 AlphaGo 之间那场震惊世界的历史性围棋比赛(https://en.wikipedia.org/wiki/AlphaGo_versus_Lee_Sedol),距今已有很长时间了。这场比赛发生在3年前的2016年。然后,更令人惊讶的是2017年,AlphaZero在围棋方面比AlphaGo表现得更好(在国际象棋、日本象棋等方面也比任何其他算法表现得更好),尽管它没有使用任何来自人类比赛的训练数据。而2019年的AlphaStar更加令人惊叹。
自从1998年以来,我就是一个星际争霸的粉丝,我能够理解"平衡短期和长期目标以及如何应对突发情况是一个巨大的挑战。"但这也是这个游戏的精髓所在。这无疑是一个困难的游戏,如果你对游戏没有足够深的理解是很难赢的。自2009年以来,相关团队对星际争霸游戏算法的研究一直在进行。
实际上,AlphaStar使用了监督式学习(来自人类的比赛)和强化学习(与自己对抗)的组合来达到它的结果。
手动训练机器人
通过一个简单的人类示例向机器"教授"任务
相关文章:https://news.developer.nvidia.com/new-ai-technique-helps-robots-work-alongside-humans/
相关视频:https://www.youtube.com/watch?time_continue=1&v=B7ZT5oSnRys
我能想到3种典型的教机器人学会做某事的方法,但都需要花费大量的时间/精力:
根据每种情况手动编写机器人运行的程序
让机器人尝试这个任务很多很多次(强化学习)
多次向机器人演示一个任务
深度学习的一个主要弊端是:通过数以百万计的例子(数据)来使计算机更好运行需要非常高的代价。现在,有越来越多的方法可以避免过度依赖这些数据。
研究人员找到了一种方法,让机器手臂成功地完成一项任务(比如"捡起积木并将它们按颜色堆放起来:红色积木、蓝色积木、橙色积木")。这种方法主要是基于单个人类的演示视频而成功的。换句话说,该算法实际上生成了它计划执行任务的(人类可读的)描述,这对于故障排除非常有用。该算法依赖于姿势估计、训练数据生成和目标检测等等。
非监督机器翻译(https://code.fb.com/ai-research/unsupervised-machine-translation-a-novel-approach-to-provide-fast-accurate-translations-for-more-languages/)
通常,你需要一个巨大的翻译文档训练数据集(例如联合国会议记录的专业翻译)来做好机器翻译(即监督学习)的准备。当然,许多主题和语言缺乏高质量、内容丰富的训练数据。在这篇论文中,研究人员表明,使用无监督学习是可能的(即不使用翻译数据,只使用每种语言中不相关的文本),也有可能取得极好的翻译效果。
其基本思想是,在任何语言中,某些单词/概念往往会一同出现。(例如"furry"和"cat")。他们将其描述为"不同语言中的单词嵌入具有相似的邻域结构"。使用这种方法,他们不用经过翻译数据集的训练就能达到特别好的翻译效果。这真的令人很震撼。