欢迎大家前往腾讯云 + 社区,获取更多腾讯海量技术实践干货哦~
本文由腾讯云 AI 中心发表于云 + 社区专栏郭律,腾讯高级产品经理,腾讯云 AI 基础产品中心高级产品经理、解决方案架构师。主导腾讯智能钛 TI-ONE(可视化机器学习平台)和 TI-S(自动机器学习平台)两个产品的设计工作。从上海交通大学模式识别与智能系统专业博士毕业后,先后就职于 IBM、普华永道从事 IT 架构、咨询方面的工作,对机器学习与金融、零售等业务场景的结合具有深刻理解,帮助学员掌握如何利用工具解决实际业务中面临的机器学习问题。
众所周知,现阶段的人工智能特别热门,研究人员也都想进入到这一领域,人工智能究竟是什么?我们有一个形象的比喻来说明什么叫做人工智能。
人工智能是这样,把米煮熟成饭的过程就是机器学习的过程,米是大数据,而饭就是人工智能。概括为一句话就是,将海量数据通过机器学习的手段来进行处理最后形成模型的过程就是人工智能。说到具体的例子,阿尔法狗的海量数据来自于各种各样的棋谱,通过机器学习成为一个下棋的人工智能。
机器学习说起来是一个词,其实背后有很多的事情要做,比如预处理、特征抽取、数据建模、模型评估等等。在建模过程中,除了调参选算法之外还有很多重要环节。在这个过程当中比较重要的一环是特征工程,一个模型好不好取决于特征工程做的好不好。
人工智能为什么这么火?相比于传统的商业智能(BI),人工智能更加精准。,以往的商业智能实现了对大数据的分析和处理,不同之处在于 BI 主要是通过人对数据的规则进行发现,AI 是通过机器对数据的规则进行发现。我们同行里面有一个专家曾经说过,当规则超过 1 千万条,机器是可以超过专家的。这句话就是讲机器学习的特点就是精准。
AI 通过机器学习挖掘数据里面的规则,效果比人做的更精准,而想用 AI 解决问题有 4 个约束条件。
第一个条件是业务场景。我们现阶段的人工智能不是强人工智能,并不能像科幻电影里一样可以解决任何问题。能够用机器学习解决问题的前提之一,是把业务问题转化为机器学习的建模问题,这样的问题可以用 AI 解决,所以业务场景是特别重要的一点。
第二个条件是海量数据。我们现在的机器学习,其原理是基于统计来学习数据中的规则。我们根据数据历史,基于统计发现其中规律,然后再将这些规律用于未来的数据预测。在历史数据里发现规则,需要海量的数据,这些海量数据应该是特征丰富、不重复,高质量的数据。
第三个条件是人才。这涉及到做算法人才、把算法在工程中实现的人才、产品化的人才以及将 AI 和业务系统集成的人才,这些人都属于 AI 人才。
第四个条件是技术能力。包含了计算资源、存储、网络以及和业务系统的集成。AI 如果不能跟企业业务系统集成在一起是没有业务价值的。
刚才说的是机器学习的 4 个要素,接下来举例说明这 4 个要素在不同场景当中的体现。
在风控领域,海量数据包括客户交易数据、黑名单数据、客户数据、客户账户数据等等。这些数据都为我们提供各种维度的特征。我们用 AI 做风控,例如用 AI 判断信用卡交易是不是欺诈交易,或者信用卡催收时,判断一个客户的还款意愿是否强烈,这些问题可以转化为回归或者是分类问题。用这样的方式,把金融风控领域里的一些业务场景转化为一个系列具体的、可以通过机器学习建模来解决的技术问题。
在营销领域,海量数据包括客户画像、客户行为,商品目录,营销活动数据、营销成果数据(如历史上把某一类商品推销给某些客户,成功或者没有成功)等等,我们把这些数据送给机器去学习,哪种商品推给哪类客户比较容易成功,哪种不容易成功,这是我们要做的事情。具体到业务问题,例如说沉睡唤醒,在银行和电商有很多客户都存在开户后可能两三年再也没有业务的情况,就属于沉睡客户,如果通过一些推销手段,如给你发短信或者推荐促销活动,看能不能让客户重新在银行或电商活跃起来;又如商品个性化推荐,很多人在京东买手机以后,京东会推荐手机膜、耳机、储存卡等商品,这些推荐会根据其他用户选择或该用户购买历史以及跟该商品有关联的其他商品做推荐。
在健康领域,海量数据包括患者的行为数据、处方数据、病史数据等等,用这些数据做疾病预测,例如糖尿病预测,根据病人的数据预测两年或三年以后得糖尿病的概率,就是 AI 的一个应用场景。
最后一个场景 AI 加制造,在很多工厂里面也需要,用 AI 改善工艺流程或者降低成本,在这里海量数据会包含机台参数(每一个不同的设备加工时的输出参数)、工艺流程数据,场景包括通过机器学习做一些智能测量以解决在某些人到不了的情况下需要做检测的问题。
在不同的业务场景里面,AI 数据和 AI 业务问题具有多样性。但是相对而言 AI 人才(包括建模和工程人才)和 AI 的计算资源和计算能力是通用的,各场景的建模过程大体上也差不多。
同时 AI 人才和计算能力又是有层次的,AI 从理论研究到能够应用到工程中需要经历 4 个层面,最贴近业务的一层是模型,然后是算法,业务问题提出后在算法层面调试获得模型,模型不不能直接使用,如何打造数据闭环,需要在工程层面或者产品层面去实现。至于计算框架和计算资源层,模型训练还有很多工程方面的问题需要解决,包括算法与数据源集成、训练的日志和错误监控、任务调度等等。这些问题和业务相关度较小,但技术难度又很大,实施周期长,给传统企业使用 AI、拥有 AI 能力造成了一定的困难。
我们把 AI 的人才按照成熟度的不同分成 4 类:第一种是 AI Geek,从底层计算资源搭建到计算框架的引入,一直到上面的算法编写,包括模型的调优,一个人可以做完,这种人非常的稀缺,效率不一定高,因为所有工作都要重头做。
第二种是 AI 研究者,他们对某类算法很熟,他们自己会写比较高级的算法。但是他们可能对底层的计算框架,比如说 GPU 怎么管理,不是很清楚,只要把算法写好就可以了,底层交给工程人员,这属于 AI 的研究者。
第三种是 AI 的从业者,在座的同学大部分在这个层级上面,这一块的特点是:知道整个建模的流程;也能够用一些开源的算法做模型训练,希望能够有一个比较好的机器学习 UI,不需要从框架上或者每一个交互都需要一个命令行来建模。
最后一种是 AI 的应用人员,希望直接拿到发挥作用的模型,不关心模型的原理,希望的是能够从业务数据直接获取一个模型来解决业务问题。
根据以上这么多用户层次的差异性,我们需要针对不同用户诉求提供差异化的方案、产品和服务。
先从最底层说起,针对 AI 研究人员需要提供计算资源、任务的调度、计算资源的管理,他自己写算法。
第二类是 AI 从业者,AI 从业者需要自己建模,对算法做少量改动。另外他们关心模型建好以后,如何与业务系统集成,数据闭环如何实现。数据闭环是为了防止模型衰减,保证模型上线后能够迭代训练以保持效果,这也是这个层级的用户会关心的事情。
再往上一个层级就是 AI 应用者,AI 应用者需要模型自动训练、自动数据分析、自动特征工程,模型训练完成后自动布署为服务。最好还能够对模型微调,就是加一些数据,可以适应新的场景。
我们针对不同层次的客户提供差异化的产品,最左边的 TI- A 是深度学习加速器,主要是做模型训练加速,我们的速度很快,在云上面使用 TI- A 平台,可以帮助用户实现深度学习训练的加速。而且这个模型训练完以后,它可以一键部署,这也解决了模型训练完以后怎样可以应用到业务场景里,怎样做预测的问题。
中间的产品 TI-ONE,是智能钛一站式机器学习平台,它有一个可视化的 UI,用户可以一目了然看到整个建模的工作流,可以看到数据的流转关系和各环节的依赖关系,这个产品可以让用户方便地建模,而且里面有很多内置的算法。
最右边是 TI-S,它的特点是全自动、黑科技,不需要用户建模,只需要给它数据,就可以反馈给你一个可用的模型,真正一键建模,模型训练完后能够部署成一个应用。
接下来我们仔细来看一下智能钛产品具体都有哪些功能。在 TI-ONE 里面支持机器学习、深度学习和模型推理,机器学习里面包含了数据加载、预处理、特征工程、特征选择的工具,后面还有一些具体的算法。深度学习里面包含了一些已经写好的神经网络的算法,针对一些业务的场景也有一些封装好的、针对这个业务场景的算法,例如机器视觉的算法,自然语言处理等等。
在模型推理部分,对于机器学习训练出的模型,后续处理包括模型部署、模型管理、模型监控、模型验证等等。
TI- A 相对比较简单,含有一些深度学习的神经网络库和模型推理的功能,UI 采用轻量化的客户端,用控制台支持模型和任务的监控。
TI- S 的模型训练、部署都是自动化在后台运行,用户只需要把数据传上去,TI- S 自动完成数据处理,特征工程,算法选择和参数优化。
智能钛平台降低企业获得 AI 能力的门槛:框架方面,智能钛平台内置众多主流框架,省去用户自己集成框架的工作;算法方面,由于有内置算法,省去用户很多写算法的工作;模型调优方面,智能钛平台的图形界面可以帮助用户做算法调优,有比较灵活的调度和调参方式;在模型管理方面,智能钛平台可以帮助用户搭建数据闭环,数据闭环只有在自己搭建的算法训练出的模型上才能实现,直接购买的 AI 应用通常不支持数据闭环;协作方面,智能钛平台支持团队的模型分享、算法分享。
以智能钛为核心,企业还能打造开发者生态,在这个平台上面开发应用,开发者可以省去很多底层比较辛苦的工作,而且能通过这个平台来实现模型的闭环。另外,腾讯有比较强大的技术能力和算法服务,也有比较丰富的数据服务,可以帮助开发者做出更好的 AI 应用。云平台底层有比较丰富的计算资源,AI 开发和运转需要大量计算资源。
这个图是模型自更新的框架图,自建 AI 模型很难,所以很多企业愿意直接购买 AI 应用,但当出现以下几种情况的时候,就必须自建模型。第一,如果你需要解决的问题场景比较独特,而不是一个简单的人脸识别、语音识别,例如在很多制造型的企业中,生产流程中需要测量的值比较独特,这种情况下只能自己建模型。第二,数据比较独特,而且你也不愿意把数据公开。建模需要大量数据,例如刚刚讲的 AI 语音识别中,因为没有方言的语料,就没有很好的方言识别模型。那么如果你需要一个 AI 模型,而这个模型需要厂商来帮你训练,那你至少得把相应的数据给他。但是有一些你自己公司内部的应用数据,别人买不着,你又不愿意拿出去,这个时候就得自己建模。第三,模型需要不断自更新,自更新在很多场景下都是很重要的,因为模型会衰减,所以需要增加新的数据以适应新的情况,自己建的模型,首先这个数据是自己的,通过一个标注平台进入训练平台,平台都在你自己的机房里面,这边的模型全部都是在平台计算出来的。通过平台和业务系统数据总线打通以后,实际上可以形成一个模型的闭环和数据的闭环,就满足一个模型自更新的要求。
关于平台的应用案例:我们这个平台目前的案例包括:金融领域的风控,营销以及基于 NLP、OCR 实现运营优化等等;教育领域和高校或赛事举办方合作,以平台为基础来提供比赛的环境以及教学环节等等;商业领域方面,帮物业公司实现物业管理的服务水平优化;工业领域方面,帮地铁公司对轨道、车辆设备做异常检测。以上这些场景大多比较特殊,只能通过机器学习平台自己训练这样的模型。
Q&A
Q1:腾讯的 AI 定义是什么?从最早的 AI 识别,到大数据系统,建模放在 AI 当中,现在更多的是讲深度学习和机器学习,我不太清楚。
A1:语音包括小微都属于 AI 应用层面,AI 应用底下靠什么来承载,就是 AI 的平台和框架,以及再往下的计算资源。我们这个平台定位的是 AI 基础平台,它就是一个建模的工具,可以提供的是机器学习和深度学习的建模所需要的工具。
Q2:机器学习在原理上没有变化?用 matlab 能不能训练机器学习和深度学习模型?
A2:机器学习在原理上没有变,深度学习是神经网络演化出来的,神经网络层数变大以后变成了深度学习学习,用 matlab 训练模型从原理上和算法上来讲是没有问题的,但是从思路上来说,现在机器学习的思路跟以前不一样的地方,以前是降维,因为计算能力有限,现在都是升维。现在随随便便一个神经网络几十层,计算量都是很大的,这就是为什么深度学习需要用 GPU 的原因,用 matlab 训练的话计算能力会有问题,训练不出来。
问答机器学习和人工智能在工业 4.0 时代有什么具体应用?相关阅读王珺:智能音箱语音技术分享人工智能、机器学习、深度学习,三者之间的同心圆关系易图秒懂の人工智能诞生【每日课程推荐】机器学习实战!快速入门在线广告业务及 CTR 相应知识