-
摘要:
超字级并行(superword level parallelism,SLP)是一种面向处理器单指令多数据(single instruction multiple data,SIMD)扩展部件实现程序自动向量化的方法,这种方法被广泛应用于主流编译器中.SLP方法有赖于先找到同构指令序列再对之进行自动向量化. 将非同构指令序列等价转为同构指令序列以扩展SLP方法的适用范围是当前研究趋势之一. 提出SLP的一种扩展方法──SLP-M向量化方法,引入二元表达式替换同构转换方式,基于条件判断和收益计算的选择,利用多种指令序列同构化转换,将满足特定条件的非同构指令序列转换为同构指令序列,再进一步实施自动向量化,从而提升SLP的适用范围和收益. 在LLVM中实现了SLP-M方法,并利用SPEC CPU 2017等标准测试集进行了测试评估. 实验结果表明,SLP-M方法相比于已有方法在核心函数测试中性能提升了21.8%,在基准测试程序整体测试中性能提升了4.1%.
Abstract:SLP (superword level parallelism) is an efficient auto-vectorization method to exploit the data level parallelism for basic block, oriented to SIMD (single instruction multiple data), and SLP has been widely used in the mainstream compilers. SLP performs vectorization by finding multiple sequences of isomorphic instructions in the same basic block. Recently there is a research trend that the compilers translate the sequences of non-isomorphisic instructions into the sequences of isomorphisic instructions to extend application scope of the SLP vectorization method. In this paper, we introduce SLP-M, a novel auto-vectorization method that can effectively vectorize the code containing sequences of non-isomorphic instructions in the same basic block, translatting the code into isomorphic form by selection and conduction of multiple transformation methods based on condition judgment and benefit evaluation. A new transformation method for binary expression replacement is also proposed. SLP-M improves application scope and performance benefit for SLP. We implement SLP-M in LLVM. A set of applications are taken from some benchmarks such as SPEC CPU 2017 to compare our approach and prior techniques. The experiments show that, compared with the existing methods, the performance of SLP-M improves by 21.8% on kernel functions, and improves by 4.1% in the overall tests of the benchmarks.
-
点对学习(pairwise learning)在数据挖掘和机器学习中占有很重要的地位. 在数据挖掘方面,主要的应用场景有运营式传统行业、互联网领域、物联网领域等[1];在机器学习方面,包括排序[2-5]、接收机操作特性曲线的面积计算[6]、度量学习[7]等.
关于在线点对学习泛化性的研究,Wang等人[8]建立的损失函数是一致有界条件下的泛化分析,给出遗憾界O(T−1). Ying等人[9-10]基于非正则的再生核希尔伯特空间(reproducing kernel Hilbert space, RKHS)的在线点对学习算法,在损失函数没有强凸性和有界性的假设条件下,得到遗憾界O(T−1/3logT). Chen等人[11]假设迭代序列满足更紧的一致约束,给出遗憾界O(T−1/2),同时提高了算法最后一次迭代的收敛率. Guo等人[12]基于正则的RKHS,对于特定的铰链损失函数有O(T−1/4logT1/2)收敛率. Wang等人[13]分析了具有多项式衰减步长和多个正则化参数的在线点对学习算法最后一次迭代的收敛性,给出遗憾界O(T−2/3). 文献[14]提出了基于分而治之策略的多正则化项的分布式在线点对学习的误差分析.
作为用来分析泛化性的重要工具之一,稳定性分析已经被广泛应用于单点学习算法的泛化边界研究[15-16]. 但是,除了Shen等人[17]和Lei等人[18]的工作以外,关于点对学习的稳定性研究较少. Shen等人[17]建立了随机梯度下降(stochastic gradient descent, SGD)在凸和强凸损失函数中的稳定性结果,从而给出了泛化边界,并权衡了SGD下的泛化误差和优化误差,Lei等人[18]提供了一个更细化的稳定性分析,并将泛化边界改进为O(γlogn).
以上所述都是假设损失函数是强凸或一般凸,缺乏对非凸损失函数的在线点对学习的理论分析. 针对这一问题,本文基于稳定性分析,提出了非凸损失函数的在线点对学习的遗憾界. 本文包含2点贡献:1)提出了可以扩展到非凸损失函数的广义在线点对学习框架;2)建立了该框架下稳定性和遗憾界之间的关系,并给出了该框架的遗憾界及理论分析.
1. 广义在线点对学习框架
1.1 广义在线点对学习
传统的机器学习与在线学习模式不同,传统的机器学习中,一次性地取全部训练样本进行学习,样本分为训练样本和测试样本. 而在线学习没有训练样本和测试样本的区分,学习者(learner)实时获取样本,每获取到1个实例,就调整1次假设.
假设一个样本空间Z=X×Y,其中X⊂Rd是一个输入空间,Y⊂R是一个输出空间,{{\boldsymbol{x}}} \in X和y \in Y分别是输入和输出. 在线点对学习的学习过程迭代T轮,学习者每轮接收2个实例({{\boldsymbol{x}}_t},{y_t}),({\boldsymbol{x}}_t^\prime ,y_t^\prime ),并进行预测,然后接收标签,再依损失函数 {\ell _t} \in L 遭受的损失更新假设{{\boldsymbol{w}}_{t + 1}} \in W.
广义在线点对学习表示为
{{\boldsymbol{w}}_t} \in {{\rm{arg\;min}}} \left\{ {\sum\limits_{i = 1}^{t - 1} {{\ell _i}} ({{\boldsymbol{w}}},{z},{{z}^\prime }) + {{{\boldsymbol{\sigma}} }^{\text{T}}}{{\boldsymbol{w}}}:{{\boldsymbol{w}}} \in W} \right\}. 显而易见,与在线点对学习模型相比,广义在线点对学习是一个更鲁棒、更广义的框架. 该框架中包含一个{{\boldsymbol{\sigma }}}项,{{\boldsymbol{\sigma }}} 项是一个从{\text{exp}}(\eta )(参数为\eta 的指数分布)采样的随机噪声. 引入随机噪声项{{\boldsymbol{\sigma }}}避免过拟合,从而提高在线点对学习的泛化能力. 因此,广义在线点对学习是鲁棒的在线点对学习,是一个更广义的在线框架. FTRL(follow the regularized leader)是一种广泛用于凸假设的非常有效的算法[19]. 事实上,当广义在线点对学习中的随机噪声为\mu {{\boldsymbol{w}}}时,FTRL即为广义在线点对学习的一个特例:
\begin{gathered} {{\boldsymbol{w}}_t} \in {{\rm{arg\;min}}} \left\{ {\sum\limits_{i = 1}^{t - 1} {{\ell _i}} ({\boldsymbol{w}},{z},{{z}^\prime }) + \mu {{\left\| {\boldsymbol{w}}\right\|}^2}} \right\}, \\ \mu \approx {T^\rho },\rho \in (0,1). \\ \end{gathered} 1.2 离线神谕模型
直觉上,度量在线学习质量的方式是学习者遭受的损失函数的累计加和,学习者的目标是使累计损失尽可能的小,这也是一般学习模式性能度量的方式. 但是,在线学习中的数据通常是对抗性生成的,对手知道学习者的所有信息,包括学习者给出的预测函数和损失函数等. 因此,对手总是会给出与学习者预测值相反的标签,使得学习者的预测总是错误的,并遭受最大的损失. 在这种对抗环境中,累计损失的度量方式难以奏效,为了解决这个问题,引入了专家(expert)这一概念. 专家就是一个映射集合 h:X \to Y ,对输入{\boldsymbol{x}} \in X给出预测h({\boldsymbol{x}}),与学习者不同的是,专家是固定的,学习者会随着时间根据损失进行更新,而专家给出的预测不会受到对手影响. 采用专家的损失作为参考,矫正学习者的预测,学习者在专家中选择的时候,只需要选择对输入实例的累计损失函数值最小的专家,即最优专家. 有了专家的参与,在线学习性能度量方式就是学习者遭受的损失与最优专家的损失之差的累计加和,以此避免对手的干扰.
有专家建议的在线点对学习是学习者和对手之间的重复游戏,其特征是学习者可以从含有N个专家的有限集合H中进行选择,对手从一组决策集合Y中选择,还有一个损失函数{\ell _t} \in L. 首先,在游戏开始前,对手从Y中选择一个任意的决策序列{y_1},{y_2}, …,在游戏的每一轮t = 1,2, …,学习者必须选择(可能是随机的)一个专家 {h_t} \in H ,然后对手揭示其决策{y_t} \in Y,学习者遭受损失. 学习者每接收到一对实例{z},{{z}^\prime } \in Z后的目标是使学习者遭受的损失与最优假设{{\boldsymbol{w}}^*} \in W的损失之间的累积差尽可能的小,因此,遗憾界是衡量在线点对学习性能的标准,对于算法\mathcal{A}定义为
{\mathcal{R}}_{\mathcal{A}}(T)={\displaystyle \sum _{t=1}^{T}\left[{\ell }_{t}\left({{\boldsymbol{w}}}_{t},{z},{{z}}^{\prime }\right)-{\ell }_{t}\left({{\boldsymbol{w}}}^{*},{z},{{z}}^{\prime }\right)\right]}. 基于神谕的学习模型可称之为“可优化的专家”,该模型本质上是经典的在线学习模型,即学习者通过专家的建议和一个离线神谕进行预测. 在“可优化的专家”模型中,假设最初学习者对损失函数\ell 是未知的,并允许学习者通过神谕来获取\ell . 离线神谕模型是通过学习者提交一系列的损失函数,返回使得累积损失最小的假设. 定义1给出离线神谕模型的一种近似神谕模型定义.
定义1.[20] 一个离线神谕模型,其输入是一个损失函数 \ell :W \to \mathbb{R} 和一个d维向量{{\boldsymbol{\sigma}} },输出是一个{{\boldsymbol{w}}} \to \ell ({\boldsymbol{w}}, {z},{{z}^\prime }) - \langle {{\boldsymbol{\sigma}} },{\boldsymbol{w}}\rangle的近似最小值. 若它返回的{{\boldsymbol{w}}^*} \in W满足
\begin{split}&\ell \left({{\boldsymbol{w}}}^{*},{z},{{z}}^{\prime }\right)-\langle {\boldsymbol{\sigma}} ,{{\boldsymbol{w}}}^{*}\rangle \le \\& \underset{{\boldsymbol{w}}\in W}{\mathrm{inf}}[\ell ({\boldsymbol{w}},{z},{{z}}^{\prime })-\langle {\boldsymbol{\sigma}} ,{\boldsymbol{w}}\rangle ]+\left(\alpha +\beta {\Vert {\boldsymbol{\sigma}} \Vert }_{1}\right),\end{split} 则称其为“(\alpha ,\beta )-近似神谕”.
为 方 便 起 见,将 一 个 “(\alpha ,\beta )-近 似 神 谕” 记 为{{ORA}}{{{L}}_{\alpha ,\beta }} (\ell - \langle {{\boldsymbol{\sigma}} }, \cdot \rangle ). 使用近似神谕是因为我们不可能知道一个假设是全局最小值还是仅为一个鞍点. {{ORAL}}可以输出一个{{\boldsymbol{w}}}而不需要保证其最优性. 在大多数情况下,{\boldsymbol{w}}实际上只是近似最优. 离线神谕模型 (返回{{\boldsymbol{w}}^*} \in \arg \; \min \ell ({\boldsymbol{w}}))与(\alpha ,\beta )-近似神谕模型的区别在于,近似神谕模型有一个关于变量\alpha ,\beta ,{{\boldsymbol{\sigma}} }的扰动项. 在指定变量\alpha 和\beta 的大小时可以获得更好的遗憾界. 近似神谕模型关于在线单点学习的应用包括的实例有:当Query-GAN算法采用近似神谕时,对于非凸损失函数以{T^{ - 1/2}}的速度收敛[21],\alpha = \dfrac{{\hat R + {R_d}(T)}}{T}(\hat R为累积遗憾);FTRL和FTL(follow the leader)算法采用近似神谕时,对于半凸损失函数可以达到{T^{ - 1}}的遗憾界[22],\alpha = {T^{ - 1/2}}. 在上述应用中,\beta {\text{ = }}0,只有\alpha 被用作近似神谕的参数.
2. 非凸广义在线点对学习的稳定性分析
2.1 非凸广义在线点对学习算法
非凸广义在线点对学习算法的原理是迭代T轮,每轮产生一个随机向量{{\boldsymbol{\sigma }}}(该向量服从关于参数\eta 的指数分布),并获得一个假设{{\boldsymbol{w}}},该假设来自于(\alpha ,\beta )-近似离线神谕模型,然后,学习者会遭受相应损失并调整假设. 算法1给出当学习者可以访问(\alpha ,\beta )-近似离线神谕的非凸广义在线点对学习的算法.
算法1.非凸的广义在线点对学习算法.
输入:参数\eta ,近似神谕{{ORAL}_{\alpha ,\beta }};
输出:{{{\boldsymbol{w}}}^*} \in W.
① for t = 1,2, … ,T do
② \left\{ {{\sigma _{t,j}}} \right\}_{j = 1}^d\mathop \sim \limits^{{\rm{i}}{\rm{.i}}{\rm{.d}}} \exp (\eta );/*生成随机向量{{\boldsymbol{\sigma }}_t}*/
③ 学习者在时刻t的假设:
④ {{{\boldsymbol{w}}}_t} = {ORAL}_{\alpha ,\beta }\left( {\displaystyle \sum\limits_{i = 1}^{t - 1} {{\ell _i}} - \left\langle {{{{\boldsymbol{\sigma}} }_t}, \cdot } \right\rangle } \right);
⑤ 学习者遭受损失{\ell _t};
⑥ end for
与在线点对学习相比,广义在线点对学习中包含一个{\boldsymbol{\sigma }}项,是一个具有更强鲁棒性、更广义的算法. 一些在线学习算法,如在线镜像下降(online mirror descent,OMD)[23]、 在线梯度下降(online gradient decent ,OGD) [24]、FTL、FTRL等,通常需要在凸甚至强凸的条件下实现收敛. 文献[20]通过损失函数的随机扰动来保证遗憾消失,这种随机扰动具有与FTRL和OMD中使用的显式正则项类似的作用,将广义在线单点学习算法扩展到非凸设置中,然而缺少关于非凸在线点对学习的内容. 针对这一问题,本文将单点学习扩展到点对设置中,通过稳定性分析将在线点对中的点对耦合进行解耦,从形式上把具有耦合的点对通过稳定性分析变换成2步假设之间的差,从而实现单点到点对学习的推广.
2.2 稳定性分析
算法稳定性是机器学习理论分析中一个重要的概念. 稳定性可以衡量一个学习算法的输出对训练数据集微小变化的敏感性. 对于批量学习假设中独立同分布的样本,稳定性是可学习性的一个关键特性. 类似地,对于在线学习的可学习性,稳定性条件也是同样有效的. 一种特别常用的稳定性度量方式是一致稳定性,已经被广泛应用到在线点对学习中,除此以外,还有由定义2给出的平均稳定性. 下文中用{{\boldsymbol{a}}^{\text{T}}}{\boldsymbol{b}}或\langle {\boldsymbol{a}},{\boldsymbol{b}}\rangle表示{\boldsymbol{a}}和{\boldsymbol{b}}之间的欧几里得点积. 用 \Vert \cdot \Vert 表示2范数, \Vert \cdot {\Vert }_{p} 来表示一个特定的{\ell _p}范数. 若 \left| {f(x) - f(y)} \right| \leqslant G\left\| {x - y} \right\|,\forall x,y \in \mathcal{C} ,则称f:\mathcal{C} \to \mathbb{R}是关于 \Vert \cdot \Vert 范数 G -Lipschitz连续的.
定义2.[18,25] 假设学习者遭受的损失序列是G-Lipschitz连续的. 若 \exists \gamma \gt 0 使得
\frac{1}{T}{\displaystyle \sum _{t=1}^{T}{{{E}}}}\Vert {\ell }_{t}\left({{\boldsymbol{w}}}_{t},{\textit{z}},{{\textit{z}}}^{\prime }\right)-{\ell }_{t+1}\left({{\boldsymbol{w}}}_{t+1},{\textit{z}},{{\textit{z}}}^{\prime }\right)\Vert \le G\gamma \text{,} (1) 则称算法\mathcal{A}是\gamma -平均稳定的.
显然,平均稳定性比一致稳定性(||{\ell _t}\left( {{{{\boldsymbol{w}}}_t},z,{z^\prime }} \right) -{\ell _{t + 1}}\left( {{{{\boldsymbol{w}}}_{t + 1}},{z},{z^\prime }} \right)|| \leqslant G\gamma)更弱,因为前者要求的条件仅仅是{{{\boldsymbol{w}}}_t}的期望值和平均值满足不等式(1). 本文主要研究平均稳定性,所有定理采用的也是平均稳定性,以此放松理论分析中的假设条件.
稳定性分析首先将广义在线点对学习的期望遗憾与平均稳定性建立联系. 如定理1所示,构建了广义在线点对学习的期望遗憾与平均稳定性的相关性.
定理1. 假设D为决策集W \subseteq {\mathbb{R}^d}的界,学习者遭受的损失满足{\ell _1}范数的G-Lipschitz连续性. 则广义在线点对学习的遗憾上界可以表示为
\begin{split} & \frac{1}{T}{E}\left[{\displaystyle \sum _{t=1}^{T}{\ell }_{t}}\left({{\boldsymbol{w}}}_{t},z,{z}^{\prime }\right)-\underset{{\boldsymbol{w}}\in W}{\mathrm{inf}}{\displaystyle \sum _{t=1}^{T}{\ell }_{t}}({\boldsymbol{w}},z,{z}^{\prime })\right]\le \\ & \dfrac{G}{T}{\displaystyle \sum _{t=1}^{T}\underset{\text{Stability }}{\underbrace{{E}\left[{\Vert {{\boldsymbol{w}}}_{t}-{{\boldsymbol{w}}}_{t+1}\Vert }_{1}\right]}}}+\dfrac{d(\beta T+D)}{\eta T}+\alpha . \end{split} (2) 证明. 在“遗忘的对手”模型中,假设对手的决策{\text{\{ }}{\ell _t}{\text{\} }}_{t = 1}^T与广义在线点对学习算法的假设\{ {{\boldsymbol{w}}_t}\} _{t = 1}^T无关,假设损失函数的序列{\text{\{ }}{\ell _t}{\text{\} }}_{t = 1}^T是预先固定的. 而在“非遗忘的对手”模型中,对手的决策取决于算法过去的假设,即每个{\ell _t}由来自某函数 {L_t}:{W^{t - 1}} \to F 的{\ell _t}: = {L_t}[{{\boldsymbol{w}}_{ \lt t}}]给出,其中 F 是对手所有可能决策的集合,{{\boldsymbol{w}}_{ \lt t}}是{{\boldsymbol{w}}_1}, {{\boldsymbol{w}}_2}, … ,{{\boldsymbol{w}}_{t - 1}}的缩写,{L_t}是一个常数函数,其中函数 {L_1},{L_2}, … ,{L_T}决定了一个非遗忘的对手. 令{P_t}是广义在线点对学习基于之前的假设{{\boldsymbol{w}}_{ \lt t}}给出的假设{{\boldsymbol{w}}_t}的条件分布,若在“遗忘的对手”中,{P_t}独立于{{\boldsymbol{w}}_{ \lt t}}. 但无论是在“遗忘的对手”模型或是“非遗忘的对手”模型中,{P_t}都完全由对手之前的决策{\ell _{ \lt t}}决定. 任何对“遗忘的对手”有界的算法对“非遗忘的对手”也有界[26],令B是一个正常数,假设广义在线点对学习满足对“遗忘的对手”的遗憾约束{E}\left[ {\displaystyle \sum\limits_{t = 1}^T {{\ell _t}({{\boldsymbol{w}}_t})} - \mathop {\inf }\limits_{{{{\boldsymbol{w}}}} \in W} \displaystyle \sum\limits_{t = 1}^T {{\ell _t}({\boldsymbol{w}})} } \right] \leqslant B, \forall {\ell _1}, {\ell _2}, … ,{\ell _T} \in F,那么它也满足对“非遗忘的对手”的遗憾约束\displaystyle \sum\limits_{t = 1}^T {{\ell _t}({P_t})} - \mathop {\inf }\limits_{{\boldsymbol{w}} \in W} \displaystyle \sum\limits_{t = 1}^T {{\ell _t}({\boldsymbol{w}})} \leqslant B.
本文研究“遗忘的对手”设定,因此只需使用单一的随机向量{\boldsymbol{\sigma }},而不是在每次迭代中生成一个新的随机向量. {{\boldsymbol{w}}_t}({\boldsymbol{\sigma }})为非凸广义在线点对学习基于随机扰动{\boldsymbol{\sigma }},在第t次迭代时的假设.
对于任意{{\boldsymbol{w}}^*} \in W,都有
\begin{array}{l} \displaystyle \sum\limits_{t = 1}^T {\left[ {{\ell _t}\left( {{{\boldsymbol{w}}_t},z,{z^\prime }} \right) - {\ell _t}\left( {{{\boldsymbol{w}}^*},z,{z^\prime }} \right)} \right]} = \\ \displaystyle \sum\limits_{t = 1}^T {\left[ {{\ell _t}\left( {{{\boldsymbol{w}}_t},z,{z^\prime }} \right) - {\ell _t}\left( {{{\boldsymbol{w}}_{t + 1}},z,{z^\prime }} \right)} \right]} + \\ \displaystyle \sum\limits_{t = 1}^T {{\ell _t}\left( {{{\boldsymbol{w}}_{t + 1}},z,{z^\prime }} \right) - {\ell _t}\left( {{{\boldsymbol{w}}^*},z,{z^\prime }} \right)}\leqslant \\ \displaystyle \sum\limits_{t = 1}^T G \left\| {{{\boldsymbol{w}}_t} - {{\boldsymbol{w}}_{t + 1}}} \right\|_{1} + \\ \displaystyle \sum\limits_{t = 1}^T {\left[ {{\ell _t}\left( {{{\boldsymbol{w}}_{t + 1}},z,{z^\prime }} \right) - {\ell _t}\left( {{{\boldsymbol{w}}^*},z,{z^\prime }} \right)} \right]}\;\; . \end{array} 令\gamma ({\boldsymbol{\sigma }}) = \alpha + \beta {\left\| {\boldsymbol{\sigma }} \right\|_1}. 由归纳法证明
\begin{split} & {\displaystyle \sum _{t=1}^{T}\left[{\ell }_{t}\left({{\boldsymbol{w}}}_{t+1},z,{z}^{\prime }\right)-{\ell }_{t}\left({{\boldsymbol{w}}}^{*},z,{z}^{\prime }\right)\right]}\le \\ & \gamma ({\boldsymbol{\sigma}} )T+\langle {\boldsymbol{\sigma }},{{\boldsymbol{w}}}_{2}-{{\boldsymbol{w}}}^{*}\rangle . \end{split} 步骤T= 1:由于{{\boldsymbol{w}}_2}是{\ell _1}({\boldsymbol{w}},z,{z^\prime }) - \langle {\boldsymbol{\sigma }},{\boldsymbol{w}}\rangle的近似最小化,因此
\begin{split} & {\ell }_{1}\left({\boldsymbol{w}}_{2},z,{z}^{\prime }\right)-\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{2}\rangle \le \\ & \underset{{\boldsymbol{w}}\in W}{\mathrm{min}}{\ell }_{1}(\boldsymbol{w},z,{z}^{\prime })-\langle \boldsymbol{\sigma} ,\boldsymbol{w}\rangle +\gamma (\boldsymbol{\sigma} )\le \\ & {\ell }_{1}\left({\boldsymbol{w}}^{*},z,{z}^{\prime }\right)-\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}^{*}\rangle +\gamma (\boldsymbol{\sigma} ). \end{split} (3) 式(3)中最后一个不等式对任何{{\boldsymbol{w}}^*} \in W均成立. 即
{\ell _1}\left( {{{\boldsymbol{w}}_2},z,{z^\prime }} \right) - {\ell _1}\left( {{{\boldsymbol{w}}^*},z,{z^\prime }} \right) \leqslant \gamma ({\boldsymbol{\sigma }}) + \left\langle {{\boldsymbol{\sigma }},{{\boldsymbol{w}}_2} - {{\boldsymbol{w}}^*}} \right\rangle . 归纳步骤:假设归纳对所有T \leqslant {T_0} - 1成立,下面证明它对{T_0}也成立.
\begin{split} & {\displaystyle \sum _{t=1}^{{T}_{0}}{\ell }_{t}\left({\boldsymbol{w}}_{t+1},z,{z}^{\prime }\right)}\stackrel{\textcircled{\scriptsize{1}}}{\le }\\ & \left[\begin{array}{c}{\displaystyle \sum _{t=1}^{{T}_{0}-1}{\ell }_{t}}\left({\boldsymbol{w}}_{{T}_{0}+1},z,{z}^{\prime }\right)+\\ \langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{2}-{\boldsymbol{w}}_{{T}_{0}+1}\rangle +\gamma (\boldsymbol{\sigma} )\left({T}_{0}-1\right)\end{array}\right]+{\ell }_{{T}_{0}}\left({\boldsymbol{w}}_{{T}_{0}+1},z,{z}^{\prime }\right)=\\ & \left[\begin{array}{l}{\displaystyle \sum _{t=1}^{{T}_{0}}{\ell }_{t}}\left({\boldsymbol{w}}_{{T}_{0}+1},z,{z}^{\prime }\right)-\\ \langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{{T}_{0}+1}\rangle \end{array}\right]+\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{2}\rangle +\gamma (\boldsymbol{\sigma} )\left({T}_{0}-1\right)\stackrel{\textcircled{\scriptsize{2}}}{\le }\\ & {\displaystyle \sum _{t=1}^{{T}_{0}}{\ell }_{t}}\left({\boldsymbol{w}}^{*},z,{z}^{\prime }\right)+\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{2}-{\boldsymbol{w}}^{*}\rangle +\gamma (\boldsymbol{\sigma} ){T}_{0},\forall {\boldsymbol{w}}^{*}\in {W},\end{split} 其中①处是由于归纳对任何T \leqslant {T_0} - 1都成立,而②处是由于{{\boldsymbol{w}}_{{T_0} + 1}}的近似最优化.
由上述结果,得到非凸的广义在线点对学习的期望遗憾上界:
\begin{split} {E} & \left[ {\sum\limits_{t = 1}^T {{\ell _t}} \left( {{{\boldsymbol{w}}_t},z,{z^\prime }} \right) - \mathop {\inf }\limits_{{\boldsymbol{w}} \in W} \sum\limits_{t = 1}^T {{\ell _t}} ({\boldsymbol{w}},z,{z^\prime })} \right] \leqslant \\ & G\sum\limits_{t = 1}^T {E} \left[ {{{\left\| {{{\boldsymbol{w}}_t} - {{\boldsymbol{w}}_{t + 1}}} \right\|}_1}} \right] + {E}\left[ {\gamma ({\boldsymbol{\sigma }})T + \left\langle {{\boldsymbol{\sigma }},{{\boldsymbol{w}}_2} - {{\boldsymbol{w}}^*}} \right\rangle } \right] \leqslant \\ & G\sum\limits_{t = 1}^T {E} \left[ {{{\left\| {{{\boldsymbol{w}}_t} - {{\boldsymbol{w}}_{t + 1}}} \right\|}_1}} \right] + (\beta T + D)\left( {\sum\limits_{i = 1}^d {E} \left[ {{{\sigma} _i}} \right]} \right) + \alpha T, \end{split} 由指数分布的属性{E}\left[ {{\sigma _i}} \right] = \dfrac{1}{{{\eta _i}}},得证.证毕.
定理1表明期望遗憾与平均稳定性相关. 式(2)中的稳定性即为定义2中的平均稳定性. 定理1的证明是受文献[26]的启发,证明了当平均稳定性的上界可得时,遗憾也可以实现收敛. 因此,定理2将着重于研究稳定项{E}\left[ {{{\left\| {{{\boldsymbol{w}}_t} - {{\boldsymbol{w}}_{t + 1}}} \right\|}_1}} \right]的上界.
定理2. {{\boldsymbol{w}}_t}({\boldsymbol{\sigma }})为广义在线点对学习在第t次迭代时的假设,其中,{\boldsymbol{\sigma }}为随机扰动. {{\boldsymbol{e}}_i}表示第i个标准基向量,{{\boldsymbol{w}}_{t,i}}表示{{\boldsymbol{w}}_t}在i坐标上的假设. 对于任意c \gt 0,都有单调性成立:
{{\boldsymbol{w}}}_{t,i}\left(\boldsymbol{\sigma} +c{{\boldsymbol{e}}}_{i}\right)\ge {{\boldsymbol{w}}}_{t,i}(\boldsymbol{\sigma} )-\frac{2\left(\alpha +\beta {\Vert \boldsymbol{\sigma} \Vert }_{1}\right)}{c}-\beta . 证明. 令{\ell _{1:t}}({\boldsymbol{w}},z,{z^\prime }) = \displaystyle \sum\limits_{i = 1}^t {{\ell _i}} ({\boldsymbol{w}},z,{z^\prime }),{{\boldsymbol{\sigma }}^\prime } = {\boldsymbol{\sigma }} + c{{\boldsymbol{e}}_i},\gamma ({\boldsymbol{\sigma }}) = \alpha + \beta {\left\| {\boldsymbol{\sigma }} \right\|_1}为离线神谕的近似误差. 由{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }})的近似最优化,得
\begin{split}& {\ell _{1:t - 1}}\left( {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}),z,{z^\prime }} \right) - \left\langle {{\boldsymbol{\sigma }},{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }})} \right\rangle \le \\ & {\ell _{1:t - 1}}\left( {{{\boldsymbol{w}}_t}\left( {{{\boldsymbol{\sigma }}^\prime }} \right),z,{z^\prime }} \right) - \left\langle {{\boldsymbol{\sigma }},{{\boldsymbol{w}}_t}\left( {{{\boldsymbol{\sigma }}^\prime }} \right)} \right\rangle + \gamma ({\boldsymbol{\sigma }}) \stackrel{\textcircled{\scriptsize{1}}} = \\& {\ell _{1:t - 1}}\left( {{{\boldsymbol{w}}_t}\left( {{{\boldsymbol{\sigma }}^\prime }} \right),z,{z^\prime }} \right) - \left\langle {{{\boldsymbol{\sigma }}^\prime },{{\boldsymbol{w}}_t}\left( {{{\boldsymbol{\sigma }}^\prime }} \right)} \right\rangle + \\& c{{\boldsymbol{w}}_{t,i}}\left( {{{\boldsymbol{\sigma }}^\prime }} \right) + \gamma ({\boldsymbol{\sigma }})a \le \\& {\ell _{1:t - 1}}\left( {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}),z,{z^\prime }} \right) - \left\langle {{{\boldsymbol{\sigma }}^\prime },{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }})} \right\rangle + \\& c{{\boldsymbol{w}}_{t,i}}\left( {{{\boldsymbol{\sigma }}^\prime }} \right) + \gamma ({\boldsymbol{\sigma }}) + \gamma \left( {{{\boldsymbol{\sigma }}^\prime }} \right) = \\& {\ell _{1:t - 1}}\left( {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}),z,{z^\prime }} \right) - \left\langle {{\boldsymbol{\sigma }},{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }})} \right\rangle + \\& c\left( {{{\boldsymbol{w}}_{t,i}}\left( {{{\boldsymbol{\sigma }}^\prime }} \right) - {{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }})} \right) + \gamma ({\boldsymbol{\sigma }}) + \gamma \left( {{{\boldsymbol{\sigma }}^\prime }} \right). \end{split} (4) 其中①处是由于{{\boldsymbol{w}}_t}\left( {{{\boldsymbol{\sigma }}^\prime }} \right)的近似最优化. 结合式(4)中的第1项和最后1项,得
{{\boldsymbol{w}}}_{t,i}\left({\boldsymbol{\sigma}}^{\prime }\right)\ge {\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma})-\dfrac{2\gamma (\boldsymbol{\sigma})}{c}-\beta . 证毕.
定理2证明了包含随机扰动项{\boldsymbol{\sigma }}的广义在线点对学习的稳定性. 通过观察扰动向量的变化对广义在线点对学习的输出产生的影响,表明了其在一维情况下的单调性,由于在线学习中稳定性是指相邻2次迭代得到的假设之间的距离,因此,定理2得到的即为一维情况下的稳定性.
定理3. {{\boldsymbol{w}}_t}({\boldsymbol{\sigma }})为广义在线点对学习在第t次迭代时的假设,其中{\boldsymbol{\sigma }}为随机扰动. {{\boldsymbol{e}}_i}表示第i个标准基向量,{{\boldsymbol{w}}_{t,i}}表示{{\boldsymbol{w}}_t}在i坐标上的假设. 假设{\left\| {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})} \right\|_1} \leqslant 10d\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right|,对于{{\boldsymbol{\sigma }}^\prime } = {\boldsymbol{\sigma }} + 100Gd{{\boldsymbol{e}}_i},有单调性成立:
\begin{split}& \mathrm{min}\left({\boldsymbol{w}}_{t,i}\left({\boldsymbol{\sigma} }^{\prime }\right),{\boldsymbol{w}}_{t+1,i}\left({\boldsymbol{\sigma} }^{\prime }\right)\right)\ge \mathrm{max}\left({\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} ),{\boldsymbol{w}}_{t+1,i}(\boldsymbol{\sigma} )\right)-\\& \dfrac{1}{10}\left|{\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )-{\boldsymbol{w}}_{t+1,i}(\boldsymbol{\sigma} )\right|-\dfrac{3\left(\alpha +\beta {\Vert \boldsymbol{\sigma} \Vert }_{1}\right)}{100Gd}-\beta . \end{split} 证明. 令{\ell _{1:t}}({\boldsymbol{w}},z,{z^\prime }) =\displaystyle \sum\limits_{i = 1}^t {{\ell _i}} ({\boldsymbol{w}},z,{z^\prime }),{{\boldsymbol{\sigma }}^\prime } = {\boldsymbol{\sigma }} + c{{\boldsymbol{e}}_i},\gamma ({\boldsymbol{\sigma }}) = \alpha + \beta {\left\| {\boldsymbol{\sigma }} \right\|_1}为离线神谕的近似误差. 由{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }})的近似最优化,得
\begin{split}&{\ell }_{1:t-1}\left({\boldsymbol{w}}_{t}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)-\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{t}(\boldsymbol{\sigma} )\rangle +{\ell }_{t}\left({\boldsymbol{w}}_{t}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)\le \\& {\ell }_{1:t-1}\left({\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)-\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} )\rangle +\\& {\ell }_{t}\left({\boldsymbol{w}}_{t}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)+\gamma (\boldsymbol{\sigma} )\stackrel{\textcircled{\scriptsize{1}}}{\le }\\& {\ell }_{1:t-1}\left({\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)-\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} )\rangle +\\& {\ell }_{t}\left({\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)+G{\Vert {\boldsymbol{w}}_{t}(\boldsymbol{\sigma} )-{\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} )\Vert }_{1}+\gamma (\boldsymbol{\sigma} )\stackrel{\textcircled{\scriptsize{2}}}{\le }\\& {\ell }_{1:t-1}\left({\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)-\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} )\rangle +\\& {\ell }_{t}\left({\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)+ 10Gd\left|{\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )-{\boldsymbol{w}}_{t+1,i}(\boldsymbol{\sigma} )\right|+\gamma (\boldsymbol{\sigma} ),\end{split} (5) 其中①处是由于{\ell _t}( \cdot )的Lipschitz连续性,②处是由于{\left\| {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})} \right\|_1}上的假设. 由{{\boldsymbol{w}}_{t + 1}}\left( {{{\boldsymbol{\sigma }}^\prime }} \right)的近似最优化,得
\begin{split}&{\ell }_{1:t-1}\left({\boldsymbol{w}}_{t}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)-\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{t}(\boldsymbol{\sigma} )\rangle +{\ell }_{t}\left({\boldsymbol{w}}_{t}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)=\\& {\ell }_{1:t-1}\left({\boldsymbol{w}}_{t}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)-\langle {\boldsymbol{\sigma} }^{\prime },{\boldsymbol{w}}_{t}(\boldsymbol{\sigma} )\rangle +{\ell }_{t}\left({\boldsymbol{w}}_{t}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)+\\& \langle 100Gd{{\boldsymbol{e}}}_{i},{\boldsymbol{w}}_{t}(\boldsymbol{\sigma} )\rangle \ge \\& {\ell }_{1:t-1}\left({\boldsymbol{w}}_{t+1}\left({\boldsymbol{\sigma} }^{\prime }\right),z,{z}^{\prime }\right)-\langle {\boldsymbol{\sigma} }^{\prime },{\boldsymbol{w}}_{t+1}\left({\boldsymbol{\sigma} }^{\prime }\right)\rangle +\\& {\ell }_{t}\left({\boldsymbol{w}}_{t+1}\left({\boldsymbol{\sigma} }^{\prime }\right),z,{z}^{\prime }\right)+100Gd{\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )-\gamma \left({\boldsymbol{\sigma} }^{\prime }\right)=\\& {\ell }_{1:t-1}\left({\boldsymbol{w}}_{t+1}\left({\boldsymbol{\sigma} }^{\prime }\right),z,{z}^{\prime }\right)-\langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{t+1}\left({\boldsymbol{\sigma} }^{\prime }\right)\rangle -\\& \gamma \left({\boldsymbol{\sigma} }^{\prime }\right)+{\ell }_{t}\left({\boldsymbol{w}}_{t+1}\left({\boldsymbol{\sigma} }^{\prime }\right),z,{z}^{\prime }\right)+\\& 100Gd\left({\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )-{\boldsymbol{w}}_{t+1,i}\left({\boldsymbol{\sigma} }^{\prime }\right)\right)\stackrel{\textcircled{\scriptsize{1}}}{\ge }{\ell }_{1:t-1}\left({\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)-\\& \langle \boldsymbol{\sigma} ,{\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} )\rangle +{\ell }_{t}\left({\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma} ),z,{z}^{\prime }\right)+\\& 100Gd\left({\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )-{\boldsymbol{w}}_{t+1,i}\left({\boldsymbol{\sigma} }^{\prime }\right)\right)-\gamma \left({\boldsymbol{\sigma} }^{\prime }\right)-\gamma (\boldsymbol{\sigma} ),\end{split} (6) 其中①处是由于{{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})的近似最优化. 结合式(5)和式(6),得
\begin{split}&{\boldsymbol{w}}_{t+1,i}\left({\boldsymbol{\sigma} }^{\prime }\right)-{\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )\ge \\& -\dfrac{1}{10}\left|{\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )-{\boldsymbol{w}}_{t+1,i}(\boldsymbol{\sigma} )\right|-\dfrac{3\gamma (\boldsymbol{\sigma} )}{100Gd}-\beta . \end{split} (7) 同理
\begin{split}&{\boldsymbol{w}}_{t,i}\left({\boldsymbol{\sigma} }^{\prime }\right)-{\boldsymbol{w}}_{t+1,i}(\boldsymbol{\sigma} )\ge \\& -\dfrac{1}{10}\left|{\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )-{\boldsymbol{w}}_{t+1,i}(\boldsymbol{\sigma} )\right|-\dfrac{3\gamma (\boldsymbol{\sigma} )}{100Gd}-\beta . \end{split} (8) 从定理2中的单调性,得
{{\boldsymbol{w}}_{t + 1,i}}\left( {{{\boldsymbol{\sigma }}^\prime }} \right) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }}) \geqslant - \frac{{3\gamma ({\boldsymbol{\sigma }})}}{{100Gd}} - \beta ,\quad (9) {\boldsymbol{w}}_{t,i}\left({\boldsymbol{\sigma} }^{\prime }\right)-{\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )\ge -\frac{3\gamma (\boldsymbol{\sigma} )}{100Gd}-\beta . (10) 结合上述不等式(7)~(10)得证. 证毕.
定理3证明了d维情况下广义在线点对学习的稳定性. 虽然d维相较于一维的单调性证明会更具挑战性,但可以通过分别改变扰动项的每个坐标来有效地将分析减少到一维. 同理,定理2由单调性表明在线点对学习的稳定性可得d维情况下的稳定性.
3. 非凸广义在线点对学习的遗憾界
利用定理1所给出的非凸的广义在线点对学习稳定性分析,对其遗憾界进行研究. 由于定理2和定理3分别给出了一维和高维情况稳定性{E}\left[ {{{\left\| {{{\boldsymbol{w}}_t} - {{\boldsymbol{w}}_{t + 1}}} \right\|}_1}} \right]的界,结合定理2和定理3引导定理4,对定理4进行讨论.
定理4. 假设D为决策集W \subseteq {\mathbb{R}^d}的界. 学习者遭受的损失满足{\ell _1}范数的G-Lipschitz连续性. 学习者可访问 (\alpha, \beta) -近似神谕. 对于任意\eta ,广义在线点对学习的假设都满足遗憾界:
\begin{split}&\left[\dfrac{1}{T}{\displaystyle \sum _{t=1}^{T}{\ell }_{t}}\left({{\boldsymbol{w}}}_{t},z,{z}^{\prime }\right)-\dfrac{1}{T}\underset{{\boldsymbol{w}}\in W}{\mathrm{inf}}{\displaystyle \sum _{t=1}^{T}{\ell }_{t}}({\boldsymbol{w}},z,{z}^{\prime })\right]\le \\ & O\left(\eta {d}^{2}D{G}^{2}+\dfrac{d(\beta T+D)}{\eta T}+\alpha +\beta dG\right). \end{split} 证明. 使用与定理2和定理3中相同的符号定义,{E}\left[ {{{\left\| {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})} \right\|}_1}} \right]也记作
\begin{split} & {E}\left[ {{{\left\| {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})} \right\|}_1}} \right] =\displaystyle \sum\limits_{i = 1}^d {E} \left[ {\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right|} \right]. \\ \end{split} (11) 因此,由{E}\left[ {\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right|} \right],\forall i \in [d]的界,可得{E}\left[ {{{\left\| {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})} \right\|}_1}} \right]的界. 对于任意的i \in [d],定义{{E}_{ - i}}\left[ {\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right|} \right]为
\begin{split}&{{E}}_{-i}\left[\left|{\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )-{\boldsymbol{w}}_{t+1,i}(\boldsymbol{\sigma} )\right|\right] := {E} \left[\left| {\boldsymbol{w}}_{t,i}(\boldsymbol{\sigma} )-{\boldsymbol{w}}_{t+1,i}(\boldsymbol{\sigma} ) \right| \bigg| {\left\{{\sigma }_{j}\right\}}_{j\ne i}\right],\end{split} 其中 {\sigma _j} 是{\boldsymbol{\sigma }}第 j 个坐标值.
令{{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }}) = \max \left( {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}),{{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right). 类似地,令{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }}) = \min \left( {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}),{{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right). 则
\begin{split} &{{E}_{ - i}}\left[ {\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right|} \right] = {{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }})} \right] - {{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }})} \right]. \\ \end{split} 定义
\varepsilon = \left\{ \begin{gathered} {\boldsymbol{\sigma }}:{\left\| {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})} \right\|_1} \leqslant \\ 10d\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right| \\ \end{gathered} \right\}. 对式(12)中的{T_1},{T_2}求取下界:
\begin{split} &{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }})} \right] = \\ & {P}\left( {{\sigma _i} < 100Gd} \right)\underbrace {{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{{\text{min}},i}}({\boldsymbol{\sigma }})|{\sigma _i} < 100Gd} \right]}_{{T_1}} + \\ & \underbrace {{P}\left( {{\sigma _i} \geqslant 100Gd} \right){{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }})|{\sigma _i} \geqslant 100Gd} \right]}_{{T_2}}. \\ \end{split} (12) 由于第 i 个坐标的域位于某个长度为D的区间内,并且由于{T_1}和{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }})} \right]是这个区间的点,它们的差值被D所界限. 所以{T_1}的下界为{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }})} \right] - D.将{T_2}重新定义为:
\begin{split} &{T_2} = {P}\left( {{\sigma _i} \geqslant 100Gd} \right){{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }})|{B_i} \geqslant 100Gd} \right] = \\ & \displaystyle \int_{{\sigma _i} = 100Gd}^\infty {{{\boldsymbol{w}}_{\min ,i}}} ({\boldsymbol{\sigma }})P\left( {{\sigma _i}} \right){\text{d}}{\sigma _i} = \\ & \displaystyle \int_{{\sigma _i} = 100Gd}^\infty {{{\boldsymbol{w}}_{\min ,i}}} ({\boldsymbol{\sigma }})\eta \exp ( - \eta {\sigma _i}{\text{)d}}{\sigma _i}. \\ \end{split} 改变积分中的1个变量,令{\sigma _i} = \sigma _i^\prime + 100Gd且{{\boldsymbol{\sigma }}^\prime } = \left( {{\sigma _1},{\sigma _2}, … ,{\sigma _{i - 1}},\sigma _i^\prime ,{\sigma _{i + 1}}, … } \right)是将在第 i 个坐标的{\boldsymbol{\sigma }}替换为\sigma _i^\prime 得到的向量,得
\begin{split} & \int_{{\sigma _i} = 100Gd}^\infty {{{\boldsymbol{w}}_{\min ,i}}} ({\boldsymbol{\sigma }})\eta \exp \left( { - \eta {\sigma _i}} \right){\text{d}}{\sigma _i} = \\ & \int_{\sigma _i^\prime = 0}^\infty {{{\boldsymbol{w}}_{\min ,i}}} \left( {{{\boldsymbol{\sigma }}^\prime } + 100Gd{{\boldsymbol{e}}_i}} \right)\eta \exp \left( { - \eta \left( {\sigma _i^\prime + 100Gd} \right)} \right){\text{d}}\sigma _i^\prime = \\ & \exp \left( { - 100\eta Gd} \right) \times\\ & \int_{\sigma _i^\prime = 0}^\infty {{{\boldsymbol{w}}_{\min ,i}}} \left( {{{\boldsymbol{\sigma }}^\prime } + 100Gd{{\boldsymbol{e}}_i}} \right)\eta \exp \left( { - \eta \sigma _i^\prime } \right){\text{d}}\sigma _i^\prime = \\ & \exp \left( { - 100\eta Gd} \right){{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}\left( {{{\boldsymbol{\sigma }}^\prime } + 100Gd{{\boldsymbol{e}}_i}} \right)} \right]. \\ \end{split} 则{T_2} = \exp \left( { - 100\eta Gd} \right){{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}\left( {{\boldsymbol{\sigma }} + 100Gd{{\boldsymbol{e}}_i}} \right)} \right]. 将{T_1},{T_2}的下界代入式(12)中,可得
\begin{split} & {{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }})} \right] \geqslant \\ & (1 - \exp ( - 100\eta Gd))\left( {{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }})} \right] - D} \right) + \\ & \exp ( - 100\eta Gd){{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}\left( {{\boldsymbol{\sigma }} + 100Gd{{\boldsymbol{e}}_i}} \right)} \right]. \\ \end{split} 则{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }})} \right]下界:
\begin{split}& {{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }})} \right] \geqslant \\ & (1 - \exp ( - 100\eta Gd))\left( {{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }})} \right] - D} \right) + \\ & \exp ( - 100\eta Gd) \times\\ \end{split} \begin{split}& {{P}_{ - i}}({\varepsilon}){{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}\left( {{\boldsymbol{\sigma }} + 100Gd{{\boldsymbol{e}}_i}} \right)|{\varepsilon}} \right] + \\ & \exp ( - 100\eta Gd)\times \\ & {{P}_{ - i}}\left( {{{\varepsilon}^c}} \right){{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}\left( {{\boldsymbol{\sigma }} + 100Gd{{\boldsymbol{e}}_i}} \right)|{{\varepsilon}^c}} \right], \qquad\;\;\\ \end{split} 其中{{P}_{ - i}}({\varepsilon}): = {P}\left( {{\varepsilon}|{{\left\{ {{\sigma _j}} \right\}}_{j \ne i}}} \right). 由定理2和定理3证明的单调性,得{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }})} \right]下界. \gamma ({\boldsymbol{\sigma }}) = \alpha + \beta {\left\| {\boldsymbol{\sigma }} \right\|_1},则
\begin{split}& {{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }})} \right] \geqslant \\ & (1 - \exp ( - 100\eta Gd))\left( {{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }})} \right] - D} \right) + \\ & \exp ( - 100\eta Gd){{P}_{ - i}}({\varepsilon})\times \\ & {{E}_{ - i}}\left. {\left[ \begin{gathered} {{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }}) - \frac{1}{{10}}\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right| - \\ \frac{{3\gamma ({\boldsymbol{\sigma }})}}{{100Gd}} - \beta |{\varepsilon} \\ \end{gathered} \right.} \right] + \\ & \exp ( - 100\eta Gd){{P}_{ - i}}\left( {{{\varepsilon}^c}} \right){{E}_{ - i}}\left[ \begin{gathered} {{\boldsymbol{w}}_{\min ,i}}({\boldsymbol{\sigma }}) - \frac{{2\gamma ({\boldsymbol{\sigma }})}}{{100Gd}} - \\ \beta \mid {{\varepsilon}^c} \\ \end{gathered} \right] \geqslant \\& (1 - \exp ( - 100\eta Gd))\left( {{{E}_{ - i}}\left[ {{{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }})} \right] - D} \right) + \\& \exp ( - 100\eta Gd){{P}_{ - i}}({\varepsilon}){{E}_{ - i}}\left. {\left[ \begin{gathered} {{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }}) - \\ \frac{1}{{10}}\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right| - \\ \frac{{3\gamma ({\boldsymbol{\sigma }})}}{{100Gd}} - \beta |{\varepsilon} \\ \end{gathered} \right.} \right] + \\ & \exp ( - 100\eta Gd)\times \\& {{P}_{ - i}}\left( {{{\varepsilon}^c}} \right){{E}_{ - i}}\left. {\left[ \begin{gathered} {{\boldsymbol{w}}_{\max ,i}}({\boldsymbol{\sigma }}) - \frac{1}{{10d}}{\left\| {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})} \right\|_1} - \\ \frac{{2\gamma ({\boldsymbol{\sigma }})}}{{100Gd}} - \beta |{{\varepsilon}^c} \\ \end{gathered} \right.} \right], \\ \end{split} (13) 其中式(13)中第1个不等式来自于定理2和定理3,第2个不等式来自于{\varepsilon ^c}的定义. 由{{P}_{ - i}}(\varepsilon) \leqslant 1,可得
$$ \begin{split} & {{{E}_{ - i}}\left[ {{\boldsymbol{w}_{{\rm{min}},i}}(\boldsymbol{\sigma} )} \right] \ge }\\& {(1 - {\rm{exp}}( - 100\eta Gd))\left( {{{E}_{ - i}}\left[ {{\boldsymbol{w}_{{\rm{max}},i}}(\boldsymbol{\sigma} )} \right] - D} \right) + }\\& {{\rm{exp}}( - 100\eta Gd){{E}_{- i}}\left[ {{\boldsymbol{w}_{{\rm{max}},i}}(\boldsymbol{\sigma} ) - \dfrac{{3\gamma (\boldsymbol{\sigma} )}}{{100Gd}} - \beta } \right] - }\\& {{\rm{exp}}( - 100\eta Gd){{E}_{ - i}}\left[{{\begin{array}{*{20}{l}} {\dfrac{1}{{10}}\left| {{\boldsymbol{w}_{t,i}}(\boldsymbol{\sigma} ) - {\boldsymbol{w}_{t + 1,i}}(\boldsymbol{\sigma} )} \right| + }\\ \dfrac{1}{{10d}}\left\| {{\boldsymbol{w}_t}(\boldsymbol{\sigma} ) - {\boldsymbol{w}_{t + 1}}(\boldsymbol{\sigma} )} \right\|_1 \end{array}}}\right]{\stackrel{\textcircled{\scriptsize{1}}} {\ge}} } \\& {{{E}_{ - i}}\left[ {{\boldsymbol{w}_{{\rm{max}},i}}(\boldsymbol{\sigma} )} \right] - 100\eta GdD - \dfrac{{3\gamma (\boldsymbol{\sigma} )}}{{100Gd}} - } \\& \beta - {{E}_{ - i}}\left[ {\dfrac{{\dfrac{1}{{10}}\left| {{{{\boldsymbol{w}}}_{t,i}}({{\boldsymbol{\sigma} }}) - {{{\boldsymbol{w}}}_{t + 1,i}}({{\boldsymbol{\sigma} }})} \right|{\rm{ + }}}}{{\dfrac{1}{{10d}}{{\left\| {{{{\boldsymbol{w}}}_t}({{\boldsymbol{\sigma} }}) - {{{\boldsymbol{w}}}_{t + 1}}({{\boldsymbol{\sigma} }})} \right\|}_1}}}} \right], \end{split} $,$ 其中①处是由于\exp ({\boldsymbol{w}}) \geqslant 1 + {\boldsymbol{w}}. 得
\begin{split} &{{E}_{ - i}}\left[ {\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right|} \right] \leqslant \\ & \frac{1}{{9d}}{{E}_{ - i}}\left[ {{{\left\| {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})} \right\|}_1}} \right] + \\ & \frac{{1000}}{9}\eta GdD + \frac{{{{E}_{ - i}}[\gamma ({\boldsymbol{\sigma }})]}}{{30Gd}} + \frac{{10}}{9}\beta . \end{split} (14) 由于式(14)对任意{\left\{ {{\sigma _j}} \right\}_{j \ne i}}均成立,因此可得无条件期望的界:
\begin{split} &{{E}_{ - i}}\left[ {\left| {{{\boldsymbol{w}}_{t,i}}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1,i}}({\boldsymbol{\sigma }})} \right|} \right] \leqslant \\ & \frac{1}{{9d}}{{E}_{ - i}}\left[ {{{\left\| {{{\boldsymbol{w}}_t}({\boldsymbol{\sigma }}) - {{\boldsymbol{w}}_{t + 1}}({\boldsymbol{\sigma }})} \right\|}_1}} \right] + \\ & \frac{{1000}}{9}\eta GdD + \dfrac{{{E}[\gamma ({\boldsymbol{\sigma }})]}}{{30Gd}} + \frac{{10}}{9}\beta . \end{split} (15) 将式(15)代入到式(11)中,可得稳定性界:
\begin{split}&{E}\left[{\Vert {\boldsymbol{w}}_{t}(\boldsymbol{\sigma})-{\boldsymbol{w}}_{t+1}(\boldsymbol{\sigma})\Vert }_{1}\right]\le \\& 125\eta G{d}^{2}D+\dfrac{\beta d}{20\eta G}+2\beta d+\dfrac{\alpha }{20G}\text{,}\end{split} (16) 将式(16)代入式(2)中,得证. 证毕.
由定理4知,若取\eta = \dfrac{d}{{{d^{3/2}}{T^{1/2}} - d}},可得遗憾界O\left( {{d^{3/2}}{T^{ - 1/2}} + \alpha + \beta {d^{3/2}}{T^{1/2}}} \right). 此外,若取\alpha = O\left( {{T^{ - 1/2}}} \right), \; \beta = O\left( {{T^{ - 1}}} \right),可得遗憾界O\left( {{T^{ - 1/2}}} \right). 关于在线点对学习的理论分析的结论如表1所示.
表 1 在线点对学习遗憾界对比Table 1. Comparison of Online Pairwise Learning Regret Bounds由表1可知,本文对具有非凸损失函数的广义在线点对学习得到了O({T^{ - 1/2}})的遗憾界优于已有的遗憾界.
4. 结束语
本文通过引入随机噪声提出了广义在线点对学习框架. 基于文献[26]提出的近似神谕的近似最优假设,提出了非凸广义在线点对学习算法. 进一步,对广义在线点对学习进行泛化性研究,通过稳定性分析,得到广义在线点对学习的遗憾界O({T^{ - 1/2}}).
基于在线梯度下降算法,可进一步研究具有非凸损失函数的在线点对学习的遗憾界. 此外,本文中的遗憾界和平均稳定性结果是建立在期望意义下的,而如何得到高概率的界也是未来可进行的工作.
作者贡献声明:郎璇聪负责研究方案的设计、证明推导,以及论文的撰写和修改;李春生指导论文撰写与修改;刘勇提出论文研究思路、设计研究方案;王梅指导论文结构设计.
-
表 1 X的扩展等价表达式
Table 1 Equivalent Extended Expression of X
序号 X的扩展等价表达式 依据的等价关系 1 X+0 X+0 = X 2 0+X 0+X = X 3 X−0 X−0 = X 4 X×1 X×1 = X 5 1×X 1×X = X 6 X/1 X/1 = X 7 X<<0 X<<0 = X 8 X>>0 X>>0 = X 表 2 二元表达式替换模式列表
Table 2 List of Patterns of Replacement for Binary Expressions
原表达式 二元替换等价表达式 二元表达式替换的条件 X+C1 X−C2 C1和C2是常数,且C1+C2=0 X+X X×2 X−C1 X+C2 C1和C2是常数,且C1+C2=0 X×C1 X<<C2 C1和C2是常数,C1是2的整数次幂,且C1={2^{C_2}} X×C1 X+X C1是常数2 X×C1 X/C2 C1和C2是常数,且C1×C2=1 X/C1 X×C2 C1和C2是常数,C1×C2=1 X>>C1 X×C2 C1和C2是常数,且C2={2^{C_1}} 表 3 构造函数
Table 3 Constructed Functions
测试函数 核心代码 程序特征 测试函数 核心代码 程序特征 s1 a[0] =(b[0]+c[0])×5.0;
a[1] = b[1]+c[1].操作个数不同,双精度浮点类型,2条语句 s9 a[0] = b[0]/4.0;
a[1] = b[1]×5.0;
a[2] = b[2]×6.0;
a[3] = b[3]×7.0.操作类型不同,单精度浮点类型,4条语句 s2 a[0] = b[0]/11.0;
a[1] = b[1]×13.0.操作类型不同,双精度浮点类型,2条语句 s10 a[0] = b[0]+c[0];
a[1] =(b[1]+c[1])×5.0;
a[2] =(b[2]+c[2])/4.0;
a[3] =(b[3]+c[3])×7.0.操作个数和类型不同,单精度浮点类型,4条语句 s3 a[0] = b[0]+11.0;
a[1] = b[1]×13.0.操作类型不同,双精度浮点类型,2条语句 s11 a[0] = b[0]−4.0;
a[1] = b[1]×5;
a[2] = b[2]/4.0;
a[3] = b[3]×7.操作类型不同,单精度浮点类型,4条语句 s4 a[0] = b[0];
a[1] = b[1]×11;
a[2] = b[2]×11;
a[3] = b[3]×11.操作个数不同,整数类型,4条语句 s12 a[0] = b[0]+c[0];
a[1] =(b[1]+c[1])×5.0;
a[2] =(b[2]+c[2])×6.0;
a[3] =(b[3]+c[3])×7.0.操作个数不同,双精度浮点类型,4条语句 s5 a[0] = b[0]<<2;
a[1] = b[1]×5;
a[2] = b[2]×6;
a[3] = b[3]×7.操作类型不同,整数类型,4条语句 s13 a[0] = b[0]/4.0;
a[1] = b[1]×5.0;
a[2] = b[2]×6.0;
a[3] = b[3]×7.0.操作类型不同,双精度浮点类型,4条语句 s6 a[0] = b[0];
a[1] = b[1]×5;
a[2] = b[2]<<2;
a[3] = b[3]×7.操作个数和类型不同,整数类型,4条语句 s14 a[0] = b[0]+c[0];
a[1] =(b[1]+c[1])×5.0;
a[2] =(b[2]+c[2])/4.0;
a[3] =(b[3]+c[3])×7.0.操作个数和类型不同,双精度浮点类型,4条语句 s7 a[0] = b[0]−4;
a[1] = b[1]×5;
a[2] = b[2]<<2;
a[3] = b[3]×7.操作类型不同,整数类型,4条语句 s15 a[0] = b[0]−4.0;
a[1] = b[1]×5;
a[2] = b[2]/4.0;
a[3] = b[3]×7.操作类型不同,双精度浮点类型,4条语句 s8 a[0] = b[0]+c[0];
a[1] =(b[1]+c[1])×5.0;
a[2] =(b[2]+c[2])×6.0;
a[3] =(b[3]+c[3])×7.0.操作个数不同,单精度浮点类型,4条语句 s16 a[0] = b[0]−4.0;
a[1] = 5×b[1];
a[2] = b[2]/4.0;
a[3] = b[3]×7.操作类型不同,双精度浮点类型,4条语句 表 4 核心函数描述
Table 4 Description of the Kernel Functions
序号 函数 描述 类型 语言 1 gl_render_vb OpenGL函数库 (SPEC CPU 2000 177) 操作个数不同 C 2 u2s PERL编程语言(SPEC CPU 2006 400) 操作个数不同 C 3 calc_pair_energy 生物系统模拟(SPEC CPU 2006 444) 操作个数不同 C++ 4 start_pass_fdctmgr 图像压缩(MediaBench2 cjpeg) 操作类型不同 C 5 ssim_end1 x264编解码(SPEC CPU 2017 625) 操作类型不同 C 6 box_UVCoord 影像光线追踪(SPEC CPU 2006 453) 操作类型不同 C++ 7 intra16x16_plane_pred_mbaff x264编解码(SPEC CPU 2017 625) 操作个数和类型不同 C 8 intra16x16_plane_pred x264编解码(SPEC CPU 2017 625) 操作个数和类型不同 C 9 start_pass 图像压缩(MediaBench2 cjpeg) 操作个数和类型不同 C -
[1] 高伟,赵荣彩,韩林,等. SIMD自动向量化编译优化概述[J]. 软件学报,2015,26(6):1265−1284 doi: 10.13328/j.cnki.jos.004811 Gao Wei, Zhao Rongcai, Han Lin, et al. Research on SIMD auto-vectorization compiling optimization[J]. Journal of Software, 2015, 26(6): 1265−1284 (in Chinese) doi: 10.13328/j.cnki.jos.004811
[2] Maleki S, Gao Yaoqing, Garzar M J, et al. An evaluation of vectorizing compilers[C] //Proc of the 20th IEEE Parallel Architectures and Compilation Techniques. Piscataway, NJ: IEEE, 2011: 372−382
[3] 冯竞舸,贺也平,陶秋铭. 自动向量化:近期进展与展望[J]. 通信学报,2022,43(3):180−195 doi: 10.11959/j.issn.1000-436x.2022051 Feng Jingge, He Yeping, Tao Qiuming. Auto-vectorization: Recent development and prospect[J]. Journal on Communications, 2022, 43(3): 180−195 (in Chinese) doi: 10.11959/j.issn.1000-436x.2022051
[4] Kennedy K, Allen J R. Optimizing Compilers for Modern Architectures: A Dependence-based Approach [M]. San Francisco, CA: Morgan Kaufmann, 2001
[5] Larsen S, Amarasinghe S. Exploiting superword level parallelism with multimedia instruction sets[J]. Programming Language Design and Implementation, 2000, 35(5): 145−156
[6] 李玉祥,施慧,陈莉. 面向向量化的局部数据重组[J]. 小型微型计算机系统,2009,30(8):1528−1534 Li Yuxiang, Shi Hui, Chen Li. Vectorization-oriented local data regrouping[J]. Computer System, 2009, 30(8): 1528−1534 (in Chinese)
[7] Porpodas V, Magni A, Jones T M. PSLP: Padded SLP automatic vectorization[C] //Proc of the 13th IEEE Code Generation and Optimization. Piscataway, NJ: IEEE, 2015: 190−201
[8] Porpodas V, Rocha R C O, Góes L F W. Look-ahead SLP: Auto-vectorization in the presence of commutative operations[C] //Proc of the 16th ACM Code Generation and Optimization. New York: ACM, 2018: 163−174
[9] Porpodas V, Rocha R C O, Brevnov E, et al. Super-Node SLP: Optimized vectorization for code sequences containing operators and their inverse elements[C] //Proc of the 17th ACM Code Generation and Optimization. New York: ACM, 2019: 206−216
[10] Feng Jingge, He Yeping, Tao Qiuming, et al. An SLP vectorization method based on equivalent extended transformation[J/OL]. Wireless Communications and Mobile Computing, 2022[2022-04-20].https://downloads.hindawi.com/journals/wcmc/2022/1832522.pdf
[11] Porpodas V, Ratnalikar P. PostSLP: Cross-region vectorization of fully or partially vectorized code[C] //Proc of the 32nd ACM Workshop on Languages and Compilers for Parallel Computing. New York: ACM, 2019: 15−31
[12] Rocha R C O, Porpodas V, Petoumenos P, et al. Vectorization-aware loop unrolling with seed forwarding[C/OL] //Proc of the 29th ACM Int Conf on Compiler Construction. New York: ACM, 2020[2022-04-23].https://rcor.me/papers/cc20valu.pdf
[13] 魏帅,赵荣彩,姚远. 面向SLP的多重循环向量化[J]. 软件学报,2012,23(7):1717−1728 doi: 10.3724/SP.J.1001.2012.04106 Wei Shuai, Zhao Rongcai, Yao Yuan. Loop-nest auto-vectorization based on SLP[J]. Journal of Software, 2012, 23(7): 1717−1728 (in Chinese) doi: 10.3724/SP.J.1001.2012.04106
[14] 高伟,韩林,赵荣彩,等. 向量并行度指导的循环SIMD向量化方法[J]. 软件学报,2017,28(4):925−939 doi: 10.13328/j.cnki.jos.005029 Gao Wei, Han Lin, Zhao Rongcai, et al. Vectorization method for loops guided by SIMD parallelism[J]. Journal of Software, 2017, 28(4): 925−939 (in Chinese) doi: 10.13328/j.cnki.jos.005029
[15] 赵捷,赵荣彩. 基于有向图可达性的SLP向量化识别方法[J]. 中国科学:信息科学,2017,47(3):310−325 doi: 10.1360/N112016-00146 Zhao Jie, Zhao Rongcai. Identifying superword level parallelism with directed graph reachability[J]. SCIENTIA SINICA Informationis, 2017, 47(3): 310−325 (in Chinese) doi: 10.1360/N112016-00146
[16] Shin J, Hall M, Chame J. Superword-level parallelism in the presence of control flow[C] //Proc of the 3rd IEEE Code Generation and Optimization. Piscataway, NJ: IEEE, 2005: 165−175
[17] Chen Y, Mendis C, Amarasinghe S. All you need is superword-level parallelism: Systematic control-flow vectorization with SLP [C] //Proc of the 43rd ACM SIGPLAN Int Conf on Programming Language Design and Implementation. New York: ACM, 2022: 301−315
[18] Huh J, Tuck J. Improving the effectiveness of searching for isomorphic chains in superword level parallelism[C] //Proc of the 50th ACM Int Symp on Microarchitecture. New York: ACM, 2017: 718−729
[19] Liu Jun, Zhang Yuanrui, Jang O, et al. A compiler framework for extracting superword level parallelism[C] //Proc of the 33rd ACM Programming Language Design and Implementation. New York: ACM, 2012: 347−358
[20] Mendis C, Amarasinghe S. GoSLP: Globally optimized superword level parallelism framework[C/OL] //Proc of the 30th ACM Object Oriented Programming Systems Languages and Applications. New York: ACM, 2018[2022-03-12].https://dl.acm.org/doi/pdf/10.1145/3276480
[21] 吕鹏伟,刘从新,赵一明,等. 基于动态规划的自动向量化方法[J]. 北京理工大学学报,2017,37(5):544−550 doi: 10.15918/j.tbit1001-0645.2017.05.020 Lü Pengwei, Liu Congxin, Zhao Yiming, et al. Auto-vectorization method based on dynamic programming[J]. Transactions of Beijing Institute of Technology, 2017, 37(5): 544−550 (in Chinese) doi: 10.15918/j.tbit1001-0645.2017.05.020
[22] Porpodas V, Jones T M. Throttling automatic vectorization: When less is more[C] //Proc of the 24th IEEE Parallel Architecture and Compilation. Piscataway, NJ: IEEE, 2015: 432−444
[23] Porpodas V, Rocha R C O, Góes L F W. VW-SLP: Auto-vectorization with adaptive vector width[C/OL] //Proc of the 28th IEEE Parallel Architectures and Compilation Techniques. Piscataway, NJ: IEEE, 2018[2022-03-11]. http://vporpo.me/papers/vwslp_pact2018.pdf
[24] 赵博,赵荣彩,李雁冰,等. 类型转换语句的SLP发掘方法[J]. 计算机科学,2014,41(11):16−21 doi: 10.11896/j.issn.1002-137X.2014.11.004 Zhao Bo, Zhao Rongcai, Li Yanbing, et al. SLP exploitation method for type conversion statements[J]. Computer Science, 2014, 41(11): 16−21 (in Chinese) doi: 10.11896/j.issn.1002-137X.2014.11.004
[25] Liu Yuping, Hong Dingyong, Wu Janjan, et al. Exploiting SIMD asymmetry in ARM-to-x86 dynamic binary translation [J/OL]. Transactions on Architecture and Code Optimization, 2019[2022-02-13].https://dl.acm.org/doi/pdf/10.1145/3301488
[26] Mendis C, Jain A, Jain P, et al. Revec: Program rejuvenation through revectorization[C]//Proc of the 28th ACM Int Conf on Compiler Construction. New York: ACM, 2019: 29−41
[27] Chen Yishen, Mendis C, Carbin M, et al. VeGen: A vectorizer generator for SIMD and beyond[C] //Proc of the 26th ACM Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM, 2021: 902−914
[28] Fritts J E, Steiling F W, Tucek J A, et al. MediaBench II video: Expediting the next generation of video systems research[J]. Microprocessors and Microsystems, 2009, 33(4): 301−318 doi: 10.1016/j.micpro.2009.02.010
[29] Jia Zhihao, Padon O, Thomas J, et al. TASO: Optimizing deep learning computation with automatic generation of graph substitutions [C] //Proc of the 27th ACM Symp on Operating Systems Principles. New York: ACM, 2019: 47−62
[30] Willsey M, Nandi C, Wang Y R, et al. Egg: Fast and extensible equality saturation[C/OL] //Proc of the 48th ACM SIGPLAN Symp on Principles of Programming. New York: ACM, 2021[2022-03-12].https://dl.acm.org/doi/pdf/10.1145/3434304
[31] Lattner C, Adve V. The LLVM compiler framework and infrastructure tutorial[C] //Proc of the 17th Int Workshop on Languages and Compilers for Parallel Computing. Berlin: Springer, 2004: 15−16
[32] 纪守领,李进锋,杜天宇,等. 机器学习模型可解释性方法、应用与安全研究综述[J]. 计算机研究与发展,2019,56(10):2071−2096 doi: 10.7544/issn1000-1239.2019.20190540 Ji Shouling, Li Jinfeng, Du Tianyu, et al. Survey on techniques, applications and security of machine learning interpretability[J]. Journal of Computer Research and Development, 2019, 56(10): 2071−2096 (in Chinese) doi: 10.7544/issn1000-1239.2019.20190540