CN113660488B - 对多媒体数据进行流控及流控模型训练方法、以及装置 - Google Patents

对多媒体数据进行流控及流控模型训练方法、以及装置 Download PDF

Info

Publication number
CN113660488B
CN113660488B CN202111211909.8A CN202111211909A CN113660488B CN 113660488 B CN113660488 B CN 113660488B CN 202111211909 A CN202111211909 A CN 202111211909A CN 113660488 B CN113660488 B CN 113660488B
Authority
CN
China
Prior art keywords
data
offline
flow control
period
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111211909.8A
Other languages
English (en)
Other versions
CN113660488A (zh
Inventor
杨梁
黄飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210265930.4A priority Critical patent/CN115996292A/zh
Priority to CN202111211909.8A priority patent/CN113660488B/zh
Publication of CN113660488A publication Critical patent/CN113660488A/zh
Application granted granted Critical
Publication of CN113660488B publication Critical patent/CN113660488B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种对多媒体数据进行流控及流控模型训练方法、以及装置。包括:对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;对待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据;基于由目标流控数据所确定的目标编码数据,触发对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。由于可将不同类型的编码数据及通信状态数据通过自注意力机制进行重要程度区分,充分发挥高层次表征特征的主次推导作用,从而使得输出的目标流控数据在用于下个周期的流控处理时,更能适应复杂多变的真实网络环境,流控效果好。

Description

对多媒体数据进行流控及流控模型训练方法、以及装置
技术领域
本申请涉及人工智能技术领域,特别是涉及一种对多媒体数据进行流控及流控模型训练方法、以及装置。
背景技术
随着网络技术的发展,越来越多的多媒体数据传输场景需要实时监控网络状态,从而依据监控的网络状态实现多媒体数据传输的流控。以多媒体数据传输场景为语音或者视频实时通话场景为例,语音或视频实时通话通常是利用网络RTC(Real-TimeCommunication,实时通话)所实现的。在RTC通话中,通常需要实时监测网络状态,然后依据实时网络状态,修改整体通话的配置。例如,若网络状态好,则可以提高编码码率。因此,如何在多媒体数据传输中及时反馈复杂多变的网络状态是一个热门课题。
在传统方案中,目前自适应码率控制算法使用较多的是WebRtc中的GCC算法,也就是用于实时媒体通讯的网络拥塞控制算法,但在实际使用GCC算法时会产生一定延时,且过度依赖经验配置,使得实际控制中存在流控不准确的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升流控准确度的对多媒体数据进行流控及流控模型训练方法、以及装置。
一种对多媒体数据进行流控的方法,该方法包括:
在进行多媒体通信过程中,获取当前周期内的当前编码数据、以及通过当前编码数据进行流控处理所产生的通信状态数据;当前编码数据基于在前周期的历史流控数据确定;
对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;
对待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据;
基于由目标流控数据所确定的目标编码数据,触发对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
一种对多媒体数据进行流控的装置,该装置包括:
获取模块,用于在进行多媒体通信过程中,获取当前周期内的当前编码数据、以及通过当前编码数据进行流控处理所产生的通信状态数据;当前编码数据基于在前周期的历史流控数据确定;
组合处理模块,用于对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;
自注意力机制处理模块,用于对待处理组合数据进行自注意力机制处理,得到中间处理特征;
多任务分类模块,用于基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据;
流控处理模块,用于基于由目标流控数据所确定的目标编码数据,触发对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
在进行多媒体通信过程中,获取当前周期内的当前编码数据、以及通过当前编码数据进行流控处理所产生的通信状态数据;当前编码数据基于在前周期的历史流控数据确定;
对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;
对待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据;
基于由目标流控数据所确定的目标编码数据,触发对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在进行多媒体通信过程中,获取当前周期内的当前编码数据、以及通过当前编码数据进行流控处理所产生的通信状态数据;当前编码数据基于在前周期的历史流控数据确定;
对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;
对待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据;
基于由目标流控数据所确定的目标编码数据,触发对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上以下步骤:在进行多媒体通信过程中,获取当前周期内的当前编码数据、以及通过当前编码数据进行流控处理所产生的通信状态数据;当前编码数据基于在前周期的历史流控数据确定;对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;对待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据;基于由目标流控数据所确定的目标编码数据,触发对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
上述对多媒体数据进行流控的方法、装置、计算机设备、存储介质和计算机程序,对当前周期内的当前编码数据、以及基于当前编码数据进行流控处理所产生的通信状态数据进行组合处理,可以得到融合了多个指标维度数据的待处理组合数据。其中,当前编码数据和通信状态数据,可以从整体上反映网络环境状况、以及用户主观体验的好坏,因而将当前编码数据和通信状态数据进行组合后处理,可以更全面的指导流控数据的预测。接下来对待处理组合数据进行自注意力机制处理后再进行多任务分类,输出至少一个维度的目标流控数据。这样可以将不同类型的编码数据及通信状态数据通过自注意力机制进行重要程度区分,充分发挥高层次表征特征的主次推导作用,从而使得输出的目标流控数据在用于下个周期的流控处理时,更能适应复杂多变的真实网络环境,流控效果好。另外,由于采用的是自注意力机制,而自注意力机制可以捕捉数据内部的相关性,并能够减少对外部信息的依赖,从而也可以使得输出的流控数据更能适应复杂多变的真实网络环境。
一种流控模型训练方法,方法包括:
获取经过多个预训练样本组进行预训练所得到的基础流控模型;
对于离线训练中的每个离线周期,均基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;离线样本数据包括离线编码数据和离线通信状态数据;
根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值;
基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型;
对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值;
基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
一种流控模型训练装置,该装置包括:
获取模块,用于获取经过多个预训练样本组进行预训练所得到的基础流控模型;
生成模块,用于对于离线训练中的每个离线周期,均基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;离线样本数据包括离线编码数据和离线通信状态数据;
第一确定模块,用于根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值;
离线训练模块,用于基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型;
第二确定模块,用于对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值;
在线训练模块,用于基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取经过多个预训练样本组进行预训练所得到的基础流控模型;
对于离线训练中的每个离线周期,均基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;离线样本数据包括离线编码数据和离线通信状态数据;
根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值;
基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型;
对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值;
基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取经过多个预训练样本组进行预训练所得到的基础流控模型;
对于离线训练中的每个离线周期,均基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;离线样本数据包括离线编码数据和离线通信状态数据;
根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值;
基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型;
对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值;
基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上以下步骤:获取经过多个预训练样本组进行预训练所得到的基础流控模型;对于离线训练中的每个离线周期,均基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;离线样本数据包括离线编码数据和离线通信状态数据; 根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值;基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型;对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值;基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
上述流控模型训练方法、装置、计算机设备、存储介质和计算机程序,通过先采用预训练,可以使得基础流控模型能够贴近于前一版本流控模型的决策方式,从而可以避免将不经过预训练的流控模型投入使用,可能会造成用户的不适感,进而将降低用户的产品体验。通过在预训练结束后,离线模拟编码数据和通信状态数据的变化,基于离线样本数据和离线累计奖励参考值来进行离线训练,由于通过离线训练可以使得流控模型在正式上线应用之前,尽可能地多进行训练,从而提高流控决策的精准度。在完成离线训练后,最后再执行在线训练,通过感知实时状态并实时预测并自适应改善相应的流控决策。由于在线训练可以不断更新流控模型,从而可以不断改善流控模型的预测效果,大大提高了流控准确性,进而改善多媒体通信质量及用户体验。
附图说明
图1为一个实施例中对多媒体数据传输进行流控的方法的应用环境图;
图2为一个实施例中对多媒体数据进行流控的方法的流程示意图;
图3为一个实施例中多头注意力处理的结构原理图;
图4为一个实施例中智能体模型结构概要图;
图5为一个实施例中基于智能体模型的交互原理图;
图6为一个实施例中流控模型训练方法的流程示意图;
图7为另一个实施例中流控模型训练方法的流程示意图;
图8为一个实施例中离线训练的过程示意图;
图9为一个实施例中环境模拟器的结构示意图;
图10为一个实施例中对多媒体数据进行流控的装置的结构框图;
图11为一个实施例中计算机设备的内部结构图;
图12为一个实施例中流控模型训练装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中对多媒体数据进行流控的方法的应用环境图。参照图1,该对多媒体数据进行流控的方法应用于多媒体流控系统。该多媒体流控系统包括第一终端102、第二终端104和服务器106。第一终端102、第二终端104和服务器106可分别单独用于执行本申请实施例中提供的对多媒体数据进行流控的方法,也可以协同用于执行本申请实施例中提供的对多媒体数据进行流控的方法。以第一终端102、第二终端104和服务器106协同用于执行本申请实施例中提供的对多媒体数据进行流控的方法为例进行说明:第一终端102和第二终端104上均安装有多媒体通信客户端,第一终端102和第二终端104间可通过服务器106进行多媒体通信,比如可进行音视频通讯。在这个过程中,服务器可获取第一终端102和第二终端104各自的多媒体通信客户端上报的当前编码数据和通信状态数据。进而基于各终端分别上报的数据执行本申请实施例中所提及的对多媒体数据进行流控的方法,以预测得到与相应终端对应的目标流控数据(也可以理解为目标流控策略),进而将该目标流控数据作用于各终端运行的客户端,以对下一个周期内产生的多媒体数据进行流控处理。
需要说明的是,上述的第一终端和第二终端仅是示意性的说明,实际使用过程中可能只有一个终端,或者多于两个终端等,本申请实施例对此不作限定。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请还涉及人工智能领域,人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。容易理解地,本申请具体涉及人工智能领域中的监督学习、强化学习、注意力机制、生成对抗网络和多任务学习。
其中,监督学习是机器学习的一种方法,可以由训练数据中学到或建立一个模式(函数/模型),并依此模式推测新的实例。训练数据是由输入数据和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。
强化学习(Reinforcement Learning,RL):强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。强化学习是除了监督学习和非监督学习之外的第三种基本的机器学习方法。与监督学习不同的是,强化学习不需要带标签的数据对,同时也无需对非最优解的精确地纠正。其关注点在于寻找探索(Exploration,对未知领域)和利用(Exploitation,对已有知识)的平衡,强化学习中的“探索-利用”的交换。
注意力机制(Attention Mechanism):注意力机制来源于模仿生物观察事物的过程,即将内部经验与外部刺激对齐从而增加对部分区域关注的机制。
生成对抗网络(Generative Adversarial Networks,GAN):GAN是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。生成对抗网络由一个生成器与一个鉴别器组成。生成器从潜在空间中随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。鉴别器的输入则为真实样本或生成器的输出,其目的是将生成器的输出从真实样本中尽可能分辨出来。而生成器则要尽可能地欺骗鉴别器。两个网络相互对抗、不断调整参数,最终目的是使鉴别器无法判断生成器的输出结果是否真实。
多任务学习:把多个相关的任务放在一起学习,学习过程中通过浅层的共享表示来互相分享、互相补充学习到的相关领域的信息,进而多任务之间相互促进。
下面在对本申请所提供的对多媒体数据进行流控的方法进行说明之前,先介绍下流控的概念:
在本申请实施例中,主要是对多媒体数据传输进行流控。其中,流控过程可以理解为是对多媒体数据的传输配置进行调整。具体地,主要是对多媒体数据传输时所使用的编码数据进行调整。例如,以多媒体数据为视频为例,则流控过程可以为对视频实时通话过程中视频传输时的分辨率等编码数据进行实时调整。
可以理解的是,流控过程通常是每隔一段时间流控一次,也即每隔一段时间,基于获取到的当前通信状态数据,预测后续多媒体数据传输时的流控数据。由此可知,流控过程实际上是分周期的。基于上述说明,本申请所提及的流控过程,实际上是基于当前周期的一些数据,如通信状态数据,预测下一周期多媒体数据传输时所使用的流控数据。在本申请实施例中,下一周期的流控数据被作为目标流控数据,而目标流控数据可以用于指示下一周期所使用的编码数据。
在一些实施例中,如图2所示,提供了一种对多媒体数据进行流控的方法,以该方法应用于计算机设备为例进行说明,其中,该计算机设备具体可以是图1中的终端或服务器,该对多媒体数据进行流控的方法包括以下步骤:
步骤S202,在进行多媒体通信过程中,获取当前周期内的当前编码数据、以及通过当前编码数据进行流控处理所产生的通信状态数据;当前编码数据基于在前周期的历史流控数据确定。
其中,多媒体通信是基于多媒体数据进行传输通信的过程,具体可以是音视频数据的传输。比如,进行音视频即时通讯,或者,进行音视频数据的传输播放等。当前编码数据是当前周期内的编码数据,编码数据是用于指导多媒体通信客户端进行多媒体数据呈现的编码参数,具体可以包括编码码率、分辨率或帧率中的至少一种。通信状态数据是表征当前通信周期内,进行多媒体通信的状态的数据,具体可由当前的网络环境和编码数据共同作用产生。通信状态数据包括网络丢包率、网络延迟信息、网络抖动信息或卡顿率中的至少一种。
需要说明的是,基于上述分周期流控的定义,“当前周期”可以指的是一段时间,具体可以是由两个时刻所界定。例如,若当前时刻为下午1点8分整,而“当前周期”的长度为8分钟,则用于确定的当前周期的另一个时刻为下午1点整,从而下午1点整至下午1点8分整即为“当前周期”。基于上述内容,以多媒体通信过程为视频实时通话过程为例,则当前周期内的当前编码数据,指的是当前周期内实际使用的视频编码数据。结合上述示例中“当前周期”的举例,当前编码数据可以指的是下午1点至下午1点8分所使用的视频编码数据。
可以理解的是,通过当前编码数据进行流控处理所产生的通信状态数据,表示的是当前周期在使用完当前视频编码数据之后所呈现网络通信状态。例如,下午1点确定了当前编码数据,则在下午1点至下午1点8分这段时间内(当前周期),则可以基于当前编码数据进行流控处理,在流控处理结束后,下午1点8分所呈现网络状态,即由“通过当前编码数据进行流控处理所产生的通信状态数据”进行表示。
还需要说明的是,通过当前编码数据进行流控处理所产生的通信状态数据,也可以是当前周期内使用当前编码数据后,基于整个周期所呈现的网络通信状态而综合得到的,或者是如上述的在当前周期的结束时间所呈现的状态等。本申请实施例对此不作限定。
至于当前编码数据的由来,由上述过程可知,“目标流控数据可以用于指示下一周期所使用的编码数据”,从而在前周期的历史流控数据也可以用于指示当前周期所使用的当前编码数据。同样地,当前编码数据可以是基于在前周期的历史流控数据所确定的。具体可以是前一周期的历史流控数据所确定。
需要说明的是,由于多媒体数据通常发生在终端与服务器之间,而服务器通常可以监测到网络状态,从而可以从服务器获取通信状态数据。至于编码数据,可以从终端侧用于多媒体传输的客户端直接获取。
在一些实施例中,以音视频实时通讯场景为例,音视频实时通讯整体流程复杂,用户通话过程中的网络环境存在波动,终端设备也多种多样。因此,在用户音视频实时通讯过程中,客户端和服务器会针对通信状态数据和编码数据进行上报,后台流控逻辑处理后输出当前的流控决策(也就是目标流控数据),从而尽可能保证实时通讯的稳定。
本申请实施例中,针对当前状态上报过多,主次混杂的情况,从上报的各种状态数据中筛选出对流控决策较为关键的指标。参考表1,表1为本申请实施例中所使用的指标信息:
表1
Figure 305311DEST_PATH_IMAGE001
上述表格中提到的质量指标,在本申请实施例中,可以选择部分使用。例如,由于音频无质量参考分及视频无质量参考分可以分别作为音频或视频质量的度量,而量化参数也可以作为音频或视频质量的度量,从而如果选用了音频无质量参考分及视频无质量参考分,则可以不选用量化参数。再例如,由于实际实施过程中采样率及编码类型等数据通常会采用固定值,从而这些数据可以不纳入选用。
步骤S204,对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据。
具体地,计算机设备可对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据。
可以理解的是,通信状态数据的内容均通常为数值,鉴于此,即使存在多种维度的通信状态数据,不同维度的通信状态数据也可以通过由不同数值组成的向量进行表示。而编码数据的内容通常也是为数值,从而不同维度的编码数据也可以组成向量进行表示。由此,在步骤S204中,“组合处理”可以指的是将两个数据进行拼接,从而作为一个整体便于后续处理。需要说明的是,组合处理可以不仅是拼接处理,在组合之前还可以有其它进一步处理,如在数据维度过多时,可以进行降维处理;或者,为提取关键信息进行卷积处理等,本申请实施例对此不作具体限定。
在一些实施例中,对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据,包括:对当前编码数据和通信状态数据分别进行卷积处理,得到各自对应的卷积处理特征;组合卷积处理特征得到待处理组合数据。
具体地,计算机设备可对当前编码数据和通信状态数据分别进行卷积处理,得到各自对应的卷积处理特征。卷积处理具体可以是一维卷积处理。进而,计算机设备可组合各卷积处理特征,得到待处理组合数据。
在一些实施例中,计算机设备上部署有训练好的流控模型,通过流控模型对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据。而上述表1中具体指标一列中的所有指标都有各自的数值特性,而流控模型是基于深度学习网络搭建,因此需对这些指标数据进行统一归一化处理。计算机设备可根据每个指标数据的数值特性,将各个指标数据各自归一化到0~1数值区间。也就是将上述当前编码数据、以及通信状态数据中与各个指标分别对应的指标数据进行归一化处理后,再进行组合,得到待处理组合数据。
其中,由于上报的当前编码数据和通信状态数据中的各指标数据属于时序数据,为了预测更准确的流控决策,计算机设备可将预设次数上报的指标数据组成历史状态分布,组合后得到待处理组合数据。比如,计算机设备可对14个指标分布对应的前8次上报的指标数据组成历史状态分布,而非仅依赖上一时刻的上报数据。数据预处理及部分指标数据逻辑组合后,可获得14*8维度的待处理组合数据。
举例说明,如下午1点至下午1点8分这一个整体的周期,则当前周期内的通信状态数据实则指的是经过下午1点至下午1点8分这一段时间流控处理后,下午1点8分这一时刻的通信状态数据,而当前编码数据指的是下午1点至下午1点8分这一段时间所使用的编码。由此可见,在上述描述内容的前提下,对当前周期内的通信状态数据和当前编码数据在当前周期内均只有单次的数值。可以理解的是,仅依据单次的数值很难保证下一周期流控决策的预测结果的准确性。
对于上述提及的情况,实际实施过程中,可以将当前周期进一步划分为多个子周期。例如,下午1点至下午1点8分可以进一步划分为8个子周期,分别为下午1点至下午1点1分、下午1点1分至下午1点2分、下午1点2分至下午1点3分、…、下午1点7分至下午1点8分。其中,每一子周期均可以得到通信状态数据及编码数据。若通信状态数据及编码数据一共为14种类型的数据,则当前周期内每种类型的数据均可以得到8个取值,从而每种类型的数据均可以组成8维向量。相应地,在本步骤204中,可以对每种类型的数据对应的8维向量进行一维卷积处理。
可以理解的是,对于任意一种类型的数据,在对该类型的数据对应的8维向量进行一维卷积处理时,可以对该类型的数据进行一次一维卷积处理,也可以是进行多次一维卷积处理,本申请实施例对此不作具体限定。另外,一维卷积处理可以通过设置卷积核,将某一维度的数据变为任意维度的数据。由此,每种类型的数据对应的8维向量可以变为任意维度的向量。例如,可将每种类型的数据对应的8维向量变为128维向量。
基于上述说明,若通信状态数据及编码数据一共为14种类型的数据,则每种类型的数据对应的卷积处理特征,可以为卷积处理后的向量。由此,将每种类型的数据对应的卷积处理特征进行组合,可以得到由向量组成的矩阵。例如,若每种类型的数据对应的卷积处理特征为128维向量,则14种类型的数据可以组成14*128的矩阵。需要说明的是,上述过程提及的各项周期及各项子周期,仅是为了便于说明,才将各项周期及各项子周期的长度列为相同。实际实施过程中,周期长度可以相同,也可以不同,本申请实施例对此不作具体限定。
上述实施例中,通过对通信状态数据和当前编码数据分别进行卷积处理,后进行组合,可以过滤出当前编码数据和通信状态数据中的重要特征,进而也可以提高预测结果的准确度。
步骤S206,对待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据。
其中,自注意力机制是注意力机制的变体,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。
具体地,计算机设备可对待处理组合数据进行自注意力机制处理,得到中间处理特征。进而基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据。
在本步骤中,对待处理组合数据进行自注意力机制处理,主要体现在增加了待处理组合数据中某些维度数据的权重,以使得这些维度数据与后续处理过程的输出结果之间联系更加紧密。
另外,由上述过程可知,目标流控数据可以用于指示下一周期所使用的编码数据。由此,输出至少一个维度的目标流控数据,可以视为输出至少一个维度的编码数据。而编码数据对应的维度通常有编码类型、分辨率及帧率等,且上述每一维度的编码数据其取值通常是可以明确且可以被穷举的。由此,在所有取值均已知的前提下,输出编码数据的任务可以视为基于所有已知取值进行分类的任务,此为本步骤中提及的多任务分类的由来。同时,在本步骤中,多任务”中的“多”即对应于“至少一个维度”。例如,若需要输出三个维度的目标流控数据,则“多任务分类”即对应三个任务。
在一些实施例中,目标流控数据可以用于指示下一周期所使用的编码数据。由此,目标流控数据可以是编码数据类型对应的编号,还可以是编码数据类型对应的标识,本申请实施例不对目标流控数据的表示形式作具体限定。基于上述说明可知,通过流控数据可以直接确定编码数据。
在一些实施例中,计算机设备上可部署有训练好的流控模型,可通过该训练好的流控模型对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;对待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据。关于该流控模型的训练过程,请参考后续实施例中详细阐述的内容。
步骤S208,基于由目标流控数据所确定的目标编码数据,触发对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
具体地,计算机设备可基于由目标流控数据所确定的目标编码数据,进而触发对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。当本申请通过服务器执行时,服务器可将目标流控数据下发至终端,终端再确定与目标流控数据相匹配的目标编码数据,从而根据目标编码数据对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。当本申请通过终端执行时,则终端可直接确定与目标流控数据相匹配的目标编码数据,从而根据目标编码数据对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
在一些实施例中,目标流控数据具体可以包括编码码率类别、分辨率类别或帧率类别中的至少一种。相应的,目标编码数据具体可以包括编码码率、分辨率或帧率中的至少一种。也就是说,当计算机设备预测出的该编码码率类别时,终端可选取属于编码码率类别中的其中一个编码码率;当计算机设备预测出的该分辨率类别时,终端可选取属于分辨率类别中的其中一个分辨率;当计算机设备预测出的该帧率类别时,终端可选取属于该帧率类别中的其中一个帧率。进而,终端可将选取出的编码码率、分辨率或帧率中的至少一种作用于多媒体通信客户端,以对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
需要说明的是,终端从编码码率类别中选取具体的编码码率的方式、从分辨率类别中选取具体的分辨率的方式、以及从帧率类别中选择具体的帧率的方式,可以是随机选取,也可以是选取中间值或极值、或对应的预设值等的方式,本申请实施例对此不作限定。
上述对多媒体数据进行流控的方法,对当前周期内的当前编码数据、以及基于当前编码数据进行流控处理所产生的通信状态数据进行组合处理,可以得到融合了多个指标维度数据的待处理组合数据。其中,当前编码数据和通信状态数据,可以从整体上反映网络环境状况、以及用户主观体验的好坏,因而将当前编码数据和通信状态数据进行组合后处理,可以更全面的指导流控数据的预测。接下来对待处理组合数据进行自注意力机制处理后再进行多任务分类,输出至少一个维度的目标流控数据。这样可以将不同类型的编码数据及通信状态数据通过自注意力机制进行重要程度区分,充分发挥高层次表征特征的主次推导作用,从而使得输出的目标流控数据在用于下个周期的流控处理时,更能适应复杂多变的真实网络环境,流控效果好。另外,由于采用的是自注意力机制,而自注意力机制可以捕捉数据内部的相关性,并能够减少对外部信息的依赖,从而也可以使得输出的流控数据更能适应复杂多变的真实网络环境。
再者,当执行主体为终端时,相较于GCC算法,流控决策的产生者由后台服务器转变为了终端,从而可以保证流控决策的时效性。另外,由于上述方法流程仅基于通信状态及编码数据即可执行,而不依赖于其它算法,从而能够全面精准反馈多媒体通信场景下的网络变化。
结合上述实施例的内容,在一些实施例中,当前编码数据包括编码码率、分辨率或帧率中的至少一种,目标流控数据包括编码码率类别、分辨率类别或帧率类别中的至少一种;通信状态数据包括网络丢包率、网络延迟信息、网络抖动信息或卡顿率中的至少一种。
其中,编码码率指的是在对模拟信号采样、量化及编码完成后,数据流中有用信息部分所占的比例。分辨率指的是屏幕图像的精密度,是指显示器所显示的像素总和。帧率指的是以帧称为单位的图像连续出现在显示器上的频率或速率。而由上述实施例提及的内容可知,目标流控数据可以用于指示下一周期所使用的编码数据。由此,在本申请实施例中,目标流控数据可以包括编码码率类别、分辨率类别或帧率类别中的至少一种,通过类别指示下一周期所使用的编码数据。其中,目标流控数据可以通过one-hot(独热)向量,以呈现编码数据的类别,本申请实施例对此不作具体限定。
网络丢包率指的是所丢失数据包数量占所发送数据组的比率,网络丢包率通常与数据包长度以及包发送频率相关。网络延迟信息指的是数据包通过网络路径从发送方到接收方所需的时间。网络抖动信息指的是最大延迟与最小延迟的时间差,用于标识网络的稳定性。卡顿率指的是多媒体通信的卡顿时长与多媒体通信的总时长之间的比值。
在本申请实施例提供的所示方案中,由于上述多种数据均会导致多媒体通信质量与网络状态的变化,从而通过将上述多种数据作为分析网络环境及流控决策的依据,可以使得输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳,且能适用于更多的多媒体通信场景。
在一些实施例中,对待处理组合数据进行自注意力机制处理,得到中间处理特征,包括:通过至少一个自注意力模组,对待处理组合数据进行编码处理,得到中间处理特征;其中,当存在多个自注意力模组时,多个自注意力模组依次连接,且首个自注意力模组的输入数据为待处理组合数据,非首个自注意力模组的输入数据为相连接的前一个自注意力模组进行编码处理后的输出特征,最后一个自注意力模组的输出特征为中间处理特征。
其中,自注意力模组是包括有多个网络结构的组合块,用于将不同类型的编码数据及通信状态数据进行编码处理后得到中间处理特征,该中间处理特征可以区分不同指标数据的重要程度。自注意力模组的数量可以根据需求进行设置,本申请实施例对此不作具体限定。其中,通过数量较多的自注意力模组可以尽可能捕捉数据内部的相关性,以减少对外部信息的依赖程度,而数量如果太多,则会增加计算量。由此,实际实施过程中,自注意力模组的数量可以为3,从而平衡注意力机制的运用效果及计算量。
在本申请实施例提供的所示方案中,由于流控处理过程中可以将不同类型的编码数据及通信状态数据通过注意力机制进行重要程度区分,从而使得输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳。
在一些实施例中,自注意力模组包括多头注意力层和前向处理层。对于任一自注意力模组,任一自注意力模组的编码处理步骤,包括:通过自注意力模组中的多头注意力层,对相应的输入数据进行多头注意力处理,得到多头注意力处理结果;通过自注意力模组中的前向处理层,对多头注意力处理结果进行前向处理,得到相应自注意力模组的输出特征。
其中,多头注意力处理主要是将输入数据拆分为多头数据,再由每头数据确定各自的权重系数矩阵并进行加权处理,最后将每头数据的加权处理结果进行集成,从而得到该自注意力模组的多头注意力处理结果。前向处理层可以由两个全连接层构成,本申请实施例不对前向处理层中全连接层的数量作具体限定。
在本申请实施例提供的所示方案中,通过多头注意力层可以将高维度的输入数据拆分为多个低维度数据,并分别对多个低维度数据各自作权重处理,从而可以尽可能地保留数据多个维度的特征,降低数据损耗。
在一些实施例中,通过自注意力模组中的多头注意力层,对相应的输入数据进行多头注意力处理,得到多头注意力处理结果,具体包括:通过自注意力模组中的多头注意力层,对相应的输入数据进行全连接处理,得到全连接特征;将全连接特征进行拆分,得到多个全连接子特征;对各全连接子特征分别进行尺度点乘注意力处理,得到多个多头关注子特征;将多个多头关注子特征进行拼接,得到多头关注特征;对多头关注特征进行全连接处理,得到多头注意力处理结果。
参考图3,图3为一个实施例中多头注意力处理的结构原理图。如图3所示,计算机设备可对全连接特征通过进行拆分可以得到2的n次方个全连接子特征。在对各全连接子特征分别进行尺度点乘注意力处理,得到多个多头关注子特。计算机设备可将每头关注子特征进行拼接,从而得到多头关注特征。进而,计算机设备再对多头关注特征进行全连接处理,得到多头注意力处理结果。
在一些实施例中,以全连接特征为14*128维的数据为例,计算机设备对全连接特征进行拆分可以得到2的n次方个全连接子特征,如可以分为4个全连接子特征,分别为14*32维。在对各全连接子特征分别进行尺度点乘注意力处理,得到多个多头关注子特后,计算机设备可将每头关注子特征进行拼接,从而得到多头关注特征,如4个14*32的全连接子特征进行拼接后可以重新得到14*128的数据,也即为多头关注特征。进而,计算机设备再对多头关注特征进行全连接处理,得到多头注意力处理结果。
上述实施例中,由于尺度点乘注意力处理可自适应地将不同维度的特征进行重要程度区分,充分发挥高层次表征特征的主次推导作用,从而使得后续输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳。
在一些实施例中,对各全连接子特征分别进行尺度点乘注意力处理,得到多个多头关注子特征,包括:对于任一全连接子特征,将相应全连接子特征与自身进行矩阵相乘,得到矩阵相乘结果;对矩阵相乘结果进行尺度变换,得到尺度变换结果;通过第一激活函数,将尺度变换结果映射为与相应全连接子特征对应的权重矩阵;将权重矩阵与相应全连接子特征进行相乘,得到与相应全连接子特征对应的多头关注子特征。
具体地,对于多个全连接子特征中的每个全连接子特征,计算机设备均可采用相同的方式进行尺度点乘注意力处理,从而得到多个多头关注子特征。
其中,对单个全连接子特征进行尺度点乘注意力处理的方式,具体可继续参考图3,如图3所示,计算机设备可将该全连接子特征与自身进行矩阵相乘,得到矩阵相乘结果。再对矩阵相乘结果进行尺度变换,得到尺度变换结果。通过第一激活函数(具体可以是softmax归一化函数)将尺度变换结果映射为与相应全连接子特征对应的权重矩阵。进而再将权重矩阵与该全连接子特征进行相乘,得到与相应全连接子特征对应的多头关注子特征。
举例说明,以全连接子特征为14*32维度的特征矩阵为例,则将全连接子特征与自身进行相乘,也即将14*32的特征矩阵乘以32*14的特征矩阵,从而可以得到14*14的矩阵。尺度变换主要是为了保证后续第一激活函数输出的分数值能在一个合适的范围内。
上述实施例中,由于尺度点乘注意力处理可将不同维度的特征进行重要程度区分,从而使得后续输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳。
在一些实施例中,基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据,包括:对于至少一个维度中的每个维度,均对中间处理特征进行残差处理,得到各维度对应的残差处理结果;对各残差处理结果分别进行全连接处理,得到相应的全连接处理结果;通过第二激活函数,分别将全连接处理结果映射为与相应维度对应的目标流控数据。
具体地,在存在多个维度时,计算机设备可并行基于中间处理特征进行多任务分类处理,也就是对于每个维度的任务,计算机设备均可对中间处理特征进行残差处理,得到各维度对应的残差处理结果,再对各残差处理结果分别进行全连接处理,得到相应的全连接处理结果。接着通过第二激活函数(具体可以是softmax函数),分别将全连接处理结果映射为与相应维度对应的目标流控数据。
需要说明的是,由上述实施例的内容可知,目标流控数据可以包括编码码率类别、分辨率类别或帧率类别中的至少一种。由此,这里提及的“至少一个维度”,即对应上述内容中的“至少一种”,也即可以输出编码码率类别、分辨率类别或帧率类别中的至少一种编码数据,或者还可以其它类型的编码数据。
可以理解的是,上述内容主要是残差处理,全连接处理及激活函数处理这三个处理过程。若将该三个处理过程由一个多头分类器实现,则实际实施过程中,每需要输出一个维度的目标流控数据,则可以为其设计一个多头分类器。由此,在实际实施本申请实施例时,多头分类器的数量可以与输出数据的总维度一致。
上述实施例中,由于可以输出多种维度的流控数据,从而可以使得输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳,且能适用于更多的多媒体通信场景。
上述实施例提及的过程,主要是应用带有自注意力机制的模型实现流控处理的内部处理流程。实际实施过程中,该模型可以为强化学习模型实现,或者其它深度学习模型实现,本申请实施例不对模型的类型作具体限定。为了便于描述及理解,本申请实施例采用强化学习中的智能体模型(也就是本申请提及的流控模型)对上述过程进行举例说明。
以该方法提及的多媒体通信过程为音视频实时通话过程为例,结合图4和图5,对上述流控方法的过程进行举例说明。其中,图4为一个实施例中智能体模型结构概要图,图5为一个实施例中基于智能体模型的交互原理图。
参考图4,图4 最左边的是数据预处理模块,该模块主要是用于获取当前周期内的当前编码数据、以及通过当前编码数据进行流控处理所产生的通信状态数据。其中,通信状态数据可以通过服务器获取,而当前编码数据可以通过多媒体通信客户端获取。通信状态数据可以包括网络丢包率、网络延迟信息、网络抖动信息或卡顿率中的至少一种,当前编码数据可以包括编码码率、分辨率或帧率中的至少一种。
当然,实际实施过程中,通信状态数据还可以具体包括视频丢包率、音频丢包率、视频抖动信息、音频抖动信息、视频卡顿率、音频卡顿率或音频错误隐藏信息中的至少一种。当前编码数据还可以具体包括视频编码码率、硬编软编信息或音频编码码率中的至少一种,本申请实施例不对通信状态数据及当前编码数据所包括的内容作具体限定。需要说明的是,由于实际实施过程中采样率及编码类型等数据通常会采用固定值,从而这些数据可以不纳入至通信状态数据及当前编码数据中。
倘若经过数据预处理模块处理后,当前编码数据及通信状态数据一共能获取14种类型的指标数据,则该14种类型的指标数据接下来会被输入至流控决策AI智能体backbone模块。其中,每种类型的指标数据均会被依次输入至2个一维卷积层Conv_1d。由此可知,流控决策AI智能体backbone模块中一共可以有28个一维卷积层。当然,实际实施过程中,每种类型的数据也可以为其配置成其它数量个的一维卷积层,本发明实施例对此不作具体限定。
其中,由上述实施例的内容可知,当前周期内可以继续划分子周期。由此,每种类型的数据可以为8维向量,每一8维向量在通过2个Conv_1d后,均可以得到1个128维的向量,从而经过1维卷积处理后,实际上可以得到14*128的矩阵。
在得到14*128的矩阵后,该矩阵可接着通过由多头注意力层和前向处理层所构成的自注意力模组。在图4中,“Multi-head attention”即为多头注意力层,而“Feedforward”即为前向处理层,而两者被包围的虚线框即代表自注意力模组。从图4中可知,自注意力模组的数量可以不止一个,实际实施过程中自注意力模组的数量可以为3,本申请实施例对此不作具体限定。需要说明的是,图4中并未给出自注意力模组之间的连接关系,实际实施过程中自注意力模组可以是串行连接的。例如,若自注意力模组的数量为3,则14*128的矩阵可以依次通过三个串行的自注意力模组。通过串行连接方式,可以尽可能地捕捉数据内部的相关性,以减少对外部信息的依赖。
通过自注意力模组处理的后,可以得到14*128的特征矩阵,也即流控决策AI智能体backbone模块可以输出14*128的特征矩阵。接着,14*128的特征矩阵可以输入至多头分类器中,从而实现多任务分类。如图4中的示例,可以得到三个维度的目标流控数据,分别为编码码率、分辨率及帧率。需要说明的是,图4中仅示例性地给出一个多头分类器,实际实施过程中多头分类器的数量可以与输出数据的总维度一致,也即每需要输出一个维度的目标流控数据,则均可以为其设计一个多头分类器。
多头分类器可以包括一个残差块(Residual Block)、全连接层(FC)及softmax层。其中,残差块(Residual Blocks)可以包括两个全连接层,两个全连接层的输入与两个全连接层的输出之间设置有残差连接。如图4右方所示,“Multi-head Classifier”即表示多头分类器,多个多头分类器可以组成如图4所示的流控决策预测模块。
对于上述过程中提及的“Multi-head attention”多头注意力层,其结构可参考图3。图3中的“输入数据”即为经过一维卷积处理后得到14*128的矩阵,先通过全连接层处理,再经由通道多头拆分可以得到4路数据,分别均为14*32的矩阵。其中,每一14*32的矩阵均可参考右边虚线所指示的细化过程进行处理。具体地,对于某一14*32的矩阵,由于自注意力机制,从而可以先将该14*32的矩阵复制3份,并分别作为V、K及Q。将V与Q相乘,将相乘结果作尺度变换,再将尺度变换结果通过激活函数作归一化指数处理,从而可以得到该14*32的矩阵所对应的权重矩阵。将该权重矩阵与Q相乘,即可得到该14*32的矩阵经由尺度点乘注意力处理后的特征矩阵。
通过上述过程,每一路数据均可以得到一个14*32的特征矩阵,再通过进行通道多头拼接,从而可以得到多头关注特征。最后,再通过全连接层,即可得到经由一个多头注意力层处理后的多头注意力处理结果。通过一个多头注意力层处理后,可再由前向处理层进行处理,此时即完成了一个自注意力模组的处理。通过多个自注意力模组处理后,如3个,可得到中间处理特征。
上述图3、图4以及相关说明,主要解释的是流控决策AI智能体中行为预测网络(也称Actor网络)的结构。由图4可知,Actor网络主要由流控决策AI智能体backbone模块和流控决策预测模块所构成,输入为后台服务器给出的通信状态和客户端上报的编码数据,输出为三个维度的流控数据以作为流控决策。其中,流控决策会作用于客户端环境,造成各个状态指标数值以及reward数值的变化。由于流控决策都为离散量化值,从而Actor网络可以理解为多任务“分类”模型。
可以理解的是,流控决策AI智能体中除了Actor网络之外,还包括行为评价网络(也称Critc网络)。Critic网络主要由流控决策AI智能体backbone模块和累计reward预测模块所构成,输入与Actor网络输入的内容相同,输出则为累计reward预测值。其中,累计reward预测模块可如图4中右下方所示,可以包括一个残差模块及全连接层。需要说明的是,由图4可知,Actor网络与Critc网络是共用一套backbone基础网络的,实际实施过程中也可以选择不共用,本申请实施例对此不作具体限定。
结合上述流程,流控决策AI智能体的流控交互过程可参考图5。其中,客户端状态主要体现为当前周期客户端所使用的编码数据,也即当前周期内的当前编码数据。流控决策AI智能体通过从后台服务器获取通信状态,从客户端获取客户端状态,并以该两者为依据进行流控决策预测,再作用于客户端,从而被用户所感知。
在本申请实施例提供的所示方案中,由于不同的网络环境和客户端状态对流控决策的重要程度有所区别,影响码率切换、分辨率和帧率调整的主要原因是音视频丢包率以及上下行时延等实时通信状态,而类似卡顿率及帧率等逻辑推理数据更偏向于辅助指导流控决策的进行。由此,对于不同的环境统计状态,本申请实施例通过采用注意力机制自适应调整不同数据的重要程度,充分发挥高层次表征特征的主次推导作用,从而使得输出流控决策更加精准。
另外,由于影响用户主观体验的流控决策并不单一,音视频的编码码率、视频分辨率和帧率都能直观体现在用户体验上,从而在每一时刻,三者达到最佳的档位值,才能给用户较好的产品体验。这使得AI智能体能多角度预测合适的流控决策档位值,而本申请实施例通过采用多任务学习策略,对编码码率、分辨率及帧率三个流控决策分别进行预测,从而可以在不同的多媒体通信场景下,尽可能提高流控决策带给用户的产品体验。
上述实施例的内容主要阐述了进行多媒体数据传输流控时的模型应用过程,可以理解的是,模型同样需要适配的训练过程。参见图6,本申请实施例提供了一种流控模型训练方法。该方法可以应用于终端或服务器,本申请实施例不对执行主体的类型作具体限定。终端可以但不限于是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。
以该方法应用于计算机设备,且该方法涉及的多媒体通信过程为视频实时通话过程为例进行说明,包括以下步骤:
步骤S602、获取经过多个预训练样本组进行预训练所得到的基础流控模型。
其中,基础流控模型是经过多个预训练样本组进行预训练后得到的模型。预训练主要目的是使得基础流控模型具有一定流控处理效果。可以理解的是,基于强化学习的训练比较不稳定,尤其是刚开始流控模型的Actor网络和Critic网络预测结果都不太准确的情况,直接进行离线训练和在线训练,这不仅减慢模型后期强化学习训练的收敛速度,也影响最终训练模型的性能效果。因此前期有必要基于历史上报数据对初始的流控模型进行宇轩里,得到具有一定效果的基础流控模型,也称baseline模型。
其中,预训练过程可以采用监督学习的方式训练,本申请实施例不对预训练过程作具体限定。关于预训练的相关内容,在后面的实施例中会做详细说明。
步骤S604、对于离线训练中的每个离线周期,均基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;离线样本数据包括离线样本编码数据和离线样本通信状态数据。
需要说明的是,对于流控模型的训练,依赖于流控模型与环境的交互,而离线状态下,流控模型是无法与线上环境进行实时交互的,因此可通过环境模拟器来弥补这一缺陷。也就是说,在离线训练阶段,可通过环境模拟器基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据。下一离线周期的离线样本数据,就可继续用于输入至基础流控模型进行训练,输出离线流控预测数据。这样不断的交互循环,以实现流控模型的离线训练。
还需要说明的是,为使得流控模型能适用于异常网络突发情况,还可以对离线生成的离线样本数据作随机处理,从而模拟异常网络突发情况,并用于对流控模型的训练过程。
在一些实施例中,对于任一离线周期,离线流控预测数据指的是将该离线周期内的当前离线编码数据及通过当前离线编码数据进行流控处理所产生的离线通信状态数据,输入至基础流控模型后所输出的流控数据。而离线样本数据则可以包括该离线周期的当前离线编码数据及离线通信状态数据,以用于表示该离线周期结束后的网络状态及客户端状态,而当前离线周期的离线流控预测数据实则是下一离线周期待使用的流控决策。由此,可以理解的是,步骤S604实际上是根据下一离线周期开始前的网络状态及客户端状态,模拟下一离线周期在执行完上述待使用的流控决策后,下一离线周期结束时的网络状态及客户端状态,也即下一离线周期的离线样本数据。
步骤S606、根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值。
具体地,计算机设备可在流控模型的行为预测网络与环境模拟器进行不断交互的过程中,依次获得每个交互周期的离线样本数据,直至得到每一离线周期的离线样本数据。进而,计算机设备可根据每一周期的离线样本数据,确定每一离线周期的离线累计奖励参考值。具体如何基于离线样本数据得到每一离线周期的离线累计奖励参考值的详细过程,可参考后续相关的实施例部分。
在该步骤中,由上述内容可知,对于任一离线周期,该离线周期的离线样本数据可以表示该离线周期结束后的网络状态及客户端状态。而该离线周期结束后的网络状态及客户端状态,可以反映该离线周期的音视频通话质量。例如,若基于离线样本数据可确定该离线周期的音视频的流畅度,则流畅度即可反映该离线周期的音视频通话质量。由此,本步骤实际上是将每一离线周期的网络状态及客户端状态量化为一个评价离线周期的音视频通话质量的指标,以得到每一离线周期的离线累计奖励参考值,从而在后续计算机设备可以基于该评价指标,对每一离线周期的离线流控预测数据进行评价,以对基础流控模型进行离线滚动训练。
步骤S608、基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型。
具体地,计算机设备可基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型。其中,离线训练停止条件可以是达到预设训练次数或者训练过程收敛等条件,本申请实施例对此不作具体限定。
步骤S610、对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值。
具体地,流控模型在经过离线训练阶段训练收敛完成后,可将其部署在多媒体通信的服务器中。在固定时间周期内,中间流控模型基于在线样本数据(包括在线编码数据和在线通信状态数据)来预测流控数据,并作用于多媒体通信客户端,同时收集新的变化状态。固定周期内收集的在线样本数据用于对中间流控模型进行在线训练更新。
需要说明的是,不同于离线训练,在线训练流控模型的交互对象不再是环境模拟器,而是线上运行的多媒体通信客户端和服务器,基于线上实时反馈数据进一步优化更新流控模型。在线训练的流程同离线训练流程类似。在线周期内,多台部署服务器收集线上数据,并用于训练服务器中间流控模型的训练,微调模型参数,不断改善中间流控模型的预测效果,得到目标流控模型。
具体地,对于在线训练中的每个在线周期,计算机设备均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值。在线样本数据博阿凯在线编码数据和在线通信状态数据。
步骤S612、基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
需要说明的是,在线训练的构思与离线训练的构思、以及奖励值和累计奖励值的计算方式都是的一致的,此处不再赘述。不同的是,在线训练阶段不需要模拟生成下一周期的样本数据,而是可以直接线上获取。其中,在线训练停止条件可以参考离线训练停止条件的设置方式,本申请实施例对此不作具体限定。在线训练过程,可以使得流控模型能够不断适应线上网络环境且不断自我更新,以不断提高流控决策的精准度。
在本申请实施例提供的所示方案中,通过先采用预训练,可以使得基础流控模型能够贴近于前一版本流控模型的决策方式,从而可以避免将不经过预训练的流控模型投入使用,可能会造成用户的不适感,进而将降低用户的产品体验。通过在预训练结束后采用离线训练,由于通过离线训练可以使得流控模型在正式上线应用之前,尽可能地多进行训练,从而提高流控决策的精准度。另外,由于可以对离线样本数据作随机处理,以模拟异常网络突发情况,通过随机模拟的离线样本数据对基础流控模型进行训练,可以迫使基础流控模型能够适应异常网络突发情况,从而迫使基础流控模型学会自我调整。在完成离线训练后,最后再执行在线训练,由于在线训练可以不断更新流控模型,从而可以不断改善流控模型的预测效果,进而改善多媒体通信质量及用户体验。
在一些实施例中,基础流控模型包括行为预测网络和行为评价网络,行为预测网络和行为评价网络共享编码结构,行为预测网络还包括多头分类结构,行为评价网络还包括单任务处理结构;编码结构包括依次连接的至少一个自注意力模组,每个自注意力模组均包括多头注意力层和前向处理层。
其中,行为预测网络即对应上述实施例中提及的Actor网络,行为评价网络即对应Critic网络。而行为评价网络共享编码结构即对应backbone基础网络,多头分类结构即对应多头分类器。本申请实施例提及的各个概念均可以参考上述实施例提及的内容,此处不再赘述。
在本申请实施例提供的所示方案中,由于流控处理过程中可以将不同类型的编码数据及通信状态数据通过注意力机制进行重要程度区分,从而使得输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳。另外,由于采用的是自注意力机制,而自注意力机制可以捕捉数据内部的相关性,并能够减少对外部信息的依赖,从而也可以使得输出的流控数据更能适应复杂多变的真实网络环境。
在一些实施例中,该流控模型训练方法还包括流控模型预训练的步骤,参考图7,该步骤具体包括以下内容:
步骤S702,将历史上报数据中对应相同历史周期的历史通信状态数据和历史编码数据,组成历史样本数据。
其中,历史上报数据是历史阶段多媒体通信客户端和服务器共同上报的通信相关数据。对于某一历史周期,该历史周期的历史编码数据指的是该历史周期所使用的编码数据,而该历史周期的历史通信状态数据则指的是该历史周期在通过上述历史编码数据进行流控处理后所产生的通信状态数据。计算机设备可将对应相同历史周期的上述两种数据,组成该历史周期的历史样本数据。
步骤S704,对于当前历史周期,基于下一历史周期的历史编码数据,确定与当前历史周期对应的历史流控参考数据,并根据当前历史周期的历史样本数据,确定与当前历史周期对应的历史累计奖励参考值。
由上述实施例提及的内容可知,目标流控数据可以用于指示下一周期所使用的编码数据。由此,可以理解的是,对于某一历史周期,该历史周期的下一历史周期所使用的历史流控参考数据是基于该历史周期的历史样本数据所预测的,而该历史周期所使用的历史流控参考数据与该下一历史周期的历史编码数据是相关联的。
因此,计算机设备可以基于下一历史周期的历史编码数据,确定与当前历史周期对应的历史流控参考数据。结合上述实施例对累计奖励参考值的说明,计算机设备同样可以根据当前历史周期的历史样本数据,确定与当前历史周期对应的历史累计奖励参考值。其中,历史累计奖励参考值的计算方式,可参考后面实施例中离线累计奖励参考值的计算方式。
步骤S706,将对应相同历史周期的历史样本数据、历史流控参考数据和历史累计奖励参考值,作为一组预训练样本组。
步骤S708,根据多组预训练样本组对待训练的初始流控模型进行预训练,直至达到预训练停止条件时停止,得到基础流控模型。
具体地,计算机设备可将得到的每一历史周期的历史样本数据、历史流控参考数据和历史累计奖励参考值,作为每一历史周期对应的预训练样本组。再通过步骤S708完成预训练过程。
其中,预训练方式可以监督学习训练方式,预训练停止条件可以为达到预设训练次数或者训练过程收敛等条件,本申请实施例对此不作具体限定。
在本申请实施例提供的所示方案中,由于通过预训练可以使得基础流控模型能够贴近于前一版本流控模型的决策方式,从而可以避免将不经过预训练的流控模型投入使用,可能会造成用户的不适感,进而将降低用户的产品体验。
在一些实施例中,根据多组预训练样本组对待训练的初始流控模型进行预训练,直至达到预训练停止条件时停止,得到基础流控模型的步骤,具体包括以下内容:
基于待训练的初始流控模型中的行为预测网络,对预训练样本组中的历史样本数据进行处理,输出历史流控预测数据;根据每一预训练样本组对应的历史流控预测数据及历史流控参考数据,确定第一交叉熵损失;基于待训练的初始流控模型中的行为评价网络,对预训练样本组中的历史样本数据进行处理,输出历史累计奖励预测值;根据历史累计奖励预测值及相应的历史累计奖励参考值间的差异,确定第一奖励损失;基于第一交叉熵损失及第一奖励损失,构建预训练损失函数;通过预训练损失函数,对初始流控模型进行预训练,直至达到预训练停止条件时停止,得到基础流控模型。
为了便于理解,现通过举例的方式对训练过程进行说明,在执行本申请实施例之前,可以构建大量已知的
Figure 983417DEST_PATH_IMAGE002
三元组数据。其中,每一三元组数据即对应上述实施例提及的一组预训练样本组。
以第t个历史周期为例,该第t个历史周期对应的预训练样本组可以记为
Figure 745836DEST_PATH_IMAGE003
。其中,
Figure 192998DEST_PATH_IMAGE004
对应第t个历史周期的历史样本数据,而
Figure 913830DEST_PATH_IMAGE005
对应第t个历史周期的历史流控参考数据,而
Figure 813653DEST_PATH_IMAGE006
则对应第t个历史周期的历史累计奖励参考值。
由上述实施例提及的内容可知,初始流控模型中的行为预测网络可以根据
Figure 645342DEST_PATH_IMAGE004
预测第t个历史周期的历史流控预测数据。而第t个历史周期的历史流控参考数据是已知的,从而基于监督学习训练的原理,可以构建第一交叉熵损失函数,以确定第一交叉熵损失。以历史流控预测数据为三个维度的数据且分别为编码码率、分辨率及帧率为例,第一交叉熵损失
Figure 947011DEST_PATH_IMAGE007
可通过对编码码率交叉熵损失、分辨率交叉熵损失、以及帧率交叉熵损失进行组合而确定,具体可以是进行加权求和得到第一交叉熵损失。
在一些实施例中,可参考如下公式(1)构建第一交叉熵损失:
Figure 838743DEST_PATH_IMAGE008
;(1)
上述公式(1)即为预训练过程中Actor网络对应的损失函数。其中,N代表预训练样本组的总数量,i表示第i个预训练样本组。
Figure 225862DEST_PATH_IMAGE009
表示编码码率对应的多头预测交叉熵损失的权重值,B表示编码码率的总类别数,j表示编码码率的第j种类别。
Figure 595664DEST_PATH_IMAGE010
的取值与第i个预训练样本组的历史流控预测数据中编码码率的取值有关,若第i个预训练样本组的历史流控预测数据中编码码率的取值刚好对应第j种类别,则
Figure 751839DEST_PATH_IMAGE010
的取值为1,否则
Figure 814473DEST_PATH_IMAGE010
的取值为0。
Figure 688888DEST_PATH_IMAGE011
的取值为第i个预训练样本组的历史流控预测数据中编码码率的取值刚好对应第j种类别的概率。
同理,
Figure 862380DEST_PATH_IMAGE012
表示分辨率对应的多头预测交叉熵损失的权重值,R表示分辨率的总类别数,k表示分辨率的第k种类别。
Figure 138641DEST_PATH_IMAGE013
的取值与第i个预训练样本组的历史流控预测数据中分辨率的取值有关,若第i个预训练样本组的历史流控预测数据中分辨率的取值刚好对应第k种类别,则
Figure 372176DEST_PATH_IMAGE014
的取值为1,否则
Figure 733887DEST_PATH_IMAGE015
的取值为0。
Figure 179912DEST_PATH_IMAGE016
的取值为第i个预训练样本组的历史流控预测数据中分辨率的取值刚好对应第k种类别的概率。
Figure 576258DEST_PATH_IMAGE017
表示帧率对应的多头预测交叉熵损失的权重值,F表示帧率的总类别数,l表示分辨率的第l种类别。
Figure 715115DEST_PATH_IMAGE018
的取值与第i个预训练样本组的历史流控预测数据中帧率的取值有关,若第i个预训练样本组的历史流控预测数据中帧率的取值刚好对应第l种类别,则
Figure 564123DEST_PATH_IMAGE018
的取值为1,否则
Figure 79418DEST_PATH_IMAGE018
的取值为0。
Figure 828806DEST_PATH_IMAGE019
的取值为第i个预训练样本组的历史流控预测数据中帧率的取值刚好对应第l种类别的概率。
通过上述公式(1),可以计算得到所预训练样本组对应的第一交叉熵损失。由上述实施例提及的内容可知,初始流控模型中的行为评价网络,也即Critic网络可以根据
Figure 138564DEST_PATH_IMAGE020
预测第t个历史周期的历史累计奖励预测值,记为
Figure 474868DEST_PATH_IMAGE021
。由此,可通过计算历史累计奖励预测值与历史累计奖励参考值之间的欧式距离,以构建第一奖励损失,也即Critic网络的损失函数,具体可参考如下公式(2):
Figure 793854DEST_PATH_IMAGE022
;(2)
在上述公式(2)中,N代表预训练样本组的总数量,t表示第t个预训练样本组,其它参数的定义可参考上述说明。
在确定第一交叉熵损失及第一奖励损失后,计算机设备可对第一交叉熵损失和第一奖励损失进行加权求和运算,以构建预训练损失函数,具体可参考如下公式(3):
Figure 633634DEST_PATH_IMAGE023
;(3)
在上述公式(3)中,
Figure 379873DEST_PATH_IMAGE024
表示预训练损失函数。
基于上述公式(1)至公式(3),可以对初始流控模型进行预训练。其中,预训练停止条件可以为预训练损失函数的函数值收敛。需要说明的是,上述实施例给出的方式是将Actor网络与Critic网络一起训练,主要是为了保持两个网络之间的联系。实际实施过程中该两个网络也可以分开训练,即各自使用各自的损失函数进行训练直至满足预训练停止条件,本申请实施例不对预训练的方式作具体限定。
上述实施例中,由于通过预训练可以使得基础流控模型能够贴近于前一版本流控模型的决策方式,从而可以避免将不经过预训练的流控模型投入使用,可能会造成用户的不适感,进而将降低用户的产品体验。
在一些实施例中,离线样本数据包括编码码率和卡顿率,根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值,包括:
对于当前离线周期,根据当前离线周期的编码码率,确定当前离线周期的清晰度;根据当前离线周期的卡顿率,确定当前离线周期的流畅度;根据当前离线周期的编码码率及当前离线周期的下一离线周期的编码码率,确定当前离线周期的平滑度;根据当前离线周期的清晰度、流畅度、平滑度、视频无质量参考分及音频无质量参考分,计算当前离线周期的离线奖励参考值;基于下一离线周期的离线累计奖励参考值、以及当前离线周期的离线奖励参考值,确定当前离线周期的离线累计奖励参考值。
由上述实施例的内容可知,对于任一离线周期,该离线周期的离线样本数据可以包括该离线周期所使用的离线编码数据、以及该离线周期在通过上述编码数据进行流控处理后所产生的离线通信状态数据,而离线编码数据可以包括编码码率及卡顿率。由此,在本申请实施例中,可以通过每一离线周期的编码码率及卡顿率,确定每一离线周期的流畅度、清晰度及平滑度。
具体地,视频的流畅度可以用于表示用户在观看视频时的卡顿情况,卡顿情况可以包括卡顿次数和卡顿时长。其中,卡顿次数越少,卡顿时长越短,则流畅度越高。由此,可以用
Figure 937893DEST_PATH_IMAGE025
表示第t个离线周期的卡顿率,而用
Figure 794991DEST_PATH_IMAGE026
表示第t个离线周期的流畅度。
视频的清晰度可以用视频的编码码率来衡量,一般情况下,码率越高,则清晰度越高。由此,可以用
Figure 754856DEST_PATH_IMAGE027
表示第t个离线周期的编码码率,而用
Figure 671997DEST_PATH_IMAGE028
表示第t个离线周期的清晰度。
视频的平滑度指的是用户观看视频时可感知到的编码码率切换情况。其中,编码码率切换次数越少或者编码码率切换波动越小,则平滑度越高。由此,可以通过(
Figure 717313DEST_PATH_IMAGE029
),也即相邻两个离线周期之间编码码率的差值,来衡量相邻两个离线周期的编码码率切换波动。可以理解的是,差值越小,则编码码率从第t-1个离线周期切换至第t个离线周期,平滑度越高。由此,可以通过
Figure 378102DEST_PATH_IMAGE030
表示第t个离线周期的平滑度。
基于上述关于各项参数的说明,计算机设备可通过如下公式(4)实现离线奖励参考值的计算:
Figure 192474DEST_PATH_IMAGE031
;(4)
在上述公式(4)中,
Figure 280516DEST_PATH_IMAGE032
表示第t个离线周期的离线奖励参考值,
Figure 813128DEST_PATH_IMAGE033
表示第t个离线周期的音频无质量参考分,
Figure 12028DEST_PATH_IMAGE034
表示第t个离线周期的音频无质量参考分。而
Figure 680907DEST_PATH_IMAGE035
代表清晰度的权重、
Figure 205429DEST_PATH_IMAGE036
代表流畅度的权重、
Figure 959759DEST_PATH_IMAGE037
代表平滑度的权重、
Figure 962350DEST_PATH_IMAGE038
代表音频无质量参考分的权重及
Figure 751314DEST_PATH_IMAGE039
代表视频无质量参考分的权重。
R(*)则表示归一化操作,通过将清晰度、流畅度、平滑度、音频无质量参考分及视频无质量参考分拉至同一取值标准,从而便于计算。其中,音频无质量参考分可以作为音频清晰度的度量,视频无质量参考分可以作为视频清晰度的度量,视频无质量参考分均可以采用自然图像质量评价算法或者G.1070标准等算法计算得到,音频无质量参考分均可以采用节目响度测量算法或者间隙算法计算得到,本申请实施例对此不作具体限定。
需要说明的是,上述公式(4)中,之所以会减去
Figure 181158DEST_PATH_IMAGE040
Figure 422784DEST_PATH_IMAGE041
,是因为上述公式(4)中将
Figure 229066DEST_PATH_IMAGE042
定义为了不流畅度(也即流畅度的相反值),将
Figure 606958DEST_PATH_IMAGE043
定义为不清晰度(也即清晰度的相反值)。实际实施过程中,可以基于上述公式(4)中每一参数的定义进行组合,衍生出区别于公式(4)的计算过程,本申请实施例对此不作具体限定。
还需要说明的是,音频无质量参考分及视频无质量参考分可以分别作为音频或视频质量的度量,从而参与至
Figure 974747DEST_PATH_IMAGE044
计算,除了音频无质量参考分及视频无质量参考分之外,还可以将量化参数作为音频或视频质量的度量,实际实施过程中在计算
Figure 703669DEST_PATH_IMAGE045
可选择使用。
可以理解的是,计算机设备可通过上述公式(4)可以计算得到每一离线周期的
Figure 313642DEST_PATH_IMAGE044
。其中,计算第t个离线周期的离线累计奖励参考值可参考如下计算公式(5):
Figure 811619DEST_PATH_IMAGE046
;(5)
对于离线周期,上述公式(5)中,
Figure 583266DEST_PATH_IMAGE047
表示第t个离线周期的离线累计奖励参考值,而
Figure 65063DEST_PATH_IMAGE048
表示第t+1个离线周期的离线累计奖励参考值,
Figure 947568DEST_PATH_IMAGE049
表示第t个离线周期的离线奖励参考值。由上述公式(5)可知,在得知
Figure 565632DEST_PATH_IMAGE050
Figure 508180DEST_PATH_IMAGE051
的取值时,可以计算得到
Figure 946114DEST_PATH_IMAGE052
需要说明的是,计算得到
Figure 897890DEST_PATH_IMAGE052
时,需要使用到
Figure 370459DEST_PATH_IMAGE050
。也就是累计奖励值实质上是倒序预先计算好的。在实际实施过程中,计算机设备可以分轮次进行离线训练。在进行当前轮次的离线训练之前,可以先确定当前轮次的离线训练中每一离线周期的离线累计奖励参考值。
具体地,计算机设备可保留上一轮次训练得到的行为预测网络和行为评价网络,也就是,Exploitation Actor网络及Exploitation Critic网络。计算机设备可基于上一轮次训练得到的行为预测网络对某个周期的离线样本数据进行处理,得到对应的离线流控预测数据,通过环境模拟器,基于该离线周期的离线样本数据和离线流控预测数据,模拟生成下一离线周期的离线样本数据。基于下一离线周期的离线样本数据再生成后一离线周期的离线样本数据,这样不断地迭代,直至得到每个周期各自对应的离线样本数据。
需要说明的是,离线累计奖励参考值是倒序进行计算的,也就是说,为了计算每一离线周期的离线累计奖励参考值,可以为每一轮次的离线训练设置一个截止离线周期,并将截止离线周期的离线样本数据输入至上一轮次得到的Critic网络,也即输入至Exploitation Critic网络,从而输出截止离线周期的离线累计奖励预测值,以作为当前轮次的离线训练中截止离线周期的离线累计奖励参考值。
计算机设备可基于每个周期各自对应的离线样本数据,依据上述的公式(4)依次计算得到各个离线周期分别对应的离线奖励参考值。这样,若能够得知当前轮次的离线训练中截止离线周期的离线累计奖励参考值,又同时得知当前轮次的离线训练中每一离线周期的离线奖励参考值,即可通过上述公式(5)倒序计算得到当前轮次的离线训练中每一离线周期的离线累计奖励参考值。
可以理解的是,实际实施过程中,也可以通过设置一个预设值作为当前轮次的离线训练中截止离线周期的离线累计奖励参考值,本申请实施例对此不作具体限定。这样,在收集完当前轮次的离线训练所需要使用的各个离线周期分别对应的离线累计奖励参考值后,即可进行当前轮次的离线训练。
可以理解的是,上述实施例提及的历史累计奖励参考值也可以参考上述过程计算得到。不同的是,上述过程需要设置预设截止离线周期。而历史样本数据由于多媒体通信过程什么时间结束,是可以获知的,从而不需要预设截止历史周期,而是将多媒体通信过程的结束时间设置为最后一个历史周期,同时将最后一个历史周期对应的历史累计奖励参考值设置为0或者其他预设数值。由此,通过公式(4)可以获知每一历史周期对应的历史奖励参考值,从而可以基于公式(5)倒序计算出每一历史周期对应的历史累计奖励参考值。
在本申请实施例提供的所示方案中,由于奖励函数中可以综合体现视频的清晰度、流畅度及平滑度,从而使得输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳。
在一些实施例中,基础流控模型包括行为预测网络和行为评价网络,基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型,包括:
通过当前离线周期的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控预测数据;基于当前离线周期的离线流控预测数据确定第二交叉熵损失,并根据第二交叉熵损失确定第一离线目标函数;通过当前离线周期的行为评价网络,对当前离线周期的离线样本数据进行处理,得到当前周期的离线累计奖励预测值;基于当前离线周期的离线累计奖励预测值和当前离线周期的离线累计奖励参考值,确定第二奖励损失,基于第二奖励损失构建第二离线目标函数;通过第一离线目标函数对行为预测网络进行训练,并通过第二离线目标函数对行为评价网络进行训练,直至达到离线训练停止条件时停止,得到中间流控模型。
如图8所示,以当前离线周期为第t个离线周期为例,计算机设备通过将statet输入至Actor网络,可以输出第t个离线周期的离线流控预测数据。若总共有T个离线周期,则所有离线周期的第二交叉熵损失可参考如下公式(6):
Figure 749488DEST_PATH_IMAGE053
;(6)
在上述公式(6)中,
Figure 674719DEST_PATH_IMAGE054
表示第t个离线周期actiont的概率分布。需要说明的是,由于actiont,也即离线流控预测数据可包括多种数据,如可以为分辨率,帧率及编码码率等,从而离线流控预测数据所包括的每种数据,均可以对应计算得到一个第二交叉熵损失。也即,实际实施过程中,可以是3个
Figure 164606DEST_PATH_IMAGE055
。需要说明的是,第二交叉熵损失主要是促使预测值在action空间广泛探索(Exploration)而不过分凸现某一类action的概率。
在得到第二交叉熵损失后,计算机设备可确定第一离线目标函数。实际实施过程中,可结合离线训练算法的损失函数与第二交叉熵损失进行组合,从而得到第一离线目标函数。其中,离线训练算法可以为近端策略优化算法、柔性致动评价算法或双延迟深度确定性策略算法等,本申请实施例对此不作具体限定。
如图8所示,以当前离线周期为第t个离线周期为例,计算机设备将statet输入至Critic网络,可以输出第t个离线周期的离线累计奖励预测值。通过计算每一离线周期的离线累计奖励预测值与离线累计奖励参考值,可确定每一离线周期的第二奖励损失,进而构建得到第二离线目标函数。其中,第二离线目标函数可参考如下公式(7):
Figure 491682DEST_PATH_IMAGE056
;(7)
在上述公式(7)中,
Figure 41612DEST_PATH_IMAGE057
Figure 454139DEST_PATH_IMAGE058
分别表示第t个离线周期的离线累计奖励预测值及离线累计奖励参考值。
在本申请实施例提供的所示方案中,由于通过离线训练可以使得流控模型在正式上线应用之前,尽可能地多进行训练,从而提高流控决策的精准度。另外,由于可以对离线样本数据作随机处理,以模拟异常网络突发情况,通过随机模拟的离线样本数据对基础流控模型进行训练,可以迫使基础流控模型能够适应异常网络突发情况,从而迫使基础流控模型学会自我调整。
在一些实施例中,示出了本申请另一个示例性实施例提供的第一离线目标函数的构建步骤。该步骤包括如下内容:
通过前一轮次的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控经验数据;基于当前离线周期对应的离线流控经验数据、离线流控经验数据的概率分布、以及离线流控预测数据的概率分布,确定对比损失;根据对比损失及优势函数值,确定强化损失;基于正负向奖励机制,对强化损失进行修正,得到修正后的强化损失;根据第二交叉熵损失和修正后的强化损失,构建第一离线目标函数。
具体地,如图8所示,计算机设备将statet输入至Exploitation Actor网络(也就是前一轮次训练得到的行为预测网络),可输出actiont经验值,也即为当前离线周期的离线流控经验数据。对比损失可参考如下公式(8):
Figure 747717DEST_PATH_IMAGE059
;(8)
在上述公式(8)中,
Figure 929300DEST_PATH_IMAGE060
表示离线流控预测数据的概率分布,
Figure 650131DEST_PATH_IMAGE061
表示离线流控经验数据的概率分布,
Figure 815533DEST_PATH_IMAGE062
表示第t个离线周期的离线流控经验数据,可以用on-hot向量表示。
在得到对比损失后,可根据对比损失及优势函数值确定强化损失。参见图8,每一离线周期的优势函数值Advantage为每一离线周期的离线累计奖励参考值与离线累计奖励预测值之间的差异值。本申请实施例不对根据对比损失及优势函数值确定强化损失的方式作具体限定,包括但不限于:计算机设备可计算对比损失与优势函数值之间的第一乘积,计算对比损失的截断值与优势函数值之间的第二乘积,从第一乘积与第二乘积选取较小值作为强化损失。具体地,上述过程可参考如下公式(9):
Figure 381644DEST_PATH_IMAGE063
;(9)
在上述公式(9)中,
Figure 193566DEST_PATH_IMAGE064
表示对比损失,
Figure 85299DEST_PATH_IMAGE065
表示对比损失的截断值。
Figure 206838DEST_PATH_IMAGE066
表示截断函数,
Figure 842219DEST_PATH_IMAGE067
表示区间值。该截断函数表示当
Figure 263973DEST_PATH_IMAGE068
的取值位于
Figure 61028DEST_PATH_IMAGE069
Figure 935443DEST_PATH_IMAGE070
所形成的区间内时,则对
Figure 108935DEST_PATH_IMAGE068
进行截断,以使得截断后
Figure 385196DEST_PATH_IMAGE068
的值位于该区间内。
需要说明的是,上述提及的优势函数主要对应正负向奖励机制。其中,优势函数值为负,则可以理解为负向奖励,反之则为正向奖励。为了进一步凸显优势函数的正负向奖励机制,计算机设备可以对强化损失进行修正。将修正后的强化损失记为
Figure 353152DEST_PATH_IMAGE071
,则结合第二交叉熵损失,可以构建得到第一离线目标函数,具体可参考如下公式(10):
Figure 714863DEST_PATH_IMAGE072
;(10)
在上述公式(10)中,
Figure 692046DEST_PATH_IMAGE073
表示第二交叉熵损失的权重系数。
上述实施例中,结合第二交叉熵损失和修正后的强化损失,来构建第一离线目标函数,这样,在当前离线周期内,对于Actor网络,收敛目标依靠预测action(三个流控策略)的交叉熵损失、以及结合优势函数(advantage)、预测action和经验action的强化损失,可以显著提高Actor网络的训练效果。
在一些实施例中,基于正负向奖励机制,对强化损失进行修正,得到修正后的强化损失,包括:若当前的强化损失为负值,则将当前的强化损失、与预设倍数的第二奖励损失间的较大值,作为修正后的强化损失;若当前的强化损失为非负值,则保持当前的强化损失不变。
上述过程具体可参考如下公式(11):
Figure 822813DEST_PATH_IMAGE074
;(11)
在上述公式(11)中,x表示
Figure 227250DEST_PATH_IMAGE075
Figure 810678DEST_PATH_IMAGE076
即表示预设倍数的第二奖励损失,
Figure 325973DEST_PATH_IMAGE077
表示强化损失。
在本申请实施例提供的所示方案中,由于可以通过对强化损失进行修正,以凸显优势函数的正负向奖励机制,从而训练效果更佳。
需要说明的是,上述过程主要是离线训练的训练过程及各项损失函数,对于在线周期滚动训练,除了样本数据是在线获取而非离线模拟获取之外,其它过程可以参照离线训练的过程。具体地,离线训练完成后,可将离线训练所得到的中间流控模型部署到视频实时通话的后台服务器中。在固定时间周期内,中间流控模型可基于实时的网络状态客户端状态,预测流控决策,并作用于客户端,同时收集新的变化状态。基于固定周期内收集到的配对历史数据,不断对流控决策AI智能体进行训练更新。通过不断改善智能体部署模型的预测效果,从而改善视频实时通话的质量及用户体验。
在一些实施例中,基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据可以通过环境模拟器中的生成器实现。由此,示出了本申请另一个示例性实施例提供的环境模拟器训练步骤,该步骤包括如下内容:
将线上采集数据中对应相同训练周期的通信状态数据和编码数据,组成环境样本数据;对于当前训练周期,基于当前训练周期的下一训练周期的编码数据,确定与当前训练周期对应的环境流控数据;通过待训练的环境模拟器中的生成器,对当前训练周期的环境样本数据和环境流控数据进行处理,以生成下一训练周期的环境预测数据;根据每一训练周期的环境预测数据与每一训练周期的环境样本数据之间的差异,确定环境损失;
根据生成器生成每一训练周期的环境预测数据时的生成仿真度,确定生成器损失,并根据待训练的环境模拟器中的鉴别器,分别鉴别每一训练周期的环境预测数据及环境样本数据时的鉴别准确度,确定鉴别器损失;基于环境损失、生成器损失和鉴别器损失,构建待训练的环境模拟器的目标损失函数,并基于目标损失函数对待训练的环境模拟器进行迭代对抗训练,直至达到模拟训练停止条件时停止,得到训练结束的环境模拟器。
其中,上述过程所提及的线上采集数据与前面实施例所提及的历史上报数据均为历史数据,其内容可以相同,也可以不同,本申请实施例对此不作具体限定。对于当前训练周期t,第t个训练周期的通信状态数据可以记为
Figure 576826DEST_PATH_IMAGE078
,第t个训练周期的环境流控数据可以记为
Figure 152164DEST_PATH_IMAGE078
,而第t+1个训练周期,也即下一训练周期的环境预测数据可以记为
Figure 957309DEST_PATH_IMAGE079
由此,计算机设备可参考下述公式(12),来确定每一历史周期的环境预测数据与每一历史周期的环境样本数据之间的差异:
Figure 276294DEST_PATH_IMAGE080
;(12)
在上述公式(12)中,
Figure 116075DEST_PATH_IMAGE081
表示环境损失,N表示历史周期的总数,i表示第i个历史周期,
Figure 862314DEST_PATH_IMAGE082
表示第i个历史周期的环境样本数据,
Figure 685913DEST_PATH_IMAGE083
表示第i个历史周期的环境预测数据。
另外,生成器损失可参考如下公式(13),鉴别器损失可参考如下公式(14):
Figure 277431DEST_PATH_IMAGE084
;(13)
Figure 4341DEST_PATH_IMAGE085
;(14)
可以理解的是,对于公式(14),训练目的主要是希望鉴别器尽可能鉴别出生成器生成的环境预测数据是假的,且鉴别出真实存在的环境样本数据是真的。对于公式(13),训练目的主要是希望生成器尽可能生成让鉴别器判别为真的环境预测数据。需要说明的是,环境模拟器中生成器和判别器的网络结构均可基于Transformer的编解码器(Encoder-Decoder),不同点在于两者输出不一致。生成器中解码端的输出是与
Figure 921482DEST_PATH_IMAGE086
同维度空间的数据,而判别器解码端的输出经过两层全连接层后再外接softmax层,可以做真假二分类判别,环境模拟器的结构具体可参考图9。
在本申请实施例提供的所示方案中,由于可以基于生成对抗网络的结构,构建环境模拟器以生成会随时产生网络波动的离线样本数据,从而可以迫使流控模型能够适应异常网络突发情况,进而学会自我调整,以提升流控效果。
在一个具体实施例中,提供了一种流控模型训练方法,包括以下步骤:
将历史上报数据中对应相同历史周期的历史通信状态数据和历史编码数据,组成历史样本数据;对于当前历史周期,基于当前历史周期的下一历史周期的历史编码数据,确定与当前历史周期对应的历史流控参考数据。
对于当前离线周期,根据当前离线周期的编码码率,确定当前离线周期的清晰度;根据当前离线周期的卡顿率,确定当前离线周期的流畅度;根据当前离线周期的编码码率及当前离线周期的下一离线周期的编码码率,确定当前离线周期的平滑度;根据当前离线周期的清晰度、流畅度、平滑度、视频无质量参考分及音频无质量参考分,计算当前离线周期的离线奖励参考值;基于下一离线周期的离线累计奖励参考值、以及当前离线周期的离线奖励参考值,确定当前离线周期的离线累计奖励参考值。
将对应相同历史周期的历史样本数据、历史流控参考数据和历史累计奖励参考值,作为一组预训练样本组;基于待训练的初始流控模型中的行为预测网络,对预训练样本组中的历史样本数据进行处理,输出历史流控预测数据;根据每一预训练样本组对应的历史流控预测数据及历史流控参考数据,确定第一交叉熵损失;基于待训练的初始流控模型中的行为评价网络,对预训练样本组中的历史样本数据进行处理,输出历史累计奖励预测值;根据历史累计奖励预测值及相应的历史累计奖励参考值间的差异,确定第一奖励损失;基于第一交叉熵损失及第一奖励损失,构建预训练损失函数。
通过预训练损失函数,对初始流控模型进行预训练,直至达到预训练停止条件时停止,得到基础流控模型;将线上采集数据中对应相同训练周期的通信状态数据和编码数据,组成环境样本数据;对于当前训练周期,基于当前训练周期的下一训练周期的编码数据,确定与当前训练周期对应的环境流控数据。
通过待训练的环境模拟器中的生成器,对当前训练周期的环境样本数据和环境流控数据进行处理,以生成下一训练周期的环境预测数据;根据每一训练周期的环境预测数据与每一训练周期的环境样本数据之间的差异,确定环境损失;根据生成器生成每一训练周期的环境预测数据时的生成仿真度,确定生成器损失,并根据待训练的环境模拟器中的鉴别器,分别鉴别每一训练周期的环境预测数据及环境样本数据时的鉴别准确度,确定鉴别器损失;基于环境损失、生成器损失和鉴别器损失,构建待训练的环境模拟器的目标损失函数,并基于目标损失函数对待训练的环境模拟器进行迭代对抗训练,直至达到模拟训练停止条件时停止,得到训练结束的环境模拟器;
对于离线训练中的每个离线周期,均通过环境模拟器,基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;离线样本数据包括离线编码数据和离线通信状态数据;根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值;通过当前离线周期的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控预测数据;基于当前离线周期的离线流控预测数据确定第二交叉熵损失。
通过前一离线周期的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控经验数据;基于当前离线周期对应的离线流控经验数据、离线流控经验数据的概率分布、以及离线流控预测数据的概率分布,确定对比损失;根据对比损失及优势函数值,确定强化损失;优势函数值为每一离线周期的离线累计奖励参考值与离线累计奖励预测值之间的差值;若当前的强化损失为负值,则将当前的强化损失、与预设倍数的第二奖励损失间的较大值,作为修正后的强化损失;若当前的强化损失为非负值,则保持当前的强化损失不变;根据第二交叉熵损失和修正后的强化损失,构建第一离线目标函数。
通过当前离线周期的行为评价网络,对当前离线周期的离线样本数据进行处理,得到当前周期的离线累计奖励预测值;基于当前离线周期的离线累计奖励预测值和当前离线周期的离线累计奖励参考值,确定第二奖励损失,基于第二奖励损失构建第二离线目标函数;通过第一离线目标函数对行为预测网络进行训练,并通过第二离线目标函数对行为评价网络进行训练,直至达到离线训练停止条件时停止,得到中间流控模型。
对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值;基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
上述流控模型训练方法中,通过先采用预训练,可以使得基础流控模型能够贴近于前一版本流控模型的决策方式,从而可以避免将不经过预训练的流控模型投入使用,可能会造成用户的不适感,进而将降低用户的产品体验。通过在预训练结束后采用离线训练,由于通过离线训练可以使得流控模型在正式上线应用之前,尽可能地多进行训练,从而提高流控决策的精准度。另外,由于可以对离线样本数据作随机处理,以模拟异常网络突发情况,通过随机模拟的离线样本数据对基础流控模型进行训练,可以迫使基础流控模型能够适应异常网络突发情况,从而迫使基础流控模型学会自我调整。在完成离线训练后,最后再执行在线训练,由于在线训练可以不断更新流控模型,从而可以不断改善流控模型的预测效果,进而改善多媒体通信质量及用户体验。
另外,由于流控处理过程中可以将不同类型的编码数据及通信状态数据通过注意力机制进行重要程度区分,从而使得输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳。另外,由于采用的是自注意力机制,而自注意力机制可以捕捉数据内部的相关性,并能够减少对外部信息的依赖,从而也可以使得输出的流控数据更能适应复杂多变的真实网络环境。
再者,由于可以通过对强化损失进行修正,以凸显优势函数的正负向奖励机制,从而训练效果更佳。
最后,由于奖励函数中可以综合体现视频的清晰度、流畅度及平滑度,从而使得输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳。
由于可以通过预训练、离线训练及在线训练的三重训练方式对流控模型进行训练,从而可以提高流控模型预测结果的精准度。由于流控处理过程中可以将不同类型的编码数据及通信状态数据通过注意力机制进行重要程度区分,从而使得输出的流控数据更能适应复杂多变的真实网络环境,流控效果较佳。另外,由于采用的是自注意力机制,而自注意力机制可以捕捉数据内部的相关性,并能够减少对外部信息的依赖,从而也可以使得输出的流控数据更能适应复杂多变的真实网络环境。
对于音频或视频实时通话场景,用户在使用日常终端设备进行音视频通话时,可能会处于各种各样地理环境、网络类型和终端类型下,如处于平原或深山、室内或室外、以及城市或乡村等各种地理环境下,再比如处于有线网络、Wi-Fi、5G及4G等各种网络类型下,还有处于不同手机型号等终端类型下。而用户在进行音视频通话过程中,自然希望获得高QoE(Quality of Experience,用户体验),如高清晰度且不卡顿的音视频流程。由此,结合音视频实时通话场景,本申请实施例还提供了一种对视频通话数据进行流控的方法,以该方法应用于计算机设备为例进行说明,其中,该计算机设备具体可以是图1中的终端或服务器,该方法包括如下步骤:
计算机设备在进行视频通话过程中,获取当前周期内的帧率、编码码率、分辨率、编码类型、视频无质量参考分及音频无质量参考分,并作为当前编码数据;计算机设备获取通过当前编码数据进行流控处理所产生的丢包率、网络延迟信息、网络抖动信息及卡帧率,并作为通信状态数据;当前编码数据基于在前周期的编码码率、分辨率及帧率所确定。
计算机设备对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据。
计算机设备对待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于中间处理特征进行多任务分类,输出下一周期的编码码率、分辨率及帧率,并触发对视频实时通话过程中下一周期内产生的视频通话数据进行流控处理。
可以理解的是,除了音视频实时通话场景之外,还可以有其它多媒体通信场景,如直播场景及音视频实时点播场景。以音频实时点播场景为例,结合音频实时点播场景,本申请实施例还提供了一种对音频点播数据进行流控的方法,以该方法应用于计算机设备为例进行说明,其中,该计算机设备具体可以是图1中的终端或服务器,该方法包括如下步骤:
计算机设备在进行音频点播过程中,获取当前周期内的音频帧率、音频编码码率、音频编码类型及音频无质量参考分,并作为当前编码数据;计算机设备获取通过当前编码数据进行流控处理所产生的丢包率、网络延迟信息、网络抖动信息及卡帧率,并作为通信状态数据;当前编码数据基于在前周期的音频帧率及音频编码码率所确定;
计算机设备对当前周期内的通信状态数据和当前编码数据进行组合,得到待处理组合数据;
计算机设备对待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于中间处理特征进行多任务分类,输出下一周期的音频帧率及音频编码码率,并触发对音频实时点播通话过程中下一周期内产生的音频点播数据进行流控处理。
应该理解的是,虽然图2、图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,如图10所示,提供了一种对多媒体数据进行流控的装置1000,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块 1002、组合处理模块1004、自注意力机制处理模块1006、多任务分类模块1008和流控处理模块1010,其中:
获取模块1002,用于在进行多媒体通信过程中,获取当前周期内的当前编码数据、以及通过当前编码数据进行流控处理所产生的通信状态数据;当前编码数据基于在前周期的历史流控数据确定;
组合处理模块1004,用于对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;
自注意力机制处理模块1006,用于对待处理组合数据进行自注意力机制处理,得到中间处理特征;
多任务分类模块1008,用于基于中间处理特征进行多任务分类,输出至少一个维度的目标流控数据;
流控处理模块1010,用于基于由目标流控数据所确定的目标编码数据,触发对多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
在一些实施例中,组合处理模块1004,用于对当前编码数据和通信状态数据分别进行卷积处理,得到各自对应的卷积处理特征;组合卷积处理特征得到待处理组合数据。
在一些实施例中,自注意力机制处理模块1006,用于通过至少一个自注意力模组,对待处理组合数据进行编码处理,得到中间处理特征;其中,当存在多个自注意力模组时,多个自注意力模组依次连接,且首个自注意力模组的输入数据为待处理组合数据,非首个自注意力模组的输入数据为相连接的前一个自注意力模组进行编码处理后的输出特征,最后一个自注意力模组的输出特征为中间处理特征。
在一些实施例中,自注意力模组包括多头注意力层和前向处理层;自注意力机制处理模块1006,包括:
多头注意力处理单元,用于通过自注意力模组中的多头注意力层,对相应的输入数据进行多头注意力处理,得到多头注意力处理结果;
前向处理单元,用于通过自注意力模组中的前向处理层,对多头注意力处理结果进行前向处理,得到相应自注意力模组的输出特征。
在一些实施例中,多头注意力处理单元,具体用于通过自注意力模组中的多头注意力层,对相应的输入数据进行全连接处理,得到全连接特征;将全连接特征进行拆分,得到多个全连接子特征;对各全连接子特征分别进行尺度点乘注意力处理,得到多个多头关注子特征;将多个多头关注子特征进行拼接,得到多头关注特征;对多头关注特征进行全连接处理,得到多头注意力处理结果。
在一些实施例中,多头注意力处理单元,还用于对于任一全连接子特征,将相应全连接子特征与自身进行矩阵相乘,得到矩阵相乘结果;对矩阵相乘结果进行尺度变换,得到尺度变换结果;通过第一激活函数,将尺度变换结果映射为与相应全连接子特征对应的权重矩阵;将权重矩阵与相应全连接子特征进行相乘,得到与相应全连接子特征对应的多头关注子特征。
在一些实施例中,多任务分类模块1008,用于对于至少一个维度中的每个维度,均对中间处理特征进行残差处理,得到各维度对应的残差处理结果;对各残差处理结果分别进行全连接处理,得到相应的全连接处理结果;通过第二激活函数,分别将全连接处理结果映射为与相应维度对应的目标流控数据。
关于对多媒体数据进行流控的装置的具体限定可以参见上文中对于对多媒体数据进行流控的方法的限定,在此不再赘述。上述对多媒体数据进行流控的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
在一些实施例中,如图11所示,提供了一种流控模型训练装置1100,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块 1102、生成模块1104、第一确定模块1106、离线训练模块1108、第二确定模块1110和在线训练模块1112,其中:
获取模块1102,用于获取经过多个预训练样本组进行预训练所得到的基础流控模型;
生成模块1104,用于对于离线训练中的每个离线周期,均基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;离线样本数据包括离线编码数据和离线通信状态数据;
第一确定模块1106,用于根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值;
离线训练模块1108,用于基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型;
第二确定模块1110,用于对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值;
在线训练模块1112,用于基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
在一些实施例中,基础流控模型包括行为预测网络和行为评价网络,行为预测网络和行为评价网络共享编码结构,行为预测网络还包括多头分类结构,行为评价网络还包括单任务处理结构;编码结构包括依次连接的至少一个自注意力模组,每个自注意力模组均包括多头注意力层和前向处理层。
在一些实施例中,基础流控模型通过预训练得到,该装置还包括预训练模块;预训练模块包括:
组合单元,用于将历史上报数据中对应相同历史周期的历史通信状态数据和历史编码数据,组成历史样本数据;
第一确定单元,用于对于当前历史周期,基于当前历史周期的下一历史周期的历史编码数据,确定与当前历史周期对应的历史流控参考数据;
第二确定单元,用于根据当前历史周期的历史样本数据,确定与当前历史周期对应的历史累计奖励参考值;
第三确定单元,用于将对应相同历史周期的历史样本数据、历史流控参考数据和历史累计奖励参考值,作为一组预训练样本组;
预训练单元,用于根据多组预训练样本组对待训练的初始流控模型进行预训练,直至达到预训练停止条件时停止,得到基础流控模型。
在一些实施例中,预训练单元,用于基于待训练的初始流控模型中的行为预测网络,对预训练样本组中的历史样本数据进行处理,输出历史流控预测数据;根据每一预训练样本组对应的历史流控预测数据及历史流控参考数据,确定第一交叉熵损失;基于待训练的初始流控模型中的行为评价网络,对预训练样本组中的历史样本数据进行处理,输出历史累计奖励预测值;根据历史累计奖励预测值及相应的历史累计奖励参考值间的差异,确定第一奖励损失;基于第一交叉熵损失及第一奖励损失,构建预训练损失函数;通过预训练损失函数,对初始流控模型进行预训练,直至达到预训练停止条件时停止,得到基础流控模型。
在一些实施例中,第一确定模块1206,用于对于当前离线周期,根据当前离线周期的编码码率,确定当前离线周期的清晰度;根据当前离线周期的卡顿率,确定当前离线周期的流畅度;根据当前离线周期的编码码率及当前离线周期的下一离线周期的编码码率,确定当前离线周期的平滑度;根据当前离线周期的清晰度、流畅度、平滑度、视频无质量参考分及音频无质量参考分,计算当前离线周期的离线奖励参考值;基于下一离线周期的离线累计奖励参考值、以及当前离线周期的离线奖励参考值,确定当前离线周期的离线累计奖励参考值。
在一些实施例中,基础流控模型包括行为预测网络和行为评价网络;离线训练模块1108,包括:
第一处理单元,用于通过当前离线周期的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控预测数据;
第四确定单元,用于基于当前离线周期的离线流控预测数据确定第二交叉熵损失;
第五确定单元,用于根据第二交叉熵损失确定第一离线目标函数;
第二处理单元,用于通过当前离线周期的行为评价网络,对当前离线周期的离线样本数据进行处理,得到当前周期的离线累计奖励预测值;
第六确定单元,用于基于当前离线周期的离线累计奖励预测值和当前离线周期的离线累计奖励参考值,确定第二奖励损失;
构建单元,用于基于第二奖励损失构建第二离线目标函数;
离线训练单元,用于通过第一离线目标函数对行为预测网络进行训练,并通过第二离线目标函数对行为评价网络进行训练,直至达到离线训练停止条件时停止,得到中间流控模型。
在一些实施例中,离线训练模块1108,还包括:
第三处理单元,用于通过前一轮次的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控经验数据;
第七确定单元,用于基于当前离线周期对应的离线流控经验数据、离线流控经验数据的概率分布、以及离线流控预测数据的概率分布,确定对比损失;
第八确定单元,用于根据对比损失及优势函数值,确定强化损失;优势函数值为每一离线周期的离线累计奖励参考值与离线累计奖励预测值之间的差值;
修正单元,用于基于正负向奖励机制,对强化损失进行修正,得到修正后的强化损失;
相应地,第五确定单元,用于根据第二交叉熵损失和修正后的强化损失,构建第一离线目标函数。
在一些实施例中,修正单元,用于在当前的强化损失为负值时,则将当前的强化损失、与预设倍数的第二奖励损失间的较大值,作为修正后的强化损失;若当前的强化损失为非负值,则保持当前的强化损失不变。
在一些实施例中,基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据的步骤通过环境模拟器中的生成器实现;相应地,该装置还包括环境模拟器训练模块;
环境模拟器训练模块,用于将线上采集数据中对应相同训练周期的通信状态数据和编码数据,组成环境样本数据;对于当前训练周期,基于当前训练周期的下一训练周期的编码数据,确定与当前训练周期对应的环境流控数据;通过待训练的环境模拟器中的生成器,对当前训练周期的环境样本数据和环境流控数据进行处理,以生成下一训练周期的环境预测数据;根据每一训练周期的环境预测数据与每一训练周期的环境样本数据之间的差异,确定环境损失;根据生成器生成每一训练周期的环境预测数据时的生成仿真度,确定生成器损失,并根据待训练的环境模拟器中的鉴别器,分别鉴别每一训练周期的环境预测数据及环境样本数据时的鉴别准确度,确定鉴别器损失;基于环境损失、生成器损失和鉴别器损失,构建待训练的环境模拟器的目标损失函数,并基于目标损失函数对待训练的环境模拟器进行迭代对抗训练,直至达到模拟训练停止条件时停止,得到训练结束的环境模拟器。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和通信接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种对多媒体数据进行流控的方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (34)

1.一种对多媒体数据进行流控的方法,其特征在于,所述方法包括:
在进行多媒体通信过程中,获取当前周期内的当前编码数据、以及通过所述当前编码数据进行流控处理所产生的通信状态数据;所述当前编码数据基于在前周期的历史流控数据确定;
对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;
对所述待处理组合数据进行自注意力机制处理,得到中间处理特征,并基于所述中间处理特征进行多任务分类,输出至少一个维度的目标流控数据;
基于由所述目标流控数据所确定的目标编码数据,触发对所述多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
2.根据权利要求1所述的方法,其特征在于,所述对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据,包括:
对所述当前编码数据和所述通信状态数据分别进行卷积处理,得到各自对应的卷积处理特征;
组合所述卷积处理特征得到待处理组合数据。
3.根据权利要求1所述的方法,其特征在于,所述对所述待处理组合数据进行自注意力机制处理,得到中间处理特征,包括:
通过至少一个自注意力模组,对所述待处理组合数据进行编码处理,得到中间处理特征;其中,当存在多个自注意力模组时,多个自注意力模组依次连接,且首个自注意力模组的输入数据为所述待处理组合数据,非首个自注意力模组的输入数据为相连接的前一个自注意力模组进行编码处理后的输出特征,最后一个自注意力模组的输出特征为所述中间处理特征。
4.根据权利要求3所述的方法,其特征在于,所述自注意力模组包括多头注意力层和前向处理层;对于任一自注意力模组,所述任一自注意力模组的编码处理步骤,包括:
通过所述自注意力模组中的多头注意力层,对相应的输入数据进行多头注意力处理,得到多头注意力处理结果;
通过所述自注意力模组中的前向处理层,对所述多头注意力处理结果进行前向处理,得到相应自注意力模组的输出特征。
5.根据权利要求4所述的方法,其特征在于,所述通过所述自注意力模组中的多头注意力层,对相应的输入数据进行多头注意力处理,得到多头注意力处理结果,包括:
通过所述自注意力模组中的多头注意力层,对相应的输入数据进行全连接处理,得到全连接特征;
将所述全连接特征进行拆分,得到多个全连接子特征;
对各所述全连接子特征分别进行尺度点乘注意力处理,得到多个多头关注子特征;
将多个所述多头关注子特征进行拼接,得到多头关注特征;
对所述多头关注特征进行全连接处理,得到多头注意力处理结果。
6.根据权利要求5所述的方法,其特征在于,所述对各所述全连接子特征分别进行尺度点乘注意力处理,得到多个多头关注子特征,包括:
对于任一全连接子特征,将相应全连接子特征与自身进行矩阵相乘,得到矩阵相乘结果;
对所述矩阵相乘结果进行尺度变换,得到尺度变换结果;
通过第一激活函数,将所述尺度变换结果映射为与相应全连接子特征对应的权重矩阵;
将所述权重矩阵与相应全连接子特征进行相乘,得到与相应全连接子特征对应的多头关注子特征。
7.根据权利要求1所述的方法,其特征在于,所述基于所述中间处理特征进行多任务分类,输出至少一个维度的目标流控数据,包括:
对于至少一个维度中的每个维度,均对所述中间处理特征进行残差处理,得到各维度对应的残差处理结果;
对各所述残差处理结果分别进行全连接处理,得到相应的全连接处理结果;
通过第二激活函数,分别将所述全连接处理结果映射为与相应维度对应的目标流控数据。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法通过目标流控模型实现,所述目标流控模型的训练步骤包括:
获取经过多个预训练样本组进行预训练所得到的基础流控模型;
对于离线训练中的每个离线周期,均基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;所述离线样本数据包括离线编码数据和离线通信状态数据;
根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值;
基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对所述基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型;
对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值;
基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对所述中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
9.根据权利要求8所述的方法,其特征在于,所述基础流控模型包括行为预测网络和行为评价网络,所述行为预测网络和所述行为评价网络共享编码结构,所述行为预测网络还包括多头分类结构,所述行为评价网络还包括单任务处理结构;所述编码结构包括依次连接的至少一个自注意力模组,每个自注意力模组均包括多头注意力层和前向处理层。
10.根据权利要求8所述的方法,其特征在于,所述基础流控模型通过预训练得到,所述预训练的步骤包括:
将历史上报数据中对应相同历史周期的历史通信状态数据和历史编码数据,组成历史样本数据;
对于当前历史周期,基于当前历史周期的下一历史周期的历史编码数据,确定与当前历史周期对应的历史流控参考数据,并根据当前历史周期的历史样本数据,确定与当前历史周期对应的历史累计奖励参考值;
将对应相同历史周期的历史样本数据、历史流控参考数据和历史累计奖励参考值,作为一组预训练样本组;
根据多组预训练样本组对待训练的初始流控模型进行预训练,直至达到预训练停止条件时停止,得到基础流控模型。
11.根据权利要求10所述的方法,其特征在于,所述根据多组预训练样本组对待训练的初始流控模型进行预训练,直至达到预训练停止条件时停止,得到基础流控模型,包括:
基于待训练的初始流控模型中的行为预测网络,对预训练样本组中的历史样本数据进行处理,输出历史流控预测数据;
根据每一预训练样本组对应的历史流控预测数据及历史流控参考数据,确定第一交叉熵损失;
基于待训练的初始流控模型中的行为评价网络,对所述预训练样本组中的历史样本数据进行处理,输出历史累计奖励预测值;
根据所述历史累计奖励预测值及相应的历史累计奖励参考值间的差异,确定第一奖励损失;
基于所述第一交叉熵损失及所述第一奖励损失,构建预训练损失函数;
通过所述预训练损失函数,对所述初始流控模型进行预训练,直至达到预训练停止条件时停止,得到所述基础流控模型。
12.根据权利要求8所述的方法,其特征在于,所述离线样本数据包括编码码率和卡顿率,所述根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值,包括:
对于当前离线周期,根据所述当前离线周期的编码码率,确定所述当前离线周期的清晰度;
根据所述当前离线周期的卡顿率,确定所述当前离线周期的流畅度;
根据所述当前离线周期的编码码率及所述当前离线周期的下一离线周期的编码码率,确定所述当前离线周期的平滑度;
根据所述当前离线周期的清晰度、流畅度、平滑度、视频无质量参考分及音频无质量参考分,计算所述当前离线周期的离线奖励参考值;
基于下一离线周期的离线累计奖励参考值、以及所述当前离线周期的离线奖励参考值,确定所述当前离线周期的离线累计奖励参考值。
13.根据权利要求8所述的方法,其特征在于,所述基础流控模型包括行为预测网络和行为评价网络,所述基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对所述基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型,包括:
通过当前离线周期的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控预测数据;
基于当前离线周期的离线流控预测数据确定第二交叉熵损失,并根据所述第二交叉熵损失确定第一离线目标函数;
通过当前离线周期的行为评价网络,对当前离线周期的离线样本数据进行处理,得到当前周期的离线累计奖励预测值;
基于当前离线周期的离线累计奖励预测值和当前离线周期的离线累计奖励参考值,确定第二奖励损失,基于所述第二奖励损失构建第二离线目标函数;
通过所述第一离线目标函数对所述行为预测网络进行训练,并通过所述第二离线目标函数对所述行为评价网络进行训练,直至达到离线训练停止条件时停止,得到中间流控模型。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
通过前一轮次的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控经验数据;
基于当前离线周期对应的离线流控经验数据、所述离线流控经验数据的概率分布、以及离线流控预测数据的概率分布,确定对比损失;
根据所述对比损失及优势函数值,确定强化损失;所述优势函数值为每一离线周期的离线累计奖励参考值与离线累计奖励预测值之间的差值;
基于正负向奖励机制,对所述强化损失进行修正,得到修正后的强化损失;
所述根据所述第二交叉熵损失确定第一离线目标函数,包括:
根据所述第二交叉熵损失和修正后的强化损失,构建第一离线目标函数。
15.根据权利要求14所述的方法,其特征在于,所述基于正负向奖励机制,对所述强化损失进行修正,得到修正后的强化损失,包括:
若当前的强化损失为负值,则将当前的强化损失、与预设倍数的第二奖励损失间的较大值,作为修正后的强化损失;
若当前的强化损失为非负值,则保持当前的强化损失不变。
16.根据权利要求9至15中任一项所述的方法,其特征在于,所述基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据的步骤通过环境模拟器中的生成器实现,所述环境模拟器的训练步骤包括:
将线上采集数据中对应相同训练周期的通信状态数据和编码数据,组成环境样本数据;
对于当前训练周期,基于当前训练周期的下一训练周期的编码数据,确定与当前训练周期对应的环境流控数据;
通过待训练的环境模拟器中的生成器,对当前训练周期的环境样本数据和环境流控数据进行处理,以生成下一训练周期的环境预测数据;
根据每一训练周期的环境预测数据与每一训练周期的环境样本数据之间的差异,确定环境损失;
根据所述生成器生成每一训练周期的环境预测数据时的生成仿真度,确定生成器损失,并根据待训练的环境模拟器中的鉴别器,分别鉴别每一训练周期的环境预测数据及环境样本数据时的鉴别准确度,确定鉴别器损失;
基于所述环境损失、生成器损失和鉴别器损失,构建待训练的环境模拟器的目标损失函数,并基于所述目标损失函数对待训练的环境模拟器进行迭代对抗训练,直至达到模拟训练停止条件时停止,得到训练结束的环境模拟器。
17.一种对多媒体数据进行流控的装置,其特征在于,所述装置包括:
获取模块,用于在进行多媒体通信过程中,获取当前周期内的当前编码数据、以及通过所述当前编码数据进行流控处理所产生的通信状态数据;所述当前编码数据基于在前周期的历史流控数据确定;
组合处理模块,用于对当前周期内的通信状态数据和当前编码数据进行组合处理,得到待处理组合数据;
自注意力机制处理模块,用于对所述待处理组合数据进行自注意力机制处理,得到中间处理特征;
多任务分类模块,用于基于所述中间处理特征进行多任务分类,输出至少一个维度的目标流控数据;
流控处理模块,用于基于由所述目标流控数据所确定的目标编码数据,触发对所述多媒体通信过程中下一周期内产生的多媒体数据进行流控处理。
18.根据权利要求17所述的装置,其特征在于,所述组合处理模块,用于对所述当前编码数据和所述通信状态数据分别进行卷积处理,得到各自对应的卷积处理特征;组合所述卷积处理特征得到待处理组合数据。
19.根据权利要求17所述的装置,其特征在于,所述自注意力机制处理模块,用于通过至少一个自注意力模组,对所述待处理组合数据进行编码处理,得到中间处理特征;其中,当存在多个自注意力模组时,多个自注意力模组依次连接,且首个自注意力模组的输入数据为所述待处理组合数据,非首个自注意力模组的输入数据为相连接的前一个自注意力模组进行编码处理后的输出特征,最后一个自注意力模组的输出特征为所述中间处理特征。
20.根据权利要求19所述的装置,其特征在于,所述自注意力模组包括多头注意力层和前向处理层;所述自注意力机制处理模块,包括:
多头注意力处理单元,用于通过所述自注意力模组中的多头注意力层,对相应的输入数据进行多头注意力处理,得到多头注意力处理结果;
前向处理单元,用于通过所述自注意力模组中的前向处理层,对所述多头注意力处理结果进行前向处理,得到相应自注意力模组的输出特征。
21.根据权利要求20所述的装置,其特征在于,所述多头注意力处理单元,具体用于通过所述自注意力模组中的多头注意力层,对相应的输入数据进行全连接处理,得到全连接特征;将所述全连接特征进行拆分,得到多个全连接子特征;对各所述全连接子特征分别进行尺度点乘注意力处理,得到多个多头关注子特征;将多个所述多头关注子特征进行拼接,得到多头关注特征;对所述多头关注特征进行全连接处理,得到多头注意力处理结果。
22.根据权利要求21所述的装置,其特征在于,所述多头注意力处理单元,还用于对于任一全连接子特征,将相应全连接子特征与自身进行矩阵相乘,得到矩阵相乘结果;对所述矩阵相乘结果进行尺度变换,得到尺度变换结果;通过第一激活函数,将所述尺度变换结果映射为与相应全连接子特征对应的权重矩阵;将所述权重矩阵与相应全连接子特征进行相乘,得到与相应全连接子特征对应的多头关注子特征。
23.根据权利要求17所述的装置,其特征在于,所述多任务分类模块,用于对于至少一个维度中的每个维度,均对所述中间处理特征进行残差处理,得到各维度对应的残差处理结果;对各所述残差处理结果分别进行全连接处理,得到相应的全连接处理结果;通过第二激活函数,分别将所述全连接处理结果映射为与相应维度对应的目标流控数据。
24.根据权利要求17至23中任一项所述的装置,其特征在于,所述装置还包括:获取模块,用于获取经过多个预训练样本组进行预训练所得到的基础流控模型;
生成模块,用于对于离线训练中的每个离线周期,均基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据;所述离线样本数据包括离线编码数据和离线通信状态数据;
第一确定模块,用于根据每一离线周期的离线样本数据,确定每一离线周期的离线累计奖励参考值;
离线训练模块,用于基于多个离线周期各自对应的离线样本数据和离线累计奖励参考值,对所述基础流控模型进行离线周期滚动训练,直至达到离线训练停止条件时停止,得到中间流控模型;
第二确定模块,用于对于在线训练中的每个在线周期,均通过当前在线周期的在线样本数据,确定当前在线周期的在线累计奖励参考值;
在线训练模块,用于基于多个在线周期各自对应的在线样本数据和在线累计奖励参考值,对所述中间流控模型进行在线周期滚动训练,直至达到在线训练停止条件时停止,得到适用于在多媒体通信过程中进行流控数据预测的目标流控模型。
25.根据权利要求24所述的装置,其特征在于,所述基础流控模型包括行为预测网络和行为评价网络,所述行为预测网络和所述行为评价网络共享编码结构,所述行为预测网络还包括多头分类结构,所述行为评价网络还包括单任务处理结构;所述编码结构包括依次连接的至少一个自注意力模组,每个自注意力模组均包括多头注意力层和前向处理层。
26.根据权利要求24所述的装置,其特征在于,所述基础流控模型通过预训练得到;所述装置还包括预训练模块,所述预训练模块包括:
组合单元,用于将历史上报数据中对应相同历史周期的历史通信状态数据和历史编码数据,组成历史样本数据;
第一确定单元,用于对于当前历史周期,基于当前历史周期的下一历史周期的历史编码数据,确定与当前历史周期对应的历史流控参考数据;
第二确定单元,用于根据当前历史周期的历史样本数据,确定与当前历史周期对应的历史累计奖励参考值;
第三确定单元,用于将对应相同历史周期的历史样本数据、历史流控参考数据和历史累计奖励参考值,作为一组预训练样本组;
预训练单元,用于根据多组预训练样本组对待训练的初始流控模型进行预训练,直至达到预训练停止条件时停止,得到基础流控模型。
27.根据权利要求26所述的装置,其特征在于,所述预训练单元,用于基于待训练的初始流控模型中的行为预测网络,对预训练样本组中的历史样本数据进行处理,输出历史流控预测数据;根据每一预训练样本组对应的历史流控预测数据及历史流控参考数据,确定第一交叉熵损失;基于待训练的初始流控模型中的行为评价网络,对所述预训练样本组中的历史样本数据进行处理,输出历史累计奖励预测值;根据所述历史累计奖励预测值及相应的历史累计奖励参考值间的差异,确定第一奖励损失;基于所述第一交叉熵损失及所述第一奖励损失,构建预训练损失函数;通过所述预训练损失函数,对所述初始流控模型进行预训练,直至达到预训练停止条件时停止,得到所述基础流控模型。
28.根据权利要求24所述的装置,其特征在于,所述离线样本数据包括编码码率和卡顿率;所述第一确定模块,用于对于当前离线周期,根据所述当前离线周期的编码码率,确定所述当前离线周期的清晰度;根据所述当前离线周期的卡顿率,确定所述当前离线周期的流畅度;根据所述当前离线周期的编码码率及所述当前离线周期的下一离线周期的编码码率,确定所述当前离线周期的平滑度;根据所述当前离线周期的清晰度、流畅度、平滑度、视频无质量参考分及音频无质量参考分,计算所述当前离线周期的离线奖励参考值;基于下一离线周期的离线累计奖励参考值、以及所述当前离线周期的离线奖励参考值,确定所述当前离线周期的离线累计奖励参考值。
29.根据权利要求24所述的装置,其特征在于,所述基础流控模型包括行为预测网络和行为评价网络;所述离线训练模块,包括:
第一处理单元,用于通过当前离线周期的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控预测数据;
第四确定单元,用于基于当前离线周期的离线流控预测数据确定第二交叉熵损失;
第五确定单元,用于根据所述第二交叉熵损失确定第一离线目标函数;
第二处理单元,用于通过当前离线周期的行为评价网络,对当前离线周期的离线样本数据进行处理,得到当前周期的离线累计奖励预测值;
第六确定单元,用于基于当前离线周期的离线累计奖励预测值和当前离线周期的离线累计奖励参考值,确定第二奖励损失;
构建单元,用于基于所述第二奖励损失构建第二离线目标函数;
离线训练单元,用于通过所述第一离线目标函数对所述行为预测网络进行训练,并通过所述第二离线目标函数对所述行为评价网络进行训练,直至达到离线训练停止条件时停止,得到中间流控模型。
30.根据权利要求29所述的装置,其特征在于,所述离线训练模块,还包括:
第三处理单元,用于通过前一轮次的行为预测网络,对当前离线周期的离线样本数据进行处理,得到当前离线周期的离线流控经验数据;
第七确定单元,用于基于当前离线周期对应的离线流控经验数据、所述离线流控经验数据的概率分布、以及离线流控预测数据的概率分布,确定对比损失;
第八确定单元,用于根据所述对比损失及优势函数值,确定强化损失;所述优势函数值为每一离线周期的离线累计奖励参考值与离线累计奖励预测值之间的差值;
修正单元,用于基于正负向奖励机制,对所述强化损失进行修正,得到修正后的强化损失;
相应地,所述第五确定单元,用于根据所述第二交叉熵损失和修正后的强化损失,构建第一离线目标函数。
31.根据权利要求30所述的装置,其特征在于,所述修正单元,用于在当前的强化损失为负值时,则将当前的强化损失、与预设倍数的第二奖励损失间的较大值,作为修正后的强化损失;若当前的强化损失为非负值,则保持当前的强化损失不变。
32.根据权利要求25至31中任一项所述的装置,其特征在于,所述基于当前离线周期的离线样本数据、以及基础流控模型输出的离线流控预测数据,生成下一离线周期的离线样本数据的步骤通过环境模拟器中的生成器实现;相应地,该装置还包括环境模拟器训练模块;
环境模拟器训练模块,用于将线上采集数据中对应相同训练周期的通信状态数据和编码数据,组成环境样本数据;对于当前训练周期,基于当前训练周期的下一训练周期的编码数据,确定与当前训练周期对应的环境流控数据;通过待训练的环境模拟器中的生成器,对当前训练周期的环境样本数据和环境流控数据进行处理,以生成下一训练周期的环境预测数据;根据每一训练周期的环境预测数据与每一训练周期的环境样本数据之间的差异,确定环境损失;根据所述生成器生成每一训练周期的环境预测数据时的生成仿真度,确定生成器损失,并根据待训练的环境模拟器中的鉴别器,分别鉴别每一训练周期的环境预测数据及环境样本数据时的鉴别准确度,确定鉴别器损失;基于所述环境损失、生成器损失和鉴别器损失,构建待训练的环境模拟器的目标损失函数,并基于所述目标损失函数对待训练的环境模拟器进行迭代对抗训练,直至达到模拟训练停止条件时停止,得到训练结束的环境模拟器。
33.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16中任一项所述的方法的步骤。
34.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16中任一项所述的方法的步骤。
CN202111211909.8A 2021-10-18 2021-10-18 对多媒体数据进行流控及流控模型训练方法、以及装置 Active CN113660488B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210265930.4A CN115996292A (zh) 2021-10-18 2021-10-18 流控模型训练方法、装置、计算机设备和存储介质
CN202111211909.8A CN113660488B (zh) 2021-10-18 2021-10-18 对多媒体数据进行流控及流控模型训练方法、以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111211909.8A CN113660488B (zh) 2021-10-18 2021-10-18 对多媒体数据进行流控及流控模型训练方法、以及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210265930.4A Division CN115996292A (zh) 2021-10-18 2021-10-18 流控模型训练方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113660488A CN113660488A (zh) 2021-11-16
CN113660488B true CN113660488B (zh) 2022-02-11

Family

ID=78484214

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210265930.4A Pending CN115996292A (zh) 2021-10-18 2021-10-18 流控模型训练方法、装置、计算机设备和存储介质
CN202111211909.8A Active CN113660488B (zh) 2021-10-18 2021-10-18 对多媒体数据进行流控及流控模型训练方法、以及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210265930.4A Pending CN115996292A (zh) 2021-10-18 2021-10-18 流控模型训练方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (2) CN115996292A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116562156B (zh) * 2023-05-15 2024-02-06 南栖仙策(南京)高新技术有限公司 一种控制决策模型的训练方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888846A (zh) * 2014-03-04 2014-06-25 浙江大学 基于QoE的无线视频流业务自适应速率控制方法
CN108093257A (zh) * 2017-12-05 2018-05-29 北京小米移动软件有限公司 视频编码的码率控制方法、电子设备及存储介质
CN109981225A (zh) * 2019-04-12 2019-07-05 广州视源电子科技股份有限公司 一种码率预估方法、装置、设备及存储介质
WO2021065631A1 (ja) * 2019-09-30 2021-04-08 株式会社ソニー・インタラクティブエンタテインメント 画像データ転送装置および画像圧縮方法
WO2021092821A1 (en) * 2019-11-14 2021-05-20 Intel Corporation Adaptively encoding video frames using content and network analysis
CN112953922A (zh) * 2021-02-03 2021-06-11 西安电子科技大学 一种自适应流媒体控制方法、系统、计算机设备及应用
CN113014968A (zh) * 2021-02-24 2021-06-22 南京大学 一种基于强化学习的多用户动态码率视频传输方法及系统
WO2021164585A1 (zh) * 2020-02-18 2021-08-26 北京达佳互联信息技术有限公司 直播数据的编码方法及电子设备
CN113473125A (zh) * 2021-06-25 2021-10-01 咪咕互动娱乐有限公司 码率控制方法、设备、存储介质及产品

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107078852B (zh) * 2017-01-18 2019-03-08 深圳市大疆创新科技有限公司 传输编码数据的方法、装置、计算机系统和移动设备
US10721475B2 (en) * 2017-09-01 2020-07-21 Ittiam Systems (P) Ltd. K-nearest neighbor model-based content adaptive encoding parameters determination
CN110324621B (zh) * 2019-07-04 2021-05-18 北京达佳互联信息技术有限公司 视频编码方法、装置、电子设备和存储介质
CN113422751B (zh) * 2020-08-27 2023-12-05 阿里巴巴集团控股有限公司 基于在线强化学习的流媒体处理方法、装置及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888846A (zh) * 2014-03-04 2014-06-25 浙江大学 基于QoE的无线视频流业务自适应速率控制方法
CN108093257A (zh) * 2017-12-05 2018-05-29 北京小米移动软件有限公司 视频编码的码率控制方法、电子设备及存储介质
CN109981225A (zh) * 2019-04-12 2019-07-05 广州视源电子科技股份有限公司 一种码率预估方法、装置、设备及存储介质
WO2021065631A1 (ja) * 2019-09-30 2021-04-08 株式会社ソニー・インタラクティブエンタテインメント 画像データ転送装置および画像圧縮方法
WO2021092821A1 (en) * 2019-11-14 2021-05-20 Intel Corporation Adaptively encoding video frames using content and network analysis
WO2021164585A1 (zh) * 2020-02-18 2021-08-26 北京达佳互联信息技术有限公司 直播数据的编码方法及电子设备
CN112953922A (zh) * 2021-02-03 2021-06-11 西安电子科技大学 一种自适应流媒体控制方法、系统、计算机设备及应用
CN113014968A (zh) * 2021-02-24 2021-06-22 南京大学 一种基于强化学习的多用户动态码率视频传输方法及系统
CN113473125A (zh) * 2021-06-25 2021-10-01 咪咕互动娱乐有限公司 码率控制方法、设备、存储介质及产品

Also Published As

Publication number Publication date
CN115996292A (zh) 2023-04-21
CN113660488A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
Gadaleta et al. D-DASH: A deep Q-learning framework for DASH video streaming
Vega et al. A review of predictive quality of experience management in video streaming services
CN111339433B (zh) 基于人工智能的信息推荐方法、装置、电子设备
Zhang et al. DeepQoE: A multimodal learning framework for video quality of experience (QoE) prediction
Yang et al. Survey on QoE assessment approach for network service
Zuo et al. Adaptive bitrate with user-level qoe preference for video streaming
CN113207010B (zh) 模型训练方法、直播推荐方法、设备、存储介质
EP3885966B1 (en) Method and device for generating natural language description information
Liu et al. When wireless video streaming meets AI: A deep learning approach
Duanmu et al. A knowledge-driven quality-of-experience model for adaptive streaming videos
Shen et al. An end-to-end no-reference video quality assessment method with hierarchical spatiotemporal feature representation
Alreshoodi et al. Prediction of perceptual quality for mobile video using fuzzy inference systems
CN113660488B (zh) 对多媒体数据进行流控及流控模型训练方法、以及装置
JP2024511103A (ja) 近似値に基づいて画像又はビデオの品質を評価する方法及び装置、第1のモデルの訓練方法及び装置、電子機器、記憶媒体、並びにコンピュータプログラム
Alreshoodi et al. Fuzzy logic inference system‐based hybrid quality prediction model for wireless 4kUHD H. 265‐coded video streaming
Ghosh et al. MO-QoE: Video QoE using multi-feature fusion based optimized learning models
Danish et al. A hybrid prediction model for video quality by QoS/QoE mapping in wireless streaming
Micó-Enguídanos et al. Per-title and per-segment CRF estimation using DNNs for quality-based video coding
Tasaka A Bayesian hierarchical model of QoE in interactive audiovisual communications
CN115905872A (zh) 模型的训练方法、信息推荐方法、装置、设备及介质
CN115052190A (zh) 视频播放方法及装置
Alreshoodi Prediction of quality of experience for video streaming using raw QoS parameters
KR20220096744A (ko) 심층학습모델을 기반으로 리뷰어를 선정하기 위한 장치 및 이를 위한 방법
KR102624926B1 (ko) 소비자 기호 반영 컨텐츠 제공 및 제작 시스템
Kougioumtzidis et al. Deep Learning-Aided QoE Prediction for Virtual Reality Applications Over Open Radio Access Networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40055376

Country of ref document: HK