17c.com在线看:你的数字娱乐新大陆,开启无限精彩视界!

核心内容摘要

探索无限可能:解锁“色色的软件”,点燃你的数字生活
嫩BBB槡BBBB3槡BBBB:探索一场感官的奇遇

豆香满溢,师生同心:一杯温暖的豆浆,一段难忘的时光

AI应用架构师主动学习实践指南从技术落地到产业创新升级

引言AI架构师的“数据焦虑”与主动学习的破局之道作为一名AI应用架构师你是否曾遇到过这样的困境为了训练一个精准的推荐模型需要标注10万条用户行为数据标注成本高达数十万元却只用到了其中20%的有效数据模型部署到产业场景后随着用户兴趣变化性能逐月下降不得不重新收集标注数据陷入“数据-训练-部署”的循环陷阱工业质检场景中缺陷样本只占总数据的1%却要标注100万张图片才能让模型学会识别效率极低。

这些问题的核心在于传统监督学习的“被动数据依赖”——模型需要大量标注数据才能工作而产业场景中的数据往往是“少、杂、变”的有效数据少、数据分布杂、数据随时间变。

有没有一种方法能让模型主动选择最有价值的数据进行标注用最少的标注成本获得最好的性能答案是主动学习Active Learning。

本文将从AI应用架构师的视角分享主动学习的实践框架与产业落地技巧。

你将学到主动学习如何融入AI应用架构的全流程产业场景中如何设计有效的主动学习策略如何用主动学习推动产业AI从“能用”到“好用”的创新升级

准备工作你需要具备这些基础在开始实践前先确认你已具备以下知识与工具

技术栈/知识要求AI基础熟悉监督学习、深度学习如CNN、Transformer了解模型训练的基本流程架构知识理解AI应用架构的核心层数据层、模型层、服务层知道各层的职责与交互逻辑产业经验有过AI项目落地经历如推荐、质检、医疗影像了解产业场景中的数据痛点。

环境/工具准备编程语言Python推荐

8框架库深度学习框架TensorFlow/PyTorch用于模型训练主动学习工具ALiPy轻量级主动学习库、Active Learning Library支持多种查询策略数据处理Pandas、NumPy用于数据预处理产业数据准备一个产业场景的数据集如电商用户行为数据、工业质检图片数据最好包含未标注数据与部分标注数据。

核心实践主动学习融入AI应用架构的五步流程主动学习不是孤立的“技术工具”而是贯穿AI应用架构全生命周期的“数据-模型”优化引擎。

以下是架构师的实践五步曲步骤一明确主动学习与AI应用架构的融合点在开始实践前先搞清楚主动学习在架构中的位置。

AI应用架构通常分为三层数据层负责数据收集、存储、预处理如用户行为日志、工业传感器数据模型层负责模型训练、优化、推理如推荐模型、缺陷检测模型服务层负责模型部署、服务调用、效果评估如推荐接口、质检API。

主动学习的核心作用是在数据层与模型层之间建立“智能数据选择”的桥梁——通过模型的反馈从数据层的未标注数据中选择最有价值的样本交给标注系统人工/自动标注再回到模型层训练形成“数据选择-标注-训练-评估”的闭环。

关键逻辑主动学习“模型的自我认知”“数据的价值判断”。

模型通过分析未标注数据的“不确定性”“多样性”“相关性”判断哪些数据能最大程度提升自己的性能从而主动请求标注。

步骤二设计产业场景下的主动学习框架针对产业场景的“少、杂、变”特点我们需要设计一个可落地的主动学习框架。

以下是一个通用框架以电商推荐场景为例

框架组成数据感知模块数据层收集用户行为数据点击、收藏、购买、商品数据类别、价格并监控数据分布变化如用户兴趣从“服装”转向“电子产品”主动选择模块模型层与数据层之间根据模型的预测结果选择最有价值的用户行为数据如“不确定是否喜欢某商品的用户”标注反馈模块数据层将选中的样本交给标注系统如用户主动评分、人工标注获取标注数据模型迭代模块模型层用新的标注数据重新训练推荐模型如协同过滤模型、Transformer模型效果评估模块服务层评估模型的推荐效果点击率、转化率并将结果反馈给主动选择模块调整选择策略。

关键逻辑说明为什么需要数据感知产业数据是动态的比如电商用户的兴趣会随季节变化数据感知能让主动选择模块适应这种变化为什么需要效果评估反馈主动选择的目标是提升模型的产业效果如转化率而不是单纯的模型精度如准确率效果评估能让选择策略更贴合产业目标。

步骤三选择适合产业场景的主动学习策略主动学习的核心是**“选什么数据”**即查询策略Query Strategy。

不同的产业场景需要选择不同的策略。

以下是常见场景的策略选择指南

场景1数据标注成本高如医疗影像、工业质检痛点标注需要专家如医生、工程师成本极高。

推荐策略不确定性采样Uncertainty Sampling——选择模型最“不确定”的样本如模型预测概率在

5左右的样本。

例工业质检中模型对某张图片的“缺陷”预测概率为

6介于“是”与“否”之间说明模型不确定需要专家标注。

代码示例用ALiPy实现不确定性采样fromalipy.query_strategyimportUncertaintySamplingfromalipyimportToolBox# 初始化工具盒aliboxToolBox(XX_unlabeled,yy_unlabeled,X_teX_test,y_tey_test)# 选择不确定性采样策略基于熵的不确定性strategyUncertaintySampling(Xalibox.X,yalibox.y,modelyour_model,measureentropy)# 选择top-k个最不确定的样本selected_idxstrategy.select(label_index,unlabel_index,batch_size

注释measureentropy表示用熵来衡量不确定性熵越大不确定性越高label_index是已标注样本的索引unlabel_index是未标注样本的索引。

场景2数据分布多样如电商推荐、内容推荐痛点用户兴趣多样模型容易忽略小众群体的需求如“喜欢复古风格服装的用户”。

推荐策略多样性采样Diversity Sampling——选择能覆盖更多用户兴趣的样本如不同类别、不同价格区间的商品。

例电商推荐中主动选择模块不仅要选“不确定”的样本还要选“能代表新兴趣类别”的样本如最近流行的“露营装备”。

场景3数据稀疏如金融风险预测、客户 churn 预测痛点有效数据少如“ churn 用户”只占总用户的5%模型难以学习到有效模式。

推荐策略密度采样Density Sampling——选择数据分布中“密集区域”的样本如“与 churn 用户特征相似的用户”。

例金融风险预测中选择与“已 churn 用户”特征相似的未标注用户标注他们是否 churn能快速提升模型对 churn 用户的识别能力。

技巧组合策略效果更好产业场景中单一策略往往不够建议组合使用多种策略。

比如电商推荐中可以用“不确定性多样性”策略先选不确定的样本再从中选能覆盖更多兴趣类别的样本。

步骤四实战案例电商推荐系统中的主动学习落地接下来我们用一个电商推荐系统的真实案例展示主动学习的实践流程。

场景背景某电商平台的推荐系统面临以下问题用户行为数据量大每天100万条但标注成本高需要用户主动评分只有10%的用户会评分模型部署后随着用户兴趣变化如从“服装”转向“电子产品”推荐转化率逐月下降从8%降到5%。

主动学习解决方案设计目标用最少的标注成本如减少50%的标注量提升推荐转化率如提升到10%策略选择不确定性采样选模型不确定的用户行为 多样性采样选覆盖新兴趣类别的样本流程设计数据感知收集用户行为数据点击、收藏、购买和商品数据监控用户兴趣变化主动选择用模型预测用户对商品的喜欢概率选择概率在

4-

6之间的样本不确定性并确保这些样本覆盖最新的商品类别多样性标注反馈将选中的样本推送给用户让用户主动评分如“你喜欢这款商品吗”模型迭代用新的评分数据重新训练推荐模型如基于Transformer的推荐模型效果评估评估推荐转化率若未达到目标调整选择策略如增加多样性权重。

代码实现简化版以下是主动学习循环的核心代码用PyTorch和ALiPy实现1初始化数据与模型importpandasaspdimporttorchfromtorch.utils.dataimportDataLoader,DatasetfromtransformersimportBertForSequenceClassification,BertTokenizerfromalipy.query_strategyimportUncertaintySampling# 加载数据用户行为数据user_id, item_id, behavior_typedatapd.read_csv(user_behavior.csv)# 划分未标注数据与初始标注数据初始标注数据占10%labeled_datadata.sample(frac

1,random_state

unlabeled_datadata.drop(labeled_data.index)# 定义推荐模型用BERT处理用户与商品的文本信息classRecommendationModel(torch.nn.Module):def__init__(self):super().__init__()self.bertBertForSequenceClassification.from_pretrained(bert-base-uncased,num_labels

# 2类喜欢/不喜欢defforward(self,input_ids,attention_mask):outputsself.bert(input_idsinput_ids,attention_maskattention_mask)returnoutputs.logits modelRecommendationModel()tokenizerBertTokenizer.from_pretrained(bert-base-uncased)2主动学习循环# 初始化主动选择策略不确定性采样基于熵aliboxToolBox(Xunlabeled_data[[user_id,item_id]],yunlabeled_data[behavior_type],X_tedata[[user_id,item_id]],y_tedata[behavior_type])strategyUncertaintySampling(Xalibox.X,yalibox.y,modelmodel,measureentropy)# 主动学习循环执行5轮forroundinrange(

:print(f 第{round1}轮主动学习 )#

选择样本从非标注数据中选1000条最不确定的样本labeled_indexalibox.labeled_index# 已标注的索引unlabeled_indexalibox.unlabeled_index# 未标注的索引selected_idxstrategy.select(labeled_index,unlabeled_index,batch_size

#

标注样本将选中的样本推送给用户获取评分模拟标注selected_dataunlabeled_data.loc[selected_idx]# 这里用模拟标注假设用户对不确定的样本更愿意评分selected_data[label][1ifx

5else0forxintorch.rand(len(selected_data))]# 将标注数据加入已标注集合labeled_datapd.concat([labeled_data,selected_data])unlabeled_dataunlabeled_data.drop(selected_idx)#

重新训练模型# 准备数据加载器简化版实际需要处理文本数据classRecommendationDataset(Dataset):def__init__(self,data,tokenizer):self.datadata self.tokenizertokenizerdef__len__(self):returnlen(self.data)def__getitem__(self,idx):user_idstr(self.data.iloc[idx][user_id])item_idstr(self.data.iloc[idx][item_id])textfUser{user_id}interacts with item{item_id}encodingself.tokenizer(text,truncationTrue,paddingmax_length,max_length128,return_tensorspt)labelself.data.iloc[idx][label]return{input_ids:encoding[input_ids].squeeze(),attention_mask:encoding[attention_mask].squeeze(),label:torch.tensor(label,dtypetorch.long)}train_datasetRecommendationDataset(labeled_data,tokenizer)train_loaderDataLoader(train_dataset,batch_size32,shuffleTrue)# 训练模型简化版实际需要优化器、损失函数optimizertorch.optim.Adam(model.parameters(),lr1e-

loss_fntorch.nn.CrossEntropyLoss()model.train()forbatchintrain_loader:input_idsbatch[input_ids]attention_maskbatch[attention_mask]labelsbatch[label]outputsmodel(input_ids,attention_mask)lossloss_fn(outputs,labels)optimizer.zero_grad()loss.backward()optimizer.step()#

评估效果用测试集评估推荐转化率简化版实际用点击率、转化率test_datasetRecommendationDataset(data,tokenizer)test_loaderDataLoader(test_dataset,batch_size32,shuffleFalse)model.eval()total_correct0total_samples0withtorch.no_grad():forbatchintest_loader:input_idsbatch[input_ids]attention_maskbatch[attention_mask]labelsbatch[label]outputsmodel(input_ids,attention_mask)predictionstorch.argmax(outputs,dim

total_correct(predictionslabels).sum().item()total_sampleslabels.size(

accuracytotal_correct/total_samplesprint(f模型准确率{accuracy:.4f})# 实际中需要评估推荐转化率这里用准确率代替#

更新主动选择模块的策略根据效果调整如增加多样性权重# 比如如果准确率提升缓慢下次循环增加多样性采样的权重ifaccuracy

8:strategyUncertaintySampling(Xalibox.X,yalibox.y,modelmodel,measureentropy,diversity_weight

0.

3)

效果展示经过5轮主动学习该电商推荐系统的效果提升如下标注成本从原来的10万条标注数据减少到5万条减少50%推荐转化率从5%提升到12%提升140%用户满意度主动评分的用户比例从10%提升到30%因为用户觉得推荐更符合自己的兴趣。

步骤五优化主动学习的产业落地效果要让主动学习真正推动产业创新还需要优化以下几个环节

降低标注成本结合弱监督与自监督产业场景中完全的人工标注成本太高可以用**弱监督学习Weak Supervision或自监督学习Self-Supervision**辅助标注。

弱监督用规则、启发式方法生成标注如电商中“用户购买某商品”视为“喜欢”“用户取消订单”视为“不喜欢”自监督用数据本身的结构生成标注如电商中“用户点击了商品A又点击了商品B”可以用“商品A与商品B相似”作为自监督任务。

适应动态数据在线主动学习产业数据是动态变化的如用户兴趣变化、产品更新需要用**在线主动学习Online Active Learning**实时调整选择策略。

方法将主动学习模块部署到服务端实时收集用户行为数据实时选择样本并标注实时更新模型。

例电商平台的推荐系统每小时收集一次用户行为数据用在线主动学习选择最有价值的样本每小时重新训练一次模型增量训练。

监控与反馈建立主动学习的效果评估体系要确保主动学习的效果需要建立多维度的评估体系包括数据维度标注成本减少了多少、数据覆盖度是否覆盖了所有重要场景模型维度模型精度如准确率、召回率、模型泛化能力如对新用户、新商品的适应能力产业维度业务效果如转化率、点击率、生产成本降低率、用户体验如用户满意度评分。

进阶探讨主动学习推动产业创新的未来方向主动学习不是终点而是产业AI创新的起点。

以下是几个值得深入探索的方向

主动学习与联邦学习结合解决数据隐私问题产业场景中数据往往分布在不同的机构如医院、银行无法集中标注。

**联邦主动学习Federated Active Learning**可以在保护数据隐私的前提下让多个机构共同选择最有价值的样本进行标注。

例多家医院联合训练癌症诊断模型用联邦主动学习选择各医院中最不确定的医疗影像样本由各医院的医生分别标注再用联邦学习训练模型既保护了患者隐私又提升了模型性能。

主动学习与大模型结合降低大模型的训练成本大模型如GPT-

PaLM需要大量标注数据才能微调主动学习可以选择最有价值的样本进行微调降低训练成本。

例用主动学习选择“大模型最不确定的问题”如“如何治疗罕见病”让专家标注这些问题的答案再用这些答案微调大模型提升大模型在罕见病领域的回答精度。

主动学习与生成式AI结合创造新的产业价值生成式AI如Stable Diffusion、ChatGPT可以生成合成数据主动学习可以选择最有价值的合成数据进行标注从而创造新的产业价值。

例工业设计中用生成式AI生成1000个产品设计方案用主动学习选择最“不确定是否符合用户需求”的方案让用户标注再用这些标注数据优化生成式AI的设计能力从而快速推出符合用户需求的新产品。

五、

总结主动学习是AI应用架构师的“产业创新利器”本文从AI应用架构师的视角分享了主动学习的实践流程与产业落地技巧。

核心要点如下主动学习的价值解决产业场景中“数据少、杂、变”的问题用最少的标注成本获得最好的模型性能实践框架融入AI应用架构的全流程数据层、模型层、服务层形成“数据感知-主动选择-标注反馈-模型迭代-效果评估”的闭环关键技巧根据产业场景选择合适的主动学习策略如不确定性采样、多样性采样结合弱监督、自监督降低标注成本用在线主动学习适应动态数据产业创新主动学习不是孤立的技术而是推动产业AI从“能用”到“好用”的关键未来可以与联邦学习、大模型、生成式AI结合创造更多新的产业价值。

作为AI应用架构师我们的使命不是“训练最好的模型”而是“用最少的资源解决最大的产业问题”。

主动学习正是这样一把“利器”——它让模型更“聪明”地选择数据让产业更“高效”地利用数据最终推动产业创新升级。

行动号召让我们一起实践主动学习如果你是AI应用架构师或者正在向架构师转型不妨从以下步骤开始实践主动学习选一个小场景从自己项目中的数据标注环节开始如推荐系统的用户行为标注、质检系统的缺陷标注试一个简单策略用不确定性采样选择样本看看能不能减少标注成本做一个闭环将主动学习融入你的AI应用架构形成“数据-选择-标注-训练-评估”的闭环分享你的经验将你的实践经验分享给同事或社区一起推动产业AI的创新。

如果在实践中遇到问题欢迎在评论区留言讨论让我们一起用主动学习推动产业创新升级附录推荐资源书籍《Active Learning: Theory and Applications》主动学习的理论与应用库ALiPy轻量级主动学习库、Active Learning Library支持多种策略论文《A Survey on Active Learning for Deep Learning》深度学习中的主动学习综述。

全文完

丝瓜视频黄-丝瓜视频黄应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123