开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):人工智能项目开发的基本流程(二)】
课程地址:https://edu.aliyun.com/course/3112108/lesson/19255
人工智能项目开发的基本流程(二)
三、数据准备
(一)人工智能项目数据准备
数据准备主要是指收集和预处理数据的过程,按照在需求分析中所确定的需求和目的,有目标性的收集、整合相关的数据,这一阶段主要包括以下三个步骤。
第一个步骤是数据采集,数据来源主要分为通用数据和行业数据两大类,在采集数据过程当中主要的原则为尽可能采集与真实业务场景一致的数据,并覆盖可能的所有情况,例如拍照角度、光线明暗的变化等。
第二个步骤是数据处理的部分,它的任务主要就是过滤掉不符合要求的一些数据,这些不符合要求的数据包括残缺数据、错误数据和重复数据三大类,残缺数据就是指我们拿到的数据是不完整的,比如说供应商的名称,客户的区域信息有一部分的缺失,错误的数据主要是指数据值是错误的、编码和格式也是错误的,对于重复的数据非常好理解,就是指在数据表当中存在相同的一些数据,数据质量实际上是保证数据应用的一个基础。所以在数据处理完之后需要从数据的完整性、一致性和准确性三个方面去评估数据是否达到预期设定的质量要求。第三个步骤是要进行数据标注,这样的过程主要是为了构建一个像人类一样的人工智能模型,需要大量的数据,这些数据必须是针对特定用例予以适当的分类和标注,数据的标注质量会直接影响网络性能的质量,因此数据标注在整个流程当中也是非常重要的一环。
在数据标注之前需要确定以下内容:
第一部分就是标注标准,确定好标注标准是保证数据质量非常关键的一步,它要保证有一个可以参考的标准。
一般可以有以下两种方式,一种是设置标注样例或者是模版,比如颜色的标准底色卡。
第二部分是对于模棱两可的数据设置统一的处理方式,比如统一器用或者是统一进行标注。接着需要对标注形式进行一定的确认,标注形式一般由算法人员制定的,比如说要定制一个能够识别问句的文本分类模型,我们就可以对句子进行零或一的标注,其中一代表了问号,零代表不是问号。
第三部分是标注工具的统一,标注的形式确定以后要对标注工具进行选择,可以选择一些公开的标注工具。
(二)拍立淘系统数据来源
拍立淘目前覆盖几乎淘宝所有的实体类目:比如衣服、家具、电子、零食、美妆、水果等,这背后的数据离不开淘宝成千上万的买家和卖家。
首先阿里集团内部有海量的商品类目和图片,包含各个商品的主图、SKU、副图、晒单图和详情图等,这一部分的图片涵盖了电商领域的各个方面。这些图片都是买家和卖家真实上传的,开发人员后续会对采集到的数据进行相对应的处理和标注。包括去除光线不好、模糊的数据以及部分格式不符合的数据,如gif 格式的数据;在数据标注这一块则是利用标注工具对相应的数据进行拉空标注主体以达到品类划分的目的。
四、模型训练
(一)人工智能项目模型训练
在数据准备完成后就需要去构建模型,并进行模型训练,它主要分为三个步骤。
第一步是对模型进行构建,接着是对模型的构建进行相对应的评估之后会对整个模型进行一定的优化,在模型构建的部分指的是基于主流的人工智能框架,例如TensorFlow、Caffe 、Keras 、PuTorch……去开发出业务所需要的模型。
算法模型构建是一个需要不断改进更新的循环过程,在模型构建当中往往伴随着硬件的升级新模型的设计思路甚至新业务的数据的加入。因此算法只有在不断改进才能更好的去符合我们的业务需求,开发者也可以选择在人工智能开发平台上直接选择平台物质的算法模型进行训练,例如阿里云的视觉智能开放平台、智能语音交互平台和NLP自学习平台……这些平台预示了很多关于图片文本、语音视频、结构化数据等方面的高精度模型,它可以支持开发者零门槛低成本的进行人工智能开发应用。
第二步是对训练得到了这份模型之后,整个开发过程实际上没有结束,为了获得一个满意的模型,需要反复的调整算法参数还有数据集等,不断的去评估训练所生成的模型,这里的模型指标有一些比较常用的,比如说准确率、精确率、召回率等都能够对整个模型的效果进行有效的评估。
第三步是对模型优化的过程实际上是对模型和数据进行迭代升级的过程,这里需要明确的是影响模型优化效果的因素有很多,从基础数据到构造的特征,再从整个算法的选择到实验策略的选择,都会影响到最后的结果。
在应用算法模型的整个过程当中,发生的每个动作或者做的每个修改都会影响模型的最终效果表达。因此算法工程一定要注意的是切勿只重视算法的本身和它的特征,在出现问题的时候要从全方位进行定位和解释。
五、模型应用
(一)人工智能项目模型应用
在我们得到一个满意的模型之后,甚至需要将它部署到真实的业务场景当中去,需要结合运行环境的因素进一步确定算法模型能否达到需求标准,这是整个人工智能开发当中最后一部分。
在整个模型部署当中它实际上需要考虑的因素还是有很多的。比如到底是部署在移动端还是部署在服务器端,部署的环境是选择CPU还是其他,以及内存要进行如何分配。
在完成模型部署之后还需要进行持续的效果跟踪,通常情况下新上的模型一般会进行测试,是否能够返回正常的数据,返回的数据是否可信,确定没有问题以后会进行一个小流量的测试观察一天内效果,如果效果纵向则会扩大流量。
经过一段时间的效果观察,如果效果都是正向的,才回去考虑全扩或者是扩充近百分之一百的流量,通过效果跟踪的前期工作,可以确定是否进行产品版本的迭代更新,验证版本迭代是否对产品规划产生效用。
最合理的途径就是进行数据分析对比,目前市场上已经有很多数据分析平台,而且大部分都是免费的,这些第三方平台已经能够满足我们的基本需求。我们也可以建立自己的平台,这样也能够通过多维度的数据分析进行产品决策。
以数据为导向能够更好的帮助产品经理确定当前的业务流程和产品优化方向。例如可以通过时段对比得知用户的习惯,就有利于运营活动建立。此外可以通过页面的访问频次,得知部分未知广告的转换率,产品的数据分析可以通过多条件组合进行,在必要的时候还可以根据需要整理的一些表格对数据进行更加密切的关注。
(二)拍立淘项目的落地效果
得益于算法、数据和计算能力的发展,以及大量用户的使用和验证,拍立淘的模型训练和测试部署及效果跟踪也得以进行。
目前淘宝在移动端部署的拍立淘功能解决了用户的大部分拍照搜索需求,但是距离充分满足用户的需求还是有一定的距离,整个拍立淘的项目也将会不断进行优化,从各个角度去全方位进行用户体验提升。
本章小结
最后回顾一下本章学习内容,本章当中了解:
1、人工智能的定义、人工智能的发展历史以及人工智能的三大学派,还有它的研究目的,以及在不同行业的主要应用。
2、人工智能产业的结构,这个产业结构从底层到最高层,也就是应用层,分别包含了基础层、技术层以及应用层包含,也学习到了不同层之间的主要内容。
3、人工智能项目开发的基本流程,这里的基本流程就是从需求分析开始到根据这个需求分析去进行一定的数据准备,然后再根据业务场景进行模型训练,最后将模型进行应用在知识的业务场景落地。