产品化机器学习的一些思考

“如果说互联网是优化信息的存储和传输方式,提升生产要素之间的运阿行效率;人工智能便是对各个生产要素的升级。”

本人初入职场便从事TOB相关工作,参与了tbds等大数据平台的产品建设,近两年逐渐接触人工智能;目前主要负责TI-ONE机器学习平台,结合自己工作经验,在这里分享一些关于ML产品的思考和实践。

人工智能产品类型

平台-强调赋能

基础支撑/基础平台-通用的ML技术平台,实现常用的算法,形成通用机器学习平台(Spark/TensorFlow等),对外提供API、SDK等,为业务赋能。这类平台聚焦性能、开发效率和预测准确度。

应用-融入场景

突出场景闭环,如利用人脸识别自然语言处理(NLP)等技术构建新的交互体验和用户场景。

目前市面上看到的人工智能产品都属于弱人工智能的范畴,它们通常专注于某一特定领域,有一定规则边界,是达成既定目标的工具;各个领域的初级岗位最有可能被这类人工智能替代。

人工智能产品流程

数据

人工智能产品能够运转起来的前提,首先需要寻找和积累大数据大数据机器学习平台必需的燃料,有足够大的燃料,平台所跑出的模型精确率会越高。

通常我们会通过中间件工具(KAFKA/tube)进行流转,将数据运输到HDFS等存储平台,包括文本、图片、语音等数据,并对其做数据清洗,特征处理等,便于加载到接下来的神经网络

算法、训练模型

训练出一个有效的模型的前提,需要数据和算法两者的双管齐下;从计算模型的角度,我们通过所获取并清洗好的一组数据,配置好算法相关的关键参数来构建模型的运行,从而形成了一定的反馈路径,来达到预期的输出结果。

通过数据的灌输,建立起输入-处理-输出(IPO)的关系,加载到神经网络的训练中,学习数据中的规律并产生一个最能契合这些数据的函数表达式。在训练过程中,不断去试错和纠正,去推进模型更为精准的路上。对模型准确度有足够信心,便可把训练完成后的模型部署上去,去预测喂养新数据后的结果是什么。例输入的是人脸图片,那么输出结果便是人脸识别结果。           

应用模型

当模型精确度足够高后,便可上线服务,实际运用到我们的系统中。典型的例子是电商系统中基于用户/物品的推荐。 

人工智能产品经理的思考点

1.明确产品的定位,找到产品能发挥价值的地方

在做TI-ONE初期,我们的目标是做一个通用/易用性高的机器学习平台,让方便业务接入平台。用户无需关注机器学习的运行细节,如底层用什么计算框架、用多少计算资源、应该怎样配置参数等,将注意力重点放在核心业务,同时也可以享受机器学习带来的便利。

我们把TI-ONE设定为一个拖拽式建模工具而不是类似于jupyter的交互式工具,虽然jupyter有很好的拓展性,但为了降低机器学习使用门槛和释放用户大量写代码的时间和精力,增加受众面,我们选择了把特征处理、算法以模块化的方式来设计,让用户在拖拽组件中,快速完成模型的搭建。

在产品化机器学习的时候,发现大部分工作不是在研究复杂的公式理论,而是如何让用户在使用机器学习的过程中更顺畅,让不同步骤之间的流程如数据的准备、算法参数的填写、模型的训练/测试/筛选/部署等,能够无缝衔接。举个例子,规划及组织平台所需要的数据、用什么方式和工具来统一数据的上传、对数据的接入是否需要提供预览;如何帮助用户获得高质量的数据集,为提炼优质模型提供保障、如何高效率低成本地为数据打标签、把数据价值最大化,这些都是产品经理需要重点耗费精力的地方。

在此引用谷歌大脑高级科学家Martin Zinkevich的一句话“To make great products:do machine learninglike the great engineer you are, not like the great machine learning expert youaren’t”把工程效率提升到极致了,用户才能真正享受到算法带来的便利。

2.产品形态的把握

对于人工智能产品经理,所需的技能SET,不仅包括原型能力、功能逻辑、信息路径、UI设计,算法模型、数据训练等产品背后抽象的逻辑也同样重要。

比如立项一个人工智能产品,我们不能很宽泛地定位要做一个机器写作,这个需求的范围太大,会让后续功能的开发不好收敛。产品经理需要尽量参与到算法开发,了解算法的每个步骤,对涉及的环节有个清晰的概念,并在此基础上寻找和评估是否有产品化的可能性。

再比如我们要做新闻主题分类,首先需要利用网页抓取去各个网站的新闻,一般情况下,新闻网站都会分好类,可以直接记为标签。这个过程是否便可以做成一个产品化的成果。

过去的互联网产品,可能我们偏向埋头于体验、需求,不太关注技术环节;而在AI产品领域,我们必须要深入技术运转流程,才能提升我们做出一个优秀AI产品的可能性。

 3.了解用户指标背后的含义

在评估TI-ONE产品用户数据指标时,UV/PV/月活/新增用户数等都是我们会去关注的数据指标。但若只关注实际数值,不去深究背后数据增长原因的话,有时会陷入一定的盲区。比如之前查看产品的统计指标,用户数和日均执行任务数都是一个稳定增长的趋势,但在用户调研中,深入了解了这些在平台上跑的任务,发现有一部分任务大家只用来做调度,并没有去使用平台上的算法模块,刨根问底了这部分用户才知道,因为我们平台上的算法库是黑盒子,出了问题不好定位,不如自己写代码查原因。通过这次对指标的剖析,我们也考虑将目前提供的算法进行开源和引入自定义算法模块,去补充我们对这块功能设计的短板。 

4.纵向的业务理解能力

很多人工智能产品往往跟某一垂直行业紧紧挂钩,去解决某一具体问题;这是要求人工智能产品经理去深入整个业务流程的链条,熟悉每一个涉及到的用户场景;并且在场景中,提炼出用户最迫切需求并优化需求点,实现产品的变现。

很多不同行业、领域的人工智能产品其实背后所用到的技术逻辑都大同小异,如人脸识别技术,在安防市场,因人脸难以复制的特性,它代替了门禁卡。在公安领域,警察可以通过人脸识别,在各大重点区域,关口进行人脸的抓拍、识别,对可疑人物的信息可实时推送到警务终端,大大提升破案效率。在银行领域,人脸识别可以支持远程办理业务,刷脸开户,通过它查验身份信息,可免去需求亲自去网点办理的麻烦。

技术是相通,但不同场景的侧重点会有所不同,产品形态也会有所差异;在银行领域,人证比对设备需求会比较强。在公安领域更强调的是后台动态人脸识别系统的使用。

人工智能产品经理需要对业务场景进行反复验证、迭代,从而去判断结果概率是否能达到用户的标准,依照这些判断去做不同的投入策略。因此,了解算法的基本原理和落地的业务场景尤为重要,可以有一个相对清晰的技术框架,并且懂得在技术允许实现的范围内,规划出最优方案。

5.关联信息的能力

人工智能产品需要我们加深对机器学习相关技术和应用的理解。理解好机器学习的基本逻辑,数学是其背后的原理,如微积分、概率论、线性代数都是机器学习的基础。而这些数学概念和模型往往是抽象、非直观的。

当试着去理顺这些相对复杂的逻辑,可以尝试关联信息的方法,在不熟悉与熟悉的知识之前建立连接,从个人的经验中,去寻找能够与所有要理解信息类比的部分,把枯燥难懂的知识点,与实际生活的例子相结合。

比如说我要学习线性回归,关于线性回归,提供的数学解释是假设自变量与因变量是线性关系,利用最小二乘法拟合自变量权重的一种分析方法。若单是看这段解释的话,会不太容易让人理解线性回归是在描述什么;试着去联想生活中的经验会帮助理解线性回归的概念。针对线性回归这个概念,可以通过房价波动和驱动因素来做联想,假设我们有1000条关于深圳房子的综合数据,每条数据作为一个样本,内含信贷价格、常住人口/户籍人口、工作人口/常住人口、小学生在校人数这些数据看作特征变量,房价为目标变量。线性回归解释的便是这些特征变量对房价波动的影响度。 

6.降本提效是推动人工智能发展的最强动力

人工智能技术价值的实现,最终需要落地商业化、为行业带来价值和形成真实有效规模化的刚需来体现。目前大部分人工智能公司在做的是单一的人工智能驱动产品,如自动驾驶汽车算法、零售领域的刷脸支付、医疗领域的人工智能影像分析。所有员工工作中的任务自动化比例将提升,一部分劳动力也会被人工智能所替代。冲击较大的工种为人工客服、流水线工人、银行柜台职员等。

还有一种AI公司,不是去用某种人工智能的能力去替代某一工种的工作,而是完全重塑整个行业的的劳动力配置,比如阿里的无人酒店,从接待到打扫的服务员全都是机器人,他们没有雇佣人类员工,去利用算法取代某种类型的工种;随着低本、高效和优质的服务模式逐渐铺开并且占领市场,高昂的人力成本可能会导致对手们重新调整公司对劳动力配置。

根据来自普华永道的数据:“预计到2030年,AI将能为世界经济贡献15.7万亿美元,这相当于目前印度加中国的生产总值总和,中国公司在其中将起到非常重要和关键的作用。”相信不久的将来,会有越来越多的行业和人工智能结合在一起。如何去挖掘行业的切入点、利用AI去重塑应用场景,为实体行业提升运行效率、甚至颠覆当前的传统的商业模式,提供一套可行的AI解决方案是AI产品经理需要掌握的核心技能。

结语

当有了一定积累,面对工作就会得心应手,使人的行为处于一个稳定的水平,慢慢有了自己的舒适区,时间久了会不愿离开这样的状态。但若一直沉浸在一个自己非常熟悉的领域,难免被固化了行为,不过是日复一日发挥着一个螺丝钉的功效。

切换到AI领域发现,这是个一旦不保持自己技能SET更新状态便会被淘汰的领域,包括在一个项目组内的算法、开发童鞋,也是每天不断在学习,了解当前最前沿的知识。

世界总是不断前进变化和充满着不确定性,保持着自己所积累的技能和可预见/突破的挑战的平衡,逐步爬坡,穿透自己的高墙,才能拥有人生更多的可能性。

腾讯技术工程
腾讯技术工程

腾讯技术工程事业群在机器之心的内容专栏

产业人脸识别产品机器学习
11
相关数据
最小二乘法技术

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。 利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。 “最小二乘法”是对过度确定系统,即其中存在比未知数更多的方程组,以回归分析求得近似解的标准方法。在这整个解决方案中,最小二乘法演算为每一方程式的结果中,将残差平方和的总和最小化。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

调度技术

调度在计算机中是分配工作所需资源的方法。资源可以指虚拟的计算资源,如线程、进程或数据流;也可以指硬件资源,如处理器、网络连接或扩展卡。 进行调度工作的程序叫做调度器。调度器通常的实现使得所有计算资源都处于忙碌状态,允许多位用户有效地同时共享系统资源,或达到指定的服务质量。 see planning for more details

弱人工智能技术

弱人工智能(weak AI),也被称为窄AI,是专注于某一特定狭窄领域任务的人工智能。 相对于可以用来解决通用问题的强(泛)人工智能,几乎目前所有的人工智能都属于弱人工智能的范畴I。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

微积分技术

微积分(Calculus)是高等数学中研究函数的微分(Differentiation)、积分(Integration)以及有关概念和应用的数学分支。它是数学的一个基础学科。内容主要包括极限、微分学、积分学及其应用。微分学包括求导数的运算,是一套关于变化率的理论。它使得函数、速度、加速度和曲线的斜率等均可用一套通用的符号进行讨论。积分学,包括求积分的运算,为定义和计算面积、体积等提供一套通用的方法 。

线性代数技术

线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

好棒