urlname
type
Post
password
SyncToConfluence
category
学习笔记
date
Dec 4, 2024
slug
bec76cec-fecf-4ac5-99bc-e09b48cf360c
icon
Button
catalog
summary
本文详细介绍了AI产品经理在算法类AI产品落地过程中的关键环节,包括任务定义、数据工程、模型训练、模型加速和评估。强调了任务定义的重要性,要求AI产品经理与算法人员密切合作,明确需求和任务分类,确保算法开发的准确性。同时,数据工程被视为AI算法发展的核心,涵盖数据采集、生成和标注等环节。模型训练和加速则是实现高效AI产品的关键步骤,最后通过定量和定性评估方法确保算法性能和速度。
tags
产品思考
AI产品
斜杠技能
cover
Status
BusyTime
Status 1
status
Published
在基于深度学习的技术框架下,一个深度学习算法模型的生产一般需要经过以下几个基础环节:任务定义、数据工程、模型训练、模型加速和适配、模型评价
notion image

任务定义——AI算法产品的真实需求与目标

任务定义是AI算法模型开发的第一步,直接影响模型精度和后续开发过程的效率。任务定义需要AI产品经理和算法人员的深度协作,通过明确需求和任务分类,保障算法开发的准确性和有效性。

明确算法需求

任务定义中的关键点

步骤
描述
示例
理解业务规则
AI产品经理需要深刻理解业务规则,确保算法任务与业务需求一致。
- 不同城市交通规则差异:某城市车辆压实线处罚,另一城市仅在实线变道处罚。
细化需求拆解
针对客户需求,层层拆解,明确任务细节,避免模糊描述。
- 抽烟识别:①电子烟是否算抽烟?②拿着未点燃烟算不算?③冬天呼气造成误报如何处理?
分类边界的定义
界定任务分类的明确标准,特别是边界模糊的场景,需考虑光线、环境等复杂因素。
- 车辆颜色识别:灰色与白色在不同光线下的区分;- 因灰尘导致的颜色模糊如何处理?

简单任务与复杂任务对比

任务类型
定义
示例
简单任务
- 分类边界清晰,易定义标准。
- 猫与狗的分类;- 检测交通信号灯状态(红、黄、绿)。
复杂任务
- 分类边界模糊,需特殊条件或场景约束,容易出现争议。
- 车辆颜色识别:灰色与白色;- 动物分类:狮子与老虎(混淆样本:狮虎兽、虎狮兽)。

用样例描述算法需求

数据样例在任务定义中的作用

环节
描述
作用
样本数据分析
查看数据样本,理解场景复杂性,与算法研究员共同明确类别分布和任务边界。
- 提供实际场景的类别分布;- 确定正、负样例和混淆样例规则。
定义样例和类别
提供任务定义、类别定义的样本示例图,用严谨语言描述任务需求,明确算法功能边界。
- 避免算法边界模糊导致重复优化;- 提高任务定义的准确性。
标注说明文档
类似标注说明文档的形式,将需求转化为算法需求描述,包括任务定义、分类定义、场景描述和样本规则。
- 减少客户需求模糊描述带来的反复修改;- 明确开发目标,提高算法开发效率。

示例:狮子和老虎分类任务的样本定义

类别
定义
正样例
负样例
混淆样本
狮子
非洲狮、美洲狮等多个品种
各种狮子图片
老虎图片
狮虎兽、虎狮兽图片
老虎
东北虎、孟加拉虎等多个品种
各种老虎图片
狮子图片
狮虎兽、虎狮兽图片

示例:任务需求描述模板

要素
描述
任务定义
判断图像中的动物是狮子还是老虎。
任务分类
二分类任务:狮子与老虎。
应用场景
动物园监控系统,用于记录动物行为并进行分类。
功能边界
- 白天和夜间均需准确识别;- 对混淆样本(狮虎兽、虎狮兽)提供单独的分类选项。
正样例图片
多种光线条件下的狮子图片和老虎图片。
负样例图片
其他动物的图片,如狼、狗等。
混淆样本划分规则
对混淆样本明确定义并在文档中说明,例如狮虎兽归类为“混合种”。

总结

任务定义的关键点

  1. 明确算法需求
      • 理解业务规则,细化客户需求;
      • 定义清晰的任务边界,处理边界模糊问题。
  1. 用样例描述需求
      • 查看并分析数据样本,提供正负样例及混淆样本;
      • 将需求文档转化为算法需求描述,避免方向偏差。
  1. 任务与类别定义
      • 以严谨语言描述任务的定义、分类规则和功能边界;
      • 提前确认样本数据,减少后期开发反复修改。

数据工程——用数据定义功能边界

数据是AI算法发展的三大核心要素之一,是深度学习的“燃料”。尽管小样本学习、迁移学习等新方法减少了对数据的依赖,但高精度和强泛化性能的模型依然离不开大规模数据的支持。

数据工程的核心环节

环节
描述
数据采集
获取原始数据,是数据工程的第一步,数据质量直接决定模型效果。
数据生成
在数据匮乏时,通过生成技术增加数据量,例如对抗生成网络(GAN)、模拟环境渲染等。
数据标注
对数据进行结构化标记,包括图像标注、语音标注、文本标注等。
数据清洗/质检
对原始数据进行清洗和质量检查,去除噪声和不一致的数据。

数据采集

数据采集是数据工程的基础环节,需关注数据质量、成本、渠道隐私安全

数据采集的关键点

要素
描述
示例
数据质量
高质量数据比低质量数据更具价值,可避免后续大量预处理成本。
低质量模糊数据需要额外研究提升分辨率,增加开发成本。
数据成本
通过成本较低的渠道获取清晰有效数据是最佳方案。
高质量数据的获取成本通常低于后期处理模糊数据的成本。
数据渠道
数据获取方式因任务而异,可通过互联网爬取、客户提供、公开数据集或数据购买实现。
图像识别任务可用互联网爬取;涉密任务需从客户处获取;已研究领域可使用公开数据集。
隐私数据安全
在数据流通过程中,需确保隐私数据的安全,特别是涉及敏感数据的场景。
医疗影像数据采集需严格遵守数据隐私和合规要求。

数据标注

数据标注是AI模型开发的关键环节,标注的质量和精细度直接影响模型的性能。

不同模态的数据标注

模态
任务类型
描述
示例
图像
拉框、标签分类、语义分割、关键点标注、3D点云
标注图像中的目标位置、类别和像素级区域。
- 拉框:框选人脸;- 语义分割:分割道路和车辆;- 3D点云:标注自动驾驶场景中的物体。
语音
说话内容、说话人、语种标注
分段标注语音中的内容、说话人身份,或对语种分类。
将多段语音标注为不同的发言人,并标明所用语种。
文本
分类、情感、实体命名
对文本内容进行分类标注,如文本情感分析或实体命名任务。
- 分类:新闻类别标注;- 实体命名:人名、地名标注。

图像标注任务细化

任务类型
描述
示例
拉框
标注图像中感兴趣区域(ROI),框选物体并赋予标签。
标注人脸、帽子等。
标签分类
对图像按类别划分,可分为单标签、多标签任务。
标注图片中的猫或狗,或同时标注猫和狗。
语义分割
像素级划分图像区域,标注闭合区域类别。
分割道路、车辆区域。
关键点标注
在目标物体上标注关键点,如人脸的五官位置。
标注人脸关键点用于表情识别。
3D点云标注
在3D数据中标注目标物体的长宽高、方向等信息。
标注自动驾驶场景中的行人、车辆等。

数据生成

当数据匮乏成为瓶颈时,可通过数据生成技术补充训练数据。

数据生成方式

方法
描述
示例
简单数据生成
对已有数据进行变换,如添加噪声或风格转换,提高数据多样性。
- 转换图像风格,模拟不同天气条件;- 对图像加入噪声提高抗干扰能力。
复杂数据生成
利用生成对抗网络(GAN)等技术合成新数据,适用于长尾任务或特殊场景。
- 使用GAN生成极端路况数据,用于自动驾驶模型训练。
自监督数据生成
自动从数据中构建监督信息,生成用于预训练的数据集。
- 图像遮挡恢复任务;- 文本完形填空任务。
虚拟环境数据生成
借助虚拟现实和渲染技术,生成逼真的模拟数据,缩短数据获取周期。
- 在虚拟环境中模拟交通场景,生成自动驾驶数据;- 使用游戏画面生成机器人训练数据。

总结

数据工程的核心

  1. 数据采集
      • 确保数据质量、控制成本;
      • 通过多种渠道获取,同时保障隐私安全。
  1. 数据标注
      • 细化任务类型和标注标准;
      • 标注内容覆盖广泛,包括图像、语音、文本等。
  1. 数据生成
      • 利用简单变换或生成对抗技术扩充数据;
      • 在长尾场景中,虚拟环境数据生成提供快速解决方案。

算法生产——获得最小可行的AI产品

算法生产是AI产品开发的核心环节,涵盖模型训练模型加速跨硬件平台适配。这些步骤的协同完成,使得算法能够快速转化为高效、实用的AI产品。

训练模型

模型训练是算法生产的基础环节,利用深度学习方法,通过数据训练生成模型。

模型训练核心概念

概念
描述
示例
算法框架
深度学习的开发工具链,提供基础算子、训练工具和可视化支持。
TensorFlow、PyTorch、Caffe、PaddlePaddle等。
算子/操作
神经网络中用于处理数据的基础单元,如卷积、激活、池化等操作。
卷积算子:通过核矩阵计算图像的特征。
网络结构
神经元连接构成的输入-输出结构,不同结构学习能力不同。
常见网络:全连接网络、卷积神经网络(CNN)。
主干网络
经验证有效的经典网络结构,常用于工程实践。
GoogLeNet、ResNet、MobileNet等。
参数
模型通过训练学习的数据拟合值,用于描述网络结构。
如公式y=ax+bx²+cx³中的a, b, c
超参数
配置训练过程的参数,影响学习方法和效率。
学习率、优化方法(如随机梯度下降SGD)。
模型
训练结果,包含网络结构和参数的组合,用于推理和预测。
PyTorch生成的.pth文件;Caffe生成的.caffemodel文件。
流水线
多个模型组合实现复杂业务任务的框架。
交通违章识别流水线:包含车辆检测、信号灯识别、标线检测模型。

模型训练流程类比

环节
类比
训练框架
厨房
算子
厨房工具和调料
网络结构
食谱
主干网络
标准健康食谱
参数
原材料
超参数
烹饪方法和火候
数据
燃料
模型
最终出锅的菜
流水线
多菜组合成的大餐流程

加速模型

模型加速优化性能,使其在满足精度要求的同时,获得更高推理速度,提升产品竞争力。

模型加速方法

方法
描述
工具链示例
推理优化
解析模型结构,优化计算流程,去除冗余操作。
NVIDIA TensorRT、Intel OpenVINO。
模型量化
将浮点数参数转换为低精度格式,减小模型大小、提升推理速度。
FP32转换为FP16或INT8。
量化方法
- 离线方式:直接量化、基于数据校准;- 在线方式:通过重新训练微调提升精度。
TensorRT量化工具;量化微调(Finetune)。

加速流程示例(以TensorRT为例)

步骤
描述
模型解析
将开源训练框架模型(如PyTorch、MXNet)转换为支持的格式(如ONNX)。
模型优化
去除非必要结构、合并冗余计算,并输出优化后的引擎。
推理执行
加载优化引擎,在目标硬件平台上进行推理,获得更高的速度。

跨硬件平台适配

随着AI芯片市场的多样化,算法模型需要适配不同的硬件平台以满足多样化应用需求。

硬件平台适配流程

步骤
描述
模型格式转换
将训练模型转换为目标硬件支持的模型格式。
平台工具链加速
使用目标平台的优化工具链(如NVIDIA TensorRT、华为昇腾Atlas工具)提升性能。
代码编译
针对目标硬件进行代码编译,生成可高效运行的程序。

硬件平台适配的关键考虑

因素
描述
算力
硬件是否提供足够的计算能力支持模型运行。
功耗
边缘计算场景对能耗敏感,需优化功耗表现。
价格
平衡性能需求和成本约束。
工具链成熟度
新硬件平台需提供完善的工具链支持,包括模型格式转换、新算子支持等。

总结

模型训练核心

  1. 算法框架与网络结构:选择成熟的框架(如PyTorch),结合经典主干网络(如ResNet)。
  1. 参数与超参数优化:在训练中调优参数,配置合理的超参数。

模型加速优化

  1. 推理优化:去除冗余,提升速度。
  1. 模型量化:FP32转换为低精度格式,平衡速度与精度。

跨平台适配

  1. 适配工具链:借助平台提供的工具(如TensorRT)实现快速迁移。
  1. 综合考量:算力、功耗、价格和工具链成熟度决定芯片选型。

算法评估——获得算法能力边界

算法评估是确保AI产品核心算法能力的关键。通过评估算法的功能、精度和速度,定义产品的能力边界,为商业化服务提供可靠支持。

两种评估方法

评估方法概述

方法
描述
优点
缺点
定量评估
通过客观指标计算评估算法的性能(如精确率、召回率等)。
客观科学,可通过标准化数据集对比算法性能。
建立测试集成本高,测试需要深入技术支持。
定性评估
通过人眼等直观方式判断算法表现(如识别结果的直观效果)。
直观易懂,便于发现算法弱点和问题。
效率低,难以处理大规模测试,无法量化具体性能指标。

测试样本选取的考量

考量维度
描述
样本多样性
覆盖多种场景和边界条件,确保测试结果具有代表性。
真实数据分布
反映业务场景中真实的数据分布特性,避免因样本偏差影响评估结果。
噪声与异常数据
包含噪声或异常数据,评估模型对复杂场景的鲁棒性。

视图识别的精度指标

精度评价三类指标

类别
内容
基础概念
包括度量基准、测试集、真实值、预测值、置信度、阈值、正负样本、混淆矩阵等。
基础指标
准确率、错误率、精确率、召回率、误报率等,提供算法性能的基本衡量。
二级指标
F值(F1值)、ROC曲线、AUC等,综合评估算法模型的优劣。

基础概念详解

概念
描述
度量基准
算法评估的规则和标准,包括测试集构成及测试方法。
测试集
包含原始数据和标注结果,用于测试模型性能。
混淆矩阵
误差矩阵,用于描述预测类别与真实类别之间的关系,包含TP、TN、FP、FN四类结果。
正负样本
感兴趣的类别为正样本,背景类别为负样本。例如,人脸检测任务中“有人脸”的图片是正样本,“无人脸”的图片是负样本。
置信度
模型输出预测结果的概率值,用于判断分类结果的可信度。
阈值
决定置信度的判定标准,通过调整阈值可优化模型的精确率或召回率。

基础指标公式

指标
描述
公式
准确率
预测正确的样本数量占总样本数量的比例。
Accuracy=TP+TNTP+TN+FP+FN\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}Accuracy=TP+TN+FP+FNTP+TN​
错误率
错误识别样本数量占总样本数量的比例。
Error Rate=1−Accuracy\text{Error Rate} = 1 - \text{Accuracy}Error Rate=1−Accuracy
精确率
预测为正类的样本中,实际为正类的比例。
Precision=TPTP+FP\text{Precision} = \frac{TP}{TP + FP}Precision=TP+FPTP​
召回率
实际为正类的样本中,被正确预测的比例。
Recall=TPTP+FN\text{Recall} = \frac{TP}{TP + FN}Recall=TP+FNTP​
误报率
实际为负类的样本中,被错误预测为正类的比例。
FPR=FPFP+TN\text{FPR} = \frac{FP}{FP + TN}FPR=FP+TNFP​

二级指标

指标
描述
公式或示例
F值
精确率和召回率的调和平均值,综合衡量模型性能。
ROC曲线
描述召回率(TPR)和误报率(FPR)的关系,曲线越陡峭表示模型性能越好。
AUC
ROC曲线下的面积,AUC值越接近1,表示模型性能越好。
值范围为0~1,理想情况下为1。

语音识别及文本精度评价

常用指标

指标
描述
公式
WER
语音识别中,替换、删除、插入的词数占总词数的百分比。
WER=S+D+IN\text{WER} = \frac{S + D + I}{N}WER=NS+D+I​
SER
语音识别中,错误句子数量占总句子数量的比例。
SER=NeNt\text{SER} = \frac{N_e}{N_t}SER=Nt​Ne​​

确定合理的速度指标

常用速度指标

指标
描述
QPS(吞吐量)
单位时间内处理图像的数量,用于衡量图像识别系统的处理速度。
支持的路数
实时视频接入数量,用于智慧城市、安防等场景。
倍速
离线视频处理的速度倍数,常见于智慧城市、安防等产品。
时延
系统响应时间,衡量实时性。根据响应级别分为毫秒级(人不可感知)、秒级(人可感知)、数秒以上(无实时性要求)。

总结

评估方法

  • 定量评估:科学量化指标(如准确率、召回率)适用于大规模算法测试。
  • 定性评估:直观判定算法弱点,适用于小规模分析。

精度与速度综合考虑

  1. 精度指标(F值、ROC、AUC)衡量算法能力;
  1. 速度指标(QPS、时延等)体现产品的性能和成本。
ReactNative移动开发实战第三版:习题记录AI产品经理:产品需求流转
Loading...
Announcement
暂时没有公告!