本文主要分享一下我们2017年的相关实践,希望能给大家一些启发。1、人工智能的核心是工程,场景是工程的关键。首先总结一下,我们把人工智能和移动互联网结合起来,最重要的目标就是:人工智能工程。做GPU的英伟达,提供开源基础框架TensorFlow的谷歌,还有研究各种算法的科学家,和我们处在人工智能产业链的不同环节。我们的目标是找到合适的人工智能场景,结合行业内的一些经验,形成工程化的解决方案。人工智能(AI)赋能企业移动信息化建设,本质上是人工智能在企业移动信息化过程中的工程化实施。支撑人工智能工程的过程需要依靠数据、技术、场景的结合,并用软件工程的思想将它们融合起来。三者之中,场景是关键。人工智能和数据不一定强相关。这里所说的“数据”并不是大家常说的“大数据”。主要是因为“大数据”三个字很容易让更多的技术团队束缚他们的思维,让他们无法自己从事人工智能的工程。甚至早期的人工智能也被一些技术社区归类为大数据通道。当然,去年他们也分开了。我不认为人工智能与大数据有直接关系。我们后面的场景,不强调大数据,从数据的角度,可以通过主动学习(ActiveLearning)来部分解决。尤其是去年AlphaGoZero的出现,让我重新审视自己对人工智能的理解,数据是否还有大家理解的原有价值。AlphaGoZero完全脱离了人类的经验,无需学习棋谱,完全根据人类的经验超越AlphaGo,同时创造出许多人类棋手从未想过的棋局。就连著名棋手柯洁也在有意无意地模仿AlphaGoZero的经验来对付人类棋手。简而言之,人类正在向机器学习。AlphaGoZero的出现,对于人工智能界来说,我觉得最大的触动就是用零数据证明了强化学习的巨大可能性和未来空间。我认为在人工智能的未来,技术(模型)的价值远超数据(已有经验)的价值一定会成为共识。技术进步加速人工智能实践这又要回到技术上。技术离不开软件、硬件、算法的飞速发展。技术的进步加速了人工智能(AI)的实施。技术上主要围绕框架、算法、算力三个维度组织。在后续的场景中,我们主要使用一些基于GoogleTensorFlow平台的成熟算法或模型应用。基于我们的计算能力和性价比,我们也会做一些权衡,比如用Faster-RCNN代替RCNN等待。客户需要的是智能化的应用场景。企业在移动信息化/移动互联网建设中,需要经历建设期、运维期、运营期等一系列阶段。从用户的角度来看,本质上需要的是一件一件的。智能应用程序的智能应用(参见Gartner:2018年十大战略技术趋势)。对于工程的实施,我们认为场景更重要。我们需要什么样的智能来支持我们所做的事情。基于以上思路,我们提取了几个场景,利用机器学习进行了工程实践。2、三种场景化实践场景一:移动智能开发平台,让工程师快速拥有专家80%的开发能力。这部分工作在工程过程中,我们分两部分进行实践:训练阶段和应用阶段如下图所示:探索:确定场景后,结合框架、模型和自身算力,寻求各种模型用于研究和实践。在这种情况下,我们最终选择了基于CNN的分类算法和基于Faser-RCNN的目标检测算法。考虑到数据标注的工作量,我们采用了迁移学习的方法。训练:根据探索确定的方向,构建标注数据。在这种情况下,我们采用标记工作进行分类和标记工作进行对象检测。推理:利用训练后的结果,进行推理来验证模型的效果。你可以看我上一篇文章《使用TensorFlow搭建智能开发系统,自动生成App UI代码》为什么要用上面的工具。以上过程是一个不断调整和循环的工程,最终我们会选择一个模型。AI即服务(AIaas)和产品化工程。本项目主要以软件工程的方式进行。需要考虑的是AIaaS项目对算力的并发要求。我们用的队列和调度是之前AIaaS加入的,这里就不细说了。最终,我们大概的模型结构如下:如上图所示,CNN(VGG)、Softmax、Faster-RCNN等都是基于GoogleTensorFlow构建的,主要工作围绕着基于GPU的建筑学。BasicComponent、ComplexComponent、DSLGenerator、DSLCode、Compiler、Runtime等部分主要是基于传统CPU架构下的软件思想进行整合。通过AIaaS,我们将基于TensorFlow的智能服务隐藏在基于Java的SaaS服务背后。最终开发工程师可以通过IDE访问,同时让我们更新模型让终端用户无法感知,最后通过“智能代码助手”将视图(view)体现在集成开发环境。场景二:智能连接和展示,以智能CUI的方式为终端用户提供对话式交互。CUI是最近移动端比较看重的一种体验方式。与传统的CUI相比,纯语音和文字的交互已经进化为语音、文字、事件、连线、视频等多种体验方式。在这个范畴里,我还是很认同百度DuerOS负责人说的。工作分为三个方面:听清楚、理解、满意,我对这三个方面有自己的理解:Speech,结合上下文,转化为文字。理解:理解特定领域的词义,这里强调特定领域。我们遇到的一位客户经常提到“交付”,该术语在该业务领域代表一系列安全和监管问题。满意度:为最终用户提供强大的交互体验。对于企业市场,“满意”的解决方案并没有得到任何公共服务方式的很好支持。原因比较简单。企业中大量的“满足感”最终都是通过自己的私有服务来提供的,而这部分必须使用私有部署的解决方案才能做到,这也是我们需要关注的。关于听清的解决方案,我们非常认同现有的解决方案有很多,非常成熟,包括百度。最终我们选择了讯飞作为默认方案。在工程上,我们主要围绕“满意度”,主要从以下两个方面寻求解决方案支持:如何调用最合理的服务。如何为终端用户提供最友好的交互体验。为此,我们根据关键词、语义等信息和后端Service的调用关系来训练模型,以支持智能连接。同时,我们对服务调用的反馈结果和移动端UI模型库的信息进行训练,提供智能展示。UI模型库采用全动态方式支持各种复杂场景的支持,从而实现高度可扩展的开发。当越来越多的功能无法在手机小屏下容纳时,低频功能可以更方便地使用。除了可以立即使用的二维码录入小程序,CUI应该是非O2O较好的选择之一。场景三:智能推荐辅助决策,让用户在正确的时间和地点做“正确”的事从业务场景来看,推荐、辅助等模式不在技术维度,互联网公司“猜你喜欢”等等。差异太多了。需要说明的是,在做企业级市场业务时,我们推荐的方法不是基于用户,而是基于组织结构(如职位)进行分析。原因很简单。如果是基于用户习惯,一个喜欢迟到的人总是会在他迟到的时候被推荐签到。这显然既不符合用户的个人诉求,也不符合企业的利益。为了支持以上场景,移动平台需要能够提供统一的数据采集能力。采用统一的前端技术,更容易自动埋点,方便用户行为数据的收集。同时,采用统一的中台方式,采集更方便。4.总结移动互联网时代,越来越多的APP开始智能化,越来越多的场景正在发生。这是一个大趋势,但并不是所有的场景都会对移动应用本身产生很大的影响。很多AI场景只是移动平台SDK的问题,比如生物识别(人脸识别)。此外,Apple/Andriod也提供基于手机的AI技术支持。因此,作为移动应用企业,最需要关注的是如何将人工智能与具体场景相结合,进行工程实践,让AI快速发挥商业价值。作者简介:郝振明,现任朴元信息移动集成产品部负责人,拥有十余年IT从业经验,一直专注于企业信息化工作。近五年,一直从事企业移动信息化、移动互联网的咨询和产品工作,主持和参与了普元移动产品研发、中国联通集团、广东农信、诺亚财富的移动信息化工作财富管理、中信重工、索菲亚等公司。在移动平台、微信解决方案、微信小程序、AI与移动结合、移动云解决方案等领域有着丰富的经验和独到的理解。
