85%的AI项目以失败告终,切记这6条成功原则!

2,628 阅读10分钟
人工智能有多火每个人的心里应该很清楚,所以在这里不再阐述。很多科技公司把未来几年的赌注压在了AI身上-“all in AI“,同时也有数不清楚的公司正在准备转型AI,另外也有很多公司虽然跟AI沾不上任何边但喊着AI口号来吸引关注。 总而言之,AI会变得越来越火,会有更多的人才走进这个大军里。


在AI转型的进程中,并不一定是一帆风顺的,甚至会很艰难。不知有多少人关注过人工智能项目的失败率? 20%? 30%? .. 或者 50%?? 可能想得太简单,据不完全统计一个数据类项目的失败率达到了85%以上! 其实这也不奇怪,现阶段,一个一般IT类项目的失败率也是50%以上呢,何况AI项目....

所以,很多情况下投入实施AI项目本身是风险,就看你有没有足够的风控能力,最后能把项目成功落地,并且产生价值! 那为什么会有大部分AI项目以失败为告终呢?人的问题? 不一定! 可能的主要原因包括: 1. 解决了错误的问题,或者把伪需求当成了真需求 2. 选择了算法解决不了的问题... 等等。


在这篇文章里,我们总结出了六条原则,这些原则对于实施一个成功AI项目来说尤其重要。对于这些原则我们也参考了 [1]。


1. 弄清楚是否是合适的时机?

人工智能最大的价值是什么? 是可以帮你做决策! 那为了做这种决策需要什么条件? 必须要有数据! 没有数据,人工智能只是空谈。所以第一点就是要弄清楚是不是切入AI的最好的时机或者是大力推进AI的最好的时机。

一个AI项目的技术流程是:搭建数据搜集系统->数据收集->清洗->AI... 如果一个公司还没有那么多数据必须由机器来分析,那这时候可以做两件事情:1. 提前想好未来应用场景,布局数据的搜集工作 2. 先专注把业务做好,AI事情之后再看。总而言之,数据是AI的基础,如果没有数据,那首先得想办法生成或者搜集数据,而不是直接跳进这个“坑”,然后拖累了其他的业务。

其实这种例子不少见。尤其是对AI了解不深的高管或者策略者,经常急于这些“锦上添花”的事情,反而在自己需要发力的战场上却没能做出成果。 所以对于第一个原则,要不断问自己:我们有足够的数据吗? 现在是合适的时机吗? 现阶段做什么才能一年之后才能把AI技术提升到公司的战略层面?


2. 选择正确的问题比使用哪一项技术更重要

机器学习,深度学习是AI领域的流行词,听起来高大上。在学校里,学术界甚至在各类比赛中,我们习惯于技术思维 - “我有很厉害的技术,我要做XXX项目”。其实找对问题是最重要的,这是一个人最高级别的技能。爱因斯坦等科学家为什么会这么成功? 聪明只是一方面,核心是他们能够找到一个“好”的问题! 为什么美国很多博士生6,7年也毕业不了?难道他们因为笨吗? 其实不然,就是因为找不出合适的问题! 所以,找一个正确的问题可以说是AI项目成功的一半。

那怎么去找到正确的问题呢? 这是一个没有正确答案的问题,但其本质是找出业务中的痛点。以下几点可以作为参考:


1. 首先要理解业务,不是跟别人聊聊就行了,一定要深入。比如现在负责的业务是智能客服,那就在一线当几天客服再来谈接下来怎么做! 如果只是跟客服负责人简单坐下来喝个咖啡聊一下,觉得能聊出真正的痛点吗? 所以,作为AI项目的负责人,一定要对业务敏感,试图从业务人员的视角去了解。 现阶段,从事AI的人仿佛会有种优越感,很难踏实地去了解业务,导致闭门造车,最后其实也没什么成果。

2. 了解竞争对手在做什么,他们在哪些事情上已经取得了成果。知已知比是商业界很重要的一点,要时刻了解别人在做什么。如果他们在某一个领域已经验证出成功的案例出来,那这正是对你来说很好的参考。


3. 设定好项目的优先级

AI是一个非常开放的领域,即便对于一个业务,我们可能想出各种各样的问题。但需要记住的一点是:任何的AI项目必然是一个长期的工程,它所带来的成本也是比较大的。所以必须要有个优先级。假设我们面临三个选择,项目1,项目2和项目3,首先需要做哪个? 选择最有意思的? 选择最优挑战性的? 还是选择我最感兴趣的技术相关的? 别,千万不要这么做....

在实施AI项目的时候优先级最高的还是对业务影响最大的那一类项目。换个角度可以想一想,公司里的哪个业务因为效率低而天天被骂? 那一批人每天做着重复性的工作但却花费大量的成本? 产品中的哪一个环节的体验最不好?

我们可以从这些痛点中出发,先把最“痛”的且“可以AI”化的项目列出来,然后再粗略算一下,项目预期所带来的价值或者对业务上的提升。那这部分价值怎么计算?这方面要部分依赖于对AI技术的理解,比如现在有一个系统A,但未来3个月开发出了一个算法之后,能够提升多少的效率? 另外,也可以去参考一些领域内成功案例,实在不行就去看看论文里的结果,当然这里的结果可以作为最高可以达到的预期结果。

还有一种方法是,想出一个最简单的路径来快速尝试。比如一个创业公司想推出一个机器客服系统,那搭建这种系统必然会耗时长。那这时候怎么快速验证? 我们完全可以先以人工的方式来操作(客户以为是机器),并观察用户的反馈,如果这样的方式确实可行,那基本上心里也会有数。所以这个阶段,要想出各种捷径或者“作弊”的手段来快速测试并找出最合适的项目。


4. 理解技术的上限,不要以为AI什么都可以解决

AI就像3,4岁的孩子,它的能力是有限的,它不可能用来解决任何问题。对于一些问题它的作用确实比较大比如人脸识别,图像识别,物体检测等。但对于另外一些问题作用未必明显,或者投入产出比很低,比如通过AI去预测A股的价格,或者想做一款什么都可以回答的智能机器人。

可以把利用AI预测A股股价作为例子(美股没有预测过,所以不敢在这里评论),这个目前很难做到。为什么?股价本身是要依赖于人性的,同时也依赖于其他非价格类因素,那这些信息显然很难在我们接触到的股市数据中获得。或许有些人会说,那我们可以去分析人的行为啊,然后把它作为信号不就行了吗? 当然可以,这也是下面我列的第三点。但即便如此,A股的这种不确定性使得目前的AI系统很难去提供准确地预测。

为了做出这样的决策,必须要对技术的前沿知识非常敏感。只有这样才能做到评估: 1. 这项目到底能不能做? 可行性怎么样? 2. 这项目做完之后预计提升有多少,这个提升带来的好处跟成本相比会是怎样? 3. 如果想让目前项目具有可行性,需要具备哪些条件?或者哪些数据? 为了拥有这些条件接下来规划是怎么样的?


5. 快速迭代,持续迭代

AI项目的核心是迭代,不断试错的过程。这点需要跟产品经理还有开发人员要达成一致。那为了更好的迭代,需要去想一个迭代的路径,也就是什么样的迭代方法让产品更快速地达到我们想要的效果?这里面的学问很多,产品怎么设计才能更好的获得反馈? 数据怎么收集?等等。

一个AI项目如果超过3个月看不到效果是比较危险的,为什么这么说? 因为还没看到任何效果等同于还没有任何的迭代。迭代思路其实跟MVP(minimum value product)的思路非常相近,而且这个思路也跟强化学习(reinforcement learning)比较相近。

迭代本身分成两个部分,一个是整个项目的快速迭代, 还有一个是每一个项目模块内的快速迭代。我们可以以建模来打个比方,比如我们在建模时第一个要搭建的模型叫做baseline,那什么叫baseline? 逻辑回归? SVM? 在我眼里,baseline 就是一天内能做出来的模型!不管数据有多大,场景多复杂,一天内需要看到一个最简单的结果。数据很多怎么办? 那就采样一部分; 数据太脏怎么办? 那就把脏数据先去掉;资源不够怎么办? 那就用逻辑回归这种简单模型! 其实总有办法可以在最短时间内弄出一个可运行的模型,并通过此结果来评估项目的可行性以及未来预期的效果。 这些数据对于后续项目的实施尤其关键。另外,让别人尽快看到结果也会增加对你的信任,不然之后的工作会非常被动。


6. 项目上线前要做好业务评估

我们在建模的时候通常会考虑一些“AI型”指标,比如AUC,F1-score等,这些应该很多人非常熟悉。那这里的问题是,这些指标越高,对业务的价值就会越高吗? 其实不一定! 从业务的角度评估和从模型的角度评估不一定是完全正比关系的。但至少肯定是有类似正比关系,不然采用这些指标是没有意义的! 所以作为AI人员也需要关注业务部门关心的指标,来思考什么样的模型状态最适合当前的业务状况。

另外,在很多场景下对于模型的解释也是比较重要的。特别是对于金融,教育这类的场景。我们希望能够在部署前有对这些模型的理解,比如一个模型犯错误,理解为什么? 这也是目前深度学习的弊端-比较差的可解释性。


参考:

[1] towardsdatascience.com/6-uncommon-…