“百面深度学习”系列连载 第十三期

网络通信(2)

引言和问题1回顾

问题2

在目前工业界的流媒体传输的优化中,主要利用Dynamic adaptive streaming over HTTP(DASH) 或者 Apple’s HTTP Live Streaming (HLS) 来完成流媒体的传输。DASH和HLS的网络会把原始内容编成多个不同清晰度的不同码率的一组视频。并把每一个视频组织成一系列小的视频块,其中每一个视频块都包含一小段可以独立播放的视频内容。当这个视频内容在客户端播放时,客户可以根据目前的网络状态自由的选择下一个视频块播放的码率。这个系统的好处是在不断变化的网络状态中,这种流媒体传输系统可以自适应的调节播放码率,在提供高视频播放质量的同时,同时减少播放的卡顿。请问在这样的背景下,有什么方法可以帮助DASH或者HLS的系统作出码率切换的决策,解决码率自适应的问题呢?

分析与解答

解决码率自适应这个问题有两大难题,一个是多个优化目标的对立性。另一个是网络情况的复杂性。就优化目标对立性来说,在码率自适应算法中,很多优化目标是互相矛盾的:最小化播放卡顿的事件,最大化播放的清晰度,最小化播放启动的延时,以及保持播放的流畅度、避免大幅度的码率切换等。如何将这样相互矛盾的优化目标统一到单一的Quality of Experience(QoE)指标中,则是工业界与学术界一直努力的方向。另外一个难题是网络情况的复杂多变性。网络层的Quality of Service(QoS)指标包括网络带宽,网络延时,网络抖动,以及网络丢包率。出现这些问题的核心原因是,网络是一个有物理上限的连通网络,当网络传输的数据超过其最大负载时,网络会自行进行延时发送或者丢包处理。而网络中哪些链路、什么时候会超出负载,以及哪些数据包会因此收受到什么程度的影响是非常难以预测的。

基于以上这两大问题,码率自适应算法的优化一直是学术界与工业界不断优化的课题之一。传统的码率自适应方法分为两个类型,一个是基于带宽的码率自适应算法,一个是基于客户端视频缓存长度的码率自适应算法。举例说明,Model Predictive Control(MPC)算法是一个基于带宽的码率自适应算法 [1]。此文将码率自适应问题看作一个QoE的优化问题求解。其优化目标是K个视频块的有权重优化目标之和。其优化目标如 eq. 1 所示:

百面深度学习 | 第十三期:网络通信(2)

其中第一部分用来表述从第一个视频块到第K个视频块的视频质量之和,第二部分用来表示在K个视频块之间的视频质量变换补偿,第三部分用来表示总共的卡顿时间,第四个部分用来表示启动延迟。

在MPC中,这个优化目标可以通过求解有若干优化限制的凸优化方程进行求解,他的优化函数如 eq. 2 - eq. 7 所示。

百面深度学习 | 第十三期:网络通信(2)

依照此方程求解,理论上我们可以求的在该优化目标下的理论最优值,但是需要注意的是,在上面的优化求解的过程中,其中公式 eq. 4 意味着网络的带宽情况是网络的瞬时带宽 Ct 在每一个视频块下载的总时间上的积分。然而在真实的网络中,这个值是一个不可准确预测量,因此在实际计算中,该值由过往的带宽值的滑动平均值所预测。因此这个步骤则会引入优化误差,从而不能在实际中得到真正的最优解。

在2017年的SIGCOMM上,MIC CSAIL的研究团队提出利用深度增强学习的方法来进行码率自适应的优化系统PENSIEVE [2]。同样基于优化方程 eq. 1 ,提出了基于A3C网络模型的解决方法。下面将介绍他是如何将优化问题转化成深度增强学习问题的。

整个网络部分分为三个部分,如 Fig. 4 所示,从左到右,依次包括输入,网络训练模型,与输出部分。

百面深度学习 | 第十三期:网络通信(2)

Figure 1: Pensieve 模型训练图

百面深度学习 | 第十三期:网络通信(2)

百面深度学习 | 第十三期:网络通信(2)

百面深度学习 | 第十三期:网络通信(2)

百面深度学习 | 第十三期:网络通信(2)

百面深度学习 | 第十三期:网络通信(2)

百面深度学习 | 第十三期:网络通信(2)

Model traning details 模型参数细节: 在Actor网络中,对于前三个向量,利用滑动窗口进行1x4的一纬卷积网络,该网络共有128个filters,对于后三个因素,则经过1x1的卷积网络。所有的输出经过一个全连阶层得到一个1x128的vector, 最后经过softmax进行判决,得到一个vector,表示每个码率被选中的概率。而Critic网络与Actor网络一致,不同的是最后输入的是一个值,而不是一个vector。考虑到实际的应用需求,作者采用了A3C模型,所以Pensieve使用了16个平行的Agent进行训练。每一个学习的机器人都会去体验不一样的参数,然后每一个agent会独立的将他的状态发给中央agent,而后中央agent再根据actor-critic算法更新整个模型,中央agent更新完模型后,可以把新的模型推给每个子agent。

扩展与总结

在码率自适应这个问题上,前人也提出过基于Tabular Q-learning的算法。相比基于A3C的解决方法,Q-learning的解决方法会将连续的状态离散化到有限的状态空间中,从而利用状态转移的概率学习出选择action方案。拓展阅读见 [3] 。

[1] YIN X, JINDAL A, SEKAR V, 等. A control-theoretic approach for dynamic adaptive video streaming over HTTP, ACM SIGCOMM Computer Communication Review. ACM, 2015, 45: 325–338.

[2] MAO H, NETRAVALI R, ALIZADEH M. Neural adaptive video streaming with pensieve, Proceedings of the Conference of the ACM Special Interest Group on Data Communication. ACM, 2017: 197–210.

[3] CHIARIOTTI F, D’ARONCO S, TONI L, 等. Online learning adaptation strategy for DASH clients, Proceedings of the 7th International Conference on Multimedia Systems. ACM, 2016: 8.

下期预告

语音识别

引言

听觉是人工智能的基本要素,也是信息交互重要的入口,自动语音识别技术(Automatic Speech Recognition, ASR)是计算机听觉领域中重要的研究方向之一。其目标是通过计算机将一段包含自然语言发音的声音信号转换为对应的词序列。该领域早已成为一个传统的研究热点,在深度学习的浪潮中又让它焕然一新,在过去三年识别性能变革性地提升,如今的智能语音识别技术可以实现高精度的人机语音交互、语音翻译、声纹识别等功能,当它与先进的自然语言处理技术(Natural Language Processing,NLP)相结合会衍生出更丰富的应用场景,如语音合成与转换、对话系统、语音增强与分离等,该技术被广泛集成于智能音箱、语音助手等产品中。

问题

在语音识别任务中,

由传统方法到现在主流方法有哪些变化?

今天的彩蛋是小广告~

《百面机器学习》正在参与京东满100减50的活动

无论你是尚未涌有这本精华面试宝典

还是想再度收藏,或赠予亲友

不要错过这不可多得的优惠力度哦!

百面深度学习 | 第十三期:网络通信(2)

关注Hulu公众号

你就是最爱学习的仔~

百面深度学习 | 第十三期:网络通信(2)

相关文章: