用AI技术推动西安民俗文化,斗鱼超管团队有一套

摘要:AI成为传统文化发展的助推器,助力传统文化朝着大众化、数字化、个性化、精准化方向发展,赋予传统文化新的生机,延续传统文化新的生命。“斗鱼团队”从五个方面进行阐述“纵横西安”这个民俗文创产品实现的背后技术。

在科技引领生活日新月异变化的现在,新文创应运而生。随着人工智能技术不断发展,“文化+AI”成为文化与科技融合的最新亮点。AI也成为了传统文化发展的助推器,助力传统文化朝着大众化、数字化、个性化、精准化方向发展,赋予传统文化新的生机,延续传统文化新的生命。

“冲天香阵透长安,满城尽带黄金甲。”长安即是如今的西安,历史上前后有13个王朝在此建都,是今人追寻遗迹的首选之地。

为了帮助大家能够熟识西安那耸立城墙内外的诸多事务,在故都之旅中奔驰无阻。斗鱼超管团队开发了一款名为“纵横西安”Android端APP,它能够通过图片秒速识别,显示图片内容中背后的那些事儿。

纵横西安APP logo设计上采用了西安两字纵向拼接为城楼,辅以“陕”字的篆书阴刻,在开屏页采用了富有秦朝元素的的暗纹,以添庄重。

进入APP后,可以通过打开相册和实时拍照两种方式,选择待识别的素材。选定图片后,可选择是否剪裁图片,以便更好地进行识别。值得一提的是,在图片的识别动效画面,以及欢迎页的暗纹还是loading跳动的icon,都采用了兵马俑、肉夹馍、景泰蓝等西安特色,让用户现实所见和产品体验相互交融,浑然一体。

APP 的图片识别率接近99%,速度不到1s。最终识别结束,会生成一张雅致的书签,并为用户提供了一键保存,分享到微信和朋友圈的功能,满足用户获取知识、分享旅行见闻的需求。

纵横西安APP识别的类别有美食、景点、工艺品、民俗和特产五大类。斗鱼超管团队对这些类别做了区别处理:如果识别的结果是美食,用户可直接点击大众点评按钮,搜索美食所在的方位;若识别结果是景点,则可直接点击地图按钮,搜索景点的具体位置;若识别结果为工艺品、民俗或者特产,则可直接点击淘宝按钮,进行搜寻和购买。

图中展示的是书签的具体样式,设计精美的书签中不仅包含了识别结果,也包含了这些结果的具体介绍,非常利于传播。总结一下,这是一款小而美的应用,希望为西安民俗文化的推动尽一份力。

看到这么一个精美的APP 应用,斗鱼团队会好奇这个应用是怎么做出来了?背后都运用了哪些技术?接下来就给大家从解题思路、数据处理、模型训练、实验结果和应用介绍五个方面进行阐述这个民俗文创产品实现的背后技术。

一 .解题思路

(1)此次项目可以看做是一个图像分类的任务,面对机器学习项目,斗鱼团队首先要做的就是数据分析,分析和校验数据可能达到事半功倍的效果;

(2)选择一个好的baseline模型,选择常用的网络结构进行结果比对,基于较优的网络进行参数调试;

(3)分析badcase,找出错误样本并分析出错原因,针对性地调整数据和算法;

(4)持续迭代优化,步骤3中针对性优化后,再进行结果验证,对badcase分析和优化,直到结果满意为止。

二. 数据处理

拿到初始数据后,斗鱼团队对数据的类别进行了分析,如图中所示,类别之间存在着严重的不均衡,图中红色框标出的是数据特别少的类别,最少的类别只有23张,最多的类别有1400张,将近有60倍的差距。

斗鱼团队通过数据爬取和数据增强的方式,对训练集进行了均衡化处理,图中是斗鱼团队均衡化后的结果。

在数据增强方面,斗鱼团队做了一些常见的增强方式,例如加噪、仿射变换、翻转、颜色变换等。还包括Mixup对两个类别的图片进行混合叠加,提升模型的泛化能力;等比缩放,保持图片的宽高比一致;随机剪裁,增加模型的鲁棒性。

三. 模型训练

在baseline模型选择方面,斗鱼团队选取了最常用的resnext101系列和efficientNet 系列,分别尝试了不同规模的5个模型,最终efficientnet-b7的结果最好,但efficientnet-b7在线上预测超时了,resnext101 32*16d和efficientnet-b5准确率差不多。经过斗鱼团队团队内部商议,由不同的成员对这两个模型分别进行优化,采用内部竞争的方式更能激发大家的开发热情。

简单介绍一下resnext网络,resnext是resnet的升级版,图中左边是resnet的一个区块,右图是resnext的区块,从左到右主要就是把单路卷积变成了多个支路的多路卷积,用一种平行堆叠相同拓扑结构的blocks代替原来的block,在不明显增加参数量级的情况下提升了模型的准确率。

EfficientNets是一种多维度混合的模型优化方法。从左到右分别是基础模型,增加模块的宽度,增加模型的深度,增加模型输入的分辨率,和三种方式混合的优化方案。EfficientNet在ImageNet上,利用复合系数统一缩放模型的所有维度,实现了最好的精度。

在训练策略方面,斗鱼团队主要是使用了预训练模型来加快模型的收敛速度,调整损失函数、优化器、学习率及学习率优化函数等超参数。

使用标签平滑来提升模型的泛化能力,通过空间注意力和通道注意力来增强模型的特征提取能力;使用传统的SVM算法替换softmax层,来提升分类器的效果;通过知识蒸馏的方案使用一个较大的模型来指导较小模型的训练。

在得到一个相对较好的模型后,斗鱼团队对badcase进行了分析。例如图中的鼓楼和钟楼,它们的特征极为相似,非常容易混淆,如果对西安不是特别熟悉,或者没有去过现场,根本无法区分这两张图是否是同一场景。

决赛中新加的小烧泡馍和葫芦头泡馍,与羊肉泡馍极其相似,通过查阅相关资料,斗鱼团队才清楚地知道这些类别之间的差异。羊肉泡馍的特点是以水煮为主,色彩较为白皙,小炒泡馍以炒为主,色彩较为鲜艳,而葫芦头泡馍则包含了肥肠的元素。通过了解类别之间的差异,使斗鱼团队对西安的景点、美食、工艺品、民俗和特产有了更加深刻地认识,感受到了西安深厚的历史文化底蕴。

这是斗鱼团队尝试不同训练策略的实验结果。包括刚才提到的损失函数、优化器和超参数、训练数据集均值和方差的重新计算,标签平滑、注意力机制,SVM,知识蒸馏和Focal Training。在斗鱼团队的实验中有些策略的效果并不理想,例如SVM和损失函数的替换,对斗鱼团队模型提升较大的有:标签平滑、知识蒸馏和Focal Training,下面我将重点介绍这三种策略。

对于分类问题,类别向量为one-hot vector,one-hot vector容易造成过拟合,平滑是将概率为1或者0的标签分别变成一个0到1之间的概率值,如图中公式所示,平滑过后的样本交叉熵损失不仅考虑到了训练样本中正确的标签损失,也考虑到了错误标签的损失,使模型的学习能力提升。

知识蒸馏是一种通过教师网络来指导学生网络训练的方法,通常教师网络是一个较大的模型,而学生网络的模型较小,具体的训练方法如图中公式所示,最后再使用学生网络进行分类预测。

针对错误较多的类别,斗鱼团队做的一个创新点是将难例类别特殊处理。在训练一个相对较优的模型后,分析badcase得到难例类别,单独训练难例类别的数据和模型,然后再用全量的数据微调网络模型。实验结果证明,这是一种有效提升难例类别准确率的方案。

四 .实验结果

斗鱼团队的模型在初赛中排名第三,在复赛中排名第四。

最后总结一下在开发产品中,对斗鱼团队提升最明显的三种优化方案。

1、标签平滑可以降低噪声数据对训练精度的影响;

2、知识蒸馏迁移大模型的学习能力,使小模型也能达到较好的效果;

3、Focal Training针对难例类别着重处理,提升难例类别的准确率。

正如斗鱼超管团队说的“这是一款小而美的应用,希望为西安民俗文化的推动尽一份力。” AI技术的运用,能够深度挖掘传统文化的内涵,提高了文化传播效率,在用户有需求的时候把最有用的内容提供给信息接受者,创造性地保护和传承文化、艺术遗产。


点击关注,第一时间了解华为云新鲜技术~