数学和编程能力,马维英说这是字节跳动AI Lab招人的首要准则

简介: 字节跳动 AI Lab 近日组织了 AI 开放日,他们展示了各种视觉和语言方面的炫酷应用,这些应用很多都已经嵌入了字节跳动的产品中,例如今日头条、抖音和西瓜视频等。此外,字节跳动 AI Lab 主任马维英还重点分享了实验室的招人准则,跃跃欲试的小伙伴们,你们准备好了么。

在开放日上,现场 Demo 展现了很多熟悉而又炫酷的应用。你知道怎样利用聚类算法和 CNN 从短视频从抽取最好看的小姐姐么?你知道怎样用单摄手机拍出柔顺的背景虚化图么?这些可能用耳熟能详的算法就能完成,只不过实验室会将它们做到极致并嵌入到 APP 中。


逛完 Demo 展示后,马维英介绍了很多实验室的具体信息,包括实验室的目标、发展情况和突出成果等。马维英表示 AI Lab 的目标是为今日头条和抖音等产品提供核心技术支持,并满足现在到未来 2-5 年的产品和业务发展需要。


有这么优秀的科学家和资源,你想不想来场面试?马维英随后就介绍了 AI 实验室的招人经验,所以你的数学和代码都准备好了么?


数学足够好是做 AI 研究的基础


从微软到今日头条,马维英的「看人」技能非常纯熟,他会比较特别地观察应聘者的各项素质。在开放日上,他也分享了 AI Lab 及个人面试的择人准则。马维英表示首先会考虑应聘者的数学基础是不是非常好,是不是能深入了解问题的本质。因此应聘者的数学功底要好,对数学模型有比较好的直觉和理解。也就是说应聘者不能只是会简简单单地应用,把模型或算法当作一个黑箱进行调参,而不了解具体过程。如果有比较好的数学基础,那么模型的理论过程、最优化方法、损失函数调优等都可以结合实际问题进行修正,从而获得更好的性能。


其次马维英会比较看重工程实践能力,所以 AI Lab 这边也会考虑应聘者的编程能力。马维英表示我们常常会有非常好的想法,但很可能没有实践能力,这是不够的。最后,马维英还会考察应聘者的态度,比如说团队合作、人际沟通和表达能力等,这是一些和软素质比较相关的东西。


而从个人角度来看,马维英说:「其实我这么多年招了这么多人,在面试中会非常重视眼神的交流。在面试过程中,我大概通过十多分钟就能判断面试者的思维是不是比较敏捷、回答过程中是不是比较坦诚等。因为有大量的经验,我通过对话可以看到面试者不太容易看到的一面。」


炫酷的算法应用


有数学还不够,你需要把它做成产品,所以你可以先看看 AI Lab 做出来的 Demo。其实它们很多都已经应用到实际产品中,例如 2018 年世界杯期间接入了今日头条直播间的视频分析、接入抖音的视频内容审核、嵌入西瓜视频的封面生成等,不过这里只重点介绍了视频理解与背景虚化两种应用。


曾经背景虚化只是单反的专利,通过大光圈获得像奶油般柔滑的背景。当然现在手机也可以借助双摄像头完成背景虚化,但如果只有单摄像头或单张图片,又如何借助算法实现背景虚化呢。字节跳动 AI 实验室展示了这样一种算法,它可以预测高清图像的「深度信息」,也就是从近到远区分前景与背景。有了这种深度信息,我们就能很自然地生成对应的背景虚化图像。


如下所示,直观而言模型首先会将高清图压缩为低清输入图,然后使用深度残差网络抽取到深度图,这里先压缩为低清图再做卷积运算可以大大降低计算力。然后我们可以根据深度图和低清输入图渲染低清背景虚化图,并在最后利用高清原图、低清输入图、深度图和低清背景虚化图构建高清背景虚化图。这里在训练过程中起到监督作用的是深度图,模型会尽可能正确预测整张图的深度信息,后面根据深度信息和原图生成背景虚化图就只是合成过程了。


微信图片_20211130151630.jpg


其实预测深度图有点类似于图像分割任务,只不过这种逐像素的分类问题预测的是所有像素离镜头的距离。具体而言如上图绿色的 Depth Prediction 模块所示,模型不仅会使用全连接网络直接预测深度,同时还会使用额外的前景分割任务获得更准确的分割边界线。字节跳动 AI 实验室在现场展示了这一方法的实际效果,虽然不能说完美,但一般人是看不出问题的。


除了图像,视频处理也有非常有意思的应用。一般在上传视频到抖音或西瓜视频后,我们希望能有一张好看的封面,因为漂亮的事物总是能吸引别人点开视频。但是机器学习系统能帮我们挑选出最漂亮的封面吗?答案是可以的,字节跳动实验室展示的这个应用甚至可以从视频中选出最好看的视频帧,并裁剪为合适的大小。


下图展示了挑选封面的主要做法,当我们上传一段视频后,模型首先会对不同的视频帧做一个聚类处理。因为视频是连续的图像,聚类过程能将类似的视频帧都聚在一起,因此从不同的集群采样一些视频帧就能挑选出有代表性的图像。然后把这些图像馈送到深度卷积神经网络并度量每一张图像的质量,这样就能挑选出最「漂亮」的图像。最后只要进行适当地裁剪就行了,当然这样的裁剪也会尽可能保留主体。


微信图片_20211130151702.jpg


在现场 Demo 展示中,应用可以快速推断出短视频中质量最高的图像,它会给出评分前三的视频帧。除此之外,字节跳动 AI 实验室还能利用深度卷积神经网络抽取关键视频片段,并总结为更精简的短视频。


现场 Demo 展示还有很多炫酷的应用与方法,例如在足球直播中,实验室构建的系统能追踪球员与足球,并估计相机所在的位置及拍摄的球场区域。这一系统在 2018 年世界杯期间接入了今日头条客户端的直播间,它还能检测精彩片段,并为 Xiaoming Bot 写作机器人提供图像素材。


其实 Demo 中的很多应用都需要部署到移动端,例如给人脸加各种特效的激萌或抖音等。为此,实验室展示了一种快速轻量级的人脸识别方法。他们会使用经量化的修正版 MobileNet V2,并采用知识蒸馏方法从预训练的大模型中学习更优秀的精炼模型。因此在实际应用中能以毫秒级的延迟完成人脸识别任务,而对人脸再加特效也就非常迅速了。

相关文章
|
27天前
|
人工智能 IDE 测试技术
利用AI技术提升编程效率
【10月更文挑战第6天】本文将探讨如何通过人工智能(AI)技术提升编程效率。我们将介绍一些实用的工具和策略,如代码补全、错误检测和自动化测试,以及如何将这些工具整合到你的日常工作流程中。无论你是初学者还是经验丰富的开发者,都可以从这些技巧中受益。让我们一起探索如何利用AI技术来简化编程过程,提高生产力吧!
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
构建智能化编程环境:AI 与代码编辑器的融合
在人工智能的推动下,未来的代码编辑器将转变为智能化编程环境,具备智能代码补全、自动化错误检测与修复、个性化学习支持及自动化代码审查等功能。本文探讨了其核心功能、技术实现(包括机器学习、自然语言处理、深度学习及知识图谱)及应用场景,如辅助新手开发者、提升高级开发者效率和优化团队协作。随着AI技术进步,智能化编程环境将成为软件开发的重要趋势,变革开发者工作方式,提升效率,降低编程门槛,并推动行业创新。
|
26天前
|
人工智能 JSON Java
【极速入门版】编程小白也能轻松上手Comate AI编程插件
【极速入门版】编程小白也能轻松上手Comate AI编程插件
28 0
|
27天前
|
人工智能 IDE Java
AI 代码工具大揭秘:提高编程效率的必备神器!
【10月更文挑战第1天】近年来,人工智能得到了迅猛的发展,并在各行各业都得到了广泛应用。尤其是近两年来,AI开发工具逐渐成为开发者们的新宠,其中 GitHub Copilot 更是引发了无限可能性的探索。
87 9
AI 代码工具大揭秘:提高编程效率的必备神器!
|
6天前
|
人工智能
新活动 热门 AI 编程 PlayGround 编程大玩家等你来
新活动 热门 AI 编程 PlayGround 编程大玩家等你来
29 4
|
1月前
|
Python 机器学习/深度学习 人工智能
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
【10月更文挑战第1天】本文通过构建一个简单的强化学习环境,演示了如何创建和训练智能体以完成特定任务。我们使用Python、OpenAI Gym和PyTorch搭建了一个基础的智能体,使其学会在CartPole-v1环境中保持杆子不倒。文中详细介绍了环境设置、神经网络构建及训练过程。此实战案例有助于理解智能体的工作原理及基本训练方法,为更复杂应用奠定基础。首先需安装必要库: ```bash pip install gym torch ``` 接着定义环境并与之交互,实现智能体的训练。通过多个回合的试错学习,智能体逐步优化其策略。这一过程虽从基础做起,但为后续研究提供了良好起点。
95 4
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
|
14天前
|
人工智能 搜索推荐 测试技术
AI 辅助编程的效果衡量
本文主要介绍了如何度量研发效能,以及 AI 辅助编程是如何影响效能的,进而阐述如何衡量 AI 辅助编程带来的收益。
|
19天前
|
人工智能 Python
AI师傅和通义灵码合作助力你学编程
湖北的一位股民通过AI学习了使用通义灵码制作股票浮动止盈点计算器,大幅提升了效率。通过描述需求、编写代码、解释代码和纠错等步骤,实现了从获取股票最高价到计算止盈价的全过程,简化了操作流程,提高了投资决策的准确性。
|
18天前
|
人工智能 运维 自然语言处理
通义灵码:体验AI编程新技能-@workspace 和 @terminal为你的编程插上一双翅膀
本文介绍了通义灵码个人版中的@workspace和@terminal功能,帮助运维工程师快速理解项目结构、实现需求和执行指令。@workspace通过RAG技术深度感知代码库,支持快速上手新项目和协助实现新需求;@terminal则提供智能指令生成和解释,提升开发效率。
118 5
835
|
15天前
|
人工智能 Java 开发者
基于通义灵码轻松进行编程 在 AI 师傅(AI-Shifu.com)学的通义灵码
作为一名Java开发者,通过使用通义灵码个人版学习Python,学习效率提升了80%。根据AI师傅平台的指导,高效利用AI辅助学习的主要步骤包括:1. 描述需求,了解所需技术;2. 细化需求描述,便于AI高效编程;3. 发送参考指令给AI;4. 执行代码测试;5. 查看代码注释;6. 优化代码。
835
42 1