2018年5月18-19日,由51CTO主办的全球软件与运维技术峰会在北京召开。PP云高级技术架构师高超在“人工智能技术探索”B会场论坛中 带来了《AI技术+短视频于苏宁易购电商平台的应用实践》的主题分享。
一、 苏宁视频云介绍
• 直播:软件开发工具包、API、控制台
• 点播:基于PP视频十年媒体技术和服务经验,打造的集上传,存储,转码,加速,管理和监控等功能为一体的产品
• 短视频:集拍摄,编辑,上传,转码,管理,分发,播放于一体的全功能产品
• 网页加速:自建+融合,支持全球智能化调度
• 低延时视频通话:基于WebRTC的视频通话解决方案,可以多人视频通话和旁路直播
二、 短视频机器审核
1. AI应用起源
2016年开始,PP云进入快速发展周期,出现大量涉黄视频和版权问题视频,主要来源是企业上传视频。期间编辑审核速度不快,运营投诉,法务部门的反馈都让技术团队不得不抽出时间应对。我们需要花出额外的时间来人工校验,封禁账号。
经过一段时间的经验积累和应对措施调整,AI在视频审核的应用需求被提上日程。
2. 机器审核需求演化
下面是我们提出需求后,将机器审核服务上线落地,不断迭代经过的历程。
需求初期专门针对视频机器审核做了可行性分析,对目标的可操作性进行了论证,最终确认使用人工智能来做这件事情,并且调研和测试了卷积神经网络在这方面的应用,实际测试中也应用了深度学习框架来验证效果。
业务系统整合阶段让机器审核作为分布式服务部署,同时和人工审核服务并行存在,避免审核错误,并且纠正后的结果可以作为训练数据。
评估预测结果是个不断迭代,可持续的过程,在实际应用中,演化出了不同业务特性使用不同的模型。
3. 机器审核工作流
该工作流分为两层:上层为业务流程,下层为机器审核服务流程。
4. 机器审核服务实践
在测试阶段参与测试的视频总量达数千万,所占存储约3PB。
测试视频的分类丰富,主要有电商类、体育类、文化类、企业多元化视频。电商类视频包括苏宁易购商品介绍视频,商品评价视频,社区视频等不同场景类型内容;体育类视频有直播录制视频,赛事讲解视频等等;文化类包含多种娱乐性视频,资讯类视频,PGC专业性内容视频等;企业上传视频是分类最多,场景最丰富的区域。
上面示例是苏宁易购的视频全景图,采用固定间隔截图,默认是6秒钟间隔一张,如果是高度敏感内容,可以调整为1秒钟间隔一张;缩略图采用10x10排列,一共100张一个全景,超过的部分用新的全景排列。
有了可测试数据源后,我们对主流AI框架做了调研和测试。选型的测试框架有Caffe、Keras、TensorFlow,结合我们的实际需求,确定了使用Caffe作为机器审核的基础AI框架,第一个测试阶段的数据集抽取了ImageNet的部分分类做验证,再使用准备好的视频数据做进一步准确性测试。
上图是一个普通神经网络的示例图,有输入层、隐藏层、输出层,实际应用中层数和链接都会做调整。
这是一个AlexNet模型,是两个GPU的使用场景,能清晰的看到输入层是一个 224x224x3的图像输入,划分为小图是11x11,移动步长为4;长方体是卷积核,比如3x3,5x5,还有深度;最后是三个全链接层,还有卷基层中间的池化层,起降维作用,减少参数输入,最终输出是100个类别;在我们实际使用的时候调整了类别个数。
这是一个VGG16模型,我们的目标检测使用了FasterRCNN,VGG16一共16层,有13个卷积层和3个全链接层,实际测试中比AlexNet准确率更高,但是速度要慢一点,所以会应用中存量视频或及时性要求不高的视频审核上。从图上可以很形象的看出池化层(max pooling)的参数降维作用,并且激活函数和AlexNet相同,都使用了ReLU,输出层类别也是1000个
下图是我们测试中确定内容判定阀值的过程数据,可以看到阀值测试范围是0.3到0.7,步长是0.05,经过样本测试选中了0.45作为生产环境常量。
以下是影片分类判定阀值测试,利用同样的测试数据按计划做批次测试并汇总结果。
拿测试结果的90%作为置信区间,经过公式推算,得出阀值推荐值为0.473,推荐范围为[0.31,0.53],我们根据不同的业务要求做细节调整
目前我们系统平均准确率可以达到99.2%以上,准确率是按照整个视频所有图片聚合计算后得到的最终概率计算。
在我们使用卷积神经网络过程中也需要针对结果准确性做调试,这时候就需要反卷积算法帮助,来反查我们判断错误的内容是从那一层开始出错的,如下图是一个VGG16模型的卷积过程和反卷积过程。
下图是我们业务系统集成示例,一共有两个模式:业务增量视频上传接入、扫描处理历史数据;业务系统讲视频上传至存储管理系统中,由存储管理系统来分发审核任务,并且获取审核结果,机器审核分布式服务订阅任务队列,处理完任务后反馈结果到存储管理系统,整个过程实时性较高。
上面审核后台用来做结果复核,界面操作如下图,即是审核也是打标,打标后的数据可以重新反馈给机器审核做训练数据。
下图是业务系统应用的一个场景,讲机器审核和人工审核结果都同步过来,按照业务预定义好的判断逻辑做最终决策。
5. 其他类型的监控
除了机器审核对视频的动态监测,我们还使用了其他运维工具来保障服务访问的稳定性。如苏宁云迹作为自研系统,可以满足故障分析和基础报警需求;ELK和TICK作为辅助工具可以定制更多的业务类型监测和报警。
三、 短视频加速智能调度
1. 加速智能调度演化
随着业务越来越多,资源越来越丰富,我们需要针对不同服务做不同级别的保障,所以提出了智能调度的需求。和机器审核类似,也经历了三大过程,采用TensorFlow框架,不同类型的数据类型和输出策略。
2. 加速智能调度工作流
该工作流分为两层:上层为业务流程,下层为预测服务流程。
我们的数据输入边界比较明显,预置策略相对灵活,由模型利用历史数据和当前数据做调度预测,业务人工选择推荐并应用。
3. 智能调度实践
针对智能调度的目标定位分为服务整体稳定性和故障自动恢复。
通过调度预测实现局部稳定性推荐,并提升整体系统稳定性指数;并且可以在故障发生时根据推荐列表尝试自动恢复。
作为预测数据来源,我们一共分为三大类型:全网监测数据、基调网络数据和业务预置策略。全网监测数据来自自建CDN节点详细数据记录,商业融合CDN可以使用节点日志数据,基调网络数据可以更详细,基于LastMile,可以获取nslookup结果,ping结果,traceroute结果,终端下载耗时,下载速度,视频buffer等等,加上业务预置边界策略,可以推荐调度策略供业务使用。
四、 AI技术上的前景和困扰
1. AI未来应用场景
电商应用如用户购买预测
新零售应用如数字化导购
视频智能分类:苏宁集团内部系统视频分类打标
内容智能感知:体育直播进球片段和精彩回放预测截取
2. AI技术上的困扰
新生分类数据量初期少,如手术现场培训视频,容易引起模型预测不准,需要模型针对此类数据不断优化;这个不断优化的过程中,常用分类视频的回报周期效果明显,但是新的行业或者冷门行业数据需要不断调优来产生回报收益
共同学习,写下你的评论
评论加载中...
作者其他优质文章