当前位置: 首页 > 编程日记 > 正文

玩嗨的2亿快手“老铁”和幕后的极致视觉算法

640?wx_fmt=jpeg


作者 | Just

出品 | AI科技大本营(ID:rgznai100)


创立八年,短视频平台快手目前已经有超过两亿人在每天登陆使用,每天还有超过 1500 万条短视频被制作和上传,每天的累计观看数更是达到 150 亿。

拥有如此庞大的用户数,快手用户涵盖中国社会的各个地域和阶层,生产丰富的视频内容。这些用户拍摄的视频就像一个社会博物馆,几十年后许多生活方式和民俗都会随着社会变迁而消失,但它们都以最原始的形式保存在快手用户视频里,其覆盖之广泛或许连任何官方或专业的影像资料都无法替代。

有媒体用这样一句话来概括快手平台的作用:在快手上遇见最广袤的中国。几年前在新闻稿上读到这句话,让王华彦至今印象深刻。

提高两种 AI 算法效率服务快手“老铁”

毫无疑问,王华彦认可快手作为短视频平台传递出的这种价值理念,如今作为快手位于硅谷的 Y-tech 实验室负责人,他告诉 AI科技大本营(ID:rgznai100),这也是其加入快手的其中一个主要原因。

价值理念的匹配固然重要,但自己的研究兴趣与快手在同一技术方向上的重视,让这种双向碰撞会一拍即合。2018 年 7 月,王华彦在其斯坦福师兄、现快手 Y-tech 负责人郑文的牵线下正式加入。

640?wx_fmt=png

王华彦,现快手 Y-tech 硅谷实验室负责人。他是斯坦福大学计算机科学博士,师从概率图模型(graphical models)领域的顶尖学者和奠基人之一的 Daphne Koller 教授研究计算机视觉。就读斯坦福大学人工智能实验室期间,为复杂化的概率图模型开发了高效的推理算法。他的研究曾登上在ACM 通讯(CACM)的研究亮点(research highlights),并在多个顶级会议上发表。王华彦本科和硕士阶段就读于北京大学,师从査红彬教授,也曾在香港科技大学杨强教授的实验室访学。

在此之前,无论是在斯坦福读博,还是后来在硅谷做通用人工智能的公司 Vicarious AI 担任高级研究员,王华彦的主要专注点一直是如何从各种角度提高 AI 算法的效率。他进一步解释,效率包含两方面:一是学习阶段利用数据的效率,即利用更丰富的模型先验结构从更少的数据学到更多知识,二是推理阶段的计算效率。围绕这两大方向,他的一项研究成果入选了 2013 年 ACM 通讯(CACM)的研究亮点(research highlights)。

在 Vicarious AI,他和团队的研究工作继续围绕提高效率这一目标,重点关注数据效率和泛化(generalization)能力,他们发现,在特定场景下高度结构化的模型能够用几百分之一的训练数据就超过业内最强的卷积神经网络(CNN)的泛化能力。这一研究最终发表在 2017 年的《科学》(Science)杂志。

快手的核心技术需求与王华彦的研究方向高度契合。为了辅助用户进行更多内容生产,快手在业务中使用了大量 AI 技术进行赋能,比如美妆装饰特效、跳舞机游戏、控雨特效、AR 特效、染发特效、背景替换和魔法表情等。这些特效用到了人脸关键点、人体关键点识别、手势识别、视觉惯性里程计、头发分割、背景分割等 AI 技术。

这些技术应用背后,需要通过标注大量图像,作为数据集进行监督学习,训练出模型。但这种方式并不十分有效,相比人类只需要少量样本的学习方式而言,效率很低。

 

同时,快手的“老铁”们普遍使用的大众型手机对 AI 算法的推理计算效率提出了前所未有的高要求,这迫使他们快速开发并在大众移动设备上部署最先进的 AI 算法,而目前业界开发 AI 算法的主要瓶颈在于数据,如果能大幅提高数据利用效率就能提高开发效率。

问题在于,快手具体如何提高利用数据的效率以及推理计算效率?

追求极致效率:开发下一代计算机视觉算法

坐落在斯坦福校园旁边的快手 Y-tech 硅谷实验室,其研究大方向是追求 AI 算法的极致效率,王华彦称,他们在方法上主要专注于利用更加结构化的模型以及结构化的视觉信息表示,充分利用先验知识,提高算法效率,从而落地到内容理解、编解码和内容生产等不同的场景。

将这些模型应用部署到端上,主要的挑战来自任务的多样性以及移动计算设备及其底层软硬件的多样性。他指出,将一般性的普适性方法应用到不同的场景中需要适应它们各自的性质和需求。

而所谓的追求“极致效率”,在研究方面的体现就是开发下一代计算机视觉算法。

目前业界和学界基于卷积神经网络(CNN)和大数据的计算机视觉方法有比较明显的局限性,王华彦举例称,人的视觉系统只需要很少的样本就能学习一个概念,而 CNN 需要非常多的样本。这是因为人在看到一个物体的时候,对于它的形状、轮廓、纹理、颜色等属性有一个结构化的(structural)、可拆分的(compositional)表示方式,而 CNN 在“看到”一个物体的时候,这些不同方面的属性是被混合在一个“黑箱子”里面,造成了 CNN 在学习概念的时候利用样本的效率很低,因为它无法将不同的样本以比较合理的方式联系起来。

值得注意的是,在深度学习兴起之前,早期的计算机视觉方法更多的是采用这种结构化的表示方式,但并没有取得深度学习方法这样成功以及业界的广泛应用。从近些年的发展来看,王华彦认为,越来越丰富的结构化信息表示方式正在被引入到深度学习方法中,但离能够从很少的数据中高效率学习的“下一代计算机视觉算法”还有非常大的距离。

              640?wx_fmt=png

从推理计算效率方面来说,人的视觉系统在面对动态场景的时候,会将物体的属性和运动信息分离开来,并不会每时每刻都反复重新“识别”一个在运动或变形的物体。一个高效的计算机视觉系统也应该对动态信息采取类似的表示方式及推理方式,即由当前时刻物体的属性和状态自然推演下一时刻物体的属性和状态。这一过程就需要将物体的形状、纹理等各方面的属性进行一种可拆分的(compositional)表示,从而对它们分别运用对应的先验知识进行推理。

而基于 CNN 的方法由于无法将物体各方面的属性分开表示,在面对一个动态场景时,不可避免地需要进行大量冗余计算,反复重新“识别”物体及其状态。这其中很大部分的计算资源浪费都需要在一套可拆分的视觉信息表示方法下才有可能解决。

当然,AI 算法处理信息的方式和人脑还是有非常大的不同,所以他认为以上所述不能被粗暴地理解为“模仿人脑建造 AI”,而应从人的认知行为在某些特定方面的某些特性获得启发,找到目前 AI 算法潜在瓶颈以及能够提高的地方。

探索计算机视觉等 AI 前沿算法固然不错,但更常见的是,大部分实验室环境下表现优秀的算法却在实际落地到应用时不尽人意。

在王华彦看来,前沿算法由于很“前沿”,往往缺乏一个成熟的“使用说明书”。比如在 A 情形和 B 情形下应该如何 debug 等等,这往往需要有一定研究经验的算法科学家和工程师来根据具体情况分析解决方案。而学界做研究跟业界做研究一个显著的不同点在于,前者发表一篇论文往往是展示一两个新算法的成功案例,而后者的一个方法性研究工作要想成功落地,则需要一个比较流程化的描述,对各种可能遇到的情形都能够做到有章可循。在他看来,如何开发一个这样的“流程”应是算法落地的主要挑战。

9 月 6 日,2019 AI ProCon,快手硅谷实验室负责人王华岩将作为计算机视觉专题出品人做重磅演讲,详解计算机视觉算法应用的技术实例,欢迎开发者购票参会,距离5折优惠票结束还有 3 天!大会详情:

https://aiprocon.csdn.net/m/topic/ai_procon


640?wx_fmt=png

(*本文为 AI科技大本营原创文章,转载请联系微信 1092722531)


福利时刻



入群参与每周抽奖~

扫码添加小助手,回复:大会,加入福利群,参与抽奖送礼!

640?wx_fmt=jpeg

AI ProCon 2019 邀请到了亚马逊首席科学家@李沐,在大会的前一天(9.5)亲授「深度学习实训营」,通过动手实操,帮助开发者全面了解深度学习的基础知识和开发技巧。还有 9大技术论坛、60+主题分享,百余家企业、千余名开发者共同相约 2019 AI ProCon!距离5折优惠票结束还有 3 天!


640?wx_fmt=jpeg

推荐阅读

  • 大咖云集、精彩议题、独家内容,2019 AI ProCon震撼来袭!(日程出炉)

  • 无需成对示例、无监督训练,CycleGAN生成图像简直不要太简单

  • 从不温不火到炙手可热:语音识别技术简史

  • 分析CVPR 2019论文关键词,我看到了计算机视觉的最新趋势 | 附代码

  • 入门大爆炸式发展的深度学习,你先要了解这6个著名框架

  • 用Python的算法工程师们,编码问题搞透彻了吗?

  • Python冷知识,不一样的技巧带给你不一样的乐趣

  • 我是如何通过开源项目月入 10 万的?

  • 撬动百亿台设备,让物联网“造”起来!

  • 程序员离无人值班有多远?

640?wx_fmt=png

你点的每个“在看”,我都认真当成了喜欢

相关文章:

lsmod命令详解

基础命令学习目录首页 原文链接:http://blog.sina.com.cn/s/blog_e6b2465d0101fuev.html lsmod——显示已载入系统的模块 lsmod 其实就是list modules的缩写,即 列出所有模块. 功能说明:显示已载入系统的模块。 语法:lsmod 说明&a…

javascript模块化、模块加载器初探

最常见网站的javascript架构可能是这样的: 一个底层框架文件,如jQuery一个网站业务框架文件,包含整站公用业务模块类(如弹框、ajax封装等)多个业务文件,包含每个具体页面有关系的业务代码为了减少一个HTTP请求,我们可能…

tiny-cnn执行过程分析(MNIST)

在http://blog.csdn.net/fengbingchun/article/details/50573841中以MNIST为例对tiny-cnn的使用进行了介绍,下面对其执行过程进行分析:支持两种损失函数:(1)、mean squared error(均方差);(2)、cross entropy(交叉熵)。在MNIST中使…

关于element的select多选选择器,数据回显的问题

关于element的select多选,数据回显的问题 在工作中遇到这样一个问题,新建表单时用element的select多选以后,在编辑的时候打开表单发现其他数据能正常显示,多选却无法正常回显。在网上找了很多后,终于解决了这个问题&am…

360金融发布Q2财报:净利6.92亿,同比增长114%,大数据与AI加持的科技服务是新亮点?

8月23日,360金融发布未经审计的2019年第二季度业绩报告。财务数据显示,2019年第二季度,360金融实现收入22.27亿元人民币,较2018年二季度9.79亿元增长128%;净利润为6.18亿元,而去年同期为净亏损1.42亿元&…

SPRING3.X JSON 406 和 中文乱码问题

2019独角兽企业重金招聘Python工程师标准>>> 简要 最近使用Spring3.2.3 版本 在使用 JSON message convertion 的时候,老是出现406 返回类型不匹配的问题,去网上google 了一番 也没有一个明确的说法,只能自己去调试。 Maven 依…

VLFeat开源库介绍及在VS2013中的编译

VLFeat是一个开源的计算机视觉算法库,内容主要包括feature detectors、feature extractors、k-means clustering、randomized kd-tree matching、super-pixelization。它是跨平台的,能够应用在Linux、Mac、Windows平台。它的License是BSD。 在VS2013中编…

人工智能写手,好用吗?

作者 | 王树义来源 | 玉树芝兰(ID:nkwangshuyi)1、印象之前给学生上课的时候,我介绍过利用循环神经网络,仿照作家风格进行创作的机器学习模型。不过,那模型写出来的东西嘛……我的评价是:望之&a…

表单系列之input number总结

各浏览器表现 <input type"number" /> chrome 除数字字符&#xff0c;只可输入e和.IE 除数字字符&#xff0c;其他字符均可输入&#xff0c;无报错Firefox 除数字字符&#xff0c;其他字符均可输入&#xff0c;但会报错移除箭头 //谷歌去除箭头 input::-webki…

Android中Service深入学习

概述 1、当用户在与当前应用程序不同的应用程序时&#xff0c;Service可以继续在后台运行。 2、Service可以让其他组件绑定&#xff0c;以便和它交互并进行进程间通信。 3、Service默认运行在创建它的应用程序的主线程中。 Service的使用主要是因为应用程序里面可能需要长时间地…

卷积神经网络(CNN)的简单实现(MNIST)

卷积神经网络(CNN)的基础介绍见http://blog.csdn.net/fengbingchun/article/details/50529500&#xff0c;这里主要以代码实现为主。CNN是一个多层的神经网络&#xff0c;每层由多个二维平面组成&#xff0c;而每个平面由多个独立神经元组成。以MNIST作为数据库&#xff0c;仿照…

Tensorflow源码解析5 -- 图的边 - Tensor

1 概述 前文两篇文章分别讲解了TensorFlow核心对象Graph&#xff0c;和Graph的节点Operation。Graph另外一大成员&#xff0c;即为其边Tensor。边用来表示计算的数据&#xff0c;它经过上游节点计算后得到&#xff0c;然后传递给下游节点进行运算。本文讲解Graph的边Tensor&…

物联网成网络安全防护新重点!

在昨天的 2019 北京网络安全大会上&#xff0c;工信部负责人表示&#xff0c;我国面向 5G 和车联网将建设网安防护体系&#xff0c;提升监测预警和应急响应能力。其中物联网设备已成为网安防护新重点。为什么工信部会这么重视物联网&#xff1f;物联网开发者的现状又是如何呢&a…

【分享】Java的几个重要词语

Java 是一种解释型语言,由SUN公司开发,基本上属于一个完全面向对象的语言&#xff0c;并且语言的设计仍然以简捷为重点。初学Java肯定会被一些名词给弄晕了&#xff0c;现在集中几个解释一下下。1、JVMJVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&…

64位Ubuntu上编译32位程序操作步骤

1. 确认主机为64位架构的内核&#xff0c;应该输出为adm64&#xff0c;执行&#xff1a;$ dpkg --print-architecture2. 确认打开了多架构支持功能&#xff0c;应该输出为i386&#xff0c;执行&#xff1a;$ dpkg --print-foreign-architectures如果没有&#xff0c;…

分布式事务中间件 Fescar—RM 模块源码解读

2019独角兽企业重金招聘Python工程师标准>>> 前言 在SOA、微服务架构流行的年代&#xff0c;许多复杂业务上需要支持多资源占用场景&#xff0c;而在分布式系统中因为某个资源不足而导致其它资源占用回滚的系统设计一直是个难点。我所在的团队也遇到了这个问题&…

二维码检测哪家强?五大开源库测评比较

作者 | 周强来源 | 我爱计算机视觉&#xff08;ID&#xff1a;aicvml&#xff09;二维码已经进入人们的日常生活中&#xff0c;尤其是日本Denso Wave公司1994年发明的QR码&#xff0c;由于其易于检测、写入信息量大、提供强大的纠错机制&#xff0c;应用最为广泛&#xff0c;可…

linux 内核 出错-HP 方案

2019独角兽企业重金招聘Python工程师标准>>> SUPPORT COMMUNICATION - CUSTOMER ADVISORY Document ID: c03456595 Version: 1 Advisory: Red Hat Enterprise Linux 6 - "P4-Clockmod: Warning: EST-Capable CPU Detected" Messages Logged in /var/log…

Windows7 64bit VS2013 Caffe test MNIST操作步骤

在http://blog.csdn.net/fengbingchun/article/details/49849225中用Caffe对MNIST数据库进行训练&#xff0c;产生了model。下面介绍下如何将产生的model应用在实际的数字图像识别中。用到的测试图像与http://blog.csdn.net/fengbingchun/article/details/50573841中相同&#…

记住这35个英文单词,你就可以在RPA界混了!

无论是想玩转RPA&#xff08;机器人流程自动化&#xff09;&#xff0c;还是有意了解、进入这项行业&#xff0c;只有先了解该领域的专有名词&#xff08;行业术语&#xff09;&#xff0c;才能为之后的活动提供更多的可能。UiBot现为您编译整理了这份机器人流程自动化术语表&a…

福利 | 送你一张通往「2019 AI开发者大会」的门票

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼&#xff0c;如今蓄势待发&#xff1a;2019年9月6-7日&#xff0c;大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京&#xff0c;进行技术解读和产业论证。…

收缩日志文件夹

-- MSSQL2005 USE mastergo DECLARE dbname sysname;SET dbnameBSV100;-- 清空日志EXEC (DUMP TRANSACTION [dbname] WITH NO_LOG); -- 截断事务日志&#xff1a;EXEC (BACKUP LOG [dbname] WITH NO_LOG); -- 收缩数据库文件(如果不压缩,数据库的文件不会减小EXEC (DBCC SHR…

腾讯AI开源框架Angel 3.0重磅发布:超50万行代码,支持3种算法,打造全栈机器学习平台...

出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导语】2019年8月22日&#xff0c;腾讯首个AI开源项目Angel正式发布3.0版本。Angel 3.0尝试打造一个全栈的机器学习平台&#xff0c;功能特性涵盖了机器学习的各个阶段&#xff1a;特征工程&#xff0c;模…

路印协议受邀参加澳洲新南威尔士政府孵化器Haymarket HQ分享论坛

2019年2月15日&#xff0c;澳洲新南威尔士政府孵化器Haymarket HQ和Next Genius 社区联合举办了区块链解决方案分享论坛&#xff0c;路印协议CMO周杰受邀介绍当前交易所现状和路印协议的去中心化解决方案。参与此次论坛的还有区块链开发人员、企业家和去中心化技术爱好者&#…

一步一步指引你在Windows7上配置编译使用Caffe(https://github.com/fengbingchun/Caffe_Test)

之前写过几篇关于Caffe源码在Windows764位上配置编译及使用过程&#xff0c;只是没有把整个工程放到网上&#xff0c;最近把整个工程整理清理了下&#xff0c;把它放到了GitHub上。下面对这个工程的使用作几点说明&#xff1a;1. 整个工程Caffe在Windows7 64位VS2013下编译…

演示:思科IPS在线模式下Inline Interface Mode的响应行为(区别各个防御行为)

演示&#xff1a;思科IPS在线模式下Inline Interface Mode的响应行为演示目标&#xff1a;科IPS在线模式下InlineInterface Mode的响应行为。演示环境&#xff1a;仍然使用图5.16所示的网络环境。演示背景&#xff1a;在VLAN3的主机192.168.4.2上发起对主机192.168.4.1的漏洞扫…

【笔记】重学前端-winter

本文为&#xff1a;winter 发布在极客时间 【重学前端】系列课程的的笔记和总结支持正版哦: https://time.geekbang.org/col... 导语 如果深入进去了解&#xff0c;你会发现&#xff0c;表面上看他们可能是一时忘记了&#xff0c;或者之前没注意但实际上是他们对于前端的知识体…

如何用知识图谱挖掘商业数据背后的宝藏?

这是一个商业时代&#xff0c;一个数据为王的时代&#xff0c;也是一个 AI 迎来黄金发展期的时代。据史料记载&#xff0c;商业在商朝已初具规模。斗转星移&#xff0c;时光流转&#xff0c;到 2019 年&#xff0c;商业形式已发生翻天覆地的变化&#xff0c;但是商业的本质——…

通过define _CRTDBG_MAP_ALLOC宏来检测windows上的code是否有内存泄露

VS中自带了内存泄露检测工具&#xff0c;若要启用内存泄露检测&#xff0c;则在程序中包括以下语句&#xff1a; #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> 它们的先后顺序不能改变。通过包括 crtdbg.h&#xff0c;将malloc和free函数映射到其”Debug”版本_malloc…

java.sql.SQLException: Data truncation: Truncated incorrect DOUBLE value

mysql 报这个异常&#xff1a;java.sql.SQLException: Data truncation: Truncated incorrect DOUBLE value update 表名 set col1 ? and col2 ? where id ? 改为&#xff1a; update 表名 set col1 ? , col2 ? where id ? 用逗号隔开