不想水平观看视频?谷歌的开源框架Autoflip只需点击一下就可以剪切出最好的垂直视频

选自谷歌博客

机器之心编译

参与:一鸣、思

裁剪视频不用愁,谷歌 AutoFlip 实现自动剪辑。视频尺寸、精彩内容通通自动化。

因为手机平板等各种终端设备层出不穷,制作人拍个视频还要剪裁成各种尺寸,以便分发到各种渠道。然而,如果要聚焦于核心内容,那么能追踪主体,并剪裁视频长宽尺寸的能力就必不可少了。

近日,谷歌开源了 AutoFlip 工具。这是一个开源的智能视频剪裁框架,其基于谷歌 MediaPipe 框架。

项目地址:https://github.com/google/mediapipe

在使用过程中,只需要将一段视频和目标维度(如截取的长宽比类型)作为输入,AutoFlip 会分析视频内容并提出一个优化路径和裁剪策略,最后输出一段视频。如下动图所示,我们可以选择各种剪裁长宽比与剪裁模式:

AutoFlip 是什么

AutoFlip 为智能视频调整提供了一套全自动的解决方案,它借助当前顶尖的目标检测与追踪模型理解视频内容。AutoFlip 会检测表示场景变化的构图变化,以便分离出场景进行进一步的处理。在每一个镜头中,它会使用视频分析识别重构场景之前的重要内容,其重构场景主要通过选择针对内容优化的相机模式和路径。

视频裁剪三步走,检测镜头级的视频边界、分析视频内容然后再根据需求进行剪裁。

镜头检测

视频可被视为是一段没有中断的镜头或场景序列。为了检测是否发生了镜头的变化,AutoFlip 计算每一帧的色彩值,并和前一帧进行对比。如果色值的分布发生了明显变化,则标记镜头的改变。在得出剪辑策略前,AutoFlip 会缓存整个视频,用于对整个场景进行优化。

视频内容分析

为了从视频中找到有趣的剪辑片段,AutoFlip 采用了深度学习目标检测模型。有趣的剪辑片段往往包含人和动物,但是其他元素也可以被识别出来,比如文本和广告 logo,运动中的球和动作的捕捉等。

深度学习模型对运动的人或人脸进行了识别。

剪辑

在每一帧找到了兴趣目标后,AutoFlip 自动选择优化策略——静态的、追拍或追踪的,这些取决于目标在视频中的行为。如下图所示,第一行是 AutoFlip 根据帧级的边界框追踪到的相机路径,第二行是平滑后的相机路径。经过平滑处理后,追踪效果还是比较理想的。

左图目标在画面中移动需要追踪相机路径;右图几乎固定在画面相同的位置,静态相机路径就足够了。

AutoFlip 有一个属性图,可以提供最佳效果或自定义需求的剪辑。如果覆盖所有需要的区域不能实现(如目标在一帧视频中显得太大),AutoFlip 则会自动切换到相对不那么激进的策略上。它会应用「信箱效应:letterbox effect」,在保持原始视频尺寸的同时添加屏幕黑边,让画面更自然。

对于右图要求视频囊括所有人脸,AutoFlip 会自动填充半透明黑边以满足设定的视频长宽比。

因为 AutoFlip 是 MediaPipe 的一部分,所以对于具体怎么使用,读者可查阅介绍文档

文档地址:https://github.com/google/mediapipe/blob/master/mediapipe/docs/autoflip.md

最后,和其它机器学习算法一样,AutoFlip 的性能会随着目标检测等能力的提升而大大加强,尤其是衍生出来的能力,例如采访镜头中的说话人检测或动漫中的动物脸检测等等。

当然,目前 AutoFlip 还有挺多提升的地方,尤其是当视频边缘有比较重要的文本信息等。谷歌后续也希望 AutoFlip 能进一步融合自然语言处理等技术实现更合理的视频智能剪裁。

原文地址:https://ai.googleblog.com/2020/02/autoflip-open-source-framework-for.html

一篇文章将带您使用Google C++测试框架Google test

一、前言

本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例。

Google C++测试框架能帮助更好的进行C++的测试。

支持的平台:Linux,Windows,Mac

怎样算一个好的测试平台,为什么Google C++ Test会合适:

测试应该是独立的、可重复的。如果一个测试的结果依赖于其它测试用例的结果,debug起来将会非常痛苦。Google C++测试框架在不同的对象中运行每一个测试,从而使测试集隔离开来。当一次测试失败,你可以独立执行这个测试用例来快速debugging。

测试应该有好的组织结构,并且能很好的反应测试代码的结构。Google C++测试框架将相关测试分组到共享数据和子例程的测试集中。这种样式非常容易识别并且使测试易于维护。如果要切换工程,开始在新的代码库上工作,这种一致性非常有帮助。

测试应该是可移植和可重用的。开源社区有很多平台无关的代码,所以测试也应该平台无关。Google C++测试框架可运行在不同的操作系统上,用不同的编译器,用(或不用)异常,因此Google C++测试框架能通过各种配置轻松完成。

当测试失败,应该提供尽可能多的相关信息。Google C++测试框架不会停止在第一个测试用例失败的地方。取而代之的是,仅停止当前的测试,继续下一个。你可以创建一个测试,用于报告非致命失败,这样,你能一次搞定多个bug。

一个测试框架,应该让测试人员从繁琐的基础事务中解脱出来,去专注于测试内容。Google C++测试框架自动跟踪所有的测试定义,不需要使用者运行时一一进行枚举。

测试需要关注效率。Google C++测试框架,可跨测试重用共享资源,只需付出执行一次set-up/tear-down的代价,而不需要进行互相依赖。

因为Google C++测试框架基于流行的xUnit架构,如果你使用过JUnit或PyUnit,你将会发现非常容易掌握。如果没有,将花费你10分钟来学习一些基础。

接下来,会用Google Test来代替Google C++测试框架。

第一个Demo

下面我们开始建立我们的第一个Demo了,假如之前使用的VS2008编译的gtest,那么,我们在VS2008中,新建一个Win32 Console Application。接着就是设置工程属性,总结如下:

1.设置gtest头文件路径

2.设置gtest.lib路径

3.Runtime Library设置

如果是Release版本,Runtime Library设为/MT。当然,其实你也可以选择动态链接(/MD),前提是你之前编译的gtest也使用了同样是/MD选项。

工程设置后了后,我们来编写一个最简单测试案例试试,我们先来写一个被测试函数:

int Foo(int a, int b){ if (a == 0 || b == 0) { throw "don't do that"; } int c = a % b; if (c == 0) return b; return Foo(b, c);}

没错,上面的函数是用来求最大公约数的。下面我们就来编写一个简单的测试案例。

#include <gtest/gtest.h>

TEST(FooTest, HandleNoneZeroInput){ EXPECT_EQ(2, Foo(4, 10)); EXPECT_EQ(6, Foo(30, 18));}

上面可以看到,编写一个测试案例是多么的简单。 我们使用了TEST这个宏,它有两个参数,官方的对这两个参数的解释为:[TestCaseName,TestName],而我对这两个参数的定义是:[TestSuiteName,TestCaseName],在下一篇我们再来看为什么这样定义。

对检查点的检查,我们上面使用到了EXPECT_EQ这个宏,这个宏用来比较两个数字是否相等。Google还包装了一系列EXPECT_* 和ASSERT_*的宏,而EXPECT系列和ASSERT系列的区别是:

1. EXPECT_* 失败时,案例继续往下执行。

2. ASSERT_* 失败时,直接在当前函数中返回,当前函数中ASSERT_*后面的语句将不会执行。

在下一篇,我们再来具体讨论这些断言宏。为了让我们的案例运行起来,我们还需要在main函数中添加如下代码:

int _tmain(int argc, _TCHAR* argv[]){ testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS();}

“testing::InitGoogleTest(&argc, argv);” :gtest的测试案例允许接收一系列的命令行参数,因此,我们将命令行参数传递给gtest,进行一些初始化操作。gtest的命令行参数非常丰富,在后面我们也会详细了解到。

“RUN_ALL_TESTS()” :运行所有测试案例

OK,一切就绪了,我们直接运行案例试试(一片绿色,非常爽):

总结

本篇内容确实是非常的初级,目的是让从来没有接触过gtest的同学了解gtest最基本的使用。gtest还有很多更高级的使用方法,我们将会在后面讨论。总结本篇的内容的话:

1. 使用VS编译gtest.lib文件

2. 设置测试工程的属性(头文件,lib文件,/MT参数(和编译gtest时使用一样的参数就行了))

3. 使用TEST宏开始一个测试案例,使用EXPECT_*,ASSER_*系列设置检查点。

4. 在Main函数中初始化环境,再使用RUN_ALL_TEST()宏运行测试案例。

优点:

1. 我们的测试案例本身就是一个exe工程,编译之后可以直接运行,非常的方便。

2. 编写测试案例变的非常简单(使用一些简单的宏如TEST),让我们将更多精力花在案例的设计和编写上。

3. 提供了强大丰富的断言的宏,用于对各种不同检查点的检查。

4. 提高了丰富的命令行参数对案例运行进行一系列的设置。

Tensorflow 1.0,谷歌的开源机器学习框架

据外媒报道,在美国加利福尼亚州山景市举行的首届TensorFlow开发峰会上,谷歌发布了代表人工智能发展趋势的TensorFlow深度学习开源框架1.0版。谷歌宣称这一版本可以应用编程接口(API)的方式用于生产环境之中。

TensorFlow工程总监在大会上表示,还有新的工具将纳入该框架,包括人工神经网络,可先用数据训练再对新数据进行推断。现在,还增加了传统机器学习工具,包括K均值和支持向量机(SVM)。

这一版本也整合了基于Python的Keras库。Keras库的最初设计目的是增强深度学习框架Theano的易用性。Monga说,现在还有“预制的估计模块”或模型,包括可以快速上手的简单神经网络。

另外,谷歌很快就会开源将TensorFlow(尤其是谷歌Inception神经网络模型第三版)速度提升58倍的代码。TensorFlow还将支持高通骁龙(Snapdradon)820手机芯片及其Dragonboard 820c主板上的Hexagon数字信号处理器(digital signal processor,DSP)。同时,还有一个试验性质的TensorFlow编译器XLA,将图形即时(just-in-time)编译成底层计算框架所支持的汇编语言。根据1.0版本的发布说明,TensorFlow有一套试验性质的Java应用编程接口和调试器。

谷歌在2015年首次推出了TensorFlow框架,此后逐渐增加了一些功能,比如分布式训练、Hadoop分布式文件系统(HDFS)和略显诙谐的Parsey McParseFace语言解析器。谷歌提供了云机器学习服务,所以可在谷歌的云基础设施上运行TensorFlow。

工程总监表示,到2017年3月底,谷歌不仅会发布新的基准测试,展示与其它深度学习框架相比TensorFlow的总体情况如何,也会发布用于基准测试的模块。

Google开发了一个框架,使C++更容易与Python交互

Google内部构建了一个开源项目,该项目能让开发者为C++程序生成Python的接口包装器。这个项目叫CLIF,新的框架自动为多种语言生成C++库绑定,默认支持Python2和Python3。

CLIF包含四个组成部分,解析器、匹配器、生成器和运行时。它使用LLVM编译框架来把C++ API接口描述转化为一种语言无关内部格式。为了搜集类型信息,框架使用Clang解析必要的头文件。

除了解析和匹配类型信息,CLIF还能够使用生成器生成包装器代码,生成的包装器被用来在运行时中做类型转换。

渐渐变智能

Google之前已经释放出了一些组件,如protobuf(CLIF中内部进程间通信的工具)和CMake构建系统。未来,该框架在处理继承等关系时会变得更加智能。后续版本中有计划对不同语言的异常类型进行映射转换。

现在,你可以在Github上获取到该项目的代码。项目地址是:https://github.com/google/clif

英文原文:https://opensourceforu.com/2017/05/google-develops-framework-bring-c-closer-python/

译者:诗书塞外

9个用于前端web开发的开源CSS框架| Linux中国

探索开源 CSS 框架,找到适合你的项目的框架。

  • 来源:https://linux.cn/article-12227-1.html
  • 作者:Bryant Son
  • 译者:Xingyu.Wang

当大多数人想到 Web 开发时,通常会想到 HTML 或 JavaScript。他们通常会忘记对网站的欣赏能力有更大影响的技术: 级联样式表 (cascading style sheets)(简称 CSS)。据维基百科的说法,CSS 既是网页中最重要的部分,也是最常被遗忘的部分,尽管它是万维网的三大基石技术之一。

本文将探讨九种流行的、强大的、开源的框架,是这些框架让构建漂亮的网站前端的 CSS 开发变得简单明了。

Bootstrap

Bootstrap 无疑是最流行的 CSS 框架,它是所有前端 Web 设计的开端。Bootstrap 由 Twitter 开发,提供了可用性、功能性和可扩展性。

Bootstrap homepage

Bootstrap 还提供了大量的 例子 来帮助你入门。

Bootstrap examples

使用 Bootstrap,你可以将不同的组件和布局拼接在一起,创造出有趣的页面设计。它还提供了大量详细的文档。

Bootstrap documentation

Bootstrap 的 GitHub 仓库有超过 19000 个提交和 1100 个贡献者。它基于 MIT 许可证,所以(和这个列表中的所有框架一样)你也可以加入并贡献。

Bootstrap GitHub

PatternFly

PatternFly 是由 Red Hat 开发的一个开源的(MIT 许可证)CSS 框架。PatternFly 采取了与 Bootstrap 不同的方法:Bootstrap 是为任何对创建一个漂亮网站感兴趣的人而设计的,而 PatternFly 主要针对企业级应用开发者,它提供的组件,如条形图、图表和导航,对于创建强大的、指标驱动的仪表盘非常有吸引力。事实上,Red Hat 在其产品(如 OpenShift)的设计中也使用了这个 CSS 框架。

PatternFly homepage

除了静态 HTML 之外,PatternFly 还支持 ReactJS 框架,ReactJS 是 Facebook 开发的一个流行的 JavaScript 框架。

PatternFly ReactJS support

PatternFly 有许多高级组件,如条形图、图表、 模态窗口 和布局等,适用于企业级应用。

PatternFly chart component

PatternFly 的 GitHub 页面列出了超过 1050 个提交和 44 个贡献者。PatternFly 得到了很多人的关注,欢迎大家踊跃贡献。

PatternFly GitHub

MDC Web

凭借其大获成功的安卓平台,谷歌以一个名为 Material Design 的概念制定了自己的标准设计准则。Material Design 标准旨在体现在所有谷歌的产品中,这些标准也可以面向大众,并且在 MIT 许可证下开源。

Material Design homepage

Material Design 有许多“用于创建用户界面的交互式构建块”的 组件 。这些按钮、卡片、背景等可用于创建网站或移动应用程序的任何类型的用户界面。

Material Components webpage

维护人员为不同的平台提供了详尽的文档。

Material Design documentation

还有分步教程,其中包含用于实现不同目标的练习。

Material Design tutorial

Material 组件的 GitHub 页面承载了面向不同平台的存储库,包括用于网站开发的 Material Web 组件(MDC Web) 。MDC Web 有超过 5700 个提交和 349 个贡献者。

MDC Web GitHub

Pure

Bootstrap、Patternfly 和 MDC Web 都是非常强大的 CSS 框架,但是它们可能相当的笨重和复杂。如果你想要一个轻量级的 CSS 框架,它更接近于自己编写 CSS,但又能帮助你建立一个漂亮的网页,可以试试 Pure.css 。Pure 是一个轻量级的 CSS 框架,它的体积很小。它是由 Yahoo 开发的,在 BSD 许可证下开源。

Pure.css homepage

尽管体积小,但 Pure 提供了建立一个漂亮网页的很多必要的组件。

Pure.css components

Pure 的 GitHub 页面显示它有超过 565 个提交和 59 个贡献者。

Pure.css GitHub

Foundation

Foundation 号称是世界上最先进的响应式前端框架。它提供了先进的功能和教程,用于构建专业网站。

Foundation homepage

该框架被许多公司、组织甚至政客 使用 ,并且有大量的文档可用。

Foundation documentation

Foundation 的 GitHub 页面显示有近 17000 个提交和 1000 个贡献者。和这个列表中的大多数其他框架一样,它也是在 MIT 许可证下提供的。

Foundation GitHub

Bulma

Bulma 是一个基于 Flexbox 的开源框架,在 MIT 许可证下提供。Bulma 是一个相当轻量级的框架,因为它只需要一个 CSS 文件。

Bulma homepage

Bulma 有简洁明快的文档,让你可以很容易地选择你想要探索的主题。它也有很多网页组件,你可以直接拿起来在设计中使用。

Bulma documentation

Bulma 的 GitHub 页面列出了 1400 多个提交和 300 多个贡献者。

Bulma GitHub

Skeleton

如果连 Pure 都觉得太重了,那么还有一个叫 Skeleton 的更轻量级框架。Skeleton 库只有 400 行左右的长度,而且这个框架只提供了开始你的 CSS 框架之旅的基本组件。

Skeleton homepage

尽管它很简单,但 Skeleton 提供了详细的文档,可以帮助你马上上手。

Skeleton documentation

Skeleton 的 GitHub 列出了 167 个提交和 22 个贡献者。然而,它不是很活跃,它的最后一次更新是在 2014 年,所以在使用之前可能需要一些维护。由于它是在 MIT 许可证下发布的,你可以自行维护。

Skeleton GitHub

Materialize

Materialize 是一个基于 Google 的 Material Design 的响应式前端框架,带有由 Materialize 的贡献者开发的附加主题和组件。

Materialize homepage

Materialize 的文档页面非常全面,而且相当容易理解。它的组件页面包括按钮、卡片、导航等等。

Materialize documentation

Materialize 是 MIT 许可证下的开源项目,它的 GitHub 列出了超过 3800 个提交和 250 个贡献者。

Materialize GitHub

Bootflat

Bootflat 是由 Twitter 的 Bootstrap 衍生出来的一个开源 CSS 框架。与 Bootstrap 相比, Bootflat 更简单,框架组件更轻量级。

Bootflat homepage

Bootflat 的 文档 几乎像是受到了宜家的启发 —— 它显示的是每个组件的图片,没有太多的文字。

Bootflat docs

Bootflat 是在 MIT 许可证下提供的,其 GitHub 页面包括 159 个提交和 8 个贡献者。

Bootflat GitHub

你应该选择哪个 CSS 框架?

对于开源的 CSS 框架,你有很多选择,这取决于你想要的工具功能有多丰富或简单。就像所有的技术决定一样,没有一个正确的答案,只有在给定的时间和项目中才有正确的选择。

尝试一下其中的一些,看看要在下一个项目中使用哪个。另外,我有没有错过任何有趣的开源 CSS 框架?请在下面的评论中分享你的反馈和想法。


via: https://opensource.com/article/20/4/open-source-css-frameworks

作者: Bryant Son 选题: lujun9972 译者: wxy 校对: wxy

本文由 LCTT 原创编译, Linux中国 荣誉推出

点击“了解更多”可访问文内链接

安卓系统的碎片化问题会彻底解决吗?谷歌推出颤振框架

目前安卓面临的最大问题之一就是碎片化。与苹果的 iPhone 或 iPad 相比,运行安卓系统的设备拥有数不清的屏幕尺寸和功能配置,这也导致了应用开发者在开发应用程序时,会优先考虑为iOS制作,之后再推出安卓的。

在今年的MWC大会上,谷歌发布 Flutter 的第一个 beta 版本。Flutter 是 Google 用以帮助开发者在 iOS 和 Android 两个平台开发高质量的原生应用的全新移动 UI 框架。通过一组代码,应用程序开发人员可以同时为两个操作系统创建和发布应用程序。

Flutter 的目标是解决移动开发中的两个重要问题:其一是实现原生应用的性能和与平台的集成,其二是提供一个多平台,可移植的 UI 工具包来支持高效的应用开发。

谷歌表示,开发人员可以自行使用Flutter,或者将其与已知的开发工具集成。Flutter还附带预置,如小部件和表单,可以流畅地在各种操作系统上工作,帮助开发人员将更多时间花在创意和用户体验上,而不是在基础代码上。

不再支持!MIUI12。5无法安装Google,Google应用程序停止运行

安卓是谷歌公司的开源操作系统,所有国产手机的底层均基于安卓所定制。完整的谷歌系统拥有谷歌套件,但是国内无法使用谷歌,所以手机厂商都会剔除谷歌服务,只保留其他基础功能。如果用户需要可以在后期自行安装使用,不过有网友反应 MIUI 已经无法再自行安装谷歌服务。

最近小米社区多位用户反应在升级 MIUI12.5,特别是底层升级到安卓 11 用户无法再使用谷歌 GSM 服务。有用户在 MIUI 论坛发布帖子称:谷歌全家桶无法运行,所有谷歌应用都停止运行。官方解答组成员已经回复了该问题,称 MIUI 国内版处于合规原因,未预置 Google 服务框架的机型,不再支持自行安装 GMS 服务。也就是说如果出场没有预置 Google 服务框架的新机,用户也不可以通过后期自行安装。

谷歌服务是欧美国家必备的框架模块,包含最底层的组件和一系列众多的 App,可以算得上是手机必备的功能。华为在被禁止安装谷歌服务后,欧洲市场份额大幅下降的原因也在于此。由于大陆用户无法使用谷歌,所以即使不能安装谷歌服务也没有太大影响。

小米手机不仅在中国出售,在印度和欧洲很多国家也占有很大的市场份额。国际上的小米手机都拥有完整的谷歌服务,国内需要使用谷歌服务的用户通过刷称国际版的 MIUI 系统应该可以继续使用;通过刷回旧版本的 MIUI 系统也应该能解决这个问题。

谷歌宣布,Gmail认证的品牌标志将在未来几周内正式发布

本周一,Google宣布 Gmail 认证品牌标识将会在未来几周内正式推出。这项安全功能基于信息识别品牌指标(BIMI)标准启用,Google在 2019 年加入了该标准的工作小组,并在去年 7 月份首次宣布。

认证品牌标识的设计是当一个组织向你发送使用 DMARC 标准认证的电子邮件时,该组织的标志将显示在你的收件箱中,以帮助减少你打开和操作冒充合法来源的电子邮件的可能性。理想情况下,经过认证的品牌标识的功能就像你在社交网络上可能看到的验证徽章,告诉你一个账户实际上是由它声称代表的实体拥有和运营者。

对于这项功能,Google官方的描述为:

使用发件人政策框架(SPF)或域密钥识别邮件(DKIM)认证其电子邮件并部署 DMARC 的组织可以通过验证标记证书(VMC)向Google提供其验证的商标标识。BIMI 利用商标验证机构,如认证机构,来验证商标所有权,并在 VMC 中提供验证证明。一旦这些经过验证的电子邮件通过了我们的其他反滥用检查,Gmail 将开始在现有的头像槽中显示该标志。

Gmail启用bimi安全功能:用户更容易识别钓鱼欺诈

虽然无法完全阻止网络钓鱼诈骗,但是Google正努力让这些诈骗邮件更容易被甄别。在上周发布的一片文章中,Google表示为 Gmail 引入了一项新安全功能 — 邮件认证品牌标识 (BIMI) 。它是一项行业标准,旨在为电子邮件生态系统带来更强大的发件人身份验证。

在去年 7 月,Google宣布启动 BIMI 的试点计划,而现在终于准备好投入使用了。认证品牌标识的设计是当一个组织向你发送使用 DMARC 标准认证的电子邮件时,该组织的标志将显示在你的收件箱中,以帮助减少你打开和操作冒充合法来源的电子邮件的可能性。理想情况下,经过认证的品牌标识的功能就像你在社交网络上可能看到的验证徽章,告诉你一个账户实际上是由它声称代表的实体拥有和运营者。

对于这项功能,Google官方的描述为:

使用发件人政策框架(SPF)或域密钥识别邮件(DKIM)认证其电子邮件并部署 DMARC 的组织可以通过验证标记证书(VMC)向Google提供其验证的商标标识。BIMI 利用商标验证机构,如认证机构,来验证商标所有权,并在 VMC 中提供验证证明。一旦这些经过验证的电子邮件通过了我们的其他反滥用检查,Gmail 将开始在现有的头像槽中显示该标志。

KDD2020最佳论文奖发布!谷歌北航获得该奖项

第 26 届 ACM SIGKDD 知识发现和数据挖掘会议(KDD 2020)已于太平洋标准时间 8 月 23 日 – 27 日以虚拟线上方式召开。今年 KDD 收集了 338 篇论文(研究和应用轨道),34 个研讨会,45 个教程(讲座和实践),使其成为计算机科学中最大的应用研究会议之一。

在继时间检验奖,新星奖,创新奖,论文奖,服务奖等奖项公布之后,最佳论文奖也已出炉,其中最佳论文奖由谷歌研究院的 Walid Krichene 和 Steffen Rendle 摘得,最佳学生论文奖由杜克大学的 Ang Li、Huanrui Yang、陈怡然和北航段逸骁、杨建磊获得。

最佳论文奖

最佳论文奖由来自谷歌研究院的 Walid Krichene 和 Steffen Rendle 获得,获奖题目为《On Sampled Metrics for Item Recommendation》

简介:项目推荐的任务需要在给定上下文的情况下对大量的项目进行排序。项目推荐算法是使用依赖于相关项目位置的排名指标来评估的。为了加速度量的计算,最近的工作经常使用抽样的度量,其中只有一组较小的随机项和相关项被排序。

本文对抽样指标进行了更详细的研究,发现它们与精确的度量值不一致,因为它们没有保留相关的语句,例如,说推荐者 A 优于 B 时甚至连期望值也没有。而且,抽样规模越小,指标之间的差异就越小,另外对于非常小的抽样规模,所有指标都会坍缩为 AUC 度量。

作者证明了通过应用一个修正项来提高抽样指标的性能是可行的:通过最小化不同的标准,如偏差或均方误差。最后,对原始抽样指标及其修正变量进行了实证评估。综上所述,作者建议在度量计算中应避免抽样,但是如果实验研究需要抽样,那么作者所提出的修正项可以提高估计的质量。

论文链接:https://aminer.cn/pub/5f03f3b611dc83056223202d?conf=kdd2020

Walid Krichene

Walid Krichene 是谷歌研究所激光小组的成员,从事机器学习和推荐。他还致力于开发使用连续时间和随机动力学的优化方法。他也是 Google 开源 ML 课程推荐系统课程的合著者,在 ML@ 资本。

个人主页:https://www.aminer.cn/profile/walid-krichene/53f44bb5dabfaec09f1de254

Steffen Rendle

Steffen rendle 是谷歌的一位研究科学家。在此之前,他是德国康斯坦茨大学的助理教授。Steffen 的研究兴趣是使用因子分解模型进行大规模机器学习。他的研究获得了 2010 年 WWW 网站的最佳论文奖和 WSDM 2010 年的最佳学生论文奖。Steffen 将他的研究应用于各种机器学习竞赛,在 2009 年和 2013 年的 ECML 发现挑战赛中获奖。

个人主页:https://www.aminer.cn/profile/steffen-rendle/53f42ec2dabfaee1c0a454a5

最佳学生论文奖

获奖论文:《TIPRDC: Task-Independent Privacy-Respecting Data Crowdsourcing Framework for Deep Learning with Anonymized Intermediate Representations》

简介:深度学习的成功部分得益于各种大规模数据集的可用性。这些数据集通常来自个人用户,并且包含诸如性别、年龄等隐私信息。用户对数据共享的隐私担忧阻碍了众包数据集的生成或使用,并导致对新的深度学习应用程序的训练数据的渴求。一个自然的解决方案是在用户端对原始数据进行预处理以提取特征,然后只将提取的特征发送到数据采集器。不幸的是,攻击者仍然可以利用这些提取的特征训练对抗分类器来推断私有属性。一些现有技术利用博弈论来保护私有属性。然而,这些防御措施是针对已知的初级学习任务设计的,提取的特征对于未知的学习任务效果不佳。

为了解决学习任务未知或变化的情况,作者提出了一种基于匿名中间表示的任务无关隐私的数据众包框架 TIPRDC。该框架的目标是学习一个特征抽取器,它可以隐藏中间表征中的隐私信息,同时最大限度地保留原始数据中嵌入的原始信息,供数据采集器完成未知的学习任务。

作者设计了一种混合训练方法来学习匿名中间表示:(1)针对特征隐藏隐私信息的对抗性训练过程;(2)使用基于神经网络的互信息估计器最大限度地保留原始信息。他们广泛地评估了 TIPRDC,并将其与使用两个图像数据集和一个文本数据集的现有方法进行了比较他们的结果表明,TIPRDC大大优于其他现有的方法。本文的工作提出了第一个任务独立隐私尊重数据众包框架。

论文链接:https://www.aminer.cn/pub/5f03f3b611dc83056223205b?conf=kdd2020

Ang Li

论文第一作者 Ang Li 是杜克大学电子和计算机工程系的一名在读博士,导师为陈怡然和 Hai "Helen" Li 教授。Ang Li 曾在2013 年获得北京大学软件工程硕士学位,2018 年获得阿肯色大学计算机科学博士学位。

个人主页:https://www.aminer.cn/profile/ang-li/560c7ea645ce1e59607a585a

最佳论文亚军

来自弗吉尼亚大学的 Mengdi Huai、Jianhui Sun、Renqin Cai、Aidong Zhang 和来自纽约州立大学布法罗分校的 Liuyi Yao 获得了最佳论文奖的亚军,获奖论文是《Malicious Attacks against Deep Reinforcement Learning Interpretations》

简介:近年来,深度强化学习(DRL)得到了迅速的发展,它是深度学习和强化学习(RL)相结合的产物。然而,深度神经网络的采用使得DRL决策过程不透明,缺乏透明度。基于此,人们提出了各种 DRL 解释方法。然而,这些解释方法隐含着一个假设,即它们是在可靠和安全的环境中执行的。在实践中,顺序 agent-环境交互将 DRL 算法及其相应的下游解释暴露在额外的对抗性风险中。尽管恶意攻击盛行,但目前还没有研究针对 DRL 解释的恶意攻击的可能性和可行性。

为了弥补这一差距,本文研究了 DRL 解释方法的脆弱性。具体来说,作者首先介绍了针对DRL解释的对抗性攻击的研究,并提出了一个优化框架,在此基础上可以得到最优的对抗攻击策略。此外,作者还研究了 DRL 解释方法对模型中毒攻击的脆弱性,并提出了一个算法框架来严格描述所提出的模型中毒攻击。最后,作者进行了理论分析和大量实验,以验证所提出的针对 DRL 解释的恶意攻击的有效性。

这篇论文将深度学习和强化学习结合(DRL),并证明了其在众多序列决策问题中动态建模的能力。为了提高模型的透明度,已经有研究提出了针对 DRL 的各种解释方法。但是,这些 DRL 解释方法隐式地假定它们是在可靠和安全的环境中执行的,但在实际应用中并非如此。弗吉尼亚大学的研究团队调查了一些 DRL 解释方法在恶意环境中的漏洞。具体而言,他们提出了第一个针对 DRL 解释的对抗性攻击的研究,提出了一个优化框架来解决所研究的对抗性攻击问题。

论文链接:https://aminer.cn/pub/5f03f3b611dc830562232015?conf=kdd2020

Mengdi Huai

Mengdi Huai 是弗吉尼亚大学的博士生。她的研究兴趣主要是数据挖掘和机器学习。特别是,我对可解释机器学习、对抗性机器学习、隐私保护数据挖掘、深度强化学习、元学习、成对学习和医疗数据挖掘感兴趣。

个人主页:https://www.aminer.cn/profile/mengdi-huai/562d1ff545cedb3398d5cd54

Renqin Cai

Renqin Cai是弗吉尼亚大学的博士生。研究重点是推荐系统的用户行为建模。

个人主页:https://www.aminer.cn/profile/renqin-cai/5629a4ac45cedb33988903f4

在继汤继良、盛胜利、唐杰等华人学者在本届 SIGKDD 大会上荣获了包含新星奖、时间检验研究奖、时间检验应用科学奖在内的三项大奖外, Ang Li,Mengdi Hua 等华人作者也荣获了最佳学生论文奖及最佳论文亚军奖。华人作者在本届会议表现出色!

想要查看更多今年KDD会议的详细信息,可以移步 AMiner 会议智图开放平台 KDD 2020 专题全析图(https://www.aminer.cn/conf/kdd2020),其内容包括论文、作者、华人学者、一作华人学生、论文 PPT 和视频等多维分析服务,是参会学者的会议智能助理。