团员分享_我的AI项目方法论_@木南_20200227
2020年2月24日 更新
开启更多功能,提升办公效能

前言:本文是团员“木南”的第2篇输出,第一篇在《AI+教育调研报告》;欢迎有更多的团员们也来分享你的AI干货~

引子 “众生畏果,菩萨畏因”

这句话也是我做产品的心经,通俗的解释就是产品工作的本质在于“探索挖掘事物表象下的因果”。大到项目,小到原型落地方案; 总是要回答“为什么要做某件事,为什么用某种方式去做这件事”,而此类问题答案背后的原因是否足够“澄明通透” 才是做好一个业务,一个产品,一个方案的魂。


大前研一也有过类似的观点“,他认为所谓的逻辑思考力就是一种“验证问题,追溯原因的执行力”。


从一个理念,引出这篇文章后面要写的内容:我会以一名AI产品经理的角度来分享做AI项目要从哪些维度去思考问题,最后还有一个相对完善的项目报告例子

一 商业目标 ---- 赚钱才是目的

何为项目的第一等事呢? 显然是“商业价值” ,商业价值是评估一个项目能否成功立项,评估项目价值的判定标准。 因此做一个AI项目,第一等事是证明这个项目是有价值的。我们要有充足的证据回答以下两个问题。


问题1: 这个项目将解决谁什么问题?

参考: 用户是谁,用户怎么用,用户为什么会用


问题2: 这个项目为什么重要,需要解决?

参考: 收入,留存率,新增,效率,用户满意度.......

一定要用AI吗?

接着要思考的问题是这个项目真的适合AI来解决吗?AI并不是万能的,不管ML,DL多么神奇,本质上它还是电脑程序,当前只有在某些特定的,相对封闭的场景下,才可能会输出比人类更好的工作成果。所以作为AI产品经理,要做的第二件事就是判断这个场景适合用AI技术去解决吗? 具备AI技术落地的基本条件吗? 成本怎么样? 性价比如何呢?


问题3: 为什么这个项目要用AI技术来解决?

参考: AI在这个场景,这个领域的表现出的“性价比”超过了人;当前的情况通常这类场景是相对封闭的,特定的,并且机械重复的。


问题4: 是否具备AI技术的落地条件?

参考:数据来源是否可靠, 算法是否成熟可用, 公司是否有足够的算力 ;投产比如何


问题5: 问题是否足够聚焦和可量化

参考: 相当于问题3的一个子维度,这里单列出来详细解释一下,当前当部分的AI方案不能完全替代人,只能替代特定的约束条件下,人类某项工作或者某项工作的某些环节;所以AI产品经理的一项重要的工作是明确AI与人分工的边界,明确约束条件,甚至必要的时候需要妥协,做好用户的预期管理。


举个例子: 我们的需求不应该是: 采用AI技术为XX农场赋能,节省成本; 应该是经评估,CV技术可以应用于“杂草” 和 “农作物”的识别方面; 机器自动识别”杂草“和"作物" , 有选择性的喷洒除草剂,节约了除草剂的投入成本。

二 评估标准 --- 不能衡量就无法改进

当我们确认了这是一个可以用AI技术解决的具有商业价值的项目后,我们要做的就是建立这个项目的“评估体系” ,即用哪些指标来衡量这个项目; 这里有两种意义的“评估指标”,中文里都叫评估指标容易混淆,英文里一个叫“outcome” ,另一个叫“outputs”。

Outcome VS Outputs

Outcome 是用来定义项目成功标准,衡量项目达到了当初立项的预期(比如: 商业利润,提升用户体验,提升效率,提升满意度等等)


Outputs 是用来定义AI模型成功标准,衡量技术上是否达到了产品的可用标准(一般用: Accuratcy ,precision , recall , R! ,R2 ,MSE 等指标来衡量。)


虽然两个指标有先后置的关系,一个是一级问题,另一个是二级问题;但是指定outcome和outputs都是AI产品经理要做的核心工作,都是决定项目成败的核心因素。


我认为“outputs” 恰恰是 “连接” 业务问题与技术工程,最关键的“桥梁” ,这个桥梁的端是“业务侧”和“工程侧”

(1)业务侧,评估指标的制定一定是基于真实的用户,最终交付的产品才具有可用性

(2)工程侧,评估标准的制定,决定了“算法工程师”的技术选型,需要多少数据?训练周期等,才能达到业务要求。


举个例子: 比如 医疗上用CV技术识别肺炎和健康人的X光片。假设: 肺炎的x光片是 “正例” ;那么我们是保“精度”还是“召回率”呢? 在这个场景下,很显然是要保证“召回率” ; 精度低,只是会把大量的健康的人误诊为病人; 但是如果召回低,出现了漏判的情况,就会耽误肺炎患者病情,所以在这个场景下,评价指标【召回率】优先级要高于【精度】。


“正确定义了机器学习模型的评价标准(evaluation), 问题基本上就已经解决一半" ---- Jeremy Jordan


可见后续70-80%的工作量,都是围绕着如何达成“Outputs”的评估指标;工程上达成了这个指标,代表了业务上该产品可以解决用户的问题;如果评估指标定义的不合理,或者方向不正确;很可能交付一款不可用的产品,浪费人力财力。

三 数据 ---- 巧妇难为无米之炊

数据是AI的原材料,训练数据的质量可以决定模型最终效果的70-80%,AI产品经理的另一项重要的工作是给AI团队足量保质的数据样本;

数据采集

问题6: 项目的训练数据来源有哪些?

参考: 开源的,还是内部的 ,是否可购买


问题7: 获取这些数据是否需要成本?

参考 : 获取数据是否有成本,金钱和时间


问题8 : 数据是否会过时,是否需要定期更新?

参考 : 根据项目的性质判断;比如服装时尚类的产品推荐,时尚的潮流每年都会改变。


问题9 : 数据是否涉及版权和隐私问题,法律上如何规避?

参考 : 数据中敏感信息的定义和规避,包括纠纷的解决方案

数据源

问题10: 本项目需要的训练数据量的大小?

参考 : 训练集和测试集的样本量的大小,将决定训练时间成本;和项目排期及上线时间强相关。


问题11 : 样本分布是否均匀?若分布不均匀如何克服偏置问题?

参考 : 比如分类识别类的AI任务,并不是所有类别的训练样本都是足够多的;那么机器最终对于”小样本“的类别的判断精度和相对较低,产品经理采用什么策略规避此类问题?

问题12 : 如果组织样本收集,标注和管理工作?

参考: 采用监督学习方法,训练数据的不足,需要组织打标签;是外包还是内部消化? 如何组织管理标签质量? 比如: 我们如何规避人工偏见导致的标签标注错误。

数据标签

问题13: 数据的标签值和特征值分别是哪些? 背后的逻辑是?

参考 : 标签和特征的定义一定是基于业务场景的,这是AI产品的本职工作,并不是数据工程师和算法工程师要做的。 产品经理应该明确的告诉工程师,这个项目里标签值和特征值是如何定义的,背后的逻辑是什么。

四 模型 --- 自研?还是外包? 请把专业的问题交给更专业的人

这一步我个人的观点是,初级的AI产品经理只要有识别出我们要用AI解决的问题属于什么范畴即可(比如是:分类问题,还是回归问题 ; 属于推荐,还是识别) 而至于我们的实现方案要采用什么算法,应该交由更专业的算法工程师判断(除非产品经理也是技术出身,对算法的理解段位和算法工程师是相当的)。

没有绝对正确的算法或模型。只有相对有用的算法和模型

本身就不存在绝对正确的模型或者算法,只存在相对有用的模型和算法。这种理想和现实之间的差异是模型的天然属性自带的,本质上讲,所谓模型就是由人定义的可以客观反映事物或者数据之间的某种对应的映射关系。 但是人对事物的认知本身就带有局限性和片面性,所以没有一种可以完美解决问题的模型或者算法。 所以产品经理应该认识并识别出这种模型局限性导致的输出结果的偏差。 并且针对这些偏差基于对业务的理解,给出合理可靠的替代方案。


这个环节AI产品经理要思考的问题是:


问题14: 这个问题可以使用那类模型解决?

参考: 了解各类主流算法的应用场景,输出的结果是处理分类,还是回归; 了解传统的ML

和DL各自用于处理什么问题? 对数据量的要求是否有差异? 当前的场景是否已经有成熟的AI产品实现了,他们是怎么做的?


问题15: 模型我们可以用开源资源还是自主研发?判断的逻辑是什么?

参考: 上线的时间要求,自研和开源资源的排期和成本各自如何? 后续的迭代计划是否冲突? 拓展性是否有差异?

思路: ”迁移学习 “来减少训练成本,服用已经训练好的某些层或神经节点。

五 MVP --- 项目中的“最有价值球员”

产品最初版本要考虑最小可迭代单元,MVP(最小化可行产品,Minimum Viable Product)的目的是为了做初步验证,以代价最小的方式验证需求的真伪;验证之前指定的指标构想是否存在偏差。


问题16: 产品最小的可用方案

参考: 定义产品的核心功能和最小可用版本的方案


问题17 : 产品给谁设计的,用户是怎么用的?

参考: 明确核心用户是谁?验证核心用户是否按预期那样看待和使用产品


问题18 : 投放策略

参考: 如果接触到潜在的核心用户,怎么推广?按什么节奏去推广

六 版本规划 --- 运筹帷幄之中,决胜千里之外

这里分享一下,MVP验证通过后,后续的版本迭代和优化的问题。


问题19: 产品版本规划是怎样的?

参考:基于最小可交付版本,后续按着哪些方向去补全产品功能? 比如: 性能的提升; 体验的提升 ; 用户群的拓展 ; 使用场景的拓展等等。


问题20 :ABtest方案设计

参考: 可以在以后用户群体中分离出20%的用户,进行新版本的体验测试,收集用户反馈;若反馈良好,样本数符合统计学规律;同时新版本衍生出的新问题都有提前的备案计划,那么可以考虑释放新的版本方案,优化升级。


问题21 : 如何更新升级数据

参考 : 前文也提及了,数据其实是AI产品的燃料;和业务自身的性质相关,如果业务模型的训练数据是需要更新的,那么产品经理应该组织好新数据的采集和训练的管理工作。确保模型的判断结果是符合当前客观状态的,产品不会过时。


问题22 :如何处理偏置问题和用户的预期管理

参考: 这里说的”偏置“问题,一共有三种情况;前文中都有提及但是没有明确的定义,这里在详细说明一下。偏置是模型输出结果不达预期可能产生的原因:

(1) 数据偏置 : 由数据样本分布不均造成的,比如宠物的识别,猫狗之类常见的宠物图片十分容易获得,但是”蛇“,”蛙“,”昆虫“之类的宠物,比较小众。此类图片的训练数据较少,模型会对此类宠物的判别精度会下降。

(2) 模型偏置 : 数据输入模型后,模型自身的权重带来的偏置;和模型的参数有关,比如激活函数的”阈值“。 也是人工设定的。

(3) 标注偏置: 是指人工标注工作中,一些”似是而非“的问题产生的标注偏差; 比如:经过统计,让一个白人和一个黑人来评估一个”棕色“人种的肤色,黑人会倾向于给他打上黑色的标签; 白人会倾向于其肤色更白一些。这种偏置和人种不同是天然存在的,标注也是由人来设定的。


并不是所有的”偏置“问题都一定要解决,产品经理需要评估偏置对项目整体带来的影响,以及处理偏置的性价比,结合实际情况输出偏置的优化方案,或者是做好用户的预期管理和风险控制。

案例分享

下面分享一个我在优达的一个AI项目设计文档:

Capstone  Project Proposal

Business Goals

Project Overview and Goal

What is the industry problem you are trying to solve? Why use ML/AI in solving this task? Be as specific as you can when describing how ML/AI can provide value. For example, if you’re labeling images, how will this help the business?

 

 

What is the industry problem you are trying to solve?

本项是设计一个推荐系统为每年900w中国高考的考生提供大学和专业的志愿填报推荐服务。

Why use ML/AI in solving this task?

(1)这个项目其中最核心的部分属于回归类的预测问题,适合用ML监督学习的回归算法解决。

(2)历史数据开源可采集,并且带有标签。

(3)人工是无法完成基于海量数据的规律统计以及预测的工作。

 

                  

Business Case

 

Why is this an important problem to solve? Make a case for building this product in terms of its impact on recurring revenue, market share, customer happiness and/or other drivers of business success.

 

Why is this an important problem to solve?

 

(1) 潜在用户群体巨大: 900w人/年

(2) 刚需,对于用户意义重大:填报志愿,某种程度上将决定一个学生未来4年的大学生活,甚至是未来职业生涯。

(3) 不可替代性:大部分用户不具备数据预测能力,虽然现在的信息来源已经比10年前丰富,考生可以从网络等多个渠道下载到高校历年的录取信息,但是大部分家长和学生不具备处理分析这些信息的能力,最终还是不能给出精准可靠的判断。

Application of ML/AI

 

What precise task will you use ML/AI to accomplish? What business outcome or objective will you achieve?

What precise task will you use ML/AI to accomplish?

采用机器学习的回归算法,预测某个大学的某个专业,会在某个省招多少个学生;最低的录取分数是多少?

 

例如: A省的一名考生a,输入了他的高考分数 ;以及他意向的大学B和专业b;

 

模型将会返回 : 今年,B大学的b专业,预计将会在A省招多少名学生,多少分才会被录取。 小a会有多大概率被录取。

 

What business outcome or objective will you achieve?

(1) 该产品可以作为商业盈利产品,给公司带来直接收入

(2) 该产品可以作为教育辅导的增值服务,提升整体教学产品的服务质量。

 

Success Metrics

Success Metrics

What business metrics will you apply to determine the success of your product? Good metrics are clearly defined and easily measurable. Specify how you will establish a baseline value to provide a point of comparison.

 

我把衡量指标定义为业务发展的三个阶段:

1.MVP阶段:核心任务是验证需求的真伪,即用户是不是愿意为了这项服务卖单。

 

评估指标:用户的触达转化率 ,即在充分传达产品价值的前提下,用户是否愿意去使用这个系统,并为之付费。 付费转化用户占触达用户的比例。

 

2.发展阶段:确保业务是盈利的模式。

评估指标:投入产出比ROI>1

成本:产研工资,模型训练成本,推广成本 

收益:客单价×触达用户数×转化率

 

若商业模型证实可以过得利润,进入下一阶段

 

3.扩展期: 核心任务收益最大化,评估指标是新增用户量

 

ROi为正,每多增加一个用户,多一份收益。

 

 

Data

Data Acquisition

 

Where will you source your data from? What is the cost to acquire these data? Are there any personally identifying information (PII) or data sensitivity issues you will need to overcome? Will data become available on an ongoing basis, or will you acquire a large batch of data that will need to be refreshed?

Where will you source your data from?

训练数据为:历年全国各高校每个专业,招收学生的地区分布及分数。

(1)开源的高考服务网站;各高校的教务官网,均有相关的数据集,可以通过爬虫获取。

开源网站上有结构化的数据可以采用爬虫爬取

 

(2)报考志愿的书籍可以购买,人工统计等方式整理收集。

What is the cost to acquire these data?

数据获取成本几乎为0,

人力成本:爬虫工程师的人/天 ; 数据工程师需要将数据进行清洗整理

 

Are there any personally identifying information (PII) or data sensitivity issues you will need to overcome?

 

训练数据属于开源公开的数据,本项目数据不存在个人隐私问题及敏感信息风险。

 

Will data become available on an ongoing basis, or will you acquire a large batch of data that will need to be refreshed?

 

正常状态下,不会过时。除非是中国的高考政策发生了大的改个,那么历史数据将不再可用。

 

 数据需要每年补充一年新的数据;然后更新校正模型。

 

Data Source

 

Consider the size and source of your data; what biases are built into the data and how might the data be improved?

 

数据集大小:

数据量 = 年份×大学数量 × 专业数量 × 招生省份

训练样本约为:3.9亿条数据(最大情况,实际会比这个数据小)

年份:10(假设去近10年的高考数据)

大学数量约: 2500-2800

专业数量: 506

招生省份:31个省

数据集结构

开源网站可用爬虫爬取。

Choice of Data Labels

What labels did you decide to add to your data? And why did you decide on these labels versus any other option?

 

标签:输出指定学校的指定专业,在指定的省招最低的录取分数.

 

原因:这个数据是用户最直接的决策依据,用户知道自己当年考了多少分,而他需要知道这次这个专业最低的分数是多少,他的成绩能不能被录取,多大概率被录取。

 


Model

Model Building

 

How will you resource building the model that you need? Will you outsource model training and/or hosting to an external platform, or will you build the model using an in-house team, and why?

 

模型可以用监督学习的回归模型做,但是具体哪种回归模型更适合这个项目;是自研的成本低,还是使用开源平台的成本更低,需要和算法工程师一共探讨得出结论。

 

大原则是保障预测结果质量的前提下,考虑几种情况:

(1) 项目上线时间高优,采用开源平台比自研要更快上线

(2) 项目成本优先,需要由工程师评估平台训练费用和自研成本那个成本更低,再进行决策。

Evaluating Results

Which model performance metrics are appropriate to measure the success of your model? What level of performance is required?

业务场景说明

 

标签值Y:是指定学校的指定专业,在指定的省最低的录取分数.

 

例如: 今年,A大学的a专业,对于B省的考生是Y分可以录取。 来自B省的考生,高考分数f >y 则录取,f<y 落榜。

 

模型评估指标一 预测值的绝对误差a<2

 

绝对误差a = |预测值Y真实值y| <2

 

解释: 对于单个用户而言,预测的分数线,要和真实的分数线±2分之内,我们认为这个数据预测是可靠的有参考价值的。

若误差太大,对于用户因为偏差导致落榜,是不能接受的。

 

模型评估指标二 可靠预测结果数量占全部预测数量的百分比P>80%

 

 

P = 可靠数量整体预测数 > 80%

 

可靠预测数  今年高考,全国所有大学所有专业对所有省份录取分数的预估y 真实值之间误差小于2分的预测结果的数量。

 

整体预测数 :今年高考,全国所有大学所有专业对所有省份录取分数的数量。

 

解释: 对于全量用户,我们期望至少有80%的用户得到的预测结果是准确可靠的。

 

 

 

 

Minimum Viable Product (MVP)

Design

 

What does your minimum viable product look like? Include sketches of your product.

产品可交付的最小功能模块

 

实现用户输入分数,所在地,目标学校和专业,系统输出预测分数以及录取概率。

 

用户输入:

. 今年的高考分数y分

2.考生坐在地m省

2.A大学的a专业   

系统输出: 

 今年A大学a专业在m省,预计的录取分数是Y分,考生有x%的概率被录取。

 

  

Use Cases

 

What persona are you designing for? Can you describe the major epic-level use cases your product addresses? How will users access this product?

What persona are you designing for?

这个系统完整版会兼容4类不同用户的推荐需求。当上一题的设计方案,只是针对A类用户的最小可用版本。没有考虑BCD类用户的设计。

A类用户

特征:知道自己要报考的学校和专业。

B类用户

特征:知道自己要报考的专业,但是不知道该选择哪个学校。

C类用户

特征:知道自己要报考的学校,但是不知道该选择哪个专业。

D类用户

特征:不知道自己要报考哪所大学,学习什么专业。

Can you describe the major epic-level use cases your product addresses? How will users access this product?

A类用户,输入意向的大学和专业就能得到他们被录取的概率。

B类用户,输入他们想学的专业,就能得到一张关于这个专业的大学list推荐表。推荐排序还可以参考,大学的口碑,专业的综合排名,考生的地区,口碑等因素。

C类用户,输入他们想报考的大学,就能得到一张关于这所学校的专业的list推荐表。推荐排序还可以参考,录取成功概率,专业的排名,就业率,口碑等。

D类用户,需要先做一套职业技能趋势的评估测试,以及地点偏好等信息。系统根据这些信息,输出推荐的大学和专业的list  

Roll-out

 

How will this be adopted? What does the go-to-market plan look like?

 

投放策略: 假设mvp阶段已经通过商业模型为正,我将按顺序依次投放: 公立高中 > 朋友圈个人用户 > b端辅导机构

 

原因如下:

(1) 高优投放,公立学校

中国公立高中有硬性的办学指标,比如重点大学的入取率,所以作为公立学校的校长和班主任是重要的利益相关者; 如果该系统可以帮助他们提高学生被好大学的录取率,那么他们会非常愿意买单。 同时bd以学校为单位推广,大大提升了推广效率。

 

 

2)开设朋友圈,小程序,C端投放

 

第二条次优路径是独立的c端用户,因为填写志愿对于家庭而言也是非常重要的;有足够的付费意愿,可以将系统做成微信小程序,app触达c端用户。

 

3)作为辅导机构的补充服务

辅导机构作为效率最低的渠道备选,因为辅导机构更关注的是学生经过他们辅导之后的考试分数,而不是大学的录取结果;不过可以和他们试着谈一谈合作,将高考推荐服务作为一个补充场景,互相引流换量。

 


Post-MVP-Deployment

Designing for Longevity

 

How might you improve your product in the long-term? How might real-world data be different from the training data? How will your product learn from new data? How might you employ A/B testing to improve your product?

How might you improve your product in the long-term?

未来版本规划的几个迭代方向

1. 兼容ABCD四类用户,当前只是设计了A类用户的最小可用版本

2.  优化推荐排序策略,系统可以支持考虑地域,口碑,兴趣,综合排名等多个维度。

3.  增强预测结果的可解释性,尽可能让用户了解测试的结果的可靠度以及边界,做好预期管理。

4.  模型性能提升,指标a,绝对误差 指标p:可靠预测的百分比

5. 设计用户反馈收集入口,及时收集跟踪用户反馈

 

 

 

How might real-world data be different from the training data?

 

本项目的训练数据其实就是历年高考真实的统计数据,在各个大学的官网都可以查到,只是需要人工汇总。

 

How will your product learn from new data?

数据集需要按年份更新,即新的一年高考,高考的录取数据需要及时被采集更新到数据库,作为新的训练集。

风险: 需要监控,国家的高考录取政策的改革,若新的政策下达,那么该产品的服务将不再适配。

 

How might you employ A/B testing to improve your product?

 

如果我是这个项目的PM我将用两种思路来做Abtest,寻求利益最大化。

 

思路1:  同一类用户,对应产品不同的版本,找到满意度最高,转化数据最好的版本,并且分析追溯原因,挖掘是否有进一步深入优化的潜力。

 

思路2 : 同一版本的产品,对不同类别的用户; 找出不同类别用户之间的差异性。 差异性将影响产品的迭代计划和运营推广的策略。

 

Monitor Bias

 

How do you plan to monitor or mitigate unwanted bias in your model?

推断本项目偏差的来源应该来自两个维度

 

1. 数据完整性导致的训练样本不均匀,比如一些冷门大学,冷门专业的数据可能会不全。

 

2. 模型本身的偏见,导致的预测误差。

 

解决策略:做好用户的预期管理

 

1)模型初期没有做到大部分完全可靠的时候,宣传侧一定要向用户传达,推荐结果只是一种参考结果。

 

2 系统内部应该区分出推荐结果的“置信度”差异,可以识别出数据量小,不太可靠的预测结果,这些不太可靠的预测结果,需要反馈给产品经理和工程师根据实际的使用场景评估对应的解决策略。

比如:

1. 屏蔽这些结果,提示用户数据量不足

2. 展示这些结果,但是标注潜在的风险

等等…..


附:团员“木南”的文章汇总


-END-


以上内容,来自饭团“AI产品经理大本营”,点击这里可关注:http://fantuan.guokr.net/groups/219/ (如果遇到支付问题,请先关注饭团的官方微信服务号“fantuan-app”)


---------------------

作者:黄钊hanniman,图灵机器人-人才战略官,前腾讯产品经理,7年AI实战经验,10年互联网背景,微信公众号/知乎/在行ID“hanniman”,饭团“AI产品经理大本营”,分享人工智能相关原创干货,200页PPT《人工智能产品经理的新起点》被业内广泛好评,下载量1万+。