QCon上海2017观后感 – 风口

AI的发展离不开场景,而AI最丰富的场景都在中国。如今AI除了下围棋、开汽车,还能做很多的事,实际上,现在每个领域后台、前台都需要考虑跟人工智能的结合,否则可能会失去先机。现在是AI站上风口的时代。

这次去听了两天QCon,除了广告很多以外,最大感受就是不知不觉的,机器学习、人工智能、AR等技术已经渗透到了各类业务中。但对于一个只在本科PRP项目里用SVM做微博情感分析的人来说,其实基本都听不懂的。。

所以下面就捡点我听懂了的说= =

增长黑客

将机器学习应用于个性化推荐上去,是目前很多内容为主的互联网公司都在做的事情,包括百度-feed流、B站-推荐视频等,意图让内容展现更合用户胃口,提升用户粘性。

Pinterest是一家为用户提供在线收藏和分享Pinterest视觉艺术图片服务的初创社交网站,它的机器学习主管工程师就介绍了Pinterest如何利用机器学习实现两亿月活跃用户,其通过在个性化主页中大规模使用机器学习,上线的一系列线性,迭代决策树和深度学习模型让 Pinterest 活跃用户数突飞猛进。
图片


Deep Learning (更确切地说,神经网络)不仅可以用来做推荐系统,还要比之前的手段表现要好。主要的优越性在于神经网络可以更好地表现稀疏的特征(sparse feature)而不需要太担心过度拟合。这对那些内容类型和用户品味五花八门的内容平台极为重要。

但是不是只要上了深度学习就能提升?

一个明显的因素就是特征的数量和质量。如果特征上做得不够多,上了神经网络也没用。

图片

以Pinterest为例,其在2014-2017年,模型发展带来了主页约40%的Repinner增长,但新增有效特征导致的增长则高于60%。

我们知道构造特征的失败率高,多数实验用的特征都不会上线;各个公司之间可以互相聊用了什么模型,但是各自的特征都一定会保密;此外构造特征有相对多的体力劳动。但与此相对的是有效特征所带来的高回报率,因此还是要逆流而上:例如快速迭代,缩短实验-上线的周期,有耐心的进行长期投入、总结按产品分类的有效特性,记录经验教训、完善特征研发和数据分析平台,减少重复劳动量。

除了介绍了整个模型发展过程,Pinterest还介绍了其他的一些Tips:

  • 冷启动问题:推荐系统有个难点就是如何推荐图片给新的用户,或者将新的图片推荐给已知用户,因为新的用户或者新的图片推荐存在多数特征缺失
    • 对于新用户可以在首次产生主页前询问感兴趣的主题
    • 而对于新图片可以和已有的图片进行Near-Dup,实时索引系统
  • 保证主页内容多样化:很多用户都会反感在某个网站误点了一个内容后,后续所有的推荐都是完全相关的。
    • 简单的方法是加入后续调整环节,牺牲部分相关度来提高推荐多样性
    • 复杂的是用Structured ML模型替代

最后,推荐和搜索一样,本身极大依赖参数的配置。而这些参数的配置并没有通用的法则,同时也依赖各个平台自身具体的情况,只能在了解其原理的基础上,不断迭代摸索。在算法迭代的过程中,能够测试其效果是算法迭代的核心。只有能同时在线上部署多套算法,并且监控其效果,推荐的迭代和改进才能展开。而这一切的基础,正是AB test机制。

互联网欺诈的攻与防

数据驱动智能对抗互联网平台中的业务风险欺诈,正在每一天上演一场场攻与防的大戏。

随着互联网公司业务的扩张,业务的安全风险呈现多样化和复杂化的趋势,以爱奇艺业务为例:

图片

解决方案存在很多问题:

  • 各自为战:各业务方都是『安全事件驱动』,多数仅做事前单点防御,经验数据无法共享,重复建设平台资源浪费
  • 拍脑袋规则:大量风控规则是专家决策为主,阈值基本拍脑袋而定,可能造成正常用户误杀,损伤用户体验,导致用户流失
  • 反应过慢:不能快速的识别攻击变化进行调整,进行积极对抗;业务代码耦合,依赖业务开发,测试和上线占用业务排期
  • 手段单一:可用特征维度不多,严重依赖于IP,公共出口误杀严重;以频次、限流、黑白名单、图文验证码为主,难以维护黑白名单生命周期

为此,爱奇艺引入了智能风控系统,用机器学习驱动业务安全:

图片

  • 麦哲伦(Magellan)主要包括业务接入(接入层),三大服务引擎(数据查询,规则执行,模型调用),面向风控团队的管理平台(服务资源管理,模型规则管理,生命周期管理,上下线管理,维度数据管理),面向业务方的运营平台(风险事件管理,仿真,风险处置,监控预警,数据查询和仪表盘,规则清单)。
  • 哥伦布(Columbus)主要面向对业务数据的特征工程,大规模异常检测和深度学习,知识图谱,实时特征,离线特征,环境特征以及安全画像,并对外提供模型可实时调用接口或者模型输出缓存。
  • 郑和(Zhenghe)是安全知识仓库,是面向业务风控和其他安全控制所需的各类安全基础数据和威胁情报。

风控最重要的还是数据。通过Columbus子服务从业务方获取的海量的近实时或者离线业务数据, 并把数据进行清洗和特征工程,形成基础数据,这些基础数据存在HDFS-HBase里面,通过数据分析和机器学习的方法,产生各类标签,画像和模型,经过安全专家确认,产出的安全规则和可用的模型缓存。

针对业务数据获取和处理,对于实时数据,利用Apache Flink构建,实现图特征工程,多维频次特征工程,多数据流Complex Event Processing处理,达到毫秒级延时。

风控服务的心得:

  • 拥抱业务:安全只有拥抱业务才能体现价值
  • 云端结合:立足于云,服务为云,结合与端
  • 精细运营:业务安全需要持续运营
  • 协同联动:多点多层次跨业务防御
  • 二八原则:优先解决主要风险
  • 数据驱动:充分挖掘数据价值

思考:Monkey -> SmartMonkey -> AIMonkey ?

自动化测试原本最重要的核心,就是在手机上更智能的模拟真人的操作行为,从而尝试触发用户可能会遇到的问题。

目前我们的SmartMonkey是在Monkey的基础上,增加了控件判定,使得点击操作的从完全随机变成了控件有限,有效点击率得到了大大提升。但仍存在一些bad case,例如:

  • 不断重复点最下方的back/home/menu虚拟键、类似于选城市的场景会沉迷在一堆控件中无法自拔
  • 对于广泛使用WebView的APP(例如购物类APP)or游戏,SmartMonkey的有效率可能会比Monkey还要低
  • 更不用说自动登录这个小分支,只适配几种场景的if…else…,使得实际成功率较低,而登录无法通过会导致整个后续测试都无法有效进行。

因此SmartMonkey是否应该向更智能的方向迈去?AIMonkey?市场比预想的要更努力的在push我们去做。

我们的方向可能是:

  • 测试路径AI化:让AI模型可以测试绝大多数的APP,或者基于不同的APP分类or场景做更细更有针对性的AI测试模型。
  • bug识别AI化:目前只能识别系统报出的闪退/ANR等bug,但对于页面展现异常的判定能力基本为0。这块应该可以通过图像识别相关的深度学习技术辅助。

发表评论