参与:李泽南、吴攀 风格迁移一直是机器学习领域内的一项重要任务,很多研究机构和研究者都在努力打造速度更快、计算成本更低的风格迁移机器学习系统,比如《怎》、《》。今天,Facebook 又在其官方博客上宣布了一种可以用在移动设备实现实时风格的深度学习系统 Caffe2Go,自称能在眨眼之间完成处理的任务,而且还能实现高质量的视频风格迁移。Facebook 还表示该项目将会在未来几个月内进行部分开源。 随着视频通话逐渐成为人们交流的主要方式,Facebook 希望创造最新的视频创意工具来帮助人们表达自我。最近,他们在手机 app 中测试了新的相机应用,实时在视频中添加艺术元素。这项技术被称为「风格转换」。它可以将一张图片中的艺术风格,例如梵高的画作,加入普通的图片或视频中去。这是以往技术上难以实现的事,通常这需要将参考图和要处理的数据发送到数据中心,通过大型服务器进行处理。Facebook 最新开发的移动端深度学习平台第一次摆脱了信号塔的束缚,可以实时捕捉、分析和处理图像,将最新技术放进人们的手中。这一新程序被称为 Caffe2Go,是一个完整的深度学习系统,它的架构已经嵌入手机 app 中。通过将处理图片和视频的人工智能模型压缩至百分之一大小,Facebook 现在已经可以在 iOS 和安卓系统中高效运行深度学习网络。最终,Facebook 公司的应用可以在部分手机中以不到 50 毫秒的速度完成人工智能任务的处理,而人眨眼需要的时间大约需要 300 毫秒。 相机风格转换工具是两种技术的结合:Caffe2Go 运行环境与风格转换模型。Facebook 的人工智能团队一直在处理算法与大规模系统,他们一直在致力于开发新模型,让风格转换更加快速稳定。于是,现在你拿起手机,开始摄像,梵高的绘画风格变得无处不在了。 Caffe2Go 项目在三个月前开始,目前没有其他公司的产品能够做到这样的效果:让人工智能风格转换变成创作工具。不仅如此,Facebook 做到了更多,他们让这种应用可以在手机中实时处理图像。该项目的研究者跨越产品、技术和研究者。FAIR 团队的 Justin Johnson 是一篇描述该项目技术基础论文(Perceptual Losses for Real-Time Style Transfer and Super-Resolution (https://arxiv.org/abs/1603.08155))的作者,他们在前人的努力基础之上开发了新的技术;应用机器学习团队则通过努力将 AI 引擎塞进手机设备中;相机团队负责满足用户需求;正是因为所有人的努力,这些团队构建了运行在移动设备上的高效神经网络。我们将解释如何思考和开发这一应用技术的,从 Caffe2Go 开始。 Caffe2Go 轻量快速 人工智能对计算机科学产生了深远的影响,但它的应用一直被局限在大型数据中心里,距离普通用户存在很长一段距离。大多数时候,人工智能「实时处理」应用将数据发送到远端数据中心,通过那里的 GPU 来处理,物理距离造成了不可避免的延迟。我们认为使用超级计算机进行实时处理是不实际的,于是我们转换思路,atv,努力让人工智能在移动设备的 CPU 中运行。
没人想拖着一台超级计算机出门 手机可以拍照,通话,也可以实时理解用户所需,不需要连接远端服务器,但它们的性能有限。尽管近年来硬件设备的发展让移动设备的计算能力有了很大改进,手机 CPU 现在已经可以在一秒钟内进行数十亿次运算,但智能软件在设计中还要面对诸如功率,存储器和计算能力的各种资源限制。因此,移动设备环境对机器学习系统提出了机遇和挑战。 面对这些挑战,我们的解决方案是设计超轻量级模块化框架。为此,我们以开源的 Caffe2 项目为基础,遵循 Unix 理念开发了 Caffe2Go。我们确保了用于声明和连接组件的核心架构的轻量化,允许多种组件与其连接——包括对于移动设备的专用优化。我们保留了一个精巧的算法框架,允许工程人员将抽象概念描述成有向无环图(DAG),同时确保没有约束被强加在图中执行节点的输入和输出上。这允许我们的工程团队能够在不同平台上实现和优化模块,同时可以轻松地连接各种模块。当图像实时输入时,通过硬件功能进行自我实例化可以达到最大处理速度。 速度是计算密集型移动应用的关键,特别是对于图像和视频处理而言,框架的轻量级设计允许我们为特定的运算符执行平台进行特定的优化。NNPack 库是其中一个例子,Caffe2 集成在移动运行环境中时,通过使用移动 CPU 中被称为 NEON 的功能,可以显著提高运算速度。在 iOS 设备上,我们也正在着手集成加速功能如 Metal 语言。所有这些都是通过模块化设计完成的,无需改变一般模型定义。因此,算法端和运行环境可以互相依靠,不必担心兼容性的问题。 面向开发者 (责任编辑:本港台直播) |