AI产品经理技能知识工作流程
2022-03-23 23:21:07 5 举报
AI智能生成
AI人工智能产品经理需要具备的技能知识包括:了解人工智能的基本概念和原理,熟悉机器学习、深度学习等技术,掌握数据分析和处理技能,具备产品设计和开发经验,能够进行市场调研和竞争分析,制定产品策略和规划,协调跨部门团队完成产品开发和推广。在工作流程中,AI人工智能产品经理需要进行需求分析、原型设计、功能开发、测试验收、上线发布等工作,并不断优化产品性能和用户体验。同时,还需要关注行业动态和技术趋势,不断创新和改进产品,提高市场竞争力。
作者其他创作
大纲/内容
AI项目中的分工
AI科学家
岗位职责:研究机器学习算法、AI模型(通常只有关键性应用的项目才会需要AI科学家)
AI工程师
岗位职责:利用模型进行编程,以及负责数据训练的操作
AI训练师
岗位职责
通过分析产品需求及相关数据,制定数据标注规则,提高数据标注工作质量和效率,同时累积细分领域通用数据
岗位需求背景
1)数据标注是AI项目中最重要的环节之一。一般情况下需要由数据标注员来完成数据标注(即给训练数据打标签),但是数据标注员对数据的理解的不同会造成标注质量差异大,导致整个标注工作的效率和效果都不好。2)AI公司在其细分领域可能累积了大量数据,但是由于缺少对数据的正确管理,使得这些数据难以沉淀、复用,使用一次之后难以再发挥价值。所以AI训练师成为了必要。
具体工作内容
通过聚类算法、标注分析等方式,以及凭借对行业的理解,从数据中结合行业场景提取特征。输出表达清晰准确的数据标注规则。
辅助AI工程师的工作,并进行数据验收。参与核心指标的制定以及指标监督。日常跟踪数据。(偏向于运营的工作)
根据细分领域的数据应用需求,从已有数据中挑选符合要求的通用数据,形成数据沉淀、积累。
提出细化的数据需求,以及提出产品优化建议。该工作需要和AI产品经理进行大量沟通
分配数据标注员的工作,对数据标注员的工作进行培训、指导。以及验收数据(检查数据标注员工作结果)。该工作需要和数据标注员进行大量沟通
两个侧重方向
AI训练师有两个侧重方向:一是重前期的数据挖掘工作及辅助AI工程师的工作,保证产品落地。二是重后期的产品运营,提升产品体验。根据不同项目的需求而定侧重方向。
能力模型
数据能力
会使用科学的数据获取方法,能利用excel之类的数据处理工具
行业背景
熟悉公司行业领域知识,以及数据特点(比如语言、图像)
分析能力
基于产品数据需求,提炼问题特征,输出优化方案
沟通能力
能通俗易懂的阐释专业术语,与各岗位同事交流都能切换频道
AI技术理解能力
特别是跟AI工程师交流时能厘清AI概念,并判断技术边界(能不能做,能做到什么程度)
AI行业理解能力
具备AI行业知识体系
AI产品经理
岗位职责
理解行业及用户,收集/挖掘需求、分析需求,做出产品战略规划,并设计产品解决方案、分析最佳的AI解决方案(比如用什么AI技术、哪一个模型),与AI训练师沟通、AI工程师沟通,完成产品demo,推动产品上线,跟踪数据,做出产品优化方案
岗位需求背景
无论在哪个领域,做产品都需要产品经理。只不过在AI领域,需要对AI行业知识理解深刻的产品经理,这样的产品经理具备边界判断的能力以及判断最佳解决方案的能力,我们把这样的产品经理叫AI产品经理。
具体工作内容
调研行业,理解行业业务,收集或挖掘行业需求
深刻理解需求,分析目标用户,输出用户画像
定位产品,制定产品战略(结合对市场发展趋势、竞品等的理解)
判断、选择最佳AI解决方案(带着需求和产品规划与AI工程师、AI训练师深度沟通),参与制定数据标注规则
设计产品,输出产品demo及各种文档(流程图、PRD等)
向AI训练师收集产品优化建议
优化产品
评估产品,计划开发(UI设计及开发)阶段、周期。制定验收标准
验收产品,与运营对接,上线
能力模型
AI技术理解能力
特别是跟AI工程师交流时能厘清AI概念,并判断技术边界(能不能做,能做到什么程度)
AI行业理解能力
具备AI行业知识体系
传统互联网产品经理的能力模型
数据能力
行业背景
逻辑分析能力
保证AI解决方案能与产品合理结合,同时高精度满足需求
沟通能力
能通俗易懂的阐释专业术语,与各岗位同事交流都能切换频道
对交互、用户体验的理解能力
对移动互联网产品对应的操作系统的理解能力
高质量文档输出能力
管理能力
创造力
数据标注员
岗位职责
负责给数据打标签的执行工作
岗位需求背景
数据标注是个工作量极大的工作,且专业度要求不高
具体工作内容
按照规则预训练,评估规则及工时
按规则完成要求的数据标签
交付已标注数据
一份可参考工作流程图
分支主题
AI产品经理 VS AI训练师
AI产品经理和AI训练师具备类似的能力模型,只是工作侧重点不同,AI训练师负责更细分的数据工作。目前市场上的AI训练师大部分来自产品经理的转型。而AI 产品经理可以直接兼顾AI训练师的职责,即不需要AI训练师,只需要AI产品经理。
产品经理为自己的产品AI赋能
很多移动互联网的产品都可以进行AI升级,所以建议产品经理们进行AI学习,可以为自己的产品进行AI赋能。(此处我们只针对于分关键性应用进行讨论,即不需要AI科学家的岗位,只需要懂得利用开源框架和模型即可。)
用AI解决方案代替传统的算法解决方案
举例:新闻app的智能推荐功能
例如,以前今日头条的智能推荐功能是基于对用户行为路径的研究得出的用户模型,根据用户的过去行为产生的数据,对用户当下想看的或喜欢的内容进行预测并推送。概括讲就是通过研究先找到用户行为跟用户喜欢之间的映射关系,然后根据映射关系写好算法。该解决方案的缺陷是:1、找到准确的映射关系难度大,并且很可能遗漏很多规律。2、需要对用户体验进行优化就需要更新算法,工作量大,且优化周期偏长。3、产品体验跟算法工程师的技术能力直接相关,并非每一个公司都有足够优秀的算法工程师。用AI方案替代:直接利用数据进行训练,让模型在学习的过程中自己找到映射关系,然后接入应用。优点是:1、可以找到人未能总结出的一些规律,效果可能出乎意料。2、AI自己时时刻刻通过数据进行自我升级。3、即使没有算法工程师,也可以实现智能推送效果。
在原app上添加AI功能
举例:外卖app
利用AI增加个性化界面功能
让app调用AI模型,利用用户数据对AI模型进行训练,让AI找到不同行为的用户分别有什么点餐习惯或者说属于什么用户行为模型。当用户进入app时,根据用户之前的行为数据,展示界面定制化呈现。
利用AI帮助用户更快做出更佳选择
用户进入外卖app时,可以直接语音提问:今天哪些店铺活动中?有什么粤菜新店?...经过语音识别、语音合成、专家系统训练的AI会迅速得出答案并回复用户,同时带上链接。如此用户就可以快速完成下单。(其实AI对移动互联网的升级有更多方式,这个需要靠产品经理对业务、用户需求有足够深度的理解并挖掘出来)
机器学习理论详解
监督学习
准备样本(样本通常准备两组:训练数据和测试数据),先将训练数据(即标记样本)给到机器,同时提供标准答案(有答案的样本数据属于“标记样本”),机器尽量从训练数据中找到因变量和自变量之间的关系,让自己推测的答案尽量跟标准答案靠近。训练过程中机器尝试生成我们需要的算法,这个算法就是我们要机器学习出来的结果。然后我们给机器测试样本(测试数据),不提供标准答案,看机器推理出答案的准确率怎么样,如果准确率太低(欠拟合),那我们就要调整模型的参数,并且再训练机器,接着又用测试数据测试,直到机器达到了我们期望的准确率。抽象一个最简单的逻辑公式:线性代数y=kx。我们提供n组x值及对应y值作为训练数据,模型经过计算推测出k值(推测出k值这个过程我们叫做“回归”),然后我们再用m组测试数据,但是此时只输入x值,看机器得出的y值是否跟我们已知的正确答案y值是否相同。当有多个纬度的特征时,应该抽象公式应该是y=kx1+kx2+kx3,或者y=k1x1+k2x2+k3x3。当然还有可能要考虑其他一些参数,此时公式应该为y=kx1+kx2+kx3+b,或y=k1x1+k2x2+k3x3+b。参数b是我们的AI工程师可以直接调整的,以便让机器训练的结果最接近我们想要的结果。
分类算法
KNN临近算法
在训练阶段时,机器将训练数据进行分类(根据数据的feature,即数据的特征)。(逻辑推理出,在某些情况下模型可以找出来的数据之间的映射不止一条,即可能每一类数据会有一个映射关系。)当测试数据输入时,机器会根据输入数据的特征判断该输入数据跟哪一类的训练数据为同一类,在此判断基础上,机器便决定用哪一个映射关系来推测当下输入测试数据对应的输出数据(即答案)。机器是如何判断测试时的输入数据更接近哪一类训练数据的呢?用数学逻辑解释就是,模型内是一个多维空间,有一个多维坐标,每一纬是一个特征,当一个训练数据输入时,该数据坐落在坐标上某一点,训练数据量大了之后,模型里的坐标上有无数点。当测试数据输入后,根据测试数据的特征在坐标上为它找到一个点,机器会找与该点欧式距离最近的点(训练数据的点)是哪一个,并且将该点视为与找到的距离最近的训练数据的点为同一类。
举例
Mary喜欢玩探探,在她眼里,探探里的男银分3类。第一类是不喜欢,左划;第二类是喜欢,右划;第三类是超级喜欢,点星星。第一类男银的共同点是单眼皮、低鼻梁、秃顶、着装安ta之类的运动服;第二类的共同点是双眼皮、高鼻梁、茂密的头发、着装笔挺小西装;第三类的共同点是带名牌手表,照片旁边有一辆跑车。AI了解Mary后,开始为Mary把关。当AI看到一个男银上探探,就会看这个男银是否单眼皮,鼻梁接近于高还是低,头发多少,着装随时还是成熟,然后将这个男银为第一类或者第二类,第一类的直接帮Mary划掉,第二类的直接帮Mary点喜欢。还有,当AI看到一个男银带名牌表,有豪车,直接帮Mary点一个超级喜欢。然后Mary不用那么累地全部都要点一遍,AI帮她选的人她都挺满意,她一脸的满足。
决策树ID3算法
基于“决策树”的理论的一种算法。根据数据特征进行分支,直到不可再分支,此时决策树成形,数据也被分出一类来,成形的一个决策树表现了这一类数据的所有特征。决策树ID3算法与KNN算法的区别在于:KNN算法需要始终保存并持续使用所有训练数据,决策树ID3算法完成决策树之后,可以不再保存所有的训练数据了(可以清清内存),只需要将决策树模型保留下来,便可以对新数据进行高准确率地分类。
logistic回归算法
当特征和结果不满足线性时(函数大于一次方时),就可以用逻辑回归算法。逻辑回归是一个非线性模型,它的因变量(x)跟线性回归函数不相同。逻辑回归同样用来解决分类问题,呈二项分布,它只输出两种结果,0或1(实际情况是输出为0~0.5,或0.5~1,小于0.5取值0,大于等于0.5取值1),0和1分别代表两个类别。
公式
分支主题
示意图
分支主题
支持向量机SVM
主要优势就是可以判断到分类是否正确。先给大家举一个例,当我们要分割一个平面,会用一条线,即分割二维数据用一维数据;如果我们要分割一个立体空间,会用一个面,即分割三维数据用二维数据。理解例子后,就可以理解SVM的原理了。SVM的原理就是用一个N-1维的“分割超平面”线性分开N维数据。
朴素贝叶斯分类算法
首先说明一点:KNN算法、决策树ID3算法、logistic回归算法、SVM都是属于判别方法,而朴素贝叶斯算法是属于生成方法。朴素贝叶斯算法的逻辑是:每一个训练数据输入时,计算该数据被分到每一个类别的概率,最后视概率最大的那一个为该输入数据的类别。
贝叶斯公式
分支主题
无监督学习
定义:机器学习是否有监督,就看训练时输入的数据是否有标签(标签即标注输入数据对应的答案)。无监督学习即训练时输入数据无标签,无监督学习利用聚类算法。无监督学习不利用“回归”方式找到规律。其他的跟监督学习基本相同
聚类算法
K-聚类
K-means聚类是一种矢量量化的方法,给定一组向量,K-means算法将这些数据组织成k个子集,使得每个向量属于最近的均值所在的子集。在特征学习中,K-means算法可以将一些没有标签的输入数据进行聚类,然后使用每个类别的质心来生成新的特征。
主成分分析法
半监督学习
半监督学习其实就是监督学习和非监督学习的方法合并利用,训练数据有一部分是有标签的,有一部分是无标签的,通常无标签的数据量比有标签的数据量大很多。半监督学习的好处是,1)降低打标签的人工成本的情况下让模型可以得到很好的优化;2)大量的没办法打标签的数据得以被利用起来,保证训练数据的量,从而让训练结果更佳。狭义上【半监督学习】要分为transductive SVM、inductive SVM、Co-training、label propagation;我们可以尝试用另外一种方法分类【半监督学习】,即“分类半监督”、“聚类半监督”。“分类半监督”举例说明就是先用标签数据进行训练,然后加入无标签数据训练,无标签数据输入时,会数据特征及特征值,看该数据与有标签数据分类中哪一类更接近,就视为该类数据;或者是,看该数据与有标签数据哪一个最接近(找最接近的方法在KNN算法中讲过),则该无标签数据被当作是最接近的标签数据。“聚类半监督”通常是在有标签数据的标签不确定的情况下利用(比如这个输入数据的答案可能是xxx),“聚类半监督”就是重点先完成数据的分类,然后尝试根据标签数据训练提供的标签预测结果。
算法
S3VM
S4VM
CS4VM
TSVM
强化学习
强化学习理论一
算法
model based(算法:Qleaning, Sarsa, Policy Gradients)
model-based的解释:理解真实环境,建立一个模拟环境的模型,有想象能力,根据想象预判结果,最后选择想象中结果最好的那一种作为参考进行下一步。
policy based(算法:Policy Gradients, Actor-critic)
policy based 的解释:通过感官分析环境,推测出下一步要进行的各种动作的概率,取概率最大的作为实际行动的参考。
value based(算法:Qleaning, Sarsa)
Valued based的解释:推测出所有动作的价值,根据价值最高的作为实际动作的参考。
On policy(算法:Sarsa, Sarsa lambda)
On policy的解释:必须亲自参与
Off policy(算法:Qleaning, Deep-Q-Network)
可亲自参与;也可以不亲自参与,通过观看其他人或机器,对其他人或机器进行模仿。
马尔科夫的核心
在一个状态下,可以采取一些动作,每一个动作都有一个“转化状态”且可以得出对应“转化状态”的概率。
而强化学习的目标就是学习怎样让每一次行动都是为了达到最有价值的“转化状态”上
强化学习理论二
算法
model free(算法:Qleaning, Sarsa, Policy Gradients)
model free的解释:不理解环境,等待环境反馈,根据反馈进行下一步。
Monte-carlo update(算法:Policy Gradients, Monte-carlo leaning)
Monte-carlo update的解释:等待所有过程结束,事后总结所有转折点
Temporal difference update(算法:Qleaning, Sarsa)
Temporal difference update的解释:过程中每一步都总结一下
On policy(算法:Sarsa, Sarsa lambda)
On policy的解释:必须亲自参与
Off policy(算法:Qleaning, Deep-Q-Network)
可亲自参与;也可以不亲自参与,通过观看其他人或机器,对其他人或机器进行模仿。
迁移学习
将一个已经开发过的任务模型(源域)重复利用,作为第二个任务模型(目标域)的起点。深度学习中会经常用到迁移学习,迁移时(复用时),可以全部使用或部分使用第一个模型(源任务模型),当然这取决于第一个模型的建模逻辑是否允许。迁移学习是特别好的降低(获取样本数据、打标签)成本的方法。
基本方法
样本迁移
看看目标域的样本数据跟源域中训练数据哪部分相似,把目标域中这部分样本数据的特征值照着相似的源域中的样本数据的特征值调整,尽量调到一样,然后再把调过的数据权重值提高。这个方法是最简单的迁移学习方法,不过人工去调,如果经验不足,容易造成极大误差。
特征迁移
找到源域同目标域的数据中的共同特征,将这些共同特征的数据都放到同一个坐标空间里,形成一个数据分布。这样就可以得到一个数据量更大且更优质的模型空间。(之前提到很多模型算法对输入数据分类时都要依靠模型里虚拟的空间,这个空间的质量越好,分类效果越好)
模型迁移
源域的整个模型都迁移到目标域。最完整的迁移,但是可能会因为源域模型的特有的那些对目标域来说没有的数据、特征、特征值等,在目标域中反而会有干扰效果(类似与“过拟合”)
关系迁移
当两个域相似时,可以直接将源域的逻辑网络关系在目标域中进行应用。比如我们将人的大脑神经网络的逻辑关系迁移到AI神经网络中,因为从逻辑上这两者我们觉得是一样的。
深度学习
深度学习可以理解为是多个简单模型组合起来,实现多层神经网络,每层神经网络(也可以叫做神经元)处理一次数据,然后传递到下一层继续处理。这种多层的结构比起浅层学习的模型优势在于,可以提取出数据特征(无需人工提取)。“深度”并没有绝对的定义,语音识别的模型中4层神经网络就算深了,但在图像识别的模型中,20层也不算很深。
算法
DNN(深度神经网络)
深度神经网络是深度学习最基础的神经网络。有很多层(每一层为一个神经元)从上往下排列,每一个层相互连接。有个缺点就是,正因为每一层之间连接起来,出现了参数数量膨胀问题。这样的情况下容易过拟合(实现了局部最佳但整体拟合不佳)
CNN(卷积神经网络)
卷积神经网络有“卷积核”,这个“卷积核”可以作为介质连接神经元,用“卷积核”连接神经元时就不需要每一层都连接了。
RNN(循环神经网络)
因为DNN还有一个缺点,无法对时间序列上发生的变化进行建模,如果在语音识别、自然语言处理等应用中使用AI模型时,数据的时间顺序影响很大。所以RNN就出现了,RNN能弥补DNN的缺点,可以在时间序列上发生的变化进行建模。
重要的关键词理解
拟合
拟合是用来形容训练结束后效果好坏的
欠拟合
当训练数据少、数据质量差的时候,训练出来的模型质量就差(或者说损失函数过大),这时进行测试的时候,就会出现误差大,即“欠拟合”状况。
过拟合
在训练阶段,反复用同样的训练数据进行训练,可以让训练效果变得更好(损失函数小),但同时机器会因为要达到最好的训练效果,将训练数据中不重要的特征或只有训练数据才有的某些特征进行利用得太重或开始学习不需要的细节,也就是说机器对训练数据太过依赖,最后就会出现在训练数据上表现特别好,但在其他数据上表现不佳。这样的情况叫做“过拟合“。
最佳拟合
欠拟合、过拟合都不是我们需要的。我们要的是最佳拟合。所以我们在训练机器时要注意平衡。最佳点在哪里呢?最佳点在训练的损失函数还在减小,而测试的损失函数在减小之后突然开始增大的该点上。此时我们就达到了“最佳拟合”。
泛化性
训练好的模型在其他数据上的表现好坏用泛化性形容。在其他数据上表现越好,泛化性越高
损失函数(loss)
用于评估“不准确”的程度,它是衡量模型估算值和真实值差距的标准。损失函数(loss)越小,则模型的估算值和真实值的差距越小,通常情况下我们要把loss降到最低。
香农熵
形容信息量大小。机器学习中重要是用于衡量特征的数量多少。一个数据的特征越多,说明我们可以从这个数据中获得的信息越多,也就可以说香农熵高。顺便提一下,决策树的生成过程,就是降低香农熵的过程。
标签
指给数据标记的答案。标记好答案的数据叫做“标签数据”。
特征值
特征(feature)的值。比如房子有特征(feature):空间、价格。它的特征值:(空间)200平方米、(价格)1500万。一般在机器学习的监督学习中,我们需要对训练数据进行特征提取的处理,即标记好每个数据有哪些特征和对应特征值。
当特征值损失的情况
在实际的机器学习过程中,有时候会发生数据缺失的问题,比如一个数据有X个特征,但是由于意外发生,我们只得到部分(小于X)特征的值,在这种情况下,为了不浪费整个样本资源,且可以顺利的继续机器学习,我们需要有一些弥补措施:1)认为设置某些特征的特征值(根据经验),然后利用;2)找到相似的另一组样本,用另一组样本的特征平均值代替缺失的特征值;3)用其他的机器学习模型专门针对缺失的特征值进行学习然后利用该模型找出缺失特征值;4)使用已有特征值的均值来替代未知特征值;5)在机器学习过程中用一些方法,让机器忽略已缺失特征值的数据。
类别
物以类聚人以群分,特征相同的数据就是同一类别。机器学习中特别重要的一个步骤就是利用算法将数据分类(学习算法里边会提到多种实现数据分类的算法),机器会尽量将所有输入数据进行分类,分类的逻辑就是通过数据的“特征”,特征接近的数据会被机器认为是同一类数据。
分类&聚类
分类是目前最简单也是效果最好的一类算法(比如KNN、决策树ID3、logistic回归、SVM等都属于分类算法)。分类算法的前提条件是训练数据必须带有标签。聚类是目前相对分类更复杂同时效果更差的一类算法(无监督学习就是用聚类算法)。聚类算法的优势是可以训练数据不需要标签。表面上看来分类算法比聚类算法好用很多,那我们还要用聚类算法的理由是什么呢?其实,在实际情况下,训练机器时,要给数据打标签是个人工消耗极大的工作,不仅工作量大,很多时候对数据打准确的标签难度也大。
举例
在自然语言处理(NLP)中,Penn Chinese Treebank在2年里只完成了4000句话的标签
决策树
根据数据的特征值对数据进行不断分支,直到不可再分支(附 决策树形象图)。决策树的每一次对数据分支,就消耗一个特征值。当所有特征值消耗完后,决策树成形。决策树的每一个节点,即每一次对特征分支时,通常以yes/no的判断形式进行划分。决策树的理论是AI建模所依靠的重要基础理论之一。
示意图
子主题 2
知识图谱
知识图谱是模拟物理世界的实物与实物之间的关系,知识图谱呈现为无限扩散的类网状结构。它的结构组成为“实体”--“关系”--“实体”,以及“实体”--“属性”--“值”。知识图谱使得AI找到一个信息时,同时也获得了更多跟跟这个信息相关的其他信息。
子主题 1
总结
关于模型算法的结果导向理解:1、对数据进行分类,2、找到输入数据与输出数据之间的规律。以上提到的机器学习方式可以配合利用,且各种算法模型也可以结合利用。
AI产品经理需要推动的重要产品流程
分析用户需求,找到痛点并思考用什么样的AI方案进行解决
设计产品的后台数据采集功能,保证数据的采集更方便机器学习时利用。(设计产品时,要分析出机器学习时需要的数据量、数据类型以及数据特征)
与AI训练师沟通制定数据标注规则
与AI工程师进行交流,告知AI工程师需要的AI模型,预期效果,以及与客户端的数据交互需求。与用户端工程师进行交流,告知AI如何与客户端进行数据交互。
设计客户端,推动客户端开发实现
数据训练机器
准备样本数据(训练数据和测试数据)
为训练数据打标签
输入带标签的训练数据
输入测试数据
查看拟合情况,或调整模型参数
循环训练直至达到最佳拟合
检查训练后的AI模型是否满足需求。若不满足,与AI工程师共同分析问题并找出解决方案
将成型的AI产品面对“用户角色”测试,无问题后上线正式运营
AI是什么
定义
基于“机器学习”理论,由机器代替人的技术
对“机器学习”理论解释
由AI科学家建造的模型,经过数据训练过程中,模型自己总结规律(特定算法),然后它就会根据自己总结的规律,举一反三,遇到新的问题时,根据自己的总结推测出答案
AI解决方案比互联网解决方案有什么优势:再也不需要去归纳总结知识和规律,然后进行越来越复杂的编程,只需要用数据喂养机器,让机器完成所有工作。而且传统的互联网解决方案遇到需要求变时,是个头痛的事,因为直接让工程师对程序、算法进行修改的过程中会需要考虑很多既有程序带来的限制及改动后的未知风险(同时也容易造成人力成本更高),而AI模型是可以迁移、叠加利用的,所以需求变化时,少了很多既有积累的东西带来的问题。
AI模型是个“中间件”,不能直接与用户完成交互,所以AI还是需要借助传统的应用程序,应用程序直接与用户进行交互,同时提交输入数据给模型,模型处理后返回输出数据给应用程序,应用程序再转化为合适的呈现方式反馈给用户。
AI应用的根基(数学理论--机器学习理论--基础技术--AI应用)
数学理论是AI的根基第一层(涉及到的数学理论包括:线性代数、概率论、统计学、微积分)
数学理论的基础上研究出机器学习理论。机器学习理论是根基第二层(机器学习分类为:监督学习、无监督学习、强化学习、迁移学习、深度学习)。
机器学习理论的基础上研究出“基础技术”。基础技术是根基第三层(基础技术包括:机器学习ML、深度学习DL、语音识别ASR、语音合成TTS、图像识别(计算机图像)CV、机器视觉(MV)、自然语言理解NLU、自然语言处理NLP)
基础技术支撑AI应用得以实现。
技术分层
认知
通过收集、解析信息对世界和环境进行认知。包括图片处理技术、语音识别、自然语言识别技术。
预测
预测行为和结果。比如在用户行为研究的基础上根据对用户当前行为的识别,预测用户下一步想做什么,然后主动满足用户。
决策
确定实现的方式和路径。比如AI代替医生给病人看病,得出病症和治病方案。
框架及语言
框架
TensorFlow、Caffe、Torch、Theano等等,目前大部分工程师利用的是tensorflow。
按照官方的教程安装TensorFlow,安装好之后,你就可以用它提供的多个API来训练机器学习模型了。具体的教程可以参考TensorFlow官网http://www.tensorflow.org/,不想看英文的也可以参考TensorFlow中文社区-首页
语言
AI编程可以利用多种计算机语言,目前最常用的是C++和python
AI 的价值
AI 的意义相同于移动互联网在2010年对于市场的意义,会带来无限的新商业机会,以及改变多个行业或领域的现状。互联网的价值在于降低成本、提高效率;而AI 可以替代人力,让成本直接为0,其蕴含的市场价值更高。
AI的边界
目前的AI还是有明显边界的。
1秒法则
当前的AI可以实现到处理人1秒内可以想到答案的问题。而且这个问题还得满足以下特点:大规模、重复性、限定领域
面对具体需求时,边界的认知极其重要(对边界的认知需要建立在对目前AI技术的整体理解基础上)
分析该需求用什么AI技术--分析用什么模型--根据所用模型算法范围等判断能实现到何种程度--通过该需求需要何种质量、何种标签的数据来判断提供数据的难度--理解云计算能达到的计算力(或者自备服务器进行计算)--判断该需求能否通过AI 方案解决或能解决到什么程度
帮助理解AI边界的三要素
算法模型
算法模型已经介绍过了,现在深度学习模型已越发成熟,算法的支撑已经足以解决大多数领域的问题
计算力
云计算的成熟使得计算能力得到了保证(且为了获得高计算能力的成本得以控制)
数据
互联网公司的发展,各种互联网产品的成功,都保证了数据的多样性和体量。
AI的市场情况
AI应用分类
关键性应用
需要算法准确度在99.9999%以上的应用。比如无人驾驶汽车、手术机器人等。
非关键性应用
只需要算法准确度在99%或95%以上的应用。例如人脸识别、广告推送等。
AI的市场化
由于云计算解决了计算力的问题,又有开源算法以及Google等公司开放的框架可利用,很多AI产品的落地条件只剩下找到数据了。而一些有数据积累的互联网公司在这一点上具备先发优势,比如百度、阿里、腾讯,都开始抢夺下一个商业风口(AI)了。百度已经是all in AI 了,目前百度的无人汽车驾驶已经初见成效,离大规模商品化不远。阿里利用AI为自己的服务进行各种升级,比如人脸识别、人脸解锁等等,现在阿里布局的新零售线下无人超市等必不可缺AI支持。腾讯的计算机识别相关软件已经成熟并等待深度商业化。
更多市场参考请查看ai.qq.com 以及aliyun.com等等
另外一些小一点且针对领域相对垂直的互联网公司,如喜马拉雅、美团等,都开始为自己的应用或服务AI 赋能。(此处针对非关键性应用介绍)
硬件(软硬结合)为载体
喜马拉雅出了AI音箱,配合自己的app,提高用户体验
仍以软件为载体(在原应用上AI升级)
美团在原外卖app上加入AI 功能,提高用户体验
硬件(软硬结合)及软件
硬件(软硬结合)的AI包括无人驾驶汽车、手术机器人等
软件的AI,小至一个app的程序中封装一个SDK。让一个app有了智能的一面,比如淘宝app的推荐智能度就是靠类似的方式。
在真实的机器人上训练模型慢且昂贵。解决办法是先进行模拟学习(即先只限于软件上学习),将模拟学习学到的知识迁移到现实世界的机器人训练中,这里源域和目标域之间的特征空间是相同的。
AI 市场的需求
目前人才需求是市场第一需求。人才包括新兴岗位:AI算法科学家、AI工程师、人工智能训练师、AI产品经理、数据标注专员。涉及到关键性应用时,AI算法科学家、AI工程师是最稀缺且第一需求人才;涉及到非关键性应用时,AI产品经理为最稀缺且第一需求人才。
目前市场在尝试各行各领域的AI产品,但由于AI产品经理的匮乏,大部分进展过慢或难以开展。市场需要更多的合格的AI产品经理,合格的AI产品经理需要对AI认知全面且懂得如何与实际的市场需求相联系,同时还需要有对新的需求场景的开发、摸索(所以AI产品经理还是得具备行业经验,对行业理解深刻)。
基础技术
语音识别技术
定义
将人类声音转化成文字的过程。属于感知智能。
识别范围分类
封闭域识别
在预先指定的字/词集合内进行识别。如此可将声学模型和语音模型进行剪裁,识别引擎的计算量也变低。可以将引擎封装于嵌入式芯片或本地化SDK,脱离云端,且不会影响识别率
产品类型
命令词、语音唤醒、语法识别
引擎部署
云端
公有云
私有云
本地
软硬一体:芯片
纯软件:本地化SDK
应用场景
简单指令控制的智能家居,电视盒子等
开放域识别
在整个语言大集合中识别。引擎计算量大,直接封装到嵌入式芯片或本地SDK中,耗能高且识别效果差,所以一般都只以云端形式提供。
产品类型
流式上传-同步获取
应用场景:输入法、实时字幕上屏,具备更自然交互形态的智能音响
算法:根据时长的限制,用不同的模型
音频时长:长短都有,根据语音云厂商的产品规划而定
已录制音频文件上传-异步获取
应用场景:字幕配置、客服质检、UGC语音内容审查
算法:长短期记忆网络模型LSTM
音频时长:较长,<3/5小时
已录制音频文件上传-同步获取
应用场景:作为前两者的补充,场景与上述类似
算法:根据语音厂商的产品规划
音频时长:<1min
引擎部署
云端
公有云
私有云
本地
带服务器的嵌入式系统
计算机视觉技术
定义
计算机对生物视觉的模拟。通过采集图片、视频进行处理,以获取相应场景的三维信息
拆分步骤
成像
原理:模拟相机
需要解决的关键问题
光照影响
解决方案
引导用户行为
提高硬件设施性能
算法优化
模糊
噪声
分辨率
早期视觉
图像分割
将特定影像分割成“区域内部属性一致”而“区域间不一致”的技术
边缘求取
找到图像中的亮度变化剧烈的像素点构成的集合,即找出轮廓
运动及深度估计
识别理解
把一张图片对应到一个文字或标签。即根据机器找到的映射关系得出输出
技术流程
人脸识别
人脸采集--人脸检测--图像预处理--特征提取--人脸匹配与识别
人脸采集时需注意事项
图像大小
人脸图像过小会影响识别效果,过大会影响识别速度。非专业人脸识别摄像头常见规定的最小识别人脸像素为60*60或100*100以上。在规定的图像大小内,算法更容易提升准确率和召回率。图像大小反映在实际应用场景就是人脸离摄像头的距离。
图像分辨率
越低的图像分辨率越难识别。图像大小综合图像分辨率,直接影响摄像头识别距离。现4K摄像头看清人脸的最远距离是10米,7K摄像头是20米。
光照环境
过曝或过暗的光照环境都会影响人脸识别效果。可以从摄像头自带的功能补光或滤光平衡光照影响,也可以利用算法模型优化图像光线。
模糊程度
实际场景主要着力解决运动模糊,人脸相对于摄像头的移动经常会产生运动模糊。部分摄像头有抗模糊的功能,而在成本有限的情况下,考虑通过算法模型优化此问题。
遮挡程度
五官无遮挡、脸部边缘清晰的图像为最佳。而在实际场景中,很多人脸都会被帽子、眼镜、口罩等遮挡物遮挡,这部分数据需要根据算法要求决定是否留用训练
采集角度
人脸相对于摄像头角度为正脸最佳。但实际场景中往往很难抓拍正脸。因此算法模型需训练包含左右侧人脸、上下侧人脸的数据。工业施工上摄像头安置的角度,需满足人脸与摄像头构成的角度在算法识别范围内的要求。
人脸检测注意事项
人脸位置检测:目的是在图像中准确标定人脸的位置和大小
人脸关键点检测:目的是估计人脸图片上脸部特征点的坐标
使用框架、模型
一般可以使用Openface中的Dlib模型实现人脸检测,利用OpenCV库对数据进行处理。最近人脸检测算法模型的流派包括三类及其之间的组合:viola-jones框架(性能一般速度尚可,适合移动端、嵌入式上使用),dpm(速度较慢),cnn(性能不错)。
指标
检测率:识别正确的人脸/图中所有的人脸。检测率越高,代表检测模型效果越好。
误检率:识别错误的人脸/识别出来的人脸。误检率越低,代表检测模型效果越好。
漏检率:未识别出来的人脸/图中所有的人脸。漏检率越低,代表检测模型效果越好。
速度:从采集图像完成到人脸检测完成的时间。时间约短,检测模型效果越好。
图像预处理注意事项
图像预处理的目的是消除图像中无关信息,尽可能去除或者减少光照、成像系统、外部环境等对图像的干扰,使它具有的特征能够在图像中明显地表现出来。主要过程包括人脸图像的光线补偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等。
灰度化
将彩色图像转化为灰色图像的过程
直方图均衡化
直方图描述了一副图像的灰度级内容。直方图均衡化主要目的是为了提高对比度和灰度色调的变化,使图像更加清晰。
归一化
通过一系列变换,将待处理的原始图像转换成相应的唯一标准形式(该标准形式图像对平移、旋转、缩放等仿射变换具有不变特性),使得图像可以抵抗几何变化的攻击。例如用放大缩小图像、减少图片由于光照不均匀造成的干扰等。
中值滤波
将图片进行平滑操作以消除噪声
特征提取注意事项
传统的人脸识别模型一般都是在SVM等分类器分类后,通过CNN提取特征。但随着深度学习的发展,人脸识别有更多端到端的框架选择。这里简单介绍一下三种近两年基于深度学习人脸识别的方法:Deep face、Deep ID、FaceNet
deep face
Deep face 与其他方法最大的不同在于,DeepFace在训练神经网络前,使用了基于3D模型人脸对齐的方法。然后利用深度神经网络学习特征
deep ID
有两种方式对人脸进行多种尺度的遮挡,第一种是从下往上进行遮挡,从10%-70%。第二种是不同大小的黑块随机放,黑块的大小从10×10到70×70
facenet
直接将人脸图像映射到欧几里得空间,空间的距离代表了人脸图像的相似性。该方法基于深度卷积神经网络。FaceNet得到人脸最终表示后不用像DeepID那样需要再训练模型进行分类,直接计算距离,效率很高。
人脸匹配与识别注意事项
将提取的人脸特征数据与数据库中储存的特征模板进行搜索匹配,设定一个最佳的相似度阈值,当相似度超过该阈值,则输出匹配后的结果。最佳相似度阈值的决定需要考虑到输出结果的正确率和数量。
精确率(precision):识别为正确的样本数/识别出来的样本数
召回率(recall):识别为正确的样本数/所有样本中正确的数
多目标跟踪
图像采集--图像预处理--基于深度学习的多目标检测识别--多目标跟踪--输出结果
图像采集注意事项,同“人脸采集注意事项”
图像预处理注意事项
直方图均衡
直方图描述了一副图像的灰度级内容,而直方图均衡化的主要目的,是为了提高对比度和灰度色调的变化,使图像更加清晰。
滤波
图像滤波的主要目的是,在保持图像特征的情况下进行噪声消除,具体可以分为线性滤波和非线性滤波。非线性滤波相比线性滤波来说,更能保护图像细节。
基于深度学习的多目标检测识别
目标检测的实质是多目标的定位,即要在图片中定位多个目标物体。
多目标跟踪注意事项
遮挡、目标消失后再出现,会有丢失目标的现象
相似目标容易被当作同一目标
由于以上原因,在实际场景里多目标跟踪可能会发生人员重复检测、漏检、同一目标多条轨迹等情况。
主要任务:找到图像序列中运动的物体,并将不同帧的运动物体一一对应,最后给出不同物体的运动轨迹。
术语解释
检测
定位目标在图像中的位置。检测方法很多,例如帧间差分法、背景减除法、光流法等等;另外,检测常与识别结合。
跟踪
在连续图像序列中完成对目标的检测,并把物理意义下同一目标相关联。
轨迹
一条轨迹对于这一目标在一段时间内的位置序列;是多目标跟踪系统的输出量。
数据关联
用于解决目标间的匹配问题;是多目标跟踪的核心问题。
跟踪置信度
跟踪算法反应每一次跟踪的可靠程度。
光学符号识别
图像采集--图像预处理--特征提取--文字定位--光学识别
图像采集注意事项
摄像头选取需要考虑到两个指标:像素分辨率和摄像头焦距。像素分辨率:可以通过所检测物体的最小特征决定像素分辨率。公式为:(检测物体最大长度/物体最小特征值)*2。假设字符最大长度为300mm,最小特征值为1mm,则最小所需分辨率为600。镜头焦距:焦距(F)的选择由CCD传感器的尺寸(Ss)、工作距离(摄像机镜头到被测物体的距离Wd)和摄像机的视场范围(Os)--3个参数来决定。
图像常见格式有BMP、GIF、JPG等,其中BMP格式最不容易出问题。
图像预处理注意事项
图像预处理主要包括二值化、图像增强、噪声处理、图像滤波等。
特征提取
考虑通过聚类、分割、去噪、池化等步骤获取图像中文字特征。
聚类是根据图像特点自适应地进行多值化的过程。推荐“极大值极小值分割”聚类方式:有多少个极大值点,就聚为多少类,并且以极小值作为类别之间的边界。通过聚类可将图片分成不同图层。
分层识别:每一层图像由若干联通区域组成,在此时需要文字具有一定抗腐蚀能力。联通区域边界线越短,抗腐蚀能力越强;联通区域边界线越长,抗腐蚀能力越差。联通区域的抗腐蚀能力=该区域被腐蚀后的总面积/该区域被腐蚀前的总面积。
池化操作:对特征层进行整合
后期处理:a.高低密度区排除:b.孤立区排除
文字定位注意事项
邻近搜索,目的是圈出单行文字。由于部分汉字是由很简单的其他汉字组成,比如“胆”就是由“月”和“旦”组成,我们需要经过邻近搜索算法,整合可能成字的区域。
文本切割,目的是将单行文本切割为单字。利用切割方法(比如均匀切割),将单行文本切割成一个一个的单字。
光学识别注意事项
模型选择:选择卷积神经网络模型
训练数据:除可直接获取到的数据外,还可利用程序自动生成一批训练数据,需要考虑到以下因素:a.字库的字体数目;b.同字不同字体;c.同字不同颜色;d.同字不同大小;e.同字不同清晰程度;f.中英文数字等等语言种类;g.噪音影响。
输出结果:a.有形近字的情况,优先考虑高频字:例如”天“和”夭“,“天”出现的频率更高,优先考虑“天”;b.通过模型精确率评估模型效果;d.对数据进行随机增加噪音,测试模型的效果;e.后期处理校正:利用人工或者上下文关系,对识别结果进行校正;f.若需按照原文排版识别,还需用版面恢复算法将输出结果输出到word或者pdf。
自然语言处理
定义
自然语言处理(NLP)是指机器理解并解释人类写作、说话方式的能力。
NLP 包含两部分
自然语言理解(NLU)
NLU 是要理解给定文本的含义。本内每个单词的特性与结构需要被理解。
注意理解几个歧义性
词法歧义性:单词有多重含义
句法歧义性:语句有多重解析树
语义歧义性:句子有多重含义
回指歧义性(Anaphoric Ambiguity):之前提到的短语或单词在后面句子中有不同的含义。
自然语言生成(NLG)
NLG 是从结构化数据中以可读地方式自动生成文本的过程。
自然语言生成分3个阶段
文本规划:完成结构化数据中基础内容的规划。语句规划:从结构化数据中组合语句,来表达信息流。实现:产生语法通顺的语句来表达文本。
关键词解释
分词
把一句话切成多个词组
比如:“我是产品经理”,分词后变成“我-是-产品-经理”
“关键词”
找到句子中携带核心信息的词
“关键词”是提供重要信息、最多信息的词,在“我是产品经理”句子被分词后,机器会选择“产品”、“经理”为该句子“关键词”。
badcase
如果中文分词和关键词有一方标注出错,那出来的结果也会是错误的,这就是我们所说的badcase。
badcase的类型
①中文分词错误②关键词错误③中文分词和关键词均错
badcase的修改
像第一种和第二种,拿过来直接改就好。第三种会比较麻烦,需要同时看中文分词的文件和关键词的文件来处理。而分词本身就很容易出问题,如多音字造成的badcase
文本相似度
即两个文本直接的相似程度。文本相似度是自然语言处理(NLP)中必不可少的重要环节,几乎所有NLP的领域都会涉及到
与之相对应的,还有一个概念——文本距离——指的是两个文本之间的距离。文本距离和文本相似度是负相关的——距离小,“离得近”,相似度高;距离大,“离得远”,相似度低。
各类算法
欧氏距离
公式
计算“产品助理”和“产品经理招聘会么”之间的欧氏距离,过程如下:文本向量A=(产,品,助,理),即x1=产,x2=品,x3=经,x4=理,x5、x6、x7均为空;文本向量B=(产,品,经,理,招,聘,会),即y1=产,y2=业,y3=经,y4=理,y5=是,y6=什,y7=么。这里规定,若xi=yi,则xi-yi=0;若xi≠yi,|xi-yi|=1。所以,欧氏距离是2不适用场景文本相似度,意味着要能区分相似/差异的程度,而欧氏距离更多的只能区分出是否完全一样。而且,欧氏距离对位置、顺序非常敏感,比如“我是老狼”和“老狼是我”,在人看来,相似度非常高,但是用欧氏距离计算,两个文本向量每个位置的值都不同,即完全不匹配。
曼哈顿距离
和欧氏距离非常相似(把平方换成了绝对值,拿掉了根号)也叫编辑距离(Levenshtein距离、莱文斯坦距离)顾名思义,编辑距离指的是将文本A编辑成文本B需要的最少变动次数(每次只能增加、删除或修改一个字)。例、计算“菠萝”和“菠萝包”之间的编辑距离。因为将“菠萝”转化成“菠萝包”,至少需要且只需要1次改动,所以它们的编辑距离是1。(如图1)因此,编辑距离是对称的,即将A转化成B的最小变动次数和将B转化成A的最小变动次数是相等的。同时,编辑距离与文本的顺序有关。比如,“菠萝”和“萝菠”,虽然都是由“菠”“萝”组成,但因为顺序变了,编辑距离是2,而不是0。(如图2)适用场景编辑距离算出来很小,文本相似度肯定很高。如果用算法语言来说的话,就是精确率很高(即虽然会漏掉一些好的case,但可以确保选出来的case一定非常好)。不适用场景反过来说,虽然精确率很高,但召回率不高(准确率、精确率、召回率的定义见文章底部外链)。在某些业务场景中,漏掉的case会引起严重后果,比如“恭喜发财”和“发财恭喜”,人的理解应该非常相似,可编辑距离却是4,相当于完全不匹配,这显然不符合预期。
图1
图2
公式
分支主题
Jaccard相似度
杰卡德相似度,指的是文本A与文本B中交集的字数除以并集的字数例、计算“极品飞车”和“侠盗飞车”的杰卡德相似度。因为它们交集是{飞,车},并集是{极,品,飞,车,侠,盗},所以它们的杰卡德相似度=2/6=1/3。杰卡德相似度与文本的位置、顺序均无关,比如“绝地求生”和“求生绝地”的相似度是100%。无论“绝地求生”这4个字怎么排列,最终相似度都是100%。在某些情况下,会先将文本分词,再以词为单位计算相似度。比如将“绝地求生”切分成“绝地/求生”,将“求生绝地”切分成“求生/绝地”,那么交集就是{绝地,求生},并集也是{绝地,求生},相似度恰好仍是100%。适用场景1)对字/词的顺序不敏感的文本,比如前述的“零售批发”和“批发零售”,可以很好地兼容。2)长文本,比如一篇论文,甚至一本书。如果两篇论文相似度较高,说明交集比较大,很多用词是重复的,存在抄袭嫌疑。不适用场景1)重复字符较多的文本,比如“说说说说说你爱我”和“说你爱爱爱爱爱我”,这两个文本有很多字不一样,计算出来的相似度是100%(交集=并集),但我们觉得这个答案跟认知不符,认知上这两个文本不一样。2)对文字顺序很敏感的场景,比如“一九九七”和“一七九七”,杰卡德相似度是100%,意思却完全不同。
公式
分支主题
其他
参考
分支主题
关键词解释
正确率 = 提取出的正确信息条数 / 提取出的信息条数
召回率 = 提取出的正确信息条数 / 样本中的信息条数
收藏
收藏
0 条评论
下一页