• [技术干货] 深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
    作者:Sukanya Bag激活函数是神经网络模型重要的组成部分,本文作者Sukanya Bag从激活函数的数学原理出发,详解了十种激活函数的优缺点。激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。类似于人类大脑中基于神经元的模型,激活函数最终决定了要发射给下一个神经元的内容。在人工神经网络中,一个节点的激活函数定义了该节点在给定的输入或输入集合下的输出。标准的计算机芯片电路可以看作是根据输入得到开(1)或关(0)输出的数字电路激活函数。因此,激活函数是确定神经网络输出的数学方程式,本文概述了深度学习中常见的十种激活函数及其优缺点。 首先我们来了解一下人工神经元的工作原理,大致如下:上述过程的数学可视化过程如下图所示:1. Sigmoid 激活函数 Sigmoid 函数的图像看起来像一个 S 形曲线。 函数表达式如下:在什么情况下适合使用 Sigmoid 激活函数呢?Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化;用于将预测概率作为输出的模型。由于概率的取值范围是 0 到 1,因此 Sigmoid 函数非常合适;梯度平滑,避免「跳跃」的输出值;函数是可微的。这意味着可以找到任意两个点的 sigmoid 曲线的斜率;明确的预测,即非常接近 1 或 0。Sigmoid 激活函数有哪些缺点?倾向于梯度消失;函数输出不是以 0 为中心的,这会降低权重更新的效率;Sigmoid 函数执行指数运算,计算机运行得较慢。2. Tanh / 双曲正切激活函数tanh 激活函数的图像也是 S 形,表达式如下:tanh 是一个双曲正切函数。tanh 函数和 sigmoid 函数的曲线相对相似。但是它比 sigmoid 函数更有一些优势。首先,当输入较大或较小时,输出几乎是平滑的并且梯度较小,这不利于权重更新。二者的区别在于输出间隔,tanh 的输出间隔为 1,并且整个函数以 0 为中心,比 sigmoid 函数更好;在 tanh 图中,负输入将被强映射为负,而零输入被映射为接近零。注意:在一般的二元分类问题中,tanh 函数用于隐藏层,而 sigmoid 函数用于输出层,但这并不是固定的,需要根据特定问题进行调整。3. ReLU 激活函数ReLU 激活函数图像如上图所示,函数表达式如下:ReLU 函数是深度学习中较为流行的一种激活函数,相比于 sigmoid 函数和 tanh 函数,它具有如下优点:当输入为正时,不存在梯度饱和问题。计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。当然,它也有缺点:Dead ReLU 问题。当输入为负时,ReLU 完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零,sigmoid 函数和 tanh 函数也具有相同的问题;我们发现 ReLU 函数的输出为 0 或正数,这意味着 ReLU 函数不是以 0 为中心的函数。4. Leaky ReLU它是一种专门设计用于解决 Dead ReLU 问题的激活函数:ReLU vs Leaky ReLU为什么 Leaky ReLU 比 ReLU 更好?Leaky ReLU 通过把 x 的非常小的线性分量给予负输入(0.01x)来调整负值的零梯度(zero gradients)问题;leak 有助于扩大 ReLU 函数的范围,通常 a 的值为 0.01 左右;Leaky ReLU 的函数范围是(负无穷到正无穷)。注意:从理论上讲,Leaky ReLU 具有 ReLU 的所有优点,而且 Dead ReLU 不会有任何问题,但在实际操作中,尚未完全证明 Leaky ReLU 总是比 ReLU 更好。5. ELU ELU vs Leaky ReLU vs ReLUELU 的提出也解决了 ReLU 的问题。与 ReLU 相比,ELU 有负值,这会使激活的平均值接近零。均值激活接近于零可以使学习更快,因为它们使梯度更接近自然梯度。显然,ELU 具有 ReLU 的所有优点,并且:没有 Dead ReLU 问题,输出的平均值接近 0,以 0 为中心;ELU 通过减少偏置偏移的影响,使正常梯度更接近于单位自然梯度,从而使均值向零加速学习;ELU 在较小的输入下会饱和至负值,从而减少前向传播的变异和信息。一个小问题是它的计算强度更高。与 Leaky ReLU 类似,尽管理论上比 ReLU 要好,但目前在实践中没有充分的证据表明 ELU 总是比 ReLU 好。 6. PReLU(Parametric ReLU)PReLU 也是 ReLU 的改进版本:看一下 PReLU 的公式:参数α通常为 0 到 1 之间的数字,并且通常相对较小。如果 a_i= 0,则 f 变为 ReLU如果 a_i> 0,则 f 变为 leaky ReLU如果 a_i 是可学习的参数,则 f 变为 PReLUPReLU 的优点如下:在负值域,PReLU 的斜率较小,这也可以避免 Dead ReLU 问题。与 ELU 相比,PReLU 在负值域是线性运算。尽管斜率很小,但不会趋于 0。7. SoftmaxSoftmax 是用于多类分类问题的激活函数,在多类分类问题中,超过两个类标签则需要类成员关系。对于长度为 K 的任意实向量,Softmax 可以将其压缩为长度为 K,值在(0,1)范围内,并且向量中元素的总和为 1 的实向量。Softmax 与正常的 max 函数不同:max 函数仅输出最大值,但 Softmax 确保较小的值具有较小的概率,并且不会直接丢弃。我们可以认为它是 argmax 函数的概率版本或「soft」版本。Softmax 函数的分母结合了原始输出值的所有因子,这意味着 Softmax 函数获得的各种概率彼此相关。 Softmax 激活函数的主要缺点是: 在零点不可微;负输入的梯度为零,这意味着对于该区域的激活,权重不会在反向传播期间更新,因此会产生永不激活的死亡神经元。8. Swish 函数表达式:y = x * sigmoid (x)Swish 的设计受到了 LSTM 和高速网络中 gating 的 sigmoid 函数使用的启发。我们使用相同的 gating 值来简化 gating 机制,这称为 self-gating。self-gating 的优点在于它只需要简单的标量输入,而普通的 gating 则需要多个标量输入。这使得诸如 Swish 之类的 self-gated 激活函数能够轻松替换以单个标量为输入的激活函数(例如 ReLU),而无需更改隐藏容量或参数数量。 Swish 激活函数的主要优点如下:「无界性」有助于防止慢速训练期间,梯度逐渐接近 0 并导致饱和;(同时,有界性也是有优势的,因为有界激活函数可以具有很强的正则化,并且较大的负输入问题也能解决);导数恒 > 0;平滑度在优化和泛化中起了重要作用。9. Maxout在 Maxout 层,激活函数是输入的最大值,因此只有 2 个 maxout 节点的多层感知机就可以拟合任意的凸函数。单个 Maxout 节点可以解释为对一个实值函数进行分段线性近似 (PWL) ,其中函数图上任意两点之间的线段位于图(凸函数)的上方。Maxout 也可以对 d 维向量(V)实现:假设两个凸函数 h_1(x) 和 h_2(x),由两个 Maxout 节点近似化,函数 g(x) 是连续的 PWL 函数。因此,由两个 Maxout 节点组成的 Maxout 层可以很好地近似任何连续函数。10. SoftplusSoftplus 函数:f(x)= ln(1 + exp x)Softplus 的导数为 f ′(x)=exp(x) / ( 1+exp⁡ x ) = 1/ (1 +exp(−x )) ,也称为 logistic / sigmoid 函数。 Softplus 函数类似于 ReLU 函数,但是相对较平滑,像 ReLU 一样是单侧抑制。它的接受范围很广:(0, + inf)。 原文链接:https://sukanyabag.medium.com/activation-functions-all-you-need-to-know-355a850d025e本文来源:https://www.jiqizhixin.com/articles/2021-02-24-7
  • [技术干货] 2021年必火的图神经网络到底是什么?
    作者  frank【摘要】 01什么是图神经网络图神经网络(Graph Neu做ral Networks, GNNs)是一种基于图结构的深度学习方法,从其定义中可以看出图神经网络主要由两部分组成,即“图”和“神经网络”。这里的“图”是图论中的图数据结构,“神经网络”是我们熟悉的深度学习NN结构,如MLP,CNN,RNN等。要了解图神经网络我们需要先回顾一下“图”和“神经网络”的基本概念。01什么是图神经网络图神经网络(Graph Neu做ral Networks, GNNs)是一种基于图结构的深度学习方法,从其定义中可以看出图神经网络主要由两部分组成,即“图”和“神经网络”。这里的“图”是图论中的图数据结构,“神经网络”是我们熟悉的深度学习NN结构,如MLP,CNN,RNN等。要了解图神经网络我们需要先回顾一下“图”和“神经网络”的基本概念。1.1图的定义1.2典型神经网络典型的神经网络结构有两条主线,一条主线是卷积神经网络,简称CNN,主要用于图像类数据的处理。另一条主线是循环神经网络,简称RNN,主要用于时序类数据的处理。由于神经网络结构的介绍不是本篇的重点,因此在这里不做重点介绍。只展示如下两图典型的CNN和RNN的结构:下图展示了当前的主流神经网络结构以及适用的场景:1.3图神经网络根据上述对图和神经网络的回顾,我们可以看出,图神经网络就是借助神经网络的“能力”如深度特征抽取等来处理图结构的数据,因此对于图神经网络,其直观的结构应该如下图:其中图结构的数据有许多,如社交网络图、交通路线图、人物关系图、分子结构图、计算结网络拓扑图等等。这些数据都可以作为图神经网络的输入。之后经过特定的神经网络结构,如MLP,CNN,RNN等的基于图结构的运算,可以完成对于图表示的分类,图的节点或边的预测等功能。02为什么需要图神经网络近年来,深度学习已经彻底改变了许多机器学习任务,从图像分类和视频处理,到语音识别和自然语言理解,这些任务中的数据通常表示在欧几里得空间中。然而,在越来越多的应用程序中,数据是从非欧几里得域生成的,并表示为具有复杂关系和对象之间相互依赖的图形。图数据的复杂性给现有的机器学习算法带来了巨大的挑战。下图左为图像(欧几里得空间),右为图(非欧几里得空间)。传统的神经网络结构如CNN、RNN等都是接受欧几里得空间的数据作为输入,他们无法处理非欧几里得空间的数据结构,比如图和流行结构。因此对于此类数据,图神经网络就更加适合处理。近年来图神经网络的研究热度也不断提升,如下图所示:03图神经网络典型的应用场景本章节基于图神经网络近年来的一些研究进展,展示一下图神经网络当前典型的应用场景以及一些典型的任务。将图结构和节点内容信息作为模型的输入,GNNs的输出可以通过以下机制之一专注于不同的图分析任务:Node-level输出用于点回归和分类任务。Edge-level输出与边分类和链路预测任务相关。Graph-level输出和图分类任务相关,比如图表示。下面以典型论文为例介绍几个GNNs的典型任务:3.1图分类我们知道很多有机物或者化合物的分子结构都是可以用图结构来表示的,比如下图的4-nitroindole,该GNN的作用是训练一个图神经网络,接收一个分子结构来判断该分子结构会不会导致发生突变。在训练的过程中如果有现存的已标注的可导致发生突变的分子结构,我们就可以训练该图神经网络,然后用他来预测一个新的未知的分子会不会导致突变。3.2图生成我们知道在图像和语言的领域里分别有embedding和generation技术,比如常见的图像和语言生成技术,比如动态静态的预训练和词嵌入技术。相应的在图领域,我们也有图的嵌入表示比如graph embedding representation和图的generation技术。比如下图的graphvae,变分图自编码器就是一个图生成模型,其主要是为图中节点找寻合适的 Embedding 向量,并通过 Embedding 向量实现图重构。其中获取到的节点 Embedding 可以用于支撑下游任务。比如在新的分子结构生成发现中可以使用该技术来加快分子发现速度。3.3社交网络分析在社交网络分析中,实体之间的关系往往会是非常重要的特征,图结构就能很好的表示这种关系特征。如下图的社交网络图中,每个实体的关系可以用边来描述,这样在进行实体分类或者关系分类时,利用图数据结构,完成特定任务的标注,就可以训练出一个图神经网络来完成此类任务。3.4网络拓扑分析网络的拓扑天然就是图结构的表示,计算机网络中的路由技术就是以图轮为基础的算路技术。同时网络中每两个节点之间也会有时延,丢包,抖动等网络KPI信息。这些点对之间的KPI往往是动态变化的,这就影响到了实时路由决策和优化的问题。比如当前链路的时延或者丢包过大,路由算法就需要选择新的路径进行数据包传递。图神经网络在这个问题中就可以接收底层的网络拓扑、网络配置信息和流量矩阵信息来实时预测每一个点对,每一条流的实验丢包抖动,这样就可以更好的配合路由和优化算法,使能网络的自动驾驶。04图神经网络典型训练框架4.1Semi-supervised learning for node-level classification:给定一个网络,其中部分节点被标记,其他节点未标记,ConvGNNs可以学习一个鲁棒模型,有效地识别未标记节点的类标签。为此,可以通过叠加一对图卷积层,然后是用于多类分类的softmax层来构建端到端框架。见图(a)4.2Supervised learning for graph-level classification:图级分类的目的是预测整个图的类标签。该任务的端到端学习可以结合图卷积层、图池层和/或readout层来实现。图卷积层负责精确的高级节点表示,图池层则扮演下采样的角色,每次都将每个图粗化成一个子结构。readout层将每个图的节点表示折叠成一个图表示。通过在图表示中应用一个多层感知器和一个softmax层,我们可以建立一个端到端图分类框架。见图(b)4.3Unsupervised learning for graph embedding:当图中没有可用的类标签时,我们可以学习在端到端框架中以完全无监督的方式嵌入图。这些算法以两种方式利用边缘级信息。一种简单的方法是采用自编码器框架,编码器使用图卷积层将图嵌入到潜在表示中,在潜在表示上使用解码器重构图结构。另一种常用的方法是利用负采样方法(negative sampling),即对图中有链接的部分节点对进行负采样,而对图中有链接的节点对进行正采样。然后应用逻辑回归层对的正负配对进行区分。见图(c)05总结本篇博文介绍了图神经网络的定义、图神经网络的常见使用场景和图神经网络的训练方法。下图[2]是当前图神经网络的Roadmap,下图包含了当前常见图神经网络类型。下一篇博客将对每一种图神经网络包括上文提到的如ConvGNN,GAE做具体介绍。参考文献[1]. https://mp.weixin.qq.com/s/PSrgm7frsXIobSrlcoCWxw[2]. http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML2020/GNN.pdf[3]. https://persagen.com/files/misc/scarselli2009graph.pdf[4]. https://arxiv.org/pdf/1802.03480.pdf[5]. https://arxiv.org/abs/1901.00596[6]. https://arxiv.org/abs/1910.01508本文首发 公众号:网络人工智能园地
  • [技术干货] 蒙特卡洛树搜索在黑盒优化和神经网络结构搜索中的应用
    布朗大学在读博士王林楠在本文中介绍了他与 Facebook 田渊栋团队合作,在 2020 年 NeurIPS 取得亮眼表现的新算法,以及其在神经网络结构搜索中的应用。现实世界的大多数系统是没有办法给出一个确切的函数定义,比如机器学习模型中的调参,大规模数据中心的冷藏策略等问题。这类问题统统被定义为黑盒优化。黑盒优化是在没办法求解梯度的情况下,通过观察输入和输出,去猜测优化变量的最优解。在过去的几十年发展中,遗传算法和贝叶斯优化一直是黑盒优化最热门的方法。不同于主流算法,本文介绍一个基于蒙特卡洛树搜索(MCTS)的全新黑盒优化算法,隐动作集蒙特卡洛树搜索 (LA-MCTS)。LA-MCTS 发表在 2020 年的 NeurIPS,仅仅在文章公开几个月后,就被来自俄罗斯 JetBrains 和韩国的 KAIST 的队伍独立复现,并用来参加 2020 年 NeurIPS 的黑盒优化挑战,分别取得了第三名和第八名的好成绩 [10][11]。论文链接:https://arxiv.org/pdf/2007.00708.pdfGithub 地址:https://github.com/facebookresearch/LaMCTS黑盒优化的回顾 黑盒优化是一个已经发展了几十年的领域了,在跟很多人交流我们工作的时候,我被问到最多的问题就是,我们算法和遗传算法以及贝叶斯优化有什么优势?为了更好的理解这个问题,首先让我们来看看遗传算法和贝叶斯优化是如何工作的。 遗传算法:遗传算法有很多变种,但是大体上是这图上这 3 类。  1) Evolution: 首先是用一个固定的 multi-variate gaussian 来建模下一步从哪儿去采样(如上图的 Evolution)。在当下的 iteration 撒一堆点,然后找出这堆点当下最优的解,然后把这个 multi-variate gaussian 的均值重新放到这个最优解。由于不变,所以下一个 iteration 做采样的时候那个 region 的样子也不变。 这里我们给出了一个优化 2 维 Rastrigin 的例子。Rastrigin 函数如下图, 下图呈现了 Evolution 算法的优化过程。由于 σ 不变,每次采样出来的蓝色的点的分布在每个 iteration 都是差不多的。并且当下 iteration 中,采样分布所用的 μ,是上一个 iteration 中采样出来的最好的点,即图中红色的点。2) Genetic: 这个核心思想就是抽取一个 pool 来追踪当下样本中的 top 10%(可以设置的超参变量),然后在这个 pool 里进行变异。同样下图可视化了该算法在 2 维 Rastrigin 的优化过程。图中绿色的点就是当下 top samples,在下一个 iteration 中的蓝色 samples 都是由上一个 iteration 中的绿色的 samples 变异而来。 3)CMA-ES: 和 Evolution 相比,它不光变 μ,而且同时变 σ 。其核心思想是同样追踪当下 top samples,然后用 top samples 来更新 μ 和 σ,而不是像 evolution 里只把 μ 改到了当下最优的 sample 上。所以这里的采样区间会动态的变化,特别是 top samples 分布比较分散的话,采样区间就会很大。当 top samples 收敛到一个最优解附近时候,采样空间就自动减小了,因为 top samples 之间的 variance 小了。 同样我们可视化了 CMA-ES 在优化二维 Rastrigin 函数的过程。一开始采样区域迅速增大,那是因为 top samples (图中紫色的点) 的分布越来越散,导致用来采样的 gaussian 的 σ 增大,所以采样区域不过往最优解附近靠近(通过更新 μ ), 而且采样空间也迅速增大。但是到了后期采样,由于紫色的点慢慢靠拢,所以 σ 减小,同时也导致采样空间缩小。遗传算法的问题:由此可以看出,遗传算法并不是特别适合 NAS,因为他每个 iteration 需要撒很多的神经网络来更新采样分布。然而来评估一个神经是非常耗时的,无论是重头训练一遍,还是用 supernet。 贝叶斯优化:同样贝叶斯优化有很多变种,但是大体上算法可以归为下来几步。 1) Surrogate Model: 这一步利用一个函数拟合器,根据当下现有的采样,来 fit 一个黑盒函数。 2) Acquisition Function: 这一步就是贝叶斯优化的探索(exploration)和利用 (exploitation) 机制。他利用 Surrogate Model 和当下采样的分布,来选择下一个采样的位置。 同样是优化二维的 Rastrigin 函数,贝叶斯优化的采样效率会比遗传算法好很多,如下图。图中的每一个点都对应的一个采样,红色的点代表最优解。因为贝叶斯优化里利用了一个 Surrogate Model 去猜那里比较好,所以采样效率会高很多。 贝叶斯优化的问题:但是在高纬问题中,贝叶斯优化会过度的探索边界,导致大量的样本被浪费[8][9]。为了理解这个问题,我们来看下面优化一个一维函数的例子。左图中的 x 是从 iteration 1-> iteration3 的采样,右图是 acquisition function,最高的地方即是采样点。可以看出前几个 iteration 基本在探索那些附近没有样本的区域。 因为我们这里看到的只是一维问题,当问题纬度扩展到 20d+,这个时候贝叶斯优化一开始就需要非常多的点来探索搜索空间。这也就是为什么很多人会观测到,在高纬度问题中,贝叶斯优化在少量样本下,会跟随机搜索差不多。 而这些一开始作为探索的样本,一般都会落在搜索空间的边界。至于为什么会是边界,这个跟欧几里得空间有关。简单来说,一个立方体,靠近边界部分的体积会远大与内核部分的体积。以此类推,在一个 n 维立方体里,大部分的搜索空间都在边界,所以探索一开始会探索边界。 Latent Action Monte Carlo Tree Search(LA-MCTS) 为了解决贝叶斯优化在高维空间过渡探索的问题,我们的解决方案是,去学习切割搜索空间。这里的核心动机如下图。当我们切分搜索空间后,把原问题划分为更小的子问题,然后用贝叶斯优化来解。虽然在子问题也会出现过度探索,但是这个时候的样本落点和原问题的样本落点很不一样,如下图。所以划分子空间后,可以从某种程度上减轻过度探索的问题。 LA-MCTS 的核心思想就是,我们希望学习一些边界去划分搜索空间。这些边界还能够自动去适应函数值的变化。当我们在划分出来的好的空间去采样的时候,出来的样本也期望是好的,同理在坏的空间,采样出来的样本也相对较差。 上图是我们算法的一个大体框架。在每一个树的节点上,我们想学到一个边界,根据当下的采样点(既 x 和 f(x)),能够把搜索空间分为一个好的子空间(左节点),和一个坏的子空间(右节点),如上图。而这里的隐动作集 (Latent Action) 就是,从当下节点选择去左 / 右孩子。至于动作的选择,在每个节点是根据 UCT 公式来决定。因为每个节点对应一个搜索空间,这个搜索空间上有相应的样本。每个孩子上对应搜索空间的样本的个数就是 UCT 里的 n,而这些样本性能的平均值就是 UCT 里的 v。当我们对搜索空间建立这样的一个搜索树,随着树深度的增加,在搜索空间找到好的区域也越来越精确。 根据上述的定义,Latent Action 是把一个空间分成一个好的子空间,和一个坏的子空间。假设在任何一个节点上,我们首先学习一个 regressor 来把当下节点上的样本分为好样本和坏样本,然后我们通过 SVM 来学习出一个边界来把当下节点的搜索空间分为两个部分,一个好的搜索空间和一个坏的搜索空间。因为处在 regressor 上的样本 f(x)更高,所以分出来的空间是好空间。然后这两个子空间被两个子节点所代表,并且相应子空间上的样本也去相对应的节点。这就构成了我们整个树模型的最基本的单元。 有了这个最基本的模型,下来介绍下算法的 3 个基本步骤。 1)Learning and split: 在每个 iteration 开始,因为上个 iteration 有新的样本,我们需要重新构建一个树来分割搜索空间。同样,一开始的 root 节点包含所有的样本,同时并代表了整个搜索空间。我们这样递归的利用 latent action 来把一个节点分成两个节点,直到树上的叶子结点内,包含不超过 20(超参可以调)个样本。所以树的样子完全由样本决定的。下图描述了这个过程。 2) Select: 从树的根开始,我们计算出每个节点的 UCB 数值。访问次数就是当下 node 里有多少 samples,均值就是当下 node 里样本的均值,即 f(x)的均值。然后我们从跟节点到叶子,一直选 UCB 最大的。这个过程如下图。 3)Sampling: 根据我们选出来的一条路径,这个路径上的 SVM 就包裹出了一个子搜索空间,如下图的。然后,我们只在这个子空间上进行贝叶斯优化即可。最后我们很快的来看一下 LA-MCTS 应用在贝叶斯优化的效果。更多的数据,请参考我们的文章。 其实早在 2011 年,Rémi Munos (DeepMind) 提出利用 MCTS 来分割搜索空间用来优化一个黑盒函数 [4],然后,剑桥大学和 MIT,有很多工作把这种切分搜索空间的思想用在了高维贝叶斯优化 [5][6]。但是这些工作一般都会采用一个 k-ary 区块切分(如下图)。2020 年,MIT 的 Beomjoon Kim 在[7] 展示出利用沃罗诺伊图(Voronoi Graph)去切分搜索空间,结果会更好。我们的工作,LA-MCTS,则是利用了 learning 的法则,根据当下样本来学习分割方法,来提高搜索效率。 LA-MCTS 的一些有待改善的地方:目前我们观测到 UCB 中的 exploration 变量 c 对结果影响比较大,毕竟 Cp=0 的时候 LA-MCTS 就变成了一个 random 算法,而 Cp=1 的时候,就是一个纯 greedy 的算法了。目前我们发现大多数把 Cp = 0.1*max f(x) 工作的比较好,这里的 max f(x) 是猜测出来的函数最大值。当然在实际使用中,可以在 search space 先大概跑一跑,看什么样的 Cp 下降的比较快。如果大家在使用 LA-MCTS 感觉效果不太好,很可能是这里出了问题。 其次,SVM 在有些时候不是很稳定,比如 kernel type 的选择。还有,目前我们采样还是基于 sampling 的方法,未来可以考虑通过 LBFGS 来解一个 constrained optimization 问题,这里的 constrains 是 SVM 的边界。总而言之,未来还有很多需要解决的问题。 LA-MCTS 在 NeurIPS-2020 黑盒优化挑战的表现 当然文章里的数据是漂亮啦,但是要其他人复现出来同样说好那才好。在今年 NeurIPS-2020 中,Facebook, Twitter, SigOPT, 第四范式等活跃在黑盒优化领域内的公司,发起了一个黑盒优化挑战赛,试图去寻找当下最优的黑盒优化器。该挑战利用各个参赛团队提交的优化器,去解决 216 个不同领域的黑盒优化问题。当然,每个优化器在不同的问题上也是跑了很多次去取平均,来保证比赛的公正。更多这个比赛的详情,大家可以参照这里 https://bbochallenge.com/virtualroom。 下图是这次比赛的 leaderboard。 总结一下,LA-MCTS 在这次比赛分别被第三名的 JetBrains 和第八名的 KAIST 团队独立复现我们的算法(因为当时还没有放出源代码),并参加这次比赛。值得一提的是,第一名和第二名的队伍均采用 ensemble 不同 solver 的方法(比如不同的 acquisition),而第三名只使用一种 solver。所以我个人认为未来探索 ensemble 和 learning search space partition 会是一个比较有意思的问题。最后,我个人很喜欢的一个黑盒优化算法 TuRBO,在前十名队伍中,被六个队伍所广泛采用。 更值得一提的是,在 NAS 方面发表出的很多 search 算法,比如用神经网络或者图神经网络做 predictor,或者 RL,SGD (finite difference 类),并没有在这次比赛中表现出非常优秀的成绩。 把 LA-MCTS 应用在神经网络结构搜索(NAS) 我们同时也把 LA-MCTS 应用在神经网络结构搜索给 CIFAR-10,ImageNet,Detection 等。下面是我们搜索出来的网络的结果。 我们在 NAS 探索的一个简介 1. 起源:应用蒙特卡洛树搜索在神经网络结构搜索。 2017 年初,我的导师从美国国防高级研究计划局的 D3M 项目拿到了一笔项目资金,开启了我们的 AutoML 研究。而我被分配的子任务,就是神经网络结构搜索 (NAS)。当时 NAS 研究的 2 篇文章,都是利用强化学习(谷歌的 policy gradients 和 MIT 的 Q-learning)。我们发现 Q-learning 的 epsilon greedy 非常简单的同等对待了所有的状态(states),并不考虑每个 states 过去探索了多少次,所以并不能很好的去平衡利用(exploitation) 和探索 (exploration)。从这点出发,我们考虑对每个状态去建模,来更好的平衡利用和探索,来提高搜索效率。而蒙特卡洛树搜索(MCTS) 正是对每一个状态建模,利用 UCT 来动态的平衡利用和探索。同时,AlphaGo 的成功证实 MCTS 在大规模状态空间下效果非常好。在这样的背景下,我们开发第一个基于 MCTS 的 NAS 算法,并命名为 AlphaX。 AlphaX 构建网络和 MIT 的 Q-learning 算法相似。从一个空网络开始,根据动作集,比如添加一个 conv 或者 pooling,逐层构建一个网络架构(s→a→s’)。因为训练一个网络非常慢,AlphaX 提出利用一个价值函数预测器(value function predictor)来预测当下状态下的子网络们的性能。这个价值函数器输入就是一个网络架构,输出就是预测的该网络的精度。同时我们验证了,NAS 能够提升很多下游的视觉应用,比如风格迁移,目标检测等。详情请见[1]。 2. 学习蒙特卡洛树里的动作集,从 LaNAS 到 LA-MCTS。 基于 AlphaX,我 FB 的导师田渊栋洞察到动作集在 AlphaX 对搜索效率有着显著的影响。为了证实这个想法,我们设计了动作集 sequential 和 global。动作集 sequential 就是按照逐层构建网络的思路,一步步的增加 conv 或者 pooling,并指定每层的参数;而动作集 global 则首先划定网络的深度,比如 10 层网络。然后同时给这 10 层网络指定每层的种类,参数等。我们发现动作集 global 的搜索效率显著高于动作集 sequential,并且可视化了状态空间,如下图。 直观上而言,状态空间在 global 的动作集下,好的状态(深色)和差的状态(浅色)区分的很好,不像 sequential 混杂在一起。这样搜索算法可以很快找到一个好的区域,所以效率更高。基于这个观察,促使我们去给 MCTS 学习动作集,并提出了 Latent Action Monte Carlo Tree Search (LA-MCTS)。 我们最初把这个想法应用在了 NAS,并构建了一个 NAS 系统命名为 LaNAS[2]。对比贝叶斯优化和进化算法,LaNAS 在 NAS 的基准数据集 NASBench-101 上取得了显著的提升。所以我们又扩展了 LaNAS 成为了 LA-MCTS 去做应用更广的黑盒优化。从 LaNAS 到 LA-MCTS,核心更新有:1)LA-MCTS 把 LaNAS 里的边界扩展成一个非线性边界,2)LA-MCTS 在采样的时候利用贝叶斯优化来选择样本。最后,LA-MCTS 在各种测试函数和 MuJoCo 上取得了显著的提升,详见[3]。 搜索是否对 NAS 重要 我认为是重要的。以下是我观测到的一些趋势及我的思考。 1)最近有些文章展示随机搜索都可以达到很好的结果,那么是不是意味着搜索不重要了?  首先这些文章是说随机搜索得到的结果还不错,是一个非常强的对比基准。这个往往因为目前的搜索空间的设计,导致大部分网络结果都很好,比如下图所呈现的 NASBench-101 中 42 万个网络的分布(横轴是精度,纵轴是这个精度下有多少网络 log scale)。所以找出一个工作还不错的网络并不难。 2) 既然搜索空间的设计影响很大,那么是不是更应该把注意力放在设计搜索空间,而不是搜索? 我觉得这个问题应该站在不同的角度。首先,近几年神经网络的高速发展让我们在设计搜索空间的时候有了很多先验经验,所以设计出来的搜索域里的网络都不会太差。在一些传统的视觉应用,搜索的贡献可能就不如加各种 tricks 或者调参数在工程中来的更实际一些。但是如果当我们遇到一个新的任务,比如设计一个神经网络去调度网络节点。由于先验经验很少,这个时候搜索就可以极大的加速我们设计网络的速度。并且搜索可以提供很多的经验去让我们改进搜索空间。 3)基于搜索方法的 NAS 和 DARTS 类算法的对比。 以 DARTS 为代表的 one-shot NAS 方法跑的很快,是因为利用了一个超级网络 (Supernet) 去近似每个网络的性能。在这个过程中,Supernet 相当提供一个网络性能的预测,然后利用 SGD 在 Supernet 上去找一个比较好的结果。这里 Supernet 和 Search 也是可以分开,而且分开后更易分别提高这两个部分。所以只需要把 Supernet 的概念应用在传统搜索方法上,也是可以很快得到结果。SGD 的问题是很容易卡在一个局部最优,而且目前 SoTA 的结果基本都是利用传统搜索方法直接,或者利用一个 supernet 搜索出来的。 Github 地址:https://github.com/facebookresearch/LaMCTS 下面是这个开源项目一览: Neural Architecture Search,全网最全的神经网络结构搜索 pipeline。开源 LaNAS on NASBench101:无需训练网络,在你笔记本上快速评估 LaNAS。开源 LaNAS 搜索出的模型「LaNet」:在 CIFAR-10 和 ImageNet 上都取得 SoTA 结果。开源 one-shot/few-shots LaNAS:只需几个 GPU,快速并且高效完成神经网络结构搜索。含搜索,训练,整套 pipeline。分布式 LaNAS:让我们用上百个 GPU 来超过最先进的模型。整套 pipeline。Bag of tricks 模型训练的那些黑科技:我们列出当下训练模型的一些提升点数黑招数。Black-box optimizations,黑盒优化1 分钟的对比:只需 1 分钟,评测 LA-MCTS,和贝叶斯优化及进化算法。MuJoCo Tasks:应用 LA-MCTS 在机器人,强化学习,并可视化你学出来的策略。作者介绍 王林楠是布朗大学第四年博士生,他的研究方向为人工智能和超级计算。他的目标就是让人工智能全民化,能够让任何人,任何公司只需要点击几次鼠标就能设计,部署一个可行的人工智能系统。为了实现这个目标,他一直致力于建立一个基于蒙特卡洛树搜索的人工智能,来设计不同的人工智能给大众。通过四年的努力,他们已经围绕蒙特卡洛树搜索建立了一个完整的神经网络结构搜索系统去实现这个目标。 田渊栋博士,脸书(Facebook)人工智能研究院研究员及经理,研究方向为深度强化学习,多智能体学习,及其在游戏中的应用,和深度学习模型的理论分析。围棋开源项目 DarkForest 及 ELF OpenGo 项目中研究及工程负责人和第一作者。2013-2014 年在 Google 无人驾驶团队任软件工程师。2005 年及 08 年于上海交通大学获本硕学位,2013 年于美国卡耐基梅隆大学机器人研究所获博士学位。曾获得 2013 年国际计算机视觉大会(ICCV)马尔奖提名(Marr Prize Honorable Mentions)。 [1] Neural Architecture Search using Deep Neural Networks and Monte Carlo Tree Search, AAAI-2020. [2] Sample-Efficient Neural Architecture Search by Learning Action Space, 2019 [3] Learning Search Space Partition for Black-box Optimization using Monte Carlo Tree Search, NeurIPS 2020. [4] Optimistic optimization of a deterministic function without the knowledge of its smoothness, NeurIPS 2011. [5] Batched Large-scale Bayesian Optimization in High-dimensional Spaces, AISTATS 2018. [6] Heteroscedastic Treed Bayesian Optimisation, 2014. [7] Monte Carlo Tree Search in continuous spaces using Voronoi optimistic optimization with regret bounds, AAAI-2020. [8] Bock: Bayesian optimization with cylindrical kernels [9] Correcting boundary over-exploration deficiencies in Bayesian optimization with virtual derivative sign observations [10] Solving Black-Box Optimization Challenge via Learning Search Space Partition for Local Bayesian Optimization [11] Adaptive Local Bayesian Optimization Over Multiple Discrete Variables
  • [技术干货] 图神经网络在生物医药领域的12项研究综述,附资源下载
    2020年,图机器学习(Graph ML)已经成为机器学习(ML)领域中的一个备受关注的焦点研究方向。其中,图神经网络(GNN)是一类用于处理图域信息的神经网络,由于有较好的性能和可解释性,现已被广泛应用到各个领域。图是一种强大的工具,可以表示由各种人工和自然过程产生的丰富而复杂的数据。图可以视为具有以下特征的结构化数据类型:顶点(保存信息的实体)和边(保存信息的顶点之间的连接),因此具有组成性质和关系性质。图提供了处理关系和交互这些抽象概念的一种方法,还提供了用直观的视觉去思考这些概念的方式。 GNN 的目的是使图中的每个顶点学习包含有关其邻域(通过边直接连接到目标顶点的点)的信息的嵌入。此嵌入可用于顶点标签、顶点预测、边预测等不同问题。因此,在与每个顶点进行嵌入后,我们可以通过添加馈送神经网络层来转换边进而组合图和神经网络。 「对于Graph ML研究来说,这是令人震惊的一年。在所有主要的ML会议上,有关该领域的所有论文中约有10%至20%,并且在如此规模下,每个人都可以找到自己感兴趣的有趣的图主题。」Criteo研究员、Graph Machine Learning newsletter编辑员Sergey Ivanov如是说。 GNN在生物分子结构以及分子之间的功能关系和集成多组数据集模型方面的能力,使得它在医疗行业中受到越来越多的关注。本文就将聚焦于Graph ML在医疗领域中的应用,分享2020年值得关注的几篇论文,包含脑科学、医疗诊断、药物研发以及COVID-19四部分。 脑科学 这一年,图机器学习在医疗成像中取得了非凡的成就,尤其是大脑方面,包括脑区分割、脑结构分析。另外,关于人脑的研究提供了模型的可解释性,这对于临床和技术专家来说有着关键意义,表面可以将图机器学习可靠地合并到计算机辅助诊断(CADx)系统中。 论文题目:图域自适应恒对齐的脑表面分割简介:文章提出了一种针对脑表面图的新型对抗域自适应框架。提出的算法利用对抗训练机制来获得广义的脑表面分割,使得直接跨多个大脑学习表面数据并对大脑不同皮质区域进行分析成为可能。他们使用一组图卷积层直接在源域的大脑表面上执行切分的分割,并用鉴别器对根据该分割的预测域以及目标域之间进行概括,实验结果表明性能平均提升了8%。通过将图拉普拉斯算子分解,将输入脑图映射到频谱域。源域和目标域是通过将特征根分别与源引用和目标引用对齐来获得的。segmentator GCN学习预测每个域的通用皮质分割标签。discriminator旨在对分割器预测进行分类,从而帮助分割器GCN适应源域和目标域论文地址:https://arxiv.org/pdf/2004.00074.pdf论文题目:BrainGNN: 用于功能磁共振成像分析的可解释性脑图神经网络简介:文章提出了一种图形神经网络(GNN)框架——BrainGNN,用于分析功能性磁共振图像(fMRI)并发现神经生物学标志物,以此来了解大脑。通过将感兴趣的大脑区域(ROI)定义为顶点,将ROI之间的功能连接性定义为边,将fMRI时间序列定义为成对相关性,文章把大脑建模为图作为输入,然后输出预测结果和解释结果。通过使用不同的内核并使用新的损失项调节中间输出来促进模型的可解释性,提供了在个人级别和组级别的解释。框架流程图。fMRI图像由图谱分解并转移到图中。然后,将图发送到我们提出的BrainGNN,由BrainGNN给出特定任务的预测。BrainGNN共同选择对预测任务有用的重要大脑区域,并将大脑区域聚集到与预测相关的功能区中。论文地址:https://www.biorxiv.org/content/10.1101/2020.05.16.100057v1医学诊断TUM 博士研究生、医学成像中的Graph ML的多篇论文的作者Anees Kazi说:「在医学领域,Graph ML改变了分析多模态数据的方式,这种方式与专家如何从临床常规操作中的所有可用维度看待患者的状况非常相似。」多项研究已证明可以将图机器学习应用于CADx系统中,潜在的图学习和数据补全解决了ML在医学领域中应用的关于数据集的常见问题。 论文题目:使用多模式数据和图卷积网络识别早期轻度认知障碍简介:轻度认知障碍(EMCI)是阿尔茨海默氏病(AD)的早期阶段,与大脑的结构和功能变化有关。但是,提取哪些特征以及如何组合多个特征以提高EMCI识别的性能一直是一个难题。文章提出了一种利用多模态数据和图形卷积网络进行的新EMCI识别框架。实验表明该框架在临床实践中对EMCI的识别是有效的。此方法为 EMCI 的计算机辅助识别的区分成像标记铺平了道路。    GCN-EMCI框架示意图。首先基于每个受试者的T1wMRI和rs-fMRI数据,基于自动解剖标记(AAL)地图集作为特征表示,提取每个大脑区域的灰质体积和最短路径长度。然后,为了获得对识别 EMCI 更有帮助的功能,采用了一种通用的多任务功能选择方法。之后,使用成像表型度量和非成像表型测量来构建未完全标记的主题图。最后,应用GCN模型来执行 EMCI 标识任务。论文地址:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-020-3437-6论文题目:基于边变化图卷积网络的不确定性疾病预测简介:文章提出了一种可扩展的图卷积框架,该框架可以自动将人群中的影像数据与非影像数据集成在一起,以进行不确定性感知的疾病预测。为了估计与图拓扑相关的预测不确定性,文章提出了蒙特卡洛边缺失的新概念。实验结果表明该方法可以持续显着地提高自闭症谱系障碍、阿尔茨海默氏病和眼部疾病的诊断准确性,这表明可广泛利用多模态数据进行计算机辅助诊断。提出的方法框架。PAE:成对关联编码器。ED:边缘脱落。GC:图卷积。Fusion:逐顶点级联。图表中绿色和橙色标记为诊断值(例如健康或患病),灰色为未标记;ui:对象i预测的不确定性。论文地址:https://arxiv.org/pdf/2009.02759.pdf 论文题目:使用多图几何矩阵完成(MGMC)在不完整的医学数据集中同时进行归因和疾病分类简介:基于大规模人群的医学研究是改善疾病的诊断、监测和治疗的重要资源。为了解决数据丢失的问题,文章提出了通过多图几何矩阵完成(MGMC)对不完整医学数据集进行归因和疾病预测的端到端学习。实验展示了该方法在分类和归因性能方面的优越性,这些发现可作为将来使用不完整数据集的计算机辅助诊断方法的基准。MGMC使用多个循环图卷积网络,其中每个图代表基于诸如年龄、性别或认知功能等关键临床特征的单体模型。来自本地患者邻域的图信号聚合,再加上通过自注意的多图形信号融合,对矩阵重建和分类性能均具有正则化作用。论文地址:https://arxiv.org/pdf/2005.06935.pdf药物发现和研究GNN不仅可以在精心设计的基准数据集上胜过先前的方法,而且可以为开发新药从根本上帮助人们和理解自然开辟途径,重点包括蛋白质和结构生物学以及药物发现的进展。今年也有相关研究人员对该领域进行了综述,供更多人的去研究。 论文题目:利用图机器学习药物发现和开发简介:本文在药物发现和开发的背景下,对该主题进行了多学科的综述。介绍了关键术语和建模方法之后,按时间顺序浏览了药物开发流程,总结了包括以下内容:目标识别、小分子和生物制剂的设计以及药物的再利用。文章还就数据集等问题提出了现有模型的一些挑战。尽管该领域仍在兴起,但图机器学习将成为生物医学机器学习中选择的建模框架。基于 GNN 的药物发现时间表。论文地址:https://arxiv.org/abs/2012.05716报告标题:图神经网络用于药物开发简介:报告讲述了制药的整个流程,讨论了GNN在制药的第三环节(临床研究)和第五环节(上市后的安全监控)中的应用。报告主要阐述了为什么要用GNN、如何使用GNN以及目前的一些成果,给到读者一个直观、清晰且较为全面的相关知识结构。ppt地址:https://grlearning.github.io/slides/zitnik.pdf论文标题:基于深度学习方法的抗生素发现简介:在这项工作中,训练了一个名为Chemprop的深层GNN模型,以预测分子是否具有抗生素特性:对细菌大肠杆菌的生长抑制作用。在仅使用FDA批准的药物库中的约2500个分子进行训练后,Chemprop就被应用于更大的数据集,包括包含分子Halicin的Drug Repurposed Hub。这项工作突出了深度学习方法通过发现结构独特的抗菌分子来扩展我们的抗生素库的实用性。论文地址:https://www.cell.com/cell/fulltext/S0092-8674(20)30102-1?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS0092867420301021%3Fshowall%3Dtrue论文标题:基于半二分图模型和深度学习的药物-靶标相互作用预测简介:识别药物-靶标相互作用是药物发现中的关键要素。在计算机上预测药物与靶标的相互作用可以加快识别药物与靶标蛋白之间未知相互作用的过程。文章提出了一种利用网络拓扑结构并识别相互作用和非相互作用的新药物-靶标相互作用预测框架,该框架从相互作用网络中学习潜在特征,证明了能够学习复杂的药物-靶标拓扑特征。药物-靶标相互作用预测框架流程图。(a)通过药物-靶标相互作用,药物-药物相似性和蛋白质-蛋白质相似性来构建半二分图。(b)药物靶标正负对样本表示为捕获药物靶标对周围拓扑环境的子图。(c)在每个子图上应用图标记方法,以保留图顶点的顺序。(d)将最终的子图转换为邻接矩阵,并且每个矩阵的上三角代表要嵌入的特征,以训练分类器。(e)训练了一个深度神经网络,并将其用于预测新的药物靶标对。论文地址:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-020-3518-6论文标题:几何深度学习解密蛋白质分子表面的相互作用指纹简介:蛋白质结构的分子表面显示出化学模式和几何特征,这些模式和特征可识别蛋白质与其他生物分子相互作用。文章提出了MaSIF(分子表面相互作用指纹),这是一个基于几何深度学习方法的概念框架,用于捕获对于特定生物分子相互作用非常重要的指纹。文章假设参与相似相互作用的蛋白质可能共享共同的指纹。该概念框架将导致对蛋白质功能和设计的理解得到改善。论文地址:https://www.nature.com/articles/s41592-019-0666-6论文标题:图卷积神经网络从化学结构预测药理活性简介:许多治疗药物可以用简单的化学结构表示,这些化学结构在作用部位包含重要的亲和力决定因素。在这项研究中,仅从化合物的二维结构信息构建的GCN模型显示了针对ChEMBL数据库中127个不同目标的高度活性可预测性。文章还使用信息熵作为度量标准表明结构多样性对预测性能的影响较小。论文地址:https://www.nature.com/articles/s41598-020-80113-7?from=from_parent_mindnoteCOVID-19 2020年医学领域的另一个重要亮点当然是冠状病毒大流行,研究人员成功使用Graph ML方法检测Covid-19,并用药物重新定位的方法预测针对Covid-19药物的疗效。Google Graph Mining团队也在他们的年度报告中提及使用时空GNN建模COVID-19,想要了解更多可以访问https://gm-neurips-2020.github.io/master-deck.pdf。 论文标题:ResGNet-C:用于检测COVID-19的图卷积神经网络简介:病毒核酸检测和胸部计算机断层扫描(CT)筛查是COVID-19临床诊断应用最广泛的两种技术。病毒核酸测试需要复杂的设备、长时间的测验与高假阴性率,而胸部CT图像报告灵敏度高但需要人为解释,非常耗时且不稳定。文章在ResGNet框架下开发了图卷积神经网络ResGNet-C,以将肺部CT图像自动分类为COVID-19引起的肺炎和正常的肺炎。论文地址:https://www.sciencedirect.com/science/article/pii/S0925231220319184论文标题:用于识别针对COVID-19的药物再利用的医学网络框架简介:文章提出一种多模式方法,该方法融合了人工智能、网络扩散和网络邻近性的预测算法,对6340种药物的抗SARS-CoV-2预期疗效进行排名,表明不同预测方法之间的共识始终超过最佳单个算法的性能。实验发现多数药物依赖基于网络的行为,因此无法使用基于靶向对接的策略来识别。这一进展提供了一种方法论,可用于确定因新药开发成本和时长而无法满足的针对未来病原和其他疾病的再定位药物。论文地址:https://arxiv.org/pdf/2004.07229.pdf
  • [技术干货] AI顶会连发7篇论文,华为云实现人工智能多领域新突破
    全球人工智能领域的顶级学术会议AAAI 2021将于2月2日-9日在线上召开。论文录用结果显示,华为云的7篇AI科研成果被收录。华为云被接收的研究涉及联邦学习、深度学习、机器学习、自然语言处理、迁移学习、知识计算等技术领域,充分展现了华为云在人工智能领域的基础研究实力。技术创新和应用落地是这些论文的亮点,相关技术目前已在油气勘探、药物研发、AI 开发、智能交通等业务场景下规模化落地,加速行业智能升级。  AAAI 每年评审并收录来自全球最顶尖的人工智能领域学术论文,代表全球 AI 技术的趋势和未来。以下是华为云此次入选 7 篇论文介绍:论文一:业界首创自分组个性化联邦学习框架,并已落地华为云 ModelArts论文标题:《非独立同分布下的自分组个性化联邦学习》(Personalized Cross-Silo Federated Learning on Non-IID Data) 论文地址:https://arxiv.org/abs/2007.03797联邦学习机制以其独有的隐私保护机制受到很多拥有高质数据的大客户青睐。但是,各大客户的数据分布非常不一致,对模型的需求也不尽相同,这些在很大程度上制约了传统联邦学习方法的性能和应用范围。华为云自研 FedAMP 联邦学习框架使用独特的自适应分组学习机制(如图一)让拥有相似数据分布的客户进行更多合作,并对每个客户的模型进行个性化定制,从而有效处理普遍存在的数据分布不一致问题,并大幅度提高联邦学习性能。通过与中国科学院上海药物所在 AI 药物联邦学习上的合作,FedAMP 优质的性能获得了蒋华良院士的高度认可,并在中国医药创新与投资大会上吸引了众多医疗制药厂商洽谈合作。                                              图 1 FedAMP 联邦学习框架论文二: 首次提出利用物理信息深度学习的框架将二阶交通理论模型融合到神经网络中,以高效解决交通态的估值的问题:(Physics-Informed Deep Learning for Traffic State Estimation: A Hybrid Paradigm Informed By Second-Order Traffic Models)交通态的估值需要解决如何使用稀疏的传感器(如传感线圈,浮动车)数据将整条道路的交通态(如速度,流量,密度)完整地估计出来。这对算法的数据效率有着非常高的要求,而传统的纯交通模型和纯机器学习的解决方案的效果均不理想。针对这些问题,本论文提出了基于物理信息深度学习框架,通过对激励函数和连接权重的特殊设计,将复杂的二阶交通模型编码到神经网络中去(图二 - a),让神经网络在高阶交通理论的约束下进行训练。具体方法是,使用传统神经网络进行交通态的估值,然后将估值进一步输入到物理信息神经网络中去,计算出该估值的理论余量来量化偏移交通理论的程度。这个理论余量为估值网络的训练提供了重要的正则化信息,大大提高了估值模型的训练效率和估值精度。如图(图二 - b)所示,本方法可以基于很少的观测数据获得更高的估值准确度。本文是华为员工在哥伦比亚大学深造期间完成的工作。(a) (b) 图 2 编码了二阶交通理论模型的物理信息神经网络与交通态估值结果论文三:使用图卷积网络拟合权值共享神经结构搜索的搜索空间,提升神经结构搜索鲁棒性。(Fitting the Search Space of Weight-sharing NAS with Graph Convolutional Networks)论文地址:https://arxiv.org/pdf/2004.08423.pdf权值共享的神经结构搜索通过训练一个包含所有分支的超网络来复用不同操作上的计算量,以子网络采样的方式评估网络结构,大幅度提高了搜索速度。然而,这种子网络采样的方式并不能保证子网络的评估性能准确反映其真实属性。本文认为产生这一现象的原因是使用共享权值构建子网络的过程中产生了权值失配,使得评估性能中混入了一个随机噪声项。本论文提出使用一个图卷积网络来拟合采样子网络的评估性能,从而将这个随机噪声的影响降至最低。实验结果表明,使用本方案后,子网络的拟合性能与真实性能间的排序相关性得到有效提高,最终搜索得到的网络结构性能也更加优异。此外,本方案通过图卷积网络拟合了整个搜索空间中子网络的评估性能,因此可以很方便地选取符合不同硬件约束的网络结构。                                                           图 3 总体框架示意图论文四:首次提出基于多轮阅读理解的框架解决实体链接问题实体链接是将文本中提到的实体链接到知识库中对应实体的任务,目的是解决实体存在的歧义性问题,但由于名称的变化和实体的模糊性,此任务十分具有挑战性,尤其是短文本的实体链接,由于句子长度短,在链接过程中,每个待消歧的实体能利用的上下文信息非常有限。针对这个任务,本论文提出了一个多项选择阅读理解的框架,为句子中每个待消歧的实体分别生成一个问题,并将知识库中的候选实体转换成候选答案集,通过这样一个设计,实体链接转换为了一个阅读理解的问题(图 1 Local 部分)。在选择正确答案的过程中,待消歧实体的上下文信息与知识库中的候选实体之间获得了充分的交互,同时多个候选实体间的区别也得到了潜在地考虑。为了进一步捕捉句子内待消歧实体间的主题一致性来提高链接的准确率,本文采用了多轮阅读理解的方式以序列去处理多个待消歧的实体(图 1 Global 部分),为句子内多个实体的消歧提供了更丰富的信息。另外,为了解决短文本中常见的不可链接问题(即知识库中没有对应的实体),本文额外设计了一个两阶段的验证机制来判断实体是否可被链接。本论文提出的方法在多个中英文数据集上均取得了目前最优的实体链接效果。                                                 图 4 基于多轮阅读理解的实体链接框架论文五:首次提出基于多尺度地质知识迁移的跨区块油气储集层分类算法,利用迁移学习提升跨区块油气储集层分类效果。(Cross-Oilfield Reservoir Classification via Multi-Scale Sensor Knowledge Transfer)油气储集层分类是油气勘探中的一个关键步骤(如图一所示),自动准确的油气储集层分类方法不仅可以降低油气行业专家的工作负担,也可以帮助油气勘探公司做出最优的开采决策。当前已有的油气储集层分类主要关注在单一区块上的分类效果,但是在新区块上应用效果却不尽如人意。因此,如何迁移地层特征从而实现跨区块也能准确分类是一个富有挑战的任务。本论文首次提出了一种多尺度传感器抽取方法从多元测井记录中抽取地质特征的多尺度表示,然后设计了一种 encoder-decoder 模块来充分利用目标和源区块的特有特征,最后通过一个知识迁移模块来学习特征不变性表示,从而将地质知识从源区块迁移到目标区块。真实油气数据上的实验结果表明本论文精心设计的迁移学习方法,可以提升分类模型在新区块上的分类表现,相较于基线算法可以有 %6.1 的效果提升。                                                      图 5 油气勘探工作流论文六:首次提供基于超几何分布的概率模型,用于解决远程监督命名实体识别中的去噪问题。(Denoising Distantly Supervised Named Entity Recognition via a Hypergeometric Probabilistic Model)远程监督是一种常见的机器学习范式,可以降低对标注数据的依赖。但是远程监督往往会引入噪声,从而影响学习效果。对于基于远程监督的命名实体识别(NER)来说,如何有效去噪就是一个十分重要的问题。以往的去噪方法主要基于实例层次的统计结果,往往忽略了不同数据集不同实体类型之间噪声分布的差异性,从而导致这些方法何难适用于高噪声比例的设定。本论文提出了一种基于超几何分布的学习方法,同时考虑噪声分布和实例层次的置信度。具体而言,我们将每个训练 batch 里面噪声样本的数量建模成一个由噪声比例决定的超几何分布,这样一来每个实例都可以通过上一轮训练获得的置信度来决定是噪声还是正确样本。实验结果表明本论文提出的方法可以有效去除远程监督范式引入的噪声,显著提升 NER 的效果。                                                该工作由华为云团队与中科院软件所合作完成。论文七:提出基于对抗学习与相似性增强的域泛化训练新框架,在域泛化行人再识别领域创下新纪录 (Dual Distribution Alignment Network for Generalizable Person Re-Identification)域泛化是一种适用于现实应用场景的机器学习范式,对于行人再识别问题,域泛化是指在大规模多源数据上进行模型训练,期望模型在任意未知的场景中都能够直接适用。现实应用中,大规模训练数据往往难以收集,域泛化方法正是一个使得模型能够低成本快速部署的优秀方案。以往的方法对域间的巨大差异缺乏有效的处理手段,同时忽略了域间样本可能的相似性信息。在数据域层面,本论文提出了新的对抗学习方法,通过减少中心域与外围域的差异,实现了域间差异的有效消除;在样本层面,本论文通过增强来自不同域的相似样本之间的相似性,进一步对齐来自不同域的样本特征分布。在这两个方面的共同作用下,本论文的双重分布对齐网络实现了新的性能突破。实验表明,所提方法在公共测试基准数据集上取得了当前最好的结果。该工作由华为云团队与厦门大学合作完成。                                       图 7 针对域泛化行人再识别问题的双重分布对齐网络示意图为了更好地赋能产业升级,华为云持续深耕 AI 基础研究和落地应用,打造更懂世界的 AI。2020 年以来,华为云 EI 研究团队已在图像分类、弱标注场景下的图像分类、图像检测,多模态数据处理、语音语义等领域取得多项世界第一。未来,华为云将持续把 AI 前沿算法产品化,并开放给各行业的 AI 开发者使用,通过技术创新驱动产业智能升级。
  • [技术干货] 南大周志华团队开源深度森林软件包DF21:训练效率高、超参数少,普通设备就能跑
    周志华等人一直在推动的深度森林,是探索神经网络以外 AI 领域重要的研究方向之一,在表格数据建模任务中已初现锋芒。但是,由于基于决策树的集成模型在具体实现当中,经常会遇到内存不足,硬件效率不如神经网络等问题,是推动其大规模应用的主要瓶颈之一。经过 LAMDA 徐轶轩等人的不懈努力,2021 年 2 月 1 日,新的深度森林软件包 DF21 在 GitHub 与开源中国同时开源了。该软件包尝试解决了这一方向在上述实际应用过程中所遇到的关键问题,未来在各类在数据建模过程中,我们也可以便捷地使用深度森林了。据介绍,该项目目前主要由南大徐轶轩进行开发和维护,在正式发布之前它已经在 LAMDA 内部经过测试和使用。·         项目地址:http://www.lamda.nju.edu.cn/deep-forest/·         Gitee 地址:https://gitee.com/lamda-nju/deep-forest·         Github 地址:https://github.com/LAMDA-NJU/Deep-Forest针对这一开源项目,深度森林参与者之一(现任创新工场南京 AI 研究院执行院长,倍漾资本创始人)冯霁博士告诉机器之心,「深度森林在表格数据建模上,相对传统算法效果显著,但是之前开源的代码主要用于算法验证,以及辅助其他科研工作者进行深度森林算法相关的研究,代码本身对内存和服务器性能要求较高。徐同学开源的这一版更为简单易用,做了很好的封装,同时进行了高性能优化,大幅降低了内存依赖,对于科研和实际落地应用都是很好的工具。」此外,针对深度森林固有的内存消耗、只能用 CPU 训练等问题,徐轶轩告诉机器之心,「这个模型的全名是:DF21: A Practical Deep Forest for Tabular Datasets。内存消耗是 DF21 主要解决的问题——此前的 gcForest 在处理百万级别的表格型数据集上,占用的内存可能会达到上百 GB。但在新版本中,在千万级别的表格型数据集上进行训练,占用的内存约为原来的十分之一左右。」以下为此开源项目的详细介绍。DF21项目介绍本项目中的 DF21 是深度森林的 2021.2.1 实现版本。深度森林是基于决策树的深度学习模型。使用树模型学习技术(如随机森林、GBDT 等)的应用都可以尝试使用 DF21。它具有以下优势:·         拥有比其他基于决策树的集成学习方法更好的性能·         拥有更少的超参数,并且无需大量的调参·         训练效率高,并且能够处理大规模的数据集安装教程深度森林的最新稳定版本已经发布在 PyPi (https://pypi.org/) 上,可以通过以下命令安装:$ pip install deep-forest关于 Nightly-Build 版本以及如何对源代码进行编译请参考官网的安装说明。使用说明深度森林采用了与 Scikit-Learn (https://scikit-learn.org/stable/) 类似的 API 设计。例如,下面的代码片段展示了在安装完成后,如何将深度森林利用在一个简单的数字分类数据集上:from sklearn.datasets import load_digitsfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_scorefrom deepforest import CascadeForestClassifierX, y = load_digits(return_X_y=True)X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)model = CascadeForestClassifier(random_state=1)model.fit(X_train, y_train)y_pred = model.predict(X_test)acc = accuracy_score(y_test, y_pred) * 100print("\nTesting Accuracy: {:.3f} %".format(acc))>>> Testing Accuracy: 98.667 %实验研究者使用 5 种流行的基于决策树的集成学习方法作为 baseline,在所有 baseline 上都保持决策树的数量相同,将其余超参数设置为其默认值。分类精度研究者在所选取的数据集上进行了测试,每个数据集的 SOTA 结果如加粗部分所示,运行时间训练阶段和评估阶段的运行时间。深度森林,机器学习的新方向深度森林的特点在于很少的超参数和自适应复杂度,在不同规模的模型上,深度森林都可以做得很好。近十几年来,深层神经网络的发展在机器学习领域取得了显著进展。通过构建分层或「深层」结构,该模型能够在有监督或无监督的环境下从原始数据中学习良好的表征,这被认为是其成功的关键因素。成功的应用领域包括计算机视觉、语音识别、自然语言处理等。大部分被广泛应用的深度神经网络都使用具有随机梯度下降的反向传播作为训练过程中更新参数的主力。实际上,当模型由可微分量(例如,具有非线性激活函数的加权和)组成时,反向传播似乎仍是当前的最佳选择。其他一些方法如目标传播已经被作为训练神经网络的替代方法被提出,但其效果和普及还处于早期阶段。但一些研究表明,目标传播最多可达到和反向传播一样的效果,并且实际上常常需要额外的反向传播来进行微调。换句话说,老掉牙的反向传播仍然是训练神经网络等可微分学习系统的最好方法。另一方面,探索使用非可微模块来构建多层或深度模型的可能性的需求不仅仅是学界的兴趣所在,其在现实应用上也有很大的潜力。例如,基于树的集成(例如随机森林或梯度提升决策树(GBDT)仍然是多个领域中建模离散或表格数据的主要方式,为此在这类数据上使用树集成来获得分层分布式表征是个很有趣的研究方向。在这样的案例中,由于不能使用链式法则来传播误差,反向传播不再可行。这引发了两个基本的问题:首先,我们是否可以用非可微组件构建多层模型,从而中间层的输出可以被当作分布式表征?其次,如果是这样,如何在没有反向传播的帮助下,联合地训练这种模型?本文的目的就在于提供这种尝试。2017 年,周志华和冯霁等人提出了深度森林框架,这是首次尝试使用树集成来构建多层模型的工作。具体来说,通过引入细粒度的扫描和级联操作(cascading operation),该模型可以构建多层结构,该结构具备适应性模型复杂度,且能够在多种类型的任务上取得有竞争力的性能。研究者们提出的 gcForest 模型利用了集成学习多样性增强的各种策略,然而该方法仅适用于监督学习设置。深度森林的模型框架。同时,该论文仍然不清楚如何利用森林来构建多层模型,并明确地测试其表征学习能力。由于很多之前的研究者认为,多层分布式表征可能是深度神经网络成功的关键,为此我们应该对表征学习进行这样的探索。2018 年,周志华等人又在研究《Multi-Layered Gradient Boosting Decision Trees》中探索了多层的决策树。该工作力求利用两个方面的优势:树集成的出色性能和分层分布式表征的表达能力(主要在神经网络中进行探索)。具体来说,该研究提出了首个多层结构,每层使用梯度提升决策树作为构造块,明确强调其表征学习能力,训练过程可以通过目标传播的变体进行联合优化。在不断努力下,研究人员已经证明了深度森林模型可以在有监督和无监督的环境下进行训练,人们可以使用决策树来获得分层和分布式表征。关于深度森林系列研究才刚刚开始,对于不可微分学习模块的探索,有待更多的科研人员加入。相关资源在相关资源推荐中,作者推荐了深度森林的相关论文与报告:论文:Deep Forest链接:https://arxiv.org/pdf/1702.08835.pdf报告:周志华:An exploration to non-NN deep models based on non-differentiable modules链接:https://aistats.org/aistats2019/0-AISTATS2019-slides-zhi-hua_zhou.pdf在此,我们也附上机器之心先前介绍深度森林的相关内容,以供大家学习。·         9 大数据集、6 大度量指标完胜对手,周志华等提出用深度森林处理多标签学习·         深度森林第三弹:周志华组提出可做表征学习的多层梯度提升决策树·         南京大学提出使用树型集成算法构建自编码器模型:对比 DNN 有更高的准确性和高效性·         从 Boosting 到 Stacking,概览集成学习的方法与性能 
  • [技术干货] 模型压缩6倍,无需重训练:数学家团队提出量化新方法
    神经网络压缩是指在对神经网络性能影响不大的情况下,通过有关方法来减少网络的参数和存储空间,大体上可以分为近似、量化和剪枝三类方法。近日,来自俄罗斯人民友谊大学(RUDN)的数学家团队找到一种方法,可以将训练后的神经网络的大小减小六倍,而无需花费更多的资源来对其进行重新训练。该方法基于找到初始系统及其简化版本中神经连接权重之间的相关性。这项研究的结果发表在《Optical Memory and Neural Networks》期刊上。生命体中人工神经网络和神经元的结构是基于相同的原理。网络中的节点是相互连接的;其中一些接收信号,一些通过激活或抑制链中的下一个元素来发送信号。任何信号(例如图像或声音)的处理都需要很多网络元素及其之间的连接。但是,计算机模型只有有限的模型容量和存储空间。为了处理大量数据,这一领域的研究者必须发明各种方法来降低对模型能力的需求,包括所谓的量化。这有助于减少资源消耗,但需要对系统进行重新训练。RUDN 大学的一些数学家发现后者可以避免。RUDN 大学 Nikolskii 数学研究所助理教授 Iakov Karandashev 博士说:「几年前,我们在 Hopfield 网络中进行了有效且经济高效的权重量化。这是一个关联存储网络,并带有遵循 Hebb 规则形成的元素之间的对称连接。在其运行过程中,网络的活动被降低到某个平衡状态,并且在该状态达到时任务就被认为是已经解决了,该研究中获得的见解后来被应用于当今在图像识别中非常流行的前馈深度学习网络。通常这些网络需要在量化后进行重新训练,而我们找到了避免重新训练的方法。」简化人工神经网络背后的主要思想是所谓的权重量化,即减少每个权重的位数。量化提供信号的均值化:例如,如果将其应用于图像,则代表相同颜色不同阴影的所有像素将变得相同。从数学上讲,这意味着借助某些参数的相似神经连接应该具有相同的权重(或重要性),即表示成同一个数字。RUDN 大学的一个数学家团队进行了计算并创建了公式,该公式可以有效地在量化前后,在神经网络的权重之间建立相关性。基于此,科学家们开发了一种算法,利用该算法,经过训练的神经网络可以对图像进行分类。在该研究的实验中,数学家使用了包含 5 万张照片的数据集,这些照片包可以被分为 1000 组。训练之后,该网络会使用新方法进行量化,并且不进行重新训练。然后,该研究将实验结果与其他量化算法进行了比较。RUDN 大学的 Iakov Karandashev 补充说道:「量化之后,分类准确率仅降低了 1%,但是所需的存储容量减少了 6 倍。实验表明,由于初始权重与量化后权重之间的相关性很强,该网络不需要重新训练。这种方法有助于在完成时间敏感任务或在移动设备上运行任务时节省资源。」感兴趣的读者可以阅读期刊原文。参考原文:https://www.eurekalert.org/pub_releases/2021-02/ru-rum020521.php论文链接:https://link.springer.com/article/10.3103/S1060992X20030042https://arxiv.org/abs/2002.00623本文来源:https://www.jiqizhixin.com/articles/2021-02-19-5
  • [技术干货] NeurIPS 2020 | 百里挑一:如何加速超网训练的收敛和搜索速度
    作者:彭厚文、傅建龙编者按:随着深度学习的发展,神经网络结构的设计逐渐由手工设计转变为算法自动设计。在近期的神经网络设计(Neural Architecture Search, NAS)研究中,现有的方法存在一定缺陷,结果往往不能真正体现出众多子网络正确的排序关系。为解决这一问题,微软亚洲研究院的研究员们提出了基于优先路径蒸馏的网络结构搜索方法。采用这一方式选出的网络在 ImageNet 上的分类准确率达到了80.0%, 超越了现有的 EfficientNet-B0/B1 和 MobileNetV3。该论文已被 NeurIPS 2020 接收。从数亿数量级的神经网络结构中搜索出高性能的网络,是一个充满挑战但又令人向往的研究任务。正如深度学习变革了传统的手工图像特征设计,神经网络结构的设计也正在逐渐由手工设计转变为算法自动设计。面对数以亿级的网络结构,将每一个可能的结构都训练收敛,并选择其中最好的结构是不现实的。在近期的神经网络设计研究中,一个被广泛使用的解决方法是先训练一个包含了所有可能结构的超网(hypernetwork),当测试某一个网络结构的性能时,直接继承超网训练后的参数。这样的做法省去了重新训练的时间,大大加快了网络搜索的速度。然而,虽然预训练超网的方法能够大幅度加速网络搜索,但因为很难对所有的路径(子模型)进行充分训练,所以其给出的结果往往不能真正体现出众多子网络正确的排序关系。为了解决这一问题,微软亚洲研究院的研究员们提出维护一个优先路径组(prioritized path board)。也就是说,在训练超网的某一条路径时,使用元网络(meta-network)从组中选出一条性能较好的子网对其进行网络蒸馏(distillation),从而提升超网的收敛程度与性能。采用这种方式选出的网络在 ImageNet 上的分类准确率达到了80.0%, 超越了现有的 EfficientNet-B0/B1 和 MobileNetV3。该论文已被 NeurIPS 2020 接收。                                                                                            基于优先路径的网络蒸馏现有的超网训练方式多种多样,研究员们采用了简单有效的均匀采样单条路径(single-path uniform sampling strategy)作为基础,即每一次随机从超网中采一条路径进行训练。与之不同的是,在训练单条路径时,会从优先路径组中选出一条路径对其进行蒸馏,从而提升训练效果。图1:方法示意图,左侧为常规的蒸馏方法,即采用一个预训练的模型进行蒸馏,右侧为提出的基于优先路径的蒸馏方法。优先路径组优先路径组是由少量性能优异的路径构成的。超网训练会对优先路径组进行动态的维护,如果采样出来的网络在效果和复杂度上均优于有限路径组中的网络,那么就会将其替换到优先路径组中。不仅如此,维护这样一个优先路径组还使得超网训练结束后可以直接从中选取最优路径,从而节省以往方法在进行网络结构搜索时运用强化学习方法或进化算法(Evolution Algorithm)的时间。在选取优先路径时,可根据公式知识蒸馏知识蒸馏是一种被广泛应用的模型压缩方法,通过让小型网络来模仿预训练大型网络的最后一层输出特征,可以使小型网络达到接近于大型网络的表现。研究员们通过优先路径来进行蒸馏,从而无需提前训练一个大型神经网络。对超网进行更新的具体公式如下:对基于优先路径蒸馏的网络结构搜索算法的测试是在 ImageNet 上进行的。实验结果如图2和表1所示。可以看出,在各种模型大小下,该方法的搜索结果均超越了此前的 EfficientNet-B0/B1 和 MobileNetV3,实现了优越的性能。不仅如此,该方法搜索所需要的时长也是各种网络结构搜索算法中最短的。基于NNI工具接口的源码实现NNI (Neural Network Intelligence) 是当下最热门的开源自动机器学习(AutoML)工具之一,由微软亚洲研究院与微软(亚洲)互联网工程院领衔开发。NNI 对机器学习生命周期的各个环节都做了较为全面的支持,包括特征工程、神经网络架构搜索、超参调优和模型压缩。目前,微软亚洲研究院的研究员们已将此次提出的基于优先路径蒸馏的网络结构搜索算法通过 NNI 平台的 One-Shot 算法接口进行了实现,提供了完整的搜索、重训练和测试代码以及模型。由于 NNI 提供了统一的接口表达网络搜索空间,所以有对比此算法与其他神经网络架构搜索结果需求的用户可选择这份代码实现做参考。代码以及更多技术细节,请参见:https://github.com/microsoft/nni。结语本篇 NeurIPS 2020 论文针对网络结构搜索中超网训练不充分的问题,提出了使用优先路径进行蒸馏的方法,加快了超网训练的收敛和搜索速度,且搜索得到的网络性能超越了大多数现有算法。尽管如此,该方法目前仍处于初步的探索阶段,未来可能还会将模型延迟考虑到优先路径选择中,并对优先路径蒸馏的理论依据进行进一步的探索。更多技术细节,详见论文:Cream of the Crop: Distilling Prioritized Paths For One-Shot Neural Architecture Search论文链接:https://arxiv.org/abs/2010.15821代码链接:https://github.com/microsoft/CreamNNI实现链接:https://github.com/microsoft/nni参考文献[1] Hieu Pham, Melody Guan, Barret Zoph, Quoc Le, and Jeff Dean. Efficient neural architecture search via parameters sharing. In ICML, 2018[2] Mingxing Tan and Quoc V. Le. Efficientnet: Rethinking model scaling for convolutional neural networks. In ICML, 2019[3] Andrew Howard, Mark Sandler, Grace Chu, Liang-Chieh Chen, Bo Chen, Mingxing Tan, Weijun Wang, Yukun Zhu, Ruoming Pang, Vijay Vasudevan, et al. Searching for mobilenetv3. In ICCV, 2019.[4] Zichao Guo, Xiangyu Zhang, Haoyuan Mu, Wen Heng, Zechun Liu, Yichen Wei, and Jian Sun. Single path one-shot neural architecture search with uniform sampling. In ECCV, 2020.[5] Han Cai, Chuang Gan, Tianzhe Wang, Zhekai Zhang, and Song Han. Once for all: Train one network and specialize it for efficient deployment. In ICLR, 2020.[6] Changlin Li, Jiefeng Peng, Liuchun Yuan, Guangrun Wang, Xiaodan Liang, Liang Lin, and Xiaojun Chang. Blockwisely supervised neural architecture search with knowledge distillation. In CVPR, 2020[7] Jiahui Yu, Pengchong Jin, Hanxiao Liu, GabrielBender, Pieter-Jan Kindermans, Mingxing Tan, Thomas Huang, Xiaodan Song,Ruoming Pang, and Quoc Le. Bignas: Scaling up neural architecture search with big single-stage models. In ECCV, 2020.[8] Hieu Pham, Qizhe Xie, Zihang Dai, and Quoc V Le. Meta pseudo labels. arXiv:2003.10580, 2020[9] Hanxiao Liu, Karen Simonyan, and Yiming Yang. DARTS: Differentiable architecture search. In ICLR, 2019转自:微软研究院AI头条:https://www.jiqizhixin.com/columns/Microsoft_AI
  • [技术干货] 深度学习在物理层信号处理中的应用研究
    作者:Murph转自:网络人工智能园地https://zhuanlan.zhihu.com/p/269983075摘要:目前针对5G通信高可靠和超高容量无线通信的需求已经引起了广泛关注与研究。然而,当前的通信系统依然受制于传统的通信理论而限制了网络性能的突破性提升。作为一项广受关注和应用的新兴技术,深度学习已经被证实有潜力处理复杂通信系统中通信问题并提高通信性能。本文主要介绍基于深度学习的物理层应用,并提出一种基于深度Q网络(DQN)的MIMO系统位置信息验证方案,接收者在多变未知的信道环境下利用深度Q网络不断更新信号检测阈值,提高信号检测的准确度,实现对发送者位置信息的确认。关键词:深度学习,信号检测、MIMO1 引言随着移动流量呈现的爆发式增长、高可靠性和低时延的通信场景给当前网络带来了更大的复杂性和计算挑战。据IBM报道,移动数据量到2020年将超过40万亿Gbits,比2009年增加44倍,连接总设备量将达到500亿。为了满足这一需求,需要新的通信理论和创新技术来满足5G系统的需求。近些年深度学习范式的发展使引起了学术界和工业界对基于深度学习的无线通信技术的研究,研究结果证实了深度学习技术可以提高无线通信系统的性能,并有潜力应用在物理层进行干扰调整、信道估计和信号检测、信号处理等方面。2 深度学习范式深度学习的概念源于人工神经网络(ANN)的研究,由Hinton等人于2006年提出。如图1所示,深度学习通过建立具有阶层结构的ANN,往往包含一个输入层、多个隐藏层和一个输出层。每个层之间采用不同的权重与邻层之间进行连接,通过对输入信息进行逐层提取和筛选,可以实现端到端的监督学习和非监督学习 。深度神经网络包括前馈神经网络(FNN)、循环神经网络(RNN)、卷积神经网络(CNN)、对抗生成网络(GAN)和深度信念网络等。其中基于门控的RNN,例如长短期记忆(LSTM)网络对于输入有一定的记忆功能,因此常被用于物理层信号处理和信道状态信息估计等。此外,深度学习也可参与构建强化学习(RL)系统,形成深度强化学习,例如深度Q网络(DQN)[1],可以用于对物理层信号处理策略制定的优化。(1)长短期记忆网络作为RNN的一个变体,长短期记忆网络可以有效解决简单循环神经网络的梯度爆炸或消失问题。RNN通过隐状态来存储历史信息。在简单的RNN中,隐状态的每个时刻都会被重写,因此可以看作是一种短期记忆。而在LSTM网络中,记忆单元保存关键信息的时间要长于短期记忆。LSTM网络引入门机制来控制信息传递的路径。门机制取值在0到1之间,来控制信息通过的比例。LSTM网络主要包括了3个门,其中遗忘门控制上一个时刻的内部状态需要遗忘多少信息;输入门控制当前时刻的候选状态保存多少信息;输出门控制当前时刻的内部状态有多少信息需要输出给外部状态。(2)深度Q网络3 基于深度学习的物理层信号处理应用近年来,学术界和工业界已经出现了一些深度学习应用于物理层的相关工作,研究结果发表深度学习可以提高物理层性能。本小节从物理层信号处理的角度,从信道状态信息(CSI)估计、信号编解码、干扰调整和信号检测四个方面对目前已有的相关工作进行举例和说明。精确的CSI获取对于保证无线通信系统的链路性能至关重要。无线网络根据信道估计状态来选择具体的信号控制方案,例如,当CSI较低时,物理层采用低阶调制方案来对抗恶劣的通信状态从而降低误码率。5G通信系统采用多输入多输出(MIMO)、毫米波和非正交多址接入(NOMA)等技术,使得通信双方拥有更多的传输信道,信道估计问题也变得更加复杂。传统的CSI估计方案需要执行具有高复杂度的矩阵运算,受到了计算资源和时延的限制。利用深度学习来得到CSI信息时空和上下行之间的关联性,已经被证实可以提高CSI估计的效率,并减少所需上下行参考信息的数据量[2]。如图2所示,论文[3]提出将历史CSI数据经过一个二维卷积神经网络提取频率特征矢量,再利用一个一维卷积神经网络来从频率特征矢量中提取状态特征矢量。最后,一个LSTM网络用来进行CSI状态预测。由于二维卷积神经网络最初是用来处理图片数据的,因此,作者将CSI原始数据分割成单元格,每个单元格对应一个图片像素。每个频带的CSI和辅助信息对应的像素组成一个频道。因此,N个频带的数据将被转换成N个频道的像素信息,并输入到学习框架中。(2)基于深度学习的编解码深度学习在信源编码和信道编码方面的应用,也证明了其可以提高编码效率并降低网络的BER。基于深度学习框架的联合编码方案可以通过循环神经网络实现对本文的源编码(结构化),然后将结构化的信息输入双向的LSTM网络,并最终输出最终传输的二进制数据流。在接收端,LSTM用来进行解码处理。论文[4]提出了就有全连接深度神经网络的编码器,用来提高基于置信传播算法的HPDC解码效率。O’Shea等人在[5]中将整个物理层建模为一个包含了调制、信道编码和信号分类功能的自编码器,并利用卷积神经网络来对自编码器进行训练。如图3所示,在多密集层神经网络的学习框架中,输入信号被编码为独热编码(One-hot encoding),无线信道建模为一个噪声层。交叉熵损失函数和随机梯度下降算法用来训练模型,在输出端将最高概率的输出信号作为解码结果。(3)基于深度学习的干扰调整MIMO系统中的干扰调整通过线性预编码技术来调整发射信号,使得接收端的干扰信号可以控制在一个降维子空间里,从而突破MIMO系统干扰问题带来的吞吐量限制。现有工作中已经有研究结果表明,利用深度学习可以提高干扰调整网络中的吞吐量,并取得优化结果。He等人在[6]中提出了采用DQN来获得干扰调整下最优的用户选择策略。在该机制中,中央调度器用来收集所有信道状态和每个用户的缓存状态,并将信道资源分配给每个用户。信道的时变过程用一个有限状态马尔科夫模型来进行建模,系统的状态定义为每个用户的信道状态和缓存状况。中央调度器用来为系统训练处最佳策略,对应的系统动作定义为是否为每个用户分配信道资源来进行数据的传输,来最大化干扰调整网络的吞吐量。DQN也可被用于认知无线电网络中次用户与主用户之间的干扰消除,次用户利用跳频和移动性来抵御干扰者[7]。(4)基于深度学习的信号检测基于DL的检测算法可以显著提高通信系统的性能,尤其适当传统的处理模块需要联合优化或是信道无法用常见的分析模型来表征时。论文[8]提出了一个五层全连接的DNN框架嵌入到OFDM接收器中来进行联合信道估计和信号检测。将接收到的信号以及对应的传输数据和导频作为输入,DNN可以推断出信道信息,而且可以用来预测发送的数据。在MIMO中检测中,基于贝叶斯最优检测器的迭代方法已经被证实有较优的性能和中等的计算复杂度。但在很多更复杂的环境下,未知的信道分布条件将限制这种检测器的效果。利用深度学习算法,可以根据一定的输入数据来恢复模型参数,从而提高检测器的自适应能力。同时,在一些情况下,深度学习算法还可以利用一些语义信息,例如接收器的位置和周围车辆节点的信息,来进行波束预测,从而提高系统性能。4 基于DQN的信号检测机制在基于位置服务的场景中,车辆或者用户需要不断发送信标消息来报告自己的位置,从而提高位置服务和网络性能。但有些车辆或用户会选择发送虚假的位置来获取更多的资源,影响了网络服务的效用。在MIMO系统中,传输信号往往包含了丰富的信息(到达角、接收功率等)可以在接收端利用信号检测技术对信标消息进行位置验证。我们提出基于DQN的信号检测机制,可以用于MIMO系统中发送者的位置信息验证和对信息伪造者的检测。主要的思想为,接收端对接收的信号采用最大似然估计进行假设检验,当接收到的信号通过检测检验时,则认为发送信号来自于发送者上报的位置。否则,认为发送者上报了虚假的位置信息。为了提高在多变的信道状态下的检测性能,在接收端基于DQN来预测采用不同的检测阈值可以取得的收益,并选取最优的检测阈值。系统框架如图4所示。(1)系统模型假设检验中的零假设定为发送节点上报真实位置信息,备择假设为发送节点上报了虚假位置信息。在每个时刻,接收端收到发送端的信号都与发送端与接收端之间的真实位置、信道状态和信号到达角有关。在已知发送信息和发送功率的条件下,接收端可以利用最大似然检测来对接收到的信号进行假设检验。(2)最大似然检测(3)基于DQN的检测阈值优化在本文提出的机制中,将接收端的状态空间分为两个维度,第一个维度是发送端到接收端的信道状态,第二个维度是信道检测的结果。信道状态空间包括量化后的一系列信道指标,并假设信道的状态转移符合马尔科夫过程,即信道在当前时刻的状态都只与上一个时刻的状态有关。结果状态空间包括四种:真实数据检测结果为真、真实数据检测结果为假;虚假数据检测结果为真以及虚假数据检测结果为假。在每次动作过程中,接收端的直接奖励与检测结果有关,当检测结果正确时获得正收益,当检测结果错误时获得负收益。接收端的动作定义为进行信号检测的阈值,动作空间包括一系列量化的检测阈值。在每个片刻,接收端的混合策略为选择不同检测阈值的概率。基于本文第二章介绍的DQN原理,接收端在每次经历后,将自己选择的检验阈值、对应的状态结果和收益存储到经验池,利用CNN对Q函数进行训练预测,不断优化对检测阈值的选择。4 总结与未来发展建议在本文中,我们通过现有工作和案例证明了深度学习在物理层通信中的巨大应用潜力。除了以上介绍的几种应用方向,深度学习在端到端通信系统中也得到了一定的应用。不过,目前还尚未有结论基于深度学习的端到端通信系统性能是否会最终超过传统通信系统性能。另外,基于深度学习的物理层应用需要数据驱动,为了提高深度学习模型的训练效率,可以将需要长时间训练的模块进行融合,并需要考虑在良好的性能和训练效率之间的权衡。深度学习应用的兴起主要归功于各种可用的数据集,但目前用于无线通信相关的数据集仍然较少。数据的安全和隐私问题进一步限制了在真实世界对通信数据的访问功能。但为了基于深度学习的通信应用,需要一些开放性电信数据集的发布和共享。最后,5G复杂多变的通信环境,包括MIMO、毫米波通信以及NOMA技术等,也为深度学习的应用带来了巨大的潜力。参考文献[1] Mnih, Volodymyr, et al. "Human-level control through deep reinforcement learning." Nature 518.7540 (2015): 529. https://www.nature.com/articles/nature14236.[2] A. Mousavi and R. G. Baraniuk, “Learning to Invert: Signal Recovery via Deep Convolutional Networks,” Proc. IEEE Int’l. Conf. Acoustics Speech Signal Process. (ICASSP’17), New Orleans, LA, Mar. 2017, pp. 2272–76.[3] C. Luo, J. Ji, Q. Wang, X. Chen and P. Li, "Channel State Information Prediction for 5G Wireless Communications: A Deep Learning Approach," in IEEE Transactions on Network Science and Engineering, early access.[4] E. Nachmani, Y. Be’ery, and D. Burshtein, “Learning to decode linear codes using deep learning,” in Proc. Communication, Control, and Computing (Allerton), 2016, pp. 341–346.[5] T. O’Shea and J. Hoydis, "An Introduction to Deep Learning for the Physical Layer," in IEEE Transactions on Cognitive Communications and Networking, vol. 3, no. 4, pp. 563-575, Dec. 2017.[6] Y. He, C. Liang, F. R. Yu, N. Zhao, and H. Yin, “Optimization of cache-enabled opportunistic interference alignment wireless networks: A big data deep reinforcement learning approach,” in Proc. IEEE Int. Conf. Commun. (ICC), May 2017, pp. 1–6.[7] G. Han, L. Xiao, and H. V. Poor, “Two-dimensional anti-jamming communication based on deep reinforcement learning,” in Proc. IEEE Int. Conf. Acoust. Speech Signal Process. (ICASSP), New Orleans, USA, Mar. 2017, pp. 2087–2091.[8] H. Ye, G. Y. Li, and B.-H. F. Juang, “Power of Deep Learning for Channel Estimation and Signal Detection in OFDM Systems,” IEEE Wireless Commun. Lett., vol. 7, no. 1, Feb. 2018, pp. 114–17.[9] Bai, Lin, Jinho Choi, and Quan Yu. “Signal Processing at Receivers: Detection Theory.” Low Complexity MIMO Receivers, Springer, Cham, 2014. pp.5-28.
  • [技术干货] 加法网络 | NeurIPS 2020 Spotlight
    华为诺亚方舟实验室联合悉尼大学发布论文《Kernel Based Progressive Distillation for Adder Neural Networks》,提出了针对加法神经网络的蒸馏技术,ResNet-34和ResNet-50网络在ImageNet上分别达到了68.8%和76.8%的准确率,效果与相同结构的CNN相比持平或超越,该论文已被NeurIPS2020接收。论文链接:https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2009.13044.pdf代码地址:https://link.zhihu.com/?target=https%3A//github.com/huawei-noah/AdderNet研究背景深度卷积神经网络(CNN)被广泛应用于诸多计算机视觉领域的实际任务中(例如,图片分类、物体检测、语义分割等)。然而,为了保证性能,神经网络通常是过参数化的,因此会存在大量的冗余参数。近期提出的加法神经网络(ANN),通过将卷积操作中的距离度量函数替换为L1距离,极大减少了神经网络中的乘法操作,从而减少了网络运行所需的功耗和芯片面积。然而,ANN在准确率方面和同结构的CNN相比仍然有一定差距,在某种程度上限制了ANN在实际应用中对CNN的替换。为了提高ANN的性能,我们提出了一种基于核的渐进蒸馏方法。具体的,我们发现一个训练好的ANN网络其参数通常服从拉普拉斯分布,而一个训练好的CNN网络其参数通常服从高斯分布。因此,我们对网络中间层的特征图输出进行核变换后,使用距离度量函数估计教师网络(CNN)和学生网络(ANN)之间的损失。对于最后一层,我们使用传统的KL散度估计两个网络之间的损失。同时,在训练中我们使用随机初始化的教师网络,与学生网络同时训练,以减少两个网络之间参数分布的差异性。实验表明,我们的算法得到的ANN能够在CIFAR-10,CIFAR-100,ImageNet等标准图片分类数据集上达到或超越同结构CNN的准确率。对网络中间层特征图输出进行核变换ANN本身精度不好的原因是原始ANN在反向传播时,使用的是近似的梯度,导致目标函数无法向着最小的方向移动。传统KD方法应用到ANN上效果不佳的原因,在于ANN的权重分布是拉普拉斯分布,而CNN的权重分布为高斯分布,因此分布不同导致无法直接对中间层的feature map使用KD方法。本方法首先将核变换作用于教师网络和学生网络的中间层输出,并使用1x1卷积对新的输出进行配准。之后,结合最后一层的蒸馏损失与分类损失,得到整体的损失函数。除了上述中间层的loss之外,我们还希望ANN学习CNN最后一层的输出,以及ANN关于目标任务的loss(这里以分类任务举例)。对于ANN的最后一层,在分类任务上输出的是每一个类别的概率分布,因此希望它同时学习CNN的概率分布,以及ground-truth的概率分布(ground-truth为one-hot vector),因此构造的loss function为:渐进式蒸馏算法传统的蒸馏方法使用固定的,训练好的教师网络来教学生网络。这样做会带来问题。由于教师网络和学生网络处于不同的训练阶段,因此他们的分布会因为训练阶段的不同而不同,所以会导致KD方法效果不好。因此我们采用渐进式蒸馏方法,让教师网络和学生网络共同学习,有助于KD方法得到好的结果。即目标函数变为:其中b为当前的step。实验结果我们在CIFAR-10、CIFAR-100、ImageNet三个数据集上分别进行了实验。下表是在CIFAR-10和CIFAR-100数据集上的结果,我们使用了VGG-small、ResNet-20与ResNet-32作为教师网络,同结构的ANN作为学生网络。可以看到,使用了本方法得到的ANN在分类准确率上相比原始的ANN有大幅度的提升,并且能够超过同结构的CNN模型。表格中#Mul表示网络中乘法操作的次数。#Add表示加法操作次数,#XNOR表示同或操作的次数。下表展示了在ImageNet数据集上的结果,我们使用ResNet-18与ResNet-50网络作为教师网络,同结构的ANN作为学生网络。结果显示我们的方法得到的ANN在分类准确率上相比同结构CNN基本相同或能够超越。最后,我们展示了ResNet-20,ANN-20与通过本方法得到的PKKD ANN-20模型在CIFAR-10与CIFAR-100数据集上的训练精度曲线与测试精度曲线。图中的实线表示训练精度,虚线表示测试精度。在两个数据集中,CNN的训练和测试准确率都超过了原始的ANN模型。这是因为在训练原始ANN时,反向传播的梯度使用的是L2 norm来近似,因此梯度方向是不准确的。当使用本方法后,CNN的训练过程可以指导ANN的训练,因此可以得到更好的结果。同时,知识蒸馏方法能够帮助学生网络防止过拟合,这也是我们的方法有最低的训练精度和最高的测试精度的原因。作者:王云鹤链接:https://zhuanlan.zhihu.com/p/322108981
  • [技术干货] 不惧噪音环境、提升样本效率,最新强化学习成果入选NeurIPS 2020
    如何提升强化学习算法的样本效率,提升算法对噪音环境的鲁棒性?华为云 EI 创新孵化 lab 和中科院计算所给出的答案是:Trust the model when it is confident .人工智能顶级会议 NeurIPS 2020 将于 12 月 6 日 - 12 日线上召开,今年会议论文投稿数量创历史新高,相比去年增长了 38%,而接收率却为史上最低,仅为 20.1%。华为云最新强化学习成果「Trust the Model When It Is Confident: Masked Model-based Actor-Critic」成功入选。论文地址:https://papers.nips.cc/paper/2020/file/77133be2e96a577bd4794928976d2ae2-Paper.pdf这篇论文首次探索了有模型强化学习该「何时使用模型」,并基于不确定性预估提出全新算法 M2AC(Masked Model-based Actor-Critic),在样本效率和噪音环境下的表现均取得巨大突破。在连续控制任务中,M2AC 仅用 model-free 方法 SAC 1/5 的交互样本就能达到同等效果。有噪音环境下,在之前的 model-based 算法几乎失效的情况下,M2AC 仍表现鲁棒,并实现多达数倍的性能提升。背景介绍众所周知,强化学习(RL)是一门专注于「试错」的学问,它凭借与环境不断交互来学习如何做出使自身收益最大化的决策。「试错」显然是 RL 的最大优势——如果一个决策任务只有不断尝试才能学会,那应该让 RL 来试试。但与此同时,「试错」这一天然属性也让许多人对 RL 望而却步:如果试错成本很高,当前的 RL 算法真的能很快学到好的策略吗?为此,更高的样本效率成为当前学术界与工业界对强化学习算法优化的核心目标,也就是希望 RL 算法能够「聪明地试错」,通过尽量少的环境交互学到尽量好的策略。人们普遍认为有模型的强化学习 (model-based RL, MBRL) 比无模型的强化学习 (model-free RL) 具有更高的样本效率。MBRL 在采集到交互数据后,首先使用「环境模型」(model) 来模拟真实环境的动态(学习状态转移和奖励函数),这样智能体就可以通过与 model 互动来更新策略 (policy),从而避免过多的环境交互。但在实际应用中,情况恰恰相反。由于 model 拟合环境存在误差,在复杂和嘈杂的环境中,现有的 MBRL 算法可能反而会导致策略学得很差。这种现象在以下两个常见情形中极为常见。第一种情况,由于误差会随着 model 与 policy 的每一步交互而逐渐累积,因此步数越多,policy 越容易学偏。从图 1 左侧可以看出,MBPO 算法(由 UC Berkeley 在 2019 年提出,是当前 MBRL 的 SOTA 算法,原文中显示其在连续控制任务中性能远超 STEVE 等 MBRL 算法和 SAC、PPO 等 model-free 方法)在交互步数大于 1 步时,性能迅速降低。第二种情况,即环境有噪音的情况。当环境有噪音时,model 更难学准确,这给 MBRL 算法带来很大挑战。如图 1 右侧所示,MBPO 在环境有噪音情况下表现并不鲁棒,在 noisy-2 环境中的分数甚至不到确定性环境中的一半。华为云等提出新方法基于此,华为云 EI 创新孵化 lab 联合中科院计算所提出 M2AC (Masked Model-based Actor-Critic) 算法,利用不确定性预估的技术突破了这一难题。从图 1 也可以看出,M2AC 在上述两种场景中均表现鲁棒:在多步交互时,交互步数越多,算法性能越好;在有噪声环境中,即便在噪声最大的 noisy-2 中,其性能也超过了确定性环境中 MBPO 的性能。下面我们来看一下这一突破是怎么做到的。作者提出,解决这一问题的关键是回答「模型什么时候值得信任」这一问题,如图 2 所示。也就是说,如果智能体只在模型误差小的时候信任 model 生成的虚拟数据来进行策略更新,那么就可以避免因模型误差过大导致策略学偏。经过一系列理论分析,作者发现即使 model 在拟合环境时存在误差,也可以通过更改模型使用的方式来达到样本效率的提升。他们从理论上证明,如果 model 生成数据的使用范围仅限于模型误差较小的状态 - 动作对,则策略在 model rollout 与 real rollout 之间的性能差距可以缩小。由此启发,M2AC 算法的核心仅用其论文标题中的一句话就可以总结:「Trust the model when it is confident.」只有在模型对其预测有信心时,才使用 MBRL 技术进行策略更新。具体来说,M2AC 基于模型的不确定性实现了一种 mask 机制来决定是否应该使用其预测,如图 4 中 model-based 生成的数据中仅有绿色样本用于策略更新。理论证明表示,它最大化了真实价值函数的一种 model-based 的下界。因此,这一新算法倾向于给出稳健的策略改进,也就能避免由于多步交互或环境噪音导致算法失效。实验效果在连续控制 MuJoCo 基准实验中,与 model-free 算法相比,M2AC 仅用 SOTA 算法 SAC 1/5 的交互样本就能达到同等效果。在 4 个 MuJoCo 基准环境中,相比 Google 提出的 STEVE 算法分别提升 75%、2500%、30%、130%。算法表现非常亮眼。而在有噪音环境中,M2AC 优势更为显著,实验结果参见图 6 。相比 MBPO,M2AC 在 4 种噪音级别下分别提升 38%、360%、230%、340%。这体现出 M2AC 在各种困难场景中都能够提供鲁棒的策略提升。M2AC 算法为强化学习的落地打下了一剂定心丸:即便环境交互成本高或环境复杂有噪音,算法依然能够稳健地学到好的策略。这是现实世界的智能决策系统必不可少的能力。本文来源:https://www.jiqizhixin.com/articles/2020-12-04-5
  • [技术干货] 最新综述:多标签学习的新趋势
    作者 皓波本文来源:https://www.jiqizhixin.com/articles/2020-12-14-2这里给大家带来一篇武大刘威威老师、南理工沈肖波老师和 UTS Ivor W. Tsang 老师合作的 2020 年多标签最新的 Survey,我也有幸参与其中,负责了一部分工作。论文链接:https://arxiv.org/abs/2011.11197上半年在知乎上看到有朋友咨询多标签学习是否有新的 Survey,我搜索了一下,发现现有的多标签 Survey 基本在 2014 年之前,主要有以下几篇:1. Tsoumakas 的《Multi-label classification: An overview》(2007)2. 周志华老师的《A review on multi-label learning algorithms》(2013)3. 一篇比较小众的,Gibaja 《Multi‐label learning: a review of the state of the art and ongoing research》2014时过境迁,从 2012 年起,AI 领域已经发生了翻天覆地的变化,Deep Learning 已经占据绝对的主导地位,我们面对的问题越来越复杂,CV 和 NLP 朝着各自的方向前行。模型越来越强,我们面对的任务的也越来越复杂,其中,我们越来越多地需要考虑高度结构化的输出空间。多标签学习,作为一个传统的机器学习任务,近年来也拥抱变化,有了新的研究趋势。因此,我们整理了近年多标签学习在各大会议的工作,希望能够为研究者们提供更具前瞻性的思考。关于单标签学习和多标签学习的区别,这里简单给个例子:传统的图片单标签分类考虑识别一张图片里的一个物体,例如 ImageNet、CIFAR10 等都是如此,但其实图片里往往不会只有一个物体,大家随手往自己的桌面拍一张照片,就会有多个物体,比如手机、电脑、笔、书籍等等。在这样的情况下,单标签学习的方法并不适用,因为输出的标签可能是结构化的、具有相关性的(比如键盘和鼠标经常同时出现),所以我们需要探索更强的多标签学习算法来提升学习性能。本文的主要内容有六大部分:Extreme Multi-Label ClassificationMulti-Label with Limited SupervisionDeep Multi-Label ClassificationOnline Multi-Label ClassificationStatistical Multi-Label LearningNew Applications接下去我们对这些部分进行简单的介绍,更多细节大家也可以进一步阅读 Survey 原文。另外,由于现在的论文迭代很快,我们无法完全 Cover 到每篇工作。我们的主旨是尽量保证收集的工作来自近年已发表和录用的、高质量的期刊或会议,保证对当前工作的整体趋势进行把握。如果读者有任何想法和意见的话,也欢迎私信进行交流。1. Extreme Multi-Label Learning (XML)在文本分类,推荐系统,Wikipedia,Amazon 关键词匹配 [1] 等等应用中,我们通常需要从非常巨大的标签空间中召回标签。比如,很多人会 po 自己的自拍到 FB、Ins 上,我们可能希望由此训练一个分类器,自动识别谁出现在了某张图片中。对 XML 来说,首要的问题就是标签空间、特征空间都可能非常巨大,例如 Manik Varma 大佬的主页中给出的一些数据集 [2],标签空间的维度甚至远高于特征维度。其次,由于如此巨大的标签空间,可能存在较多的 Missing Label(下文会进一步阐述)。最后,标签存在长尾分布 [3],绝大部分标签仅仅有少量样本关联。现有的 XML 方法大致可以分为三类,分别为:Embedding Methods、Tree-Based Methods、One-vs-All Methods。近年来,也有很多文献使用了深度学习技术解决 XML 问题,不过我们将会在 Section 4 再进行阐述。XML 的研究热潮大概从 2014 年开始,Varma 大佬搭建了 XML 的 Repository 后,已经有越来越多的研究者开始关注,多年来 XML 相关的文章理论和实验结果并重,值得更多的关注。2. Multi-Label with Limited Supervision相比于传统学习问题,对多标签数据的标注十分困难,更大的标签空间带来的是更高的标注成本。随着我们面对的问题越来越复杂,样本维度、数据量、标签维度都会影响标注的成本。因此,近年多标签的另一个趋势是开始关注如何在有限的监督下构建更好的学习模型。本文将这些相关的领域主要分为三类:MLC with Missing Labels(MLML):多标签问题中,标签很可能是缺失的。例如,对 XML 问题来说,标注者根本不可能遍历所有的标签,因此标注者通常只会给出一个子集,而不是给出所有的监督信息。文献中解决该问题的技术主要有基于图的方法、基于标签空间(或 Latent 标签空间)Low-Rank 的方法、基于概率图模型的方法。Semi-Supervised MLC:MLML 考虑的是标签维度的难度,但是我们知道从深度学习需要更多的数据,在样本量上,多标签学习有着和传统 AI 相同的困难。半监督 MLC 的研究开展较早,主要技术和 MLML 也相对接近,在这一节,我们首先简要回顾了近年半监督 MLC 的一些最新工作。但是,近年来,半监督 MLC 开始有了新的挑战,不少文章开始结合半监督 MLC 和 MLML 问题。毕竟对于多标签数据量来说,即使标注少量的 Full Supervised 数据,也是不可接受的。因此,许多文章开始研究一类弱监督多标签问题 [4](Weakly-Supervised MLC,狭义),也就是数据集中可能混杂 Full labeled/missing labels/unlabeled data。我们也在文中重点介绍了现有的一些 WS-MLC 的工作。Partial Multi-Label Learning (PML):PML 是近年来多标签最新的方向,它考虑的是一类 “难以标注的问题”。比如,在我们标注下方的图片(Zhang et. al. 2020[5])的时候,诸如 Tree、Lavender 这些标签相对是比较简单的。但是有些标签到底有没有,是比较难以确定的,对于某些标注者,可能出现:“这张图片看起来是在法国拍的,好像也可能是意大利?”。这种情况称之为 Ambiguous。究其原因,一是有些物体确实难以辨识,第二可能是标注者不够专业(这种多标签的情况,标注者不太熟悉一些事物也很正常)。但是,很多情况下,标注者是大概能够猜到正确标签的范围,比如这张风景图所在国家,很可能就是 France 或者 Italy 中的一个。我们在不确定的情况下,可以选择不标注、或者随机标注。但是不标注意味着我们丢失了所有信息,随机标注意味着可能带来噪声,对学习的影响更大。所以 PML 选择的是让标注者提供所有可能的标签,当然加了一个较强的假设:所有的标签都应该被包含在候选标签集中。在 Survey 中,我们将现有的 PML 方法划分为 Two-Stage Disambiguation 和 End-to-End 方法(我们 IJCAI 2019 的论文 DRAMA[6] 中,就使用了前者)。关于 PML 的更多探讨,我在之前的知乎回答里面也已经叙述过,大家也可以在我们的 Survey 中了解更多。Other Settings:前文说过,多标签学习的标签空间纷繁复杂,因此很多研究者提出了各种各样不同的学习问题,我们也简单摘要了一些较为前沿的方向:MLC with Noisy Labels (Noisy-MLC).MLC with Unseen Labels. (Streaming Labels/Zero-Shot/Few-Shot Labels)Multi-Label Active Learning (MLAL).MLC with Multiple Instances (MIML).3. Deep Learning for MLC相信这一部分是大家比较关心的内容,随着深度学习在越来越多的任务上展现了自己的统治力,多标签学习当然也不能放过这块香饽饽。不过,总体来说,多标签深度学习的模型还没有十分统一的框架,当前对 Deep MLC 的探索主要分为以下一些类别:Deep Embedding Methods:早期的 Embedding 方法通常使用线性投影,将 PCA、Compressed Sensing 等方法引入多标签学习问题。一个很自然的问题是,线性投影真的能够很好地挖掘标签之间的相关关系吗?同时,在 SLEEC[3]的工作中也发现某些数据集并不符合 Low-Rank 假设。因此,在 2017 年的工作 C2AE [7] 中,Yeh 等将 Auto-Encoder 引入了多标签学习中。由于其简单易懂的架构,很快有许多工作 Follow 了该方法,如 DBPC [8] 等。Deep Learning for Challenging MLC:深度神经网络强大的拟合能力使我们能够有效地处理更多更困难的工作。因此我们发现近年的趋势是在 CV、NLP 和 ML 几大 Community,基本都会有不同的关注点,引入 DNN 解决 MLC 的问题,并根据各自的问题发展出自己的一条线。1. XML 的应用:对这个方面的关注主要来自与数据挖掘和 NLP 领域,其中比较值得一提的是 Attention(如 AttentionXML[9])机制、Transformer-Based Models(如 X-Transformer[10])成为了最前沿的工作。2. 弱监督 MLC 的应用:这一部分和我们弱监督学习的部分相对交叉,特别的,CVPR 2019 的工作 [11] 探索了多种策略,在 Missing Labels 下训练卷积神经网络。3. DL for MLC with unseen labels:这一领域的发展令人兴奋,今年 ICML 的工作 DSLL[12]探索了流标签学习,也有许多工作 [13] 将 Zero-Shot Learning 的架构引入 MLC。Advanced Deep Learning for MLC:有几个方向的工作同样值得一提。首先是 CNN-RNN[14]架构的工作,近年有一个趋势是探索 Orderfree 的解码器 [15]。除此之外,爆火的图神经网络 GNN 同样被引入 MLC,ML-GCN[16] 也是备受关注。特别的,SSGRL[17]是我比较喜欢的一篇工作,结合了 Attention 机制和 GNN,motivation 比较强,效果也很不错。总结一下,现在的 Deep MLC 呈现不同领域关注点和解决的问题不同的趋势:从架构上看,基于 Embedding、CNN-RNN、CNN-GNN 的三种架构受到较多的关注。从任务上,在 XML、弱监督、零样本的问题上,DNN 大展拳脚。从技术上,Attention、Transformer、GNN 在 MLC 上的应用可能会越来越多。4. Online Multi-Label Learning面对当前这么复杂而众多的学习问题,传统的全数据学习的方式已经很难满足我们现实应用的需求了。因此,我们认为 Online Multi-Label Learning 可能是一个十分重要,也更艰巨的问题。当前 Off-line 的 MLC 模型一般假设所有数据都能够提前获得,然而在很多应用中,或者对大规模的数据,很难直接进行全量数据的使用。一个朴素的想法自然是使用 Online 模型,也就是训练数据序列地到达,并且仅出现一次。然而,面对这样的数据,如何有效地挖掘多标签相关性呢?本篇 Survey 介绍了一些已有的在线多标签学习的方法,如 OUC[18]、CS-DPP[19]等。在弱监督学习的部分,我们也回顾了近年一些在线弱监督多标签的文章[20](在线弱监督学习一直是一个很困难的问题)。Online MLC 的工作不多,但是已经受到了越来越多的关注,想要设计高效的学习算法并不简单,希望未来能够有更多研究者对这个问题进行探索。5. Statistical Multi-Label Learning近年,尽管深度学习更强势,但传统的机器学习理论也在稳步发展,然而,多标签学习的许多统计性质并没有得到很好的理解。近年 NIPS、ICML 的许多文章都有探索多标签的相关性质。一些值得一提的工作例如,缺失标签下的低秩分类器的泛化误差分析 [21]、多标签代理损失的相合性质[22]、稀疏多标签学习的 Oracle 性质[23] 等等。相信在未来,会有更多工作探索多标签学习的理论性质。6. New Applications讲了这么多方法论,但追溯其本源,这么多纷繁复杂的问题依然是由任务驱动的,正是有许许多多现实世界的应用,要求我们设计不同的模型来解决尺度更大、监督更弱、效果更强、速度更快、理论性质更强的 MLC 模型。因此,在文章的最后一部分,我们介绍了近年多标签领域一些最新的应用,如 Video Annotation、Green Computing and 5G Applications、User Profiling 等。在 CV 方向,一个趋势是大家开始探索多标签领域在视频中的应用 [24]。在 DM 领域,用户画像受到更多关注,在我们今年的工作 CMLP[25] 中(下图),就探索了对刷单用户进行多种刷单行为的分析。不过,在 NLP 领域,似乎大家还是主要以文本分类为主,XML-Repo[2]中的应用还有较多探索的空间,所以我们没有花额外的笔墨。总结写这篇文章的过程中,我跟着几位老师阅读了很多文章,各个领域和方向的工作都整理了不少,尽管无法 cover 到所有工作,但是我们尽可能地把握了一些较为重要的探索的方向,也在文中较为谨慎地给出了一些我们的思考和建议,希望能够给想要了解多标签学习领域的研究者一点引领和思考。参考Chang W C, Yu H F, Zhong K, et al. Taming Pretrained Transformers for Extreme Multi-label Text Classification[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 3163-3171.http://manikvarma.org/downloads/XC/XMLRepository.htmlBhatia K, Jain H, Kar P, et al. Sparse local embeddings for extreme multi-label classification[C]//Advances in neural information processing systems. 2015: 730-738.Chu H M, Yeh C K, Frank Wang Y C. Deep generative models for weakly-supervised multi-label classification[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 400-415.Zhang M L, Fang J P. Partial multi-label learning via credible label elicitation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020.Wang H, Liu W, Zhao Y, et al. Discriminative and Correlative Partial Multi-Label Learning[C]//IJCAI. 2019: 3691-3697.C. Yeh, W. Wu, W. Ko, and Y. F. Wang, “Learning deep latent space for multi-label classification,” in AAAI, 2017, pp. 2838–2844.X. Shen, W. Liu, Y. Luo, Y. Ong, and I. W. Tsang, “Deep discrete prototype multilabel learning,” in IJCAI, 2018, pp. 2675–2681.You R, Zhang Z, Wang Z, et al. Attentionxml: Label tree-based attention-aware deep model for high-performance extreme multi-label text classification[C]//Advances in Neural Information Processing Systems. 2019: 5820-5830.Chang W C, Yu H F, Zhong K, et al. Taming Pretrained Transformers for Extreme Multi-label Text Classification[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 3163-3171.Durand T, Mehrasa N, Mori G. Learning a deep convnet for multi-label classification with partial labels[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 647-657.Z. Wang, L. Liu, and D. Tao, “Deep streaming label learning,” in ICML, 2020.C. Lee, W. Fang, C. Yeh, and Y. F. Wang, “Multi-label zero-shot learning with structured knowledge graphs,” in CVPR, 2018, pp. 1576–1585.Wang J, Yang Y, Mao J, et al. Cnn-rnn: A unified framework for multi-label image classification[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 2285-2294.Yazici V O, Gonzalez-Garcia A, Ramisa A, et al. Orderless Recurrent Models for Multi-label Classification[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 13440-13449.Chen Z M, Wei X S, Wang P, et al. Multi-label image recognition with graph convolutional networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 5177-5186.T. Chen, M. Xu, X. Hui, H. Wu, and L. Lin, “Learning semanticspecific graph representation for multi-label image recognition,” in ICCV, 2019, pp. 522–531.M. J. Er, R. Venkatesan, and N. Wang, “An online universal classifier for binary, multi-class and multi-label classification,” in IEEE International Conference on Systems, Man, and Cybernetics, 2016, pp. 3701–3706.H. Chu, K. Huang, and H. Lin, “Dynamic principal projection for cost-sensitive online multi-label classification,” Machine Learning, vol. 108, no. 8-9, pp. 1193–1230, 2019.S. Boulbazine, G. Cabanes, B. Matei, and Y. Bennani, “Online semi-supervised growing neural gas for multi-label data classification,” in IJCNN, 2018, pp. 1–8.H. Yu, P. Jain, P. Kar, and I. S. Dhillon, “Large-scale multilabel learning with missing labels,” in Proceedings of the 31th International Conference on Machine Learning, ICML 2014, Beijing, China, 21-26 June 2014, 2014, pp. 593–601.W. Gao and Z. Zhou, “On the consistency of multi-label learning,” Artificial Intelligence, vol. 199-200, pp. 22–44, 2013.W. Liu and X. Shen, “Sparse extreme multi-label learning with oracle property,” in ICML, 2019, pp. 4032–4041.X. Zhang, H. Shi, C. Li, and P. Li, “Multi-instance multi-label action recognition and localization based on spatio-temporal pretrimming for untrimmed videos,” in AAAI. AAAI Press, 2020, pp. 12 886–12 893.H. Wang, Z. Li, J. Huang, P. Hui, W. Liu, T. Hu, and G. Chen, “Collaboration based multi-label propagation for fraud detection,” in IJCAI, 2020.
  • [技术干货] MindSpore首发:诺亚NeurIPS 2020多篇轻量化技术端侧模型
    本文来源:https://mp.weixin.qq.com/s/H1zg3ezZDdXQ-IQ7ki0Mtw国际人工智能顶级会议NeurIPS 2020(Conference on Neural Information Processing Systems, 神经信息处理系统大会)在12月6日至12日举行。本届会议无论是论文投稿数量还是接受率都创下了历史记录。随着卷积神经网络的广泛使用和在视觉类应用的巨大成功,如何克服计算和存储资源限制将卷积神经网络部署到智能手机和穿戴设备等端侧设备的模型轻量化技术越发重要。本文将对华为诺亚方舟实验室入选NeurIPS 2020的模型轻量化技术工作进行介绍,涵盖了剪枝、结构蒸馏以及量化等几个方向,并且放出对应MindSpore首发端侧模型获取链接↓https://www.mindspore.cn/resources/hubSCOP:Scientific Control for Reliable Neural Network Pruning  现有的剪枝方法基于各种假设条件近似估计神经网络节点对整体网络的重要性然后进行节点剪枝,往往存在结果不可靠而导致网络精度下降。   华为诺亚方舟实验室和北京大学联合提出了一种科学控制机制最小化剪枝节点对网络输出的影响。采用这种剪枝方法,能够实现ImageNet数据集上仅损失ResNet101网络0.01%的top-1准确率,模型参数量和计算量分别减少57.8%和60.2%,显著优于SOTA方法[1]。 原理对于剪枝方法,最重要的过程是评估卷积神经网络节点的重要性,在尽量不影响预训练网络性能的前提下删除不重要的网络节点。一种典型的节点重要性评估假设是权重Norms越小节点重要性低进而被剪掉[2][3]。考虑到输入数据,有的剪枝方法评估网络节点和最终损失函数之间的关系并用泰勒展开进行近似,保留与最终损失函数关系更密切的节点[4]。但是这些方法都会不可避免的引入大量潜在影响因子,最终影响剪枝过程,例如不同信道之间的相互依赖可能误导基于权重Norms的方法,因为一些不含重要信息的节点权重Norms很大,基于输入数据的方法的权重重要性对数据很敏感,剪枝结果不稳定。结果将本文提出的SCOP在公开数据集ImageNet上进行实验,对ResNet系列网络预训练模型进行剪枝验证了SCOP的有效性,实验结果如下表1.1。相比于现有SOTA剪枝方法GAL[5]和PFP[6],SCOP方法得到的剪枝后网络无论是网络精度还是模型大小即参数量减少比例都表现出很大的优势。使用SCOP算法在Oxford-IIIT Pet数据集对ResNet50网络剪枝的网络resnet-0.65x_v1.0_oxford_pets已基于MindSpore首发,可分别从MindSpore modelzoo 和Hub获取训练代码和模型。论文链接:https://proceedings.neurips.cc/paper/2020/file/7bcdf75ad237b8e02e301f4091fb6bc8-Paper.pdf代码链接:https://gitee.com/mindspore/mindspore/tree/master/model_zoo/research/cv/resnet50_adv_pruning模型链接:https://www.mindspore.cn/resources/hub/details?noah-cvlab/gpu/1.0/resnet-0.65x_v1.0_oxford_pets ResNet通过引入残差连接,使得我们可以有效地训练几十到上百层的网络结构。但与此同时,也不可避免的引入了额外的计算消耗。比如当进行在线推理时,ResNet50中的残差占据了特征图整体内存消耗的大约40%,因为之前网络层的特征结果无法被释放,直到后续的残差计算结束。华为诺亚方舟实验室提出了一种新的CNN模型训练方法—基于残差蒸馏的联合训练框架Joint-training framework based on Residual Distillation(JointRD),希望在训练的时候引入残差连接保证训练效果,但在部署时去掉残差提升推理速度。通过在ImageNet/CIFAR10/CIFAR100等数据上的实验表明,利用JointRD训练得到的没有残差连接的plainCNN能够达到和ResNet相同精度的同时,性能提升1.4倍,内存消耗降低1.25倍。预训练plain-CNN在MIT 67和Caltech 101的fine-tuning结果也证明了特征的迁移泛化性。联合训练框架介绍 主要动机CNN模型当中引入残差连接的主要动机是避免梯度消失及降低优化难度,在最近的多篇研究中已经证明了残差连接在训练过程中对梯度的影响。因此我们认为没有残差的plain-CNN模型表现差是因为优化方法差而非模型本身的表达能力的限制。通过在mobile NPU上对比去掉残差的plain-CNN 50和保留残差的ResNet50内存消耗和时延,我们发现去掉残差后内存消耗降低19%,时延降低30%。基于以上结论,我们提出了一种可能的解决方案,利用ResNet为plain CNN的训练过程提供更好的梯度。因此我们提出了JointRD (Joint-training framework based on Residual Distillation),在这个框架中我们通过将plain CNN中的一个stage同时连接到它之后的stage和ResNet之后的stage达成上述训练目标。联合训练框架保证了残差连接使梯度更易反传的效果,但残差连接还有另外一个功能就是保护从前一层提取到的特征。为了达成相同的效果,我们采用Dirac delta初始化方法[8]来初始化student网络的权重。对于teacher网络的权重,我们使用预训练好的ResNet模型来进行初始化,并在整个训练过程中停止对这部分权重的更新。实验结果通过三种规模的网络plain-CNN18, plain-CNN34, plain-CNN50在CIFAR-10和CIFAR-100上的实验证明了联合训练方法JointRD有效性。如表2.1所示,JointRD可以将Plain-CNN训练达到和对应的ResNet相同的精度。同时我们还对比了单纯训练plain-CNN(见"Naive"列)以及只使用KD (MSE) loss和plain-CNN的交叉熵loss(见"KD (MSE) +Dirac"列)。在表2.2中,我们对比了利用JointRD训练得到的plain-CNN50,利用剪枝方法[9]剪枝40%后的ResNet50,以及ResNet50本身的精度、时延和内存消耗。可以看出在plain-CNN50在各个维度均优于直接剪枝(实验细节请参考论文原文[7])。目前由JointRD训练得到的plain-CNN18/ plain-CNN34/plain-CNN50 MindSpore端侧模型均已上线MindSpore Hub,感兴趣的可以下载体验。论文链接:https://proceedings.neurips.cc/paper/2020/file/657b96f0592803e25a4f07166fff289a-Paper.pdfPlain-CNN18模型链接:https://www.mindspore.cn/resources/hub/details?noah-cvlab/gpu/1.0/plain-CNN-resnet18_v1.0_cifar_10Plain-CNN34模型链接:https://www.mindspore.cn/resources/hub/details?noah-cvlab/gpu/1.0/plain-CNN-resnet34_v1.0_cifar10Plain-CNN50模型链接:https://www.mindspore.cn/resources/hub/details?noah-cvlab/gpu/1.0/plain-CNN-resnet50_v1.0_cifar10Searching for Low-Bit Weights in Quantized Neural Networks神经网络量化因为可以减少计算消耗和内存占用,在模型部署特别是端侧设备部署中被广泛应用,例如相较于传统的32-bit模型网络,二值化网络可以直接将模型压缩32倍,同时如果采用二值运算可以大大降低计算复杂度(如XNORNet 可以达到57倍加速[10])。 传统的量化方法通常不是直接可导的,而是通过近似梯度进行训练,这增加了量化网络的优化难度以及量化网络和原始网络间的精度差距。相较于全精度(32-bit 浮点数)权值,低比特权值只有很小的数值空间,如4-bit量化只有2^4=16种可能的量化取值。 因此,我们提出了一种全新的可导的量化方法Searching for Low-Bit Weights (SLB),将权值量化转变为可能量化取值的搜索。具体来讲就是将每个权值表示成所有可能取值空间的概率分布,在训练过程中优化这个概率分布,在推理过程中选取概率最大的值作为量化后的值。在图像分类和超分任务的多个benchmark上的实验证明,通过SLB方法量化后的网络性能超越已有SOTA结果。 方法介绍 实验结果表3.1和表3.2比较了我们的方法和其他SOTA量化方法BNN, XNORNet, DoReFa, DSQ, SQ, and LQ-Net在VGG-Small和ResNet20两个不同模型上的效果。如表中结果所示,W/A分别表示weight和activation的量化位宽,在不同量化位宽下,我们的方法都超越了其他SOTA方法。具体的实验细节请参考论文原文[12]。VGG-Small在CIFAR10上基于2-bit weight和2-bit activation的量化端侧模型目前已在MindSpore Hub开源首发,感兴趣的可以下载体验。论文链接:https://proceedings.neurips.cc/paper/2020/file/2a084e55c87b1ebcdaad1f62fdbbac8e-Paper.pdf模型链接:https://www.mindspore.cn/resources/hub/details?noah-cvlab/gpu/1.0/VGG-Small-low%20bit_cifar10参考文献[1] Yehui Tang,Yunhe Wang,Yixing Xu,Dacheng Tao, Chunjing Xu,Chao Xu,Chang Xu. SCOP:Scientific Control for Reliable Neural Network Pruning. In 34th Conference on Neural Information Processing Systems (NeurIPS 2020), 2020. [2] Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, and Hans Peter Graf. Pruning filters for efficient convnets. In 5th International Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Conference Track Proceedings. OpenReview.net, 2017. [3] Yang He, Guoliang Kang, Xuanyi Dong, Yanwei Fu, and Yi Yang. Soft filter pruning for accelerating deep convolutional neural networks. In Proceedings of the 27th International Joint Conference on Artificial Intelligence, pages 2234–2240, 2018. [4] Pavlo Molchanov, Arun Mallya, Stephen Tyree, Iuri Frosio, and Jan Kautz. Importance estimation for neural network pruning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 11264–11272, 2019. [5] Shaohui Lin, Rongrong Ji, Chenqian Yan, Baochang Zhang, Liujuan Cao, Qixiang Ye, Feiyue Huang, and David Doermann. Towards optimal structured cnn pruning via generative adversarial learning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2790–2799, 2019. [6] Lucas Liebenwein, Cenk Baykal, Harry Lang, Dan Feldman, and Daniela Rus. Provable filter pruning for efficient neural networks. In International Conference on Learning Representations, 2020. [7] Guilin Li, Junlei Zhang, Yunhe Wang, Chuanjian Liu, Matthias Tan, Yunfeng Lin, Wei Zhang, Jiashi Feng, Tong Zhang. Residual Distillation: Towards Portable Deep Neural Networks without Shortcuts. Accepted by NeurIPS 2020 [8] Sergey Zagoruyko and Nikos Komodakis. Diracnets: Training very deep neural networks without skip-connections. arXiv preprint arXiv:1706.00388, 2017. [9] Zhuang Liu, Jianguo Li, Zhiqiang Shen, Gao Huang, Shoumeng Yan, and Changshui Zhang. Learning efficient convolutional networks through network slimming. In Proceedings of the IEEE International Conference on Computer Vision, pages 2736–2744, 2017. [10] Mohammad Rastegari, Vicente Ordonez, Joseph Redmon, and Ali Farhadi. Xnor-net: Imagenet classification using binary convolutional neural networks. ECCV, 2016 [11] Matthieu Courbariaux, Yoshua Bengio, and Jean-Pierre David. Binaryconnect: training deep neural networks with binary weights during propagations. NeurIPS, 2015 [12] Zhaohui Yang, Yunhe Wang, Kai Han, Chunjing Xu, Chao Xu, Dacheng Tao, Chang Xu. Searching for Low-Bit Weights in Quantized Neural Networks. Accepted by NeurIPS 2020.
  • [前沿快讯] ImageNet「众包」成就伟大数据集,「昇腾众智」创新AI开发模式
    作为人工智能社区群策群力的早期形式,「众包」成就了 ImageNet 等一批成功的数据集,也加快了整个社区的发展进程。但要构建人工智能技术开发生态,仅靠「众包」是不够的。2009 年,由知名科学家李飞飞发起,来自全球 167 个国家近 5 万名工作者以众包的方式,通过三年合作努力,完成了日后触发人工智能领域发展浪潮的伟大数据集 ImageNet。数据规模巨大,标注错误极低,ImageNet 发布十余年以来,已成为淬炼图像处理算法不断升级的试金石。2010-2017 连续开展八年的 ImageNet 全球挑战赛,推动了物体识别平均准确率等 AI 领域关键指标不断提升,更让深度学习算法自 2012 年在此舞台之上大放异彩,进一步引发了人工智能领域的革命。 众所周知,ImageNet 包含 1500 万张带标注的图像,工程十分浩大。帮助李飞飞完成这一壮举的,是当时刚刚兴起的社区概念——众包。可以说,众包一直在人工智能领域扮演着重要角色,一定程度上加快了这一领域的历史进程。但与此同时,社区并没有止步于众包,而是向前又走了一步。昇腾计算产业的成员企业华为,提出了一种新的模式——众智,汇聚企业、高校、科研院所等组织的力量,做硬核开发。2021 年 3 月 18 日,昇腾众智计划正式上线。众智类似于众包,但又不同于众包。众包是繁复的人力投入,而「昇腾众智」意在通过「硬件开放、软件开源、使能伙伴」的方式,激发开发者的智慧,在网络模型开发、算子开发以及行业参考设计开发等几类项目上进行创新。 此外,「昇腾众智」计划还关注后续的人才培养以及开放平台、社区的建设和发展,这就改变了传统众包「交付即终点」的模式,对开发者的个人成长甚至整个社区的发展都有着更加深远的意义。为何众智?如何众智?3 月 13 日,国家发布了「十四五」规划纲要。纲要指出,「十四五」期间,我国将通过一批具有前瞻性、战略性的国家重大科技项目,带动产业界逐步突破前沿基础理论和算法,其中就包括深度学习框架等开源算法平台的构建以及学习推理决策、图像图形、语音视频、自然语言识别处理等领域的创新与迭代应用。由此可见,加快国内人工智能的发展在国家战略层面正变得越来越重要。过去几年,昇腾计算产业已构建起完整的全栈 AI 软硬件平台,包括基于昇腾架构的系列硬件,异构计算架构 CANN、深度学习计算框架 MindSpore 等软件平台。通过上述平台构建的AI基础设施,涵盖纲要中提到的图像、语音、自然语言处理等多项技术,可以加快医疗、能源、交通、制造等多个行业的智能化升级。AI 模型和基础软件都是高度依赖生态建设的项目,无法依靠单一力量来完成,需要汇聚开发者,共同打造昇腾计算产业生态。在过去的 2020 年,昇腾社区从学、练、用、考、赛等维度为开发者提供了完善的软件资源、专业培训、技术支持、生态政策和产品方案,上线了 50 多个开发者系列课程、1008 本学习资料、100 + 工具与样例、100 + 模型,MindSpore 开源开发者已突破 10 万 + 人。虽然已经取得了一些成绩,但要想加快这一进程,昇腾需要整个社区的力量来共同托举,这也是「昇腾众智」计划诞生的初衷。 那么如何「众智」呢? 具体而言,「昇腾众智」主要涉及的是异构计算架构 CANN 算子开发、主流深度学习网络模型(基于 MindSpore、PyTorch 等)开发和行业参考设计开发等。 这些需求都以项目的形式发布在「昇腾众智」的官方页面上,每两周刷新一次。近期公布的 140 个项目需求包含 MindSpore 数据增强算子、MindSpore 模型等,涵盖文本、图像、视频、自然语言、目标检测等多个领域。打开「项目任务书」,我们可以看到项目的具体细节,包括任务描述、知识背景要求、任务要求、任务清单、开发指导等内容。对该项目感兴趣且符合要求的开发者可以填写与自身情况相对应的申请表。和「众包」、「外包」不同的是,在「昇腾众智」计划中,参与任务的开发者和昇腾之间并不是「冷冰冰的业务关系」,而是一种并肩作战的合作关系。如果你在开发中遇到问题,你可以随时向昇腾的专家寻求帮助。这种帮助包括但不限于硬件、软件、技术指导和答疑等。 群策群力,多方受益 前面说到,在「昇腾众智」计划中,开发者与昇腾之间是一种并肩作战的合作关系,合作的目的是创建一个强大的生态和社区。这就意味着,参与「昇腾众智」的开发者甚至整个社区都将从中受益。 开发者包含高校师生、科研机构研究者、企业开发团队等多个群体。对于这些群体来说,他们收获的不仅仅是项目交付后的奖金激励和项目开发期间的算力资源支持,还有昇腾颁发的荣誉证书(优秀开发团队和个人将受邀参加华为旗舰大会)以及华为招募引进人才的优先权等。 其他的潜在收益还包括项目经验积累、创新研究项目合作以及行业影响力的提升等。 以高校为例,高校是一个偏重学术的环境,「昇腾众智」将更多的真实项目带进校园,使得学生有更多的机会接触真实的业务场景,得到业内专家的指导,从而加深对于 AI 的理解,沉淀更多的实践经验。 科研院所和企业有所不同。科研院所汇聚了一大批优秀研究者,但在算力、场景扩展、科研创新等方面也需要一些外部支持,「昇腾众智」恰好可以在这些方面提供支持,满足科研机构在多个方面的科研需求。企业所在的行业往往需要配套的行业参考设计,在昇腾的技术支持下,企业可以更快地开发自己行业所需的参考设计,提升自身的行业影响力。 除了这些,「昇腾众智」对于整个人工智能社区也有很重要的意义。一方面,这些项目开发完成后将在昇腾社区开放,供所有开发者下载使用,免去开发者重新写代码、训练模型的麻烦,加速社区的发展进程。另一方面,昇腾社区、MindSpore 社区与其他开源开放社区可以借助这一项目建立紧密的联系,为高校、科研机构、企业和开源社区的成员搭建一个广阔的交流、合作平台,共同加速 AI 社区的发展。 以上几点在本月初启动的「OpenI 启智 & MindSpore 集结号」活动中已经有所体现。这一活动由 OpenI 启智社区和 MindSpore 社区共同举办,旨在集中高校开发者合作开发 MindSpore 高性能模型(模型众智)。中国工程院院士、鹏城实验室主任、北京大学博雅讲席教授高文在「集结号」活动中讲话。其实,早在「集结号」活动之前,「昇腾众智」就已经开始了一些小规模的探索,这些探索为计划的正式上线蓄积了力量。自去年启动昇腾众智计划以来,已有浙江大学、上海交通大学、西安交通大学、中国科学院等超过 40 所高校和科研机构参与其中(排名不分先后)。他们已经完成 484 个 PyTorch 算子分析、368 个算子开发、15 个 MindSpore 模型交付和 2 个 PyTorch 模型交付,行业参考设计的众智活动也已经完成试点。十几年前,ImageNet 让我们看到了群体力量的伟大;如今,昇腾不止要利用这股力量,更想要挖掘其中的「智慧」,创造一种新的 AI 开发模式。 目前,「昇腾众智」的初步目标是通过线上、线下两种方式** 200 + 团队、2000 + 开发者。
  • [前沿快讯] ImageNet「众包」成就伟大数据集,「昇腾众智」创新AI开发模式
    作为人工智能社区群策群力的早期形式,「众包」成就了 ImageNet 等一批成功的数据集,也加快了整个社区的发展进程。但要构建人工智能技术开发生态,仅靠「众包」是不够的。2009 年,由知名科学家李飞飞发起,来自全球 167 个国家近 5 万名工作者以众包的方式,通过三年合作努力,完成了日后触发人工智能领域发展浪潮的伟大数据集 ImageNet。数据规模巨大,标注错误极低,ImageNet 发布十余年以来,已成为淬炼图像处理算法不断升级的试金石。2010-2017 连续开展八年的 ImageNet 全球挑战赛,推动了物体识别平均准确率等 AI 领域关键指标不断提升,更让深度学习算法自 2012 年在此舞台之上大放异彩,进一步引发了人工智能领域的革命。 众所周知,ImageNet 包含 1500 万张带标注的图像,工程十分浩大。帮助李飞飞完成这一壮举的,是当时刚刚兴起的社区概念——众包。可以说,众包一直在人工智能领域扮演着重要角色,一定程度上加快了这一领域的历史进程。但与此同时,社区并没有止步于众包,而是向前又走了一步。昇腾计算产业的成员企业华为,提出了一种新的模式——众智,汇聚企业、高校、科研院所等组织的力量,做硬核开发。2021 年 3 月 18 日,昇腾众智计划正式上线。众智类似于众包,但又不同于众包。众包是繁复的人力投入,而「昇腾众智」意在通过「硬件开放、软件开源、使能伙伴」的方式,激发开发者的智慧,在网络模型开发、算子开发以及行业参考设计开发等几类项目上进行创新。 此外,「昇腾众智」计划还关注后续的人才培养以及开放平台、社区的建设和发展,这就改变了传统众包「交付即终点」的模式,对开发者的个人成长甚至整个社区的发展都有着更加深远的意义。为何众智?如何众智?3 月 13 日,国家发布了「十四五」规划纲要。纲要指出,「十四五」期间,我国将通过一批具有前瞻性、战略性的国家重大科技项目,带动产业界逐步突破前沿基础理论和算法,其中就包括深度学习框架等开源算法平台的构建以及学习推理决策、图像图形、语音视频、自然语言识别处理等领域的创新与迭代应用。由此可见,加快国内人工智能的发展在国家战略层面正变得越来越重要。过去几年,昇腾计算产业已构建起完整的全栈 AI 软硬件平台,包括基于昇腾架构的系列硬件,异构计算架构 CANN、深度学习计算框架 MindSpore 等软件平台。通过上述平台构建的AI基础设施,涵盖纲要中提到的图像、语音、自然语言处理等多项技术,可以加快医疗、能源、交通、制造等多个行业的智能化升级。AI 模型和基础软件都是高度依赖生态建设的项目,无法依靠单一力量来完成,需要汇聚开发者,共同打造昇腾计算产业生态。在过去的 2020 年,昇腾社区从学、练、用、考、赛等维度为开发者提供了完善的软件资源、专业培训、技术支持、生态政策和产品方案,上线了 50 多个开发者系列课程、1008 本学习资料、100 + 工具与样例、100 + 模型,MindSpore 开源开发者已突破 10 万 + 人。虽然已经取得了一些成绩,但要想加快这一进程,昇腾需要整个社区的力量来共同托举,这也是「昇腾众智」计划诞生的初衷。 那么如何「众智」呢? 具体而言,「昇腾众智」主要涉及的是异构计算架构 CANN 算子开发、主流深度学习网络模型(基于 MindSpore、PyTorch 等)开发和行业参考设计开发等。 这些需求都以项目的形式发布在「昇腾众智」的官方页面上,每两周刷新一次。近期公布的 140 个项目需求包含 MindSpore 数据增强算子、MindSpore 模型等,涵盖文本、图像、视频、自然语言、目标检测等多个领域。打开「项目任务书」,我们可以看到项目的具体细节,包括任务描述、知识背景要求、任务要求、任务清单、开发指导等内容。对该项目感兴趣且符合要求的开发者可以填写与自身情况相对应的申请表。和「众包」、「外包」不同的是,在「昇腾众智」计划中,参与任务的开发者和昇腾之间并不是「冷冰冰的业务关系」,而是一种并肩作战的合作关系。如果你在开发中遇到问题,你可以随时向昇腾的专家寻求帮助。这种帮助包括但不限于硬件、软件、技术指导和答疑等。 群策群力,多方受益 前面说到,在「昇腾众智」计划中,开发者与昇腾之间是一种并肩作战的合作关系,合作的目的是创建一个强大的生态和社区。这就意味着,参与「昇腾众智」的开发者甚至整个社区都将从中受益。 开发者包含高校师生、科研机构研究者、企业开发团队等多个群体。对于这些群体来说,他们收获的不仅仅是项目交付后的奖金激励和项目开发期间的算力资源支持,还有昇腾颁发的荣誉证书(优秀开发团队和个人将受邀参加华为旗舰大会)以及华为招募引进人才的优先权等。 其他的潜在收益还包括项目经验积累、创新研究项目合作以及行业影响力的提升等。 以高校为例,高校是一个偏重学术的环境,「昇腾众智」将更多的真实项目带进校园,使得学生有更多的机会接触真实的业务场景,得到业内专家的指导,从而加深对于 AI 的理解,沉淀更多的实践经验。 科研院所和企业有所不同。科研院所汇聚了一大批优秀研究者,但在算力、场景扩展、科研创新等方面也需要一些外部支持,「昇腾众智」恰好可以在这些方面提供支持,满足科研机构在多个方面的科研需求。企业所在的行业往往需要配套的行业参考设计,在昇腾的技术支持下,企业可以更快地开发自己行业所需的参考设计,提升自身的行业影响力。 除了这些,「昇腾众智」对于整个人工智能社区也有很重要的意义。一方面,这些项目开发完成后将在昇腾社区开放,供所有开发者下载使用,免去开发者重新写代码、训练模型的麻烦,加速社区的发展进程。另一方面,昇腾社区、MindSpore 社区与其他开源开放社区可以借助这一项目建立紧密的联系,为高校、科研机构、企业和开源社区的成员搭建一个广阔的交流、合作平台,共同加速 AI 社区的发展。 以上几点在本月初启动的「OpenI 启智 & MindSpore 集结号」活动中已经有所体现。这一活动由 OpenI 启智社区和 MindSpore 社区共同举办,旨在集中高校开发者合作开发 MindSpore 高性能模型(模型众智)。中国工程院院士、鹏城实验室主任、北京大学博雅讲席教授高文在「集结号」活动中讲话。其实,早在「集结号」活动之前,「昇腾众智」就已经开始了一些小规模的探索,这些探索为计划的正式上线蓄积了力量。自去年启动昇腾众智计划以来,已有浙江大学、上海交通大学、西安交通大学、中国科学院等超过 40 所高校和科研机构参与其中(排名不分先后)。他们已经完成 484 个 PyTorch 算子分析、368 个算子开发、15 个 MindSpore 模型交付和 2 个 PyTorch 模型交付,行业参考设计的众智活动也已经完成试点。十几年前,ImageNet 让我们看到了群体力量的伟大;如今,昇腾不止要利用这股力量,更想要挖掘其中的「智慧」,创造一种新的 AI 开发模式。 目前,「昇腾众智」的初步目标是通过线上、线下两种方式** 200 + 团队、2000 + 开发者。
总条数:936 到第
上滑加载中