麻省理工韩松团队新突破:强悍AI视觉算法已可在手机上运行,优于现有方法三倍
2019-10-19 15:19
1111 查看
深度学习(deeplearning)是机器学习的一个分支,它帮助电脑在某些定义明确的视觉任务上超越人类。而视觉识别是深度学习的最广泛应用之一。计算机视觉算法目前可以分析医学图像、赋能自动驾驶汽车和人脸识别。但随着这项技术扩展到识别视频和真实世界的事物时,训练模型就变得越来越大,计算量也越来越大。
据估计,训练一个视频识别模型比训练一个图像分类模型需要多 50 倍的数据和 8 倍的处理能力。随着对训练深度学习模型处理能力的需求呈指数级增长,以及人们对人工智能的巨大碳排放的担忧与日俱增,这已经成为了重要的问题。另外,在低功耗移动设备上运行大型视频识别模型仍然是一个挑战,许多人工智能应用程序正朝着这个方向发展。
麻省理工学院电子工程与计算机科学系(EECS)助理教授韩松所带领的团队,正通过设计更高效的深度学习模型来解决这个问题。
(来源:麻省理工科技评论)
他们在一篇被 ICCV2019 接收的论文中概述了一种缩小视频识别模型的方法,可加快智能手机和其他移动设备上的视觉识别模型训练,并提高运行时的性能,成功将最先进模型中的 1.5 亿个参数减少到 2500 万个,模型缩小到原来的六分之一。
基础的图像和视频识别模型是神经网络,它大致模拟了大脑处理信息的方式。无论是数码照片还是视频图像序列,神经网络都会在像素中寻找模式,并为它们看到的东西构建一个抽象的表示。通过足够多的例子,神经网络“学习”识别人、物体以及它们之间的关系。通常,视频识别算法会将视频分割成图像帧,并在每个帧上运行识别算法。然后,它通过观察对象在随后每帧中的变化,将视频中显示的动作拼接在一起。该方法要求算法“记住”它在每一帧中看到的内容,以及它看到这些内容的顺序。这很低效,而且没有必要。
在新的方法中,算法提取每一帧对象的基本草图,并将它们叠加起来,算法可以通过观察草图中物体在空间中的移动来获得时间流逝的印记,而不用记住什么时候发生了什么。该模型在识别某些视频数据集中的行为方面,表现优于其他模型。
研究人员发现,这种训练视频识别模型新方法的速度是现有方法的三倍。在最近的一次演示中,它还能通过耗电很小的一台小型电脑和一台照相机来快速识别手势。
图丨研究人员演示手势识别(来源:YouTube)
通常情况下,在只有一个图形处理器的机器上训练这样一个功能强大的模型,需要两天左右的时间。但是研究人员设法借用了美国能源部最高级超级计算机,该计算机目前是地球上运行速度最快的。有了超级计算机额外的能力,研究人员表示,有 1536 个图形处理器,这个模型可以在 14 分钟内完成训练,接近理论极限。他们说,这比最先进的 3D 视觉识别模型快三倍。
韩松表示:“我们的目标是让所有使用低功耗设备的人都能使用人工智能,要做到这一点,我们需要设计出高效的人工智能模型,这种模型能耗更低,能够在可以运行大量人工智能应用的边缘设备上顺畅运行。”
这项新技术可以帮助推进计算机视觉的现有商业应用,减少其计算成本。例如,它可以通过加快对视觉信息的反应速度,使自动驾驶汽车更安全。该技术还可以解锁以前无法实现的新应用,例如通过智能手机来帮助诊断患者或分析医学图像。
另外,摄像头和视频编辑软件成本的下降,以及新型视频流媒体平台的兴起,让互联网上充斥着大量新内容。如今,每小时就有 3 万个小时的新视频被上传到 YouTube。研究人员说,更有效地对内容进行分类的工具将帮助观众和广告客户更快地定位视频。这类工具还将帮助医院和养老院等机构在本地(而非云端)运行人工智能应用程序,以保护敏感数据的隐私和安全。
并且,随着越来越多的 AI 研究被转化为应用程序,人们对微型 AI 模型的需求将会增加。这一研究成果是这种日益增长的趋势的一部分,它会将最新 AI 模型缩小到更易于管理的大小。
IBM 研究部主任 Dario Gil 最近也在 MIT-IBM 沃森人工智能实验室主办的人工智能研究周上致开题词时,强调了这项工作。他说:“大型人工智能培训工作的计算需求每 3.5 个月就翻一番, 我们能否继续挑战这项技术的极限,将取决于将超级高效的算法与强大的机器相匹配的策略。”
-End-
责编:黄珊
参考:
https://www.technologyreview.com/f/614551/ai-computer-vision-algorithms-on-your-phone-mit-ibm/
http://news.mit.edu/2019/faster-video-recognition-smartphone-era-1011
相关文章推荐
- 解递归式方法(求算法运行时间)
- 姚期智:算法将推动下一波AI浪潮,现有革新将达极限
- AI行业求生之路:做算法的去养鸡场,做语音的卖鸡蛋,做视觉的送蛋炒饭
- 开讲啦丨INDEMIND双目视觉惯性模组运行DSO算法示例
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 小米5手机Android运行程序闪退出错解决方法
- 【算法与数据结构】关于代码运行时间复杂度的计算方法
- iOS 给测试人员测试手机APP的四种方法:真机运行(略),打ipa包,(testFlighe)邮件,蒲公英(三)蒲公英
- 改善C#程序的50种方法 条款2:运行时常量(readonly)优于编译时常量(const)
- AI行业求生之路:做算法的去养鸡场,做语音的卖鸡蛋,做视觉的送蛋炒饭
- Google AI再定义设备端机器学习,DNNs智能手机端实现实时运行 | AI一周学术
- 传统程序员如何转型学习AI?阿里开源核心AI技术,一线算法团队倾力打造
- 手机APP字体库压缩精简及全局修改现有工程view字体方法
- 1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用数据库MetaData方法 只获取需要的数据 选用最佳性能的功能 管理连
- 安卓手机上安装运行Ubuntu系统的方法(图文)
- 赵老师的强悍 求取程序运行时间算法
- iOS 给测试人员测试手机APP的四种方法:真机运行(略),打ipa包,(testFlighe)邮件,蒲公英(一)打ipa包
- 姚期智:算法将推动下一波AI浪潮,现有革新将达极限
- IOS获取手机设备运行内存的方法
- 如何同时处理庞大、稀有、开放类别的视觉识别?伯克利 AI 研究院提出了开放长尾识别方法