带你读《2022技术人的百宝黑皮书》——基于机器学习的带宽估计在淘宝直播中的探索与实践(3)

简介: 带你读《2022技术人的百宝黑皮书》——基于机器学习的带宽估计在淘宝直播中的探索与实践(3)

带你读《2022技术人的百宝黑皮书》——基于机器学习的带宽估计在淘宝直播中的探索与实践(2) https://developer.aliyun.com/article/1243297?groupCode=taobaotech




OnRL:灵活的在线学习


基于 Concerto 的探索与实践经验,我们发现“线下训练,线上推演”的策略,在模拟器中可以达到很好的效果,然而在真实线上环境的效果却不尽如人意。主要原因有两个:完全模拟出多流竞争、突发丢包等真实的网络动态是非常艰难的;数据驱动的算法严格受限于其学习环境。为了缩短模拟器与真实网络环境的差距,我们设计并实现了一种在线学习的强化学习模型,OnRL。它在淘宝主播的直播过程中运行并保持学习,实时对真实网络环境作出反馈。


为了实现在线学习的目标,我们需要应对三个挑战。


一是由顺序的线下训练转变为同时从海量的视频通话中进行学习。传统的线下训练可以合并不同独立用户的网络轨迹,并输入一个模拟器来训练模型。而线上训练时大量的视频会话同时发生,期间算法需要根据每个会话实时演进。为了应对这个挑战,我们设计了一个两阶段在线学习框架,结合 PPO 算法和联邦学习的规则来聚合个体会话的特征。


image.png

如果我们按真实时间来使用每场会话的数据,Concerto 的收敛将会消耗冗长的时间。相反,我们设计并实现了一个成熟的数据驱动的模拟器来还原网络场景。模拟器包含一个视频帧处理模块,基于 ffmpeg 压缩视频帧;一个视频会话控制模块,实现 Concerto/GCC/Salsify 和其他基于机器学习的算法;一个传输模块,将视频帧分解为 RTP 包经由带宽受控的路径进行传输。对于小规模受控的实验场景,我们使用三台笔记本搭建了一个实验床,两个节点用于视频通话,第三个节点做路由,基于 Linux 内核的流量控制工具,实现网络踪迹的还原。我们还将 Concerto 嵌入了淘宝主播 APP,由其码率控制模块所调用,实现毫秒级别的决策。


image.png


根据模拟器中十几个小时的网络踪迹环境测试结果,Concerto 在可忽视的帧延迟情况下,接收吞吐率方面分别超越三种基线算法 54.9%,53.9%,以及 37.3%,从而实现视频质量的提升。我们还邀请了 6 位志愿者来参与嵌入了淘宝直播的 Concerto 算法的实验。实验场景包含家里、办公室、校园、商店、街边以及行驶的车里。室内场景志愿者大多使用 WiFi,室外场景大多为 4G。实验总计达 300 次,时长达 69 小时。相较于基线算法 GCC,在所有场景下,Concerto 降低了 13.1% 吞吐量的同时,显著降低了卡顿率(3倍左右)。




带你读《2022技术人的百宝黑皮书》——基于机器学习的带宽估计在淘宝直播中的探索与实践(4) https://developer.aliyun.com/article/1243295?groupCode=taobaotech

相关文章
|
5天前
|
机器学习/深度学习 算法 自动驾驶
探索机器学习:从理论到实践的旅程
【8月更文挑战第62天】本文通过深入浅出的方式,带领读者走进机器学习的世界。首先介绍了机器学习的基本概念,然后通过一个简单的Python代码示例,展示了如何实现一个基本的线性回归模型。最后,探讨了机器学习在现实生活中的应用,以及未来的发展趋势。本文旨在帮助初学者理解机器学习的基本理念,并激发他们进一步探索这一领域的兴趣。
|
11天前
|
机器学习/深度学习 算法 自动驾驶
探索机器学习:从理论到实践
【9月更文挑战第24天】本文将带你走进机器学习的世界,了解其基本概念,探索其背后的数学原理,并通过Python代码示例,展示如何实现一个简单的线性回归模型。无论你是初学者还是有经验的开发者,都能在这篇文章中找到新的视角和深入的理解。
27 9
|
16天前
|
机器学习/深度学习 人工智能 算法
探索机器学习:从理论到实践
【9月更文挑战第19天】在这篇文章中,我们将深入探讨机器学习的基本概念、主要算法和应用。我们将从理论基础出发,逐步过渡到实际应用,包括代码示例。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和启发。
|
12天前
|
机器学习/深度学习 数据可视化 JavaScript
探索机器学习模型的可视化技术
【9月更文挑战第23天】在数据科学中,理解和解释机器学习模型的决策过程是至关重要的。本文将介绍几种流行的可视化工具和库,如TensorBoard、D3.js等,帮助读者更好地理解模型内部工作原理及其预测结果。通过实例演示如何使用这些工具进行模型可视化,增强模型的可解释性。
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从理论到实践
【9月更文挑战第15天】本文将深入浅出地介绍机器学习的基本概念,并逐步展开讲解如何通过Python实现一个简单的线性回归模型。我们的目标是为初学者提供一条清晰的学习路径,帮助他们理解机器学习的核心原理,并通过动手实践加深印象。文章分为三个部分:首先,我们将解释机器学习的基础知识;其次,我们将展示如何使用Python和scikit-learn库构建一个线性回归模型;最后,我们将探讨如何评估模型的性能。无论你是机器学习领域的新手还是有一定基础的学习者,这篇文章都将为你提供有价值的见解和实用的技能。
|
29天前
|
机器学习/深度学习 人工智能 算法
探索人工智能:机器学习的基本原理与Python代码实践
【9月更文挑战第6天】本文深入探讨了人工智能领域中的机器学习技术,旨在通过简明的语言和实际的编码示例,为初学者提供一条清晰的学习路径。文章不仅阐述了机器学习的基本概念、主要算法及其应用场景,还通过Python语言展示了如何实现一个简单的线性回归模型。此外,本文还讨论了机器学习面临的挑战和未来发展趋势,以期激发读者对这一前沿技术的兴趣和思考。
|
2月前
|
图形学 机器学习/深度学习 人工智能
颠覆传统游戏开发,解锁未来娱乐新纪元:深度解析如何运用Unity引擎结合机器学习技术,打造具备自我进化能力的智能游戏角色,彻底改变你的游戏体验——从基础设置到高级应用全面指南
【8月更文挑战第31天】本文探讨了如何在Unity中利用机器学习增强游戏智能。作为领先的游戏开发引擎,Unity通过ML-Agents Toolkit等工具支持AI代理的强化学习训练,使游戏角色能自主学习完成任务。文章提供了一个迷宫游戏示例及其C#脚本,展示了环境观察、动作响应及奖励机制的设计,并介绍了如何设置训练流程。此外,还提到了Unity与其他机器学习框架(如TensorFlow和PyTorch)的集成,以实现更复杂的游戏玩法。通过这些技术,游戏的智能化程度得以显著提升,为玩家带来更丰富的体验。
40 0
|
2月前
|
C# 机器学习/深度学习 搜索推荐
WPF与机器学习的完美邂逅:手把手教你打造一个具有智能推荐功能的现代桌面应用——从理论到实践的全方位指南,让你的应用瞬间变得高大上且智能无比
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)应用中集成机器学习功能,以开发具备智能化特性的桌面应用。通过使用Microsoft的ML.NET框架,本文演示了从安装NuGet包、准备数据集、训练推荐系统模型到最终将模型集成到WPF应用中的全过程。具体示例代码展示了如何基于用户行为数据训练模型,并实现实时推荐功能。这为WPF开发者提供了宝贵的实践指导。
29 0
|
16天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 算法 数据挖掘
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
下一篇
无影云桌面