热线电话 4000111890
天博体育在线登陆
最专业的品牌服务,为您创造更高的价值

AI产品经理的7堂必修课:必备的AI基础知识

发布时间:2022-05-24 10:34:45   作者:天博体育在线登陆   来源:天博体育下载链接

  导语:随着AI产品近年在市场上的热门,AI产品经理也变得抢手了。然而入门AI产品经理除了基本的技能外,还必须具备基础的AI知识。本篇文章,作者将向我们分享基础的AI知识,助你入门了解AI行业。

  这些年大家都常常听到人工智能有三大马车,即:数据、算法和算力,其实这个是拆解任何一个人工智能项目或者是问题非常有效的方法,大家务必记住这三个要素,缺一不可,我们后面的实战章节会拿来反复进行验证使用。我们接下来就从基础理论看看这三大要素的组成。

  数据:任何AI模型训练都需要数据,AI深度学习模型不可能无中生有。包括我们人类的高等智能学习也需要有输入,才能进行输出,因此数据就是AI模型的重中之重。

  其中训练集占全部数据集的绝大部分,数量从万级到千万级甚至更多,且对于算法模型来说,一定是数据越多算法模型越好,即可以理解为算法跟人一样“见多识广”,见的数据多了自然模型更加鲁棒和强大。

  验证集主要用来调整模型参数从而选择最优模型,验证集可以理解成我们学习时候的教参书,用来验证我们是否对于所学习知识已经掌握;但是最终用来评价模型的好坏是测试集,这部分数据对于模型一定之前是保密的,可以理解对于模型要进行一次“考试”。

  考试范围包含之前训练集的“知识点“,看看那其中训练集:验证集:测试集=6:2:2;验证集并不是必须的,因此训练集与测试集的比例一般为8:2。

  人工智能的快速发展与其开源的氛围密不可分,很多大型的组织和机构都愿意把其最新的研究结果的数据开源,供其他人共同研究、推进学术进步。

  比如海外的google dataset search、kaggle、data.gov(美国政府)、各种国内外的比赛赛事主办方会开源数据集、包括有一些专业的公司做公开数据集的聚合业务。

  对于自建数据集,分为两部分:一是可以通过互联网进行爬取,另一方面可以进行自行采集,除了组织周围同事进行小规模数据采集、通过已有产品埋点回流数据,也可以通过找专业公司组织大规模的采集。

  构建自建数据集,需要产品经理与算法同学一同构建数据集的规格specification,即通过分析拆解目标任务,对数据集的构成进行MECE(互相独立、完全穷尽)的拆解,为了更好的拆解,建议大家可以通过构建思维导图的方式来创建。如图1:

  构建完成数据集要求后,可以进行数据集的试采,通过试采一个完整的被试者,来预估采集项目的完整周期,如果时间远远超于预期时间,是否可以考虑简化数据集的标准、多采集设备并行又或是减少采集人数规模、将数据采集项目分成两期。

  由于对于深度学习需要结构化的数据进行训练,因此我们采集完的数据还要同步进行标注。数据标签种类众多,比如分类、拉框、注释、标记(画点)等等。标注之后的结构化数据输入深度学习模型之中才可以进行训练。

  很多同学可能觉得这样的操作前期成本太高了,是否可以不标注就进行训练呢?比如最近大火的自监督学习,自监督学习的核心,在于如何自动为数据产生标签。例如输入一张图片,把图片随机旋转一个角度,然后把旋转后的图片作为输入,随机旋转的角度作为标签。

  再例如,把输入的图片均匀分割成3*3的格子,每个格子里面的内容作为一个patch,随机打乱patch的排列顺序,然后用打乱顺序的patch作为输入,正确的排列顺序作为label。类似这种自动产生的标注,完全无需人工参与。

  但是目前大部分任务,还是需要人类标注(label)大量数据之后再送给机器进行学习。所以之前很多人提到人工智能中都是“人工”这种说法还是十分正确的。

  但其实现在很多互联网数据产生的过程中就自带了标签,比如说近些年很火的图片社交网站Instagram,用户上传图片、视频的同时会增加很多#,#美食 #聚餐 #海滩等等,这些其实就是用户自己手动为图片或者视频打标签的过程,省去了统一再打一次标签的过程,Instagram的后台模型就可以利用每天用户上传分享的海量数据对图片、场景进行分类、检测、识别,甚至模型可以理解这张图片代表了什么,看图说话。

  反之亦然,可以根据用户的一句话组织相应的素材,一句话成片,图文成片等。这里便是利用了众包的思想,其实除了社交媒体之外,平常大家登陆网站输入验证码的时候会让大家选择下面哪张图片包含“自行车”?其实也是一个人工标签不断帮助模型训练的过程。类似的思路大家可以借鉴并融入到自己产品的设计中。

  机器学习直接来源于早期的人工智能领域,机器学习可以定义为一种实现人工智能的方法,传统的算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。从学习方法上来分,机器学习算法可以分为监督学习(如分类问题)、无监督学习(如聚类问题)、半监督学习、集成学习、深度学习和强化学习。

  而深度学习是实现机器学习的技术,即人工智能机器学习深度学习,最初的深度学习是利用深度神经网络来解决特征表达的一种学习过程。

  深度神经网络本身并不是一个全新的概念,可大致理解为包含多个隐含层的神经网络结构。为了提高深层神经网络的训练效果,人们对神经元的连接方法和激活函数等方面做出相应的调整。

  RNN适合应用跟序列有关系的任务,比如时间序列,预测股票行情,比如文本序列,其衍生的诸多变体在自然语言处理领域应用广泛,其中LSTM更是在NLP领域鼎鼎大名。

  CNN的C代表卷积,是一种很好对目标图像降维的数学运算,主要用于提取特征,因此很多图像分类任务应用较多。

  DNN会在搜索中进行应用,可以对于转化率进行预估,这个数据是互联网产品应用频率最高的一个指标,且其转化率预估对应的输入特征包含各个不同域的特征。

  如用户域,宝贝域,query域等,各种特征的维度都能高达千万,甚至上亿级别,如何在模型中处理超高维度的特征,成为了一个亟待解决的问题,如何考虑多维高阶信息的同时兼顾计算量和效率,DNN是一个非常合适的方法。

  深度神经网络通过构造稀疏id特征的稠密向量表示,使得模型能有更好的泛化性,同时,为了让模型能更好的拟合大促期间商品特征数据的剧烈变化,在深度网络的最后一层增加商品id类特征,id组合特征和实时的统计量特征,使得整个网络同时兼顾泛化性和实时性的特点。

  无监督学习我们提一下最近非常火的GAN(生成对抗网络),通过无监督学习同时训练两个模型,其内在的原理可以化身为西方的博弈论或者是东方的道家思想,我还记得我上信息对抗的第一节课老教授就讲了《道德经》中的“反者道之动,弱者道之用”,这其中的内涵读者可以细品。

  深度学习算法根据模型的大小以及最后实际应用的场景会选择部署在端侧还是云侧又或是端云结合的方案。

  随着智能手机不断的发展,现在端侧的算力也不断提升,比如最新的高通骁龙888处理器,算力可以达到26TOPS,TOPS是算力的单位,即每秒钟进行1T(10的12次方)次操作。

  而大家还有印象的是几年前的英伟达显卡还是2000G算力,换算一下只是2TOPS左右,因此可以看到摩尔定律发展下的半导体制程的进步直接影响着深度学习的算力进步。

  比如说自动驾驶,特斯拉的每台汽车搭载一个超算中心,具备144TOPS的算力,可以实时处理运算各种复杂的路面情况,道路标识,检测人物和各种车辆,这些是机器视觉的算法都依赖于强大的算力予以支持。

  综上,我们可知,端侧的算力具备实时性好、安全性好(离线),但是很大程度上依赖于半导体处理的制程以及能效的利用。

  比如说移动端设备手机上就不太可能配备一台算力巨大的超算中心,最核心的一方面就是就是电量有限,算力越高相应的能耗也越高,再一点越大的能耗对应了着需要配备更大体积的电池和运算单元,无论如何这对于人们日常随身携带的物品设定来讲都不是十分合适;

  因此人们就把这个算力单元放到了车上,尤其是新能源电车,有充沛的电力、足够的空间、车身配备很多传感器,平常可以一边采集数据,一边输入算力单元进行快速计算,同时还有一位经验丰富的“人类老司机”进行教学。

  平时我们开车的行为:打方向盘、踩刹车、加速、变道,下雨天怎么驾驶、夜间、雪天、雾霾天如何驾驶等等都是对于深度学习模型进行一次次人为“标注”监督训练的过程,如此往复,车这个“智能体”就会不断的迭代演进,直到可以替代人,完成自动驾驶。

  而以上就是特斯拉AI高级总监Andrej Kaparthy在2019年的特斯拉发布会上提到“影子模式”(shadow mode),了解这背后原理的我当时不禁感叹特斯拉将机器视觉和深度学习的能力发挥到极致,在商业模式上也十分巧妙,将数据、算力和算法在一台车上就形成了闭环,关键是这个车还能进化,越开越聪明。

  沿着这个思路想下去,如果说未来手机的算力和电力已经到天花板(因为重量一般在200g左右,屏幕尺寸6-7寸左右,算力上限和能耗上限可知),而车才是离我们最近的算力单元,那么未来真正了解你的是车,他可以存储你日常行为的数据,具备强大的算力可以不断优化模型,手机最后是否只是沦为一个车中心的延展传感器,离你最近的那个。

  这就很好解释为什么苹果以及国内的华为等手机大厂都选择纷纷躬身入局,卷入“造车运动”。未来,如果不是特斯拉收编了手机,就是手机厂商颠覆了特斯拉,这么讲的话,我更看好前者。

  讲完端侧的算力,我们在看下云端的算力。云端一般指大型的服务器及其集群,也就是我们平常讲的机房。基于上文提到的体积和能效,云端是完全没有这方面限制的,甚至可以理解成理论上算力无上限的算力平台,只要机器够多。云端常用来进行模型的训练,而端测用来模型的部署与推理。

  当然,云端也可以进行模型部署和推理,比如一些对于算力要求比较高的算法就会跑到云端,比如大家常用的语音助手,需要在联网状态下使用。云端优势是算力强大、方便部署迭代,可以做到训推一体,对于产品化来讲非常的便捷无缝衔接,非常适合于互联网的快速迭代模式。

  且这个本质上就是一个暴力美学的过程,通过量变来引发质变,比如近年来广受讨论的GPT-3,他是一个具备1750亿个参数的自然语言模型,该模型经过了45TB的数据进行预训练,并且在不进行微调的情况下,可以在多个NLP基准上达到最先进的性能,训练这个模型需要355个GPU年,耗费成本在百万-千万级别美金。

  神经网络之父Geoffrey Hinton在GPT-3出现后,曾这样感慨:“生命、宇宙和万物的答案,其实只是4.398万亿个参数而已。”

  就像是《新约▪️马太福音》中所说“凡有的,还要加倍给他使他多余;没有的,要把他剩下的也夺走。”

  讲完云端模型,现在市面上还广泛存在一种端云结合的部署方式,即取各家之所长,在端侧模型进行预处理,再把复杂的任务需要大量运算的部分传到云端,在云端计算完毕之后再返回到端侧。

  这种方式,有效的解决了信息隐私问题,因为上传到云端的数据可以是经过特征提取之后的数据对于人类来讲并没有任何意义但是对于机器来讲可以进行后续的计算。同时,也解决了云端模型不断迭代而端侧推理部分迭代较慢的不均衡问题。

  泛化能力是指机器学习算法对新鲜样本的适应能力,简而言之是在原有的数据集上添加新的数据集,通过训练输出一个合理的结果。学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。

  在机器学习中,模型的典型产出过程是由机器学习算法在训练集上进行训练,希望得到的模型能够在训练过程中不可见的验证集上表现良好。而当引入相较数据集而言过多的参数时,或使用相较数据集而言过于复杂的模型时,则就出现了过拟合现象,违反了奥卡姆剃刀原则。

  过拟合造成的一个恶果就包含上述所说的泛化能力较差。其反义词是欠拟合(主要原因是数据量较少)。

  鲁棒性亦称健壮性、稳健性、强健性,是系统的健壮性,它是在异常和危险情况下系统生存的关键,是指系统在一定(结构、大小)的参数摄动下,维持某些性能的特性。

  主干网络,用来做特征提取的网络,代表网络的一部分,一般是用于前端提取图片信息,生成特征图feature map,供后面的网络使用。

  时期,一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一个/次epoch。即,所有训练样本在神经网络中都进行了一次正向传播 FP(forward propagation)和一次反向传播BP(back propagation) 。简而言之,一个epoch就是将所有训练样本训练一次的过程。

  batch size大小是一个超参数,用于定义在更新内部模型参数之前要处理的训练数据集样本量。训练数据集可以分为一个或多个Batch(组)。

  阶段,一般网络分为one-stage和two-stage;即一个阶段还是两个阶段;比如说一张图片直接生成分类结果和bounding box,这个就是one-stage;

  比如输入一张图片,先进行区域的建议,再将选择的区域进行分类,则分为two-stage,整个任务由两个网络完成,下一个网络的输入是上一个网路输出的结果;当然,根据实际任务的区别,也会有three-stage的整体网络设计。

  P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。F-Measure是Precision和Recall加权调和平均:

  ROC曲线是以假正率(FP_rate)和真正率(TP_rate)为轴的曲线,ROC曲线下面的面积我们叫做AUC,如下图所示:

  ROC曲线)曲线与FP_rate轴围成的面积(记作AUC)越大,说明性能越好,即图上L2曲线对应的性能。即:曲线越靠近A点(左上方)性能越好,曲线越靠近B点(右下方)曲线)A点是最完美的performance点,B处是性能最差点。

  (3)位于C-D线上的点说明算法性能和random猜测是一样的–如C、D、E点。位于C-D之上(即曲线位于白色的三角形内)说明算法性能优于随机猜测–如G点,位于C-D之下(即曲线位于灰色的三角形内)说明算法性能差于随机猜测–如F点。

  (4)虽然ROC曲线相比较于Precision和Recall等衡量指标更加合理,但是其在高不平衡数据条件下的的表现仍然过于理想,不能够很好的展示实际情况。

  在有监督学习中,数据是有标注的,以(x, t)的形式出现,其中x是输入数据,t是标注.正确的t标注是ground truth。而ground truth是人类按照一定标准进行定义的基准。

  为了让计算机掌握人类理解的知识需要构筑一个由简单概念组成的多层连接网络来定义复杂对象,计算机通过对这个网络的迭代计算与训练后,可以掌握这个对象的特征,这种方法叫做深度学习,网络学习到的东西叫做特征。特征是一种数据的表达。

  损失函数是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。我们模型训练的过程应该是一个loss function逐渐变小的过程,这样模型才能不断收敛。

  人人都是产品经理(是以产品经理、运营为核心的学习、交流、分享平台,集媒体、培训、社群为一体,全方位服务产品人和运营人,成立9年举办在线+期,线+场,产品经理大会、运营大会20+场,覆盖北上广深杭成都等15个城市,在行业有较高的影响力和知名度。平台聚集了众多BAT美团京东滴滴360小米网易等知名互联网公司产品总监和运营总监,他们在这里与你一起成长。



Copyright © 2005 - 2017
犀牛云提供企业云服务