Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

作者邱陆陆

云脑科技张本宇:寻找跨行业跨场景的技术航道

如今的人工智能公司们在选择切入点时可以说是「八仙过海、各显神通」。有的以一类特定算法为技术核心展开业务,有的则主攻一个特定行业,然而创立于 2015 年的云脑科技没有选择上述任何一条道路。

「我们希望成为一个能够支撑跨行业、跨场景的平台」,云脑科技的 CEO 张本宇如是说。从 1999 年开始进入人工智能行业 [BZ1],张本宇曾先后服务于微软亚研院的机器学习组、谷歌 Google Now 项目、Facebook 信息流广告业务等多个巨头的人工智能研究与应用项目。而当他选择创业,他选择做一家「面向各行业的应用场景和数据」的行业平台公司。什么是行业平台公司?做到跨行业跨场景的技术壁垒在哪里?五月,机器之心与张本宇面对面,聊了聊云脑的「选择」。

机器之心:能否为我们介绍一下云脑的主攻方向?

张本宇:云脑主要有三个技术上的主航道,分别是序列学习(Sequence Learning)、保护隐私的分布式学习(BrainSync)以及具有可解释性的深度学习模型结构。

在这三个底层技术的基础上,与通信行业、金融监管、人才教育、能源制造等行业场景做交叉,产生了一系列对应产品:例如用于基于手机等设备的分布式学习的精准预测产品、服务于监管机构的异常波动分析产品、具有可解释性的 HR 人岗匹配产品等。

机器之心:序列学习的对象都有哪些?为什么将「序列学习」作为技术主航道?

张本宇:序列是一个对数据分类的特定角度,是一个跨场景的数据特点。存在 IoT 设备产生的记录数据、股票行情数据这类带有明确时间戳的序列数据,也有文本、语音这类没有明显时间戳的序列数据,还有用户的线上线下行为这类带有不规则时间戳的序列数据。

一个特定场景下的特定需求可以转化为预测、推荐或者分类等种种问题,但一个平台如果想要支撑跨行业跨场景的话,一定要找到跨场景和行业的数据特点。如果抛开场景中的细枝末节,从序列的角度看待这些问题,我们就能够回到问题的本源:当我们提到「学习」时,我们究竟在学习什么。

序列模型的基本假设是,序列数据中反映了一定的因果联系,而模型试图揭示这样的因果联系。如果因果联系很强,那么专家系统就能够很好地解决这个问题。反之,如果因果联系很弱,或者很复杂的,比如在多个因导致一个果、一个因产生多个果、以及因果之间的时间间隔具有随机性等等情况下,专家系统的表达能力就不足以解决问题了,需要表达能力更强的模型介入。

机器之心:「保护隐私的分布式学习」是一个鲜少被业界巨头提及的分支,选择它的契机又是什么呢?

张本宇:数据已经成为一项新的生产要素,AI 则成为了新的生产力工具。这项生产要素一旦被误用,后果是非常严重的,例如 Facebook 事件被指影响了多国总统选举结果,现在已经成为了影响公司存亡的危机。

因此,我们选择「保护隐私的分布式学习」也是回答一个本质的问题:想要把 AI 这个生产力工具用好,一定要把所有原始数据集中在一个云上,在上面进行学习吗?

答案是否定的,这不是必然,而只是一种「偷懒」的做法。

因此我们研发 BrainSync,来解决这个跨场景的痛点,在保护数据隐私的情况下,在手机这类数据分散、计算能力分散的场景下,进行分布式学习。

实现这一点后,不仅可以合理利用不同设备上的用户数据,还能整合不同客户间原本无法共享的数据孤岛。BrainSync 相当于在数据孤岛上架桥,把数据变成模型这样一个抽象层次,在保护隐私后再在上面进行操作。

机器之心:如何实现「保护隐私的分布式学习」?BrainSync 的实现难点在哪里?

张本宇:如今的以手机为代表的移动端设备,已经拥有能够进行端训练(on-device training)的计算能力了。因此可以做到让每个人的数据不离开自己的边界,也就是手机,就完成训练的第一步,之后再将端上的模型和云上的模型进行融合,完成全部的训练过程。

这里的核心技术要点有二,一是如果模型不加保护,被黑客窃取的话,黑客可以通过逆向工程的方式还原出部分隐私数据。因此我们用了差分隐私的技术,对整个学习的过程和需要上传的模型进行保护,即使模型被黑客偷走,他也不能够逆向工程得到数据。

二是由手机构成的分布式学习系统与传统的数据中心分布式学习系统存在很大不同。在数据中心里,每个节点都是相对可控的:除非发生异常,节点都会按照中心节点指定的任务进行工作。但是手机则不同,每个手机都是一个独立的自治系统,你无法控制手机在特定时间一定参与学习。可能这时候用户在玩王者荣耀,他的负载(load)不支持;可能电池快没了,用户不希望参与学习;可能 Wi-Fi 不好,没办法同步训练进度。这还不是最难的地方,最难的地方时,数据中心场景下,你会假设每个节点拿到的数据都是独立同分布的、随机平分的,但是这在手机场景下绝对不成立:两个不同用户的操作历史绝对不是独立同分布的,数量上也可能有十倍、百倍的差距。这些问题也都需要解决。

机器之心:手机上的端训练使用哪一部分硬件?手机芯片的多样性对训练是否有影响?

张本宇:手机的 SoC 中包括 CPU、GPU,还有一些专用芯片。目前来说,手机 GPU 和桌面或是数据中心的 GPU 差距仍然较大,因此主要还是利用 CPU 在做训练。安卓系统有一个神经网络通用层,可以调用 SoC 的任何硬件做推理,不过并没有训练层。但是尽管手机厂商、品牌、型号众多,但超过 90% 的厂家均采用 ARM 架构,因此只要架构一致,仍然是可以利用的。

最近,AI 专用芯片逐渐在部分厂商的旗舰机中投入应用。虽然现在还只是部分厂家的自主行为,但高通、联发科等独立供货商在近期都会推出各自的 AI 专用芯片组,从各大厂商的旗舰机开始,逐渐向主力机型渗透。

机器之心:什么样的场景对模型可解释性的要求更强?

张本宇:可解释性欠缺是深度学习模型的一个广为人知的「缺点」。实际上,我们在在谷歌内部尝试使用深度神经网络的时候,就碰到过可解释性的问题。当时 Google Now 可以利用谷歌丰富的数据进行一些效果很好的推荐,但是在内部测试的时候,经常会有产品经理或者其他内部用户跑来问「昨天我去了某个地方,为什么没有推荐 A 而推荐了 B?」我们没有办法解释,只能回答说,这就是模型特点,你多用一用可能就好了,模型会学会的。

然而推荐是一个相对高频的、换言之单次操作价值非常低的场景,因此用户一般不会特别在意可解释性。但是推广到监管、医疗、教育、金融等领域,进行影响大、价值高的单次决策时,「为什么」就变成了一个值得问的问题。

如今各国的法律法规也开始关注模型可解释性的问题了。欧盟于今年 5 月 25 日开始实施的《一般数据保护条例》(GDPR)就明确规定,如果个人数据被用于进行特定决策,例如贷款,个人就有权利要求贷款发放者给出解释,以免个人信息被用于做歧视性决策。

有人说这些法案对 AI 投入应用是一个比较大的阻碍,但其实从另一个角度来看,这种限制也是对 AI 技术本身的推动。因为很多时候,知其然不知其所以然的状态是会对影响技术的发展的。

机器之心:云脑的深度学习模型可解释性是如何获得的?

张本宇:学界已经有一些和模型可解释性相关的工作,但大多数集中在图像和视觉领域,其中的集大成者以谷歌的 Building Blocks of AI Interpretability 为代表,基本思路是把每个神经元对应的最活跃的输入维度推算出来并进行可视化,来反映神经元究竟学到了什么。但是这和实际应用场景还是有一定的偏离。

我们的算法,简而言之,就是结合了专家系统与神经网络,做到既有一定的可解释性,又有比较好的表达能力,我们称其为动态的线性模型。

回顾 AI 的发展过程,第一个阶段就是专家系统。专家找出若干决策因子,然后赋予每个决策因子权重。权重可能基于专家的专业知识或是说先验概率。这种系统遇到瓶颈后,进入到机器学习阶段。机器学习假定专家找出的影响因子仍然是对的,将这个找影响因子的过程称为特征工程,然后用大量的数据去寻找合适的权重,会比专家决定的权重更好。但它仍然是一个线性模型,或者说广义线性模型,表达能力仍然有限。

所以我们起用神经网络:三层的神经网络就能够以任意精度表达任意函数了。但是缺点就在于这个表达能力是没办法解释的。

云脑的动态线性模型由多组权重(weight)与特征(feature)组成,其中每一个权重与特征,都是通过深度网络学习出来的。因此在宏观层面,我们就可以从作出的一个决策中回溯到特征,再回溯到输入。

算法有一定的模型集成(ensemble)或是说混合专家模型(mixture of experts)的意味。每一个子模型在损失一定表达能力的同时,获取一定的可解释性,然后通过使用多个神经网络的机制来弥补表达能力损失。

机器之心:能否举一个技术主航道与通信行业结合投入实际应用的例子?

张本宇:我们正在进行的设备端电池优化就用到了 BrainSync 和序列学习。

安卓系统会将 App 分为若干个活跃级,根据每个 App 所处的等级设置可以调用的资源约束。而我们试图对 App 活跃程度作出准确的预测。举个例子,如果你工作日都在食堂吃饭,只有周末会点外卖,那么外卖 App 在周中发起对你的位置信息的请求就应该被拒绝:因为应用获得这样的信息消耗电量、泄露你的隐私,但是却不为你产生价值。不过,这样的预测一旦不准确,就会导致比较差的用户体验。

这个问题里被抽象为多个二分类问题,输入是用户最近的手机操作历史记录,输出对接下来的一些时间间隔内用户会不会使用 App 的预测。

预测是一个经典的序列问题,需要根据用户所处的场所、情景、最近使用手机的情况以及一些更深度的行为进行分析。而这类数据完全上传到云端进行训练是一定会产生隐私问题的,只用本机的数据又会有数据不足以及采样有偏问题。

行为数据里有个性的部分,也有共性的部分。共性的例子,比如说王者荣耀,大家都会在晚上八点多玩,那么这个先验的、全局的信息对冷启动用户或者不常使用的、数据匮乏的用户来说就很重要。因此,需要合理地利用设备端的训练能力,也要集合众多客户的数据进行融合,获得整体分布,进行学习。

机器之心:能否分享一些在监管行业的应用案例?

张本宇:在监管领域,针对股票交易市场,我们基于公开的舆情数据、半公开的行情数据和非公开的账户层面交易数据,为监管机构设计了股市异常波动的监测产品。产品监测三千多支上市公司的股票,如果出现暴涨暴跌行为的话,判断该异常是否由某一新闻引起,如果新闻所述情况和真实情况不符,就要进行辟谣;判断异常是否是板块、个股之间的波动传导造成的,传导机制如何;判断个别账户的交易是否起到了放大作用,是否需要进行应急处理等。这是典型的对序列学习和可解释性模型的应用。

另外,还为省、市级审计单位设计了预决算匹配产品。在非结构化数据和半结构化数据中,找出对应的项目,给出审核意见以及相应理由。这是典型的可解释模型问题。

机器之心:能否分享一些在人才教育行业的应用案例?

张本宇:面向 HR 的人岗匹配应用,根据工作内容描述(Job Description)筛选竞聘者的简历,为 HR 推送简历。

这里用到了具有可解释性的深度学习模型,同时因为是语义模型,也涉及序列学习。因为搜索关键词已经无法满足人岗匹配需求,因此一定要深入理解语义,才能获得可解释性。

使用了人岗匹配应用后,HR 的面试邀约率提高了五倍。

机器之心:云脑如何选择切入的行业?

张本宇:最核心的是我们的算法是否能为行业创造价值。细分来看,首先,我们关注行业是否在一个上升通道中。第二,行业中的痛点是否和我们的技术主航道相匹配,我们的技术能否为行业解决问题。第三,我们是否能足够理解行业的需求,无论是团队本身还是合作伙伴,是否能切入行业生态,转变的时间点是不是到了。

机器之心:云脑在解决问题过程中主要应用了哪些深度学习模型?

张本宇:我们并没有利用 ResNet 等开源模型,而是根据场景中数据的特点、计算资源的约束,把需要的算法组件重新打散拼接。

例如 LSTM 是常见的处理序列的单元,但是在我们看来它不够快,我们要清楚它比普通 RNN 模型好在什么地方,这个好是通过门这个结构实现的,但是门太多了,影响了效率。进一步探索,究竟哪个门用处最大,发现是遗忘门,那么我们把遗忘门抽取出来和其它更容易并行的模型结构,例如卷积,相结合。结合的方式很简单:遗忘的反面就是注意力,把遗忘门变成注意力,与其它结构结合在一起。

深度学习并非一个特定的网络结构,也不存在一个算法通吃所有场景的情形,即使是卷积神经网络,也要在 CNN 后面加一个 s。用多少层的网络、需不需要进行批正则化处理,在哪里加,都是设计变量。因此根据需求和约束研发新模型新算法的能力是解决问题的一个核心能力。 

产业云脑科技创业公司
1
暂无评论
暂无评论~