• [技术干货] 华为云AI论文精读会2021第二十期:轻量化神经网络MobileNet系列论文精读
    2021年10月21日晚上19:00,举行华为云AI论文精读会2021第二十期:轻量化神经网络MobileNet系列论文精读。本期邀请到的嘉宾是:张子豪,同济大学交通运输工程硕士研究生,研究方向为计算机视觉、深度学习、目标检测、计算教育学。华为云ModelArts、华为云DevCloud、网络人工智能引擎NAIE、华为昇腾AI开发者博主。B站UP主“同济子豪兄”。本次论文精读的领域是CV领域,感兴趣的小伙伴点击下方的链接一起观看学习吧~讲解内容:谷歌移动端轻量化卷积神经网络MobileNet V1、V2、V3的设计哲学、技术演进和前沿发展趋势。Notebook中使用Keras深度学习框架的MobileNet预训练模型,对图像和视频进行图像分类,并调用摄像头实时预测。华为云AI论文精读会致力于让更多人低门槛使用经典算法,助力AI开发者基于ModelArts,实现高效率论文复现和挑战!本期视频:https://bbs.huaweicloud.com/live/cloud_live/202110211900.html华为云AI论文精读会2021·论文算法实战赛报名地址:https://competition.huaweicloud.com/information/1000041393/introduction
  • [参赛经验分享] 2020华为云人工智能创新应用大赛亚军--我要拿十万团队
    前言大家好,我们团队名称是我要拿十万,很高兴跟大家交流“华为云杯”2020人工智能创新应用大赛的比赛心得,我们团队的三个成员都来自西安交通大学。本文将从解题思路、数据处理、模型结构三个方面进行介绍。解题思路充分使用所给数据使用模型提取图像高分辨率表示数据处理训练前,数据准备减小切割图片大小和步长,将baseline中图片切割步长由992变为256,切割大小由1024x1024变为512x512,剔除无效数据,去除只含有背景的训练数据对;最终有效数据增加至24000张,之后按照7:3的比例划分为训练集和验证集;训练过程中,数据增强随机对训练数据进行gamma变换、随机角度旋转、随机水平翻转、均值滤波、增加噪声,亮度、对比度、饱和度、颜色等随机变化;通过数据增强,提高了训练数据的丰富性,一定程度上抑制了过拟合现象;推理过程中,膨胀预测因为推理图像比较大,在推理过程中需要对图像进行切割和拼接,为了避免因为对切割图像边缘处特征提取出现问题,使用膨胀预测;首先对推理图像进行填充,每次推理步长为512,推理图片大小为1024,只保留中心512大小的部分,最终拼接得到推理结果。网络模型使用HRNetv2_w48作为分割网络,对于每张图片,使用一个主干网络对其提取特征,得到不同层级的特征之后,通过上采样,将这些不同层级不同大小的特征拼接到一起,之后经过一个卷积层,batchnorm层,relu激活层,得到最终用于分割的特征,最后将得到的特征经过卷积层,softmax,上采样等操作,得到最终的分割结果;因为我们的思路是使用模型提取图片的高分辨率表示,因此使用hrnet作为特征提取网络,hrnet在整个特征提取过程中并行链接高分辨率卷积到低分辨率卷积,从而在整个过程中保持高分辨率表示;同时通过在平行卷积上重复进行融合,产生强的高分辨率表示;通过使用hrnet,得到图片的强分辨率表示,我们最终得到良好的分割结果。参考资料:[1] Sun K, Zhao Y, Jiang B, et al. High-resolution representations for labeling pixels and regions[J]. arXiv preprint arXiv:1904.04514, 2019.[2] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.[3] 王梦灵,姚宝敬.新基建浪潮下应用AI遥感技术实现城市管理创新[J].张江科技评论,2020(03):64-65.[4] 邢逸帆.AI养猪、遥感杀虫和卫星种粮 智慧农业中国新希望[J].农业工程技术,2019,39(27):63-66.[5] open-mmlab/mmsegmentation https://github.com/open-mmlab/mmsegmentation[6] wangye707/ICNet-paddlepaddle https://github.com/wangye707/ICNet-paddlepaddle[7] 深度学习入门之Pytorch——数据增强 https://blog.csdn.net/weixin_40793406/article/details/84867143[8] 【Keras】基于SegNet和U-Net的遥感图像语义分割 https://www.cnblogs.com/skyfsm/p/8330882.html[9]使用神经网络(ICNet)对航拍图片(遥感图像)进行图像语义分割(数据集+代码+最终训练模型)https://blog.csdn.net/qq_28626909/article/details/106489285本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=d2717986-bceb-4b83-a3ae-7305503b81d3本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [交流分享] 2022年除了深度学习,人工智能算法有可能突破的10个方向
    2022年新年伊始,畅想人工智能算法的未来,除了最主流的深度学习模型之外,还有哪些潜在的突破口呢?最近在Reddit 看到有人列举了10个方向。参见:https://www.reddit.com/r/MachineLearning/comments/rq6uih/d_other_ai_methodsalgorithms_except_deep_neural/有:千脑理论、自由能原理、Testlin机器、层级实时存储算法等等,笔者根据其列出的参考路径,并且补充了来自维基百科、集智百科等相关的介绍内容,将这10个方向做了一个摘要性的内容简介,分享给大家。希望能抛砖引玉,欢迎大家就文中的方向提出您的见解,或者补充文中为体积的新方向。千脑理论 The Thousand Brains Theory人类大脑如何工作?千脑智能理论是近年涌现的一个非常有影响力的理论。2021年11月,比尔盖茨公布了心目中的2021年度5本必读好书,排第一位的便是《A Thousand Brains: A New Theory of Intelligence》,作者是Jeff Hawkins 。支撑这本书的重要论文,是发表于2018年的A Framework for Intelligence and Cortical Function Based on Grid Cells in the Neocortex(基于新皮层网格细胞的智能和大脑皮层功能框架),论文地址:Frontiers | A Theory of How Columns in the Neocortex Enable Learning the Structure of the World | Frontiers in Neural Circuits千脑理论描述了一个通用的框架,用于理解新皮质的作用及其工作原理,该理论认为,新皮质并不是只学习了关于世界的一个模型,而是每一部分都学习了一份世界完整的物体与概念模型。 然后新皮层中的长程连接允许模型们协同工作,来构建你对世界的整体感知。该论文还预测了一种称为“移位细胞”(displacement cells)的新型神经元的出现,它与皮质网格细胞相互作用以表示物体相对于彼此的位置。2021年6月,Jeff Hawkins 曾经出席北京智源大会,发表了题为「The Thousand Brains Theory - A roadmap for creating machine intelligence」的演讲,这是关于演讲内容的详细介绍:真正实现与人更类似的智能!Jeff Hawkins:创造机器智能的路线图自由能原理   Free energy principle自由能原理 Free energy principle是一个正式的陈述,它解释了生物系统和非生物系统如何通过将自己限制在有限的几个状态而保持在非平衡稳态。它表明系统最小化了内部状态的自由能函数,而内部状态包含了对环境中隐藏状态的信任。自由能的内隐最小化在形式上与变分贝叶斯方法 Variational Bayesian methods有关,最初由Karl Friston引入,作为神经科学中对具身知觉的解释,在那里它也被称为“主动推理”。自由能原理解释了一个给定系统的存在,它通过一个马尔可夫毯 Markov blanket建模,试图最小化他们的世界模型和他们的感觉和相关知觉之间的差异。这种差异可以被描述为”出其不意” ,并通过不断修正系统的世界模型来减少这种差异。因此,这个原理是基于贝叶斯的观点,即大脑是一个“推理机”。弗里斯顿为最小化增加了第二条路线: 行动。通过积极地将世界改变为预期的状态,系统也可以使系统的自由能最小化。弗里斯顿认为这是所有生物反应的原理。弗里斯顿还认为,他的原则即适用于精神障碍也适用于人工智能。基于主动推理原则的人工智能实现比其他方法显示出优势。(摘自集智百科:什么是自由能原理 | 集智百科 | 集智俱乐部)自由能原理,是一个公认非常晦涩的概念,下面是基于自由能原理、进行“主动推理”的示例说明,非常细腻、翔实:Learn by example: Active Inference in the brain -1 | KaggleTstelin 机器 Tsetlin machine源自上世纪50年代,前苏联数学家Tsetlin提出了可进行学习的自动机,此种类型的自动机可以通过从学习数据中改变自身的状态转换函数的概率来对数据进行学习,并可以使用自身的状态来编码信息,不同于神经网络,这种自动机天然的具有对数据进行时序编码的特性,且具有良好的可解释性。(摘自:未来智能趋势:自动机与神经网络 - 知乎)但纽卡斯尔大学高级讲师Rishad Shafik认为:“学习自动机几乎不可能在硬件上实现,因为有大量的状态需要去适应”。挪威阿格德大学的AI教授Ole-Christoffer Granmo,通过将学习自动机与经典的博弈论和布尔代数相结合,找到了一种降低学习自动机复杂性的方法。他将简化版的学习自动机应用到软件中,并以该学科创始人的名字将其命名为“Tsetlin机器”(Tsetlin machine)。(摘自:Tsetlin机器和神经网络之间的功耗差别 - 人工智能 - 电子发烧友网)这是挪威阿哥德大学Ole-Christoffer Granmo建立的关于Tstelin机器的网站:Home - An Introduction to Tsetlin Machines上面刊登了他正在撰写的新书《An Introduction to Tsetlin Machines》,目前可以下载第1章:http://tsetlinmachine.org/wp-content/uploads/2021/09/Tsetlin_Machine_Book_Chapter_1-4.pdf层级实时存储算法 Hierarchical temporal memory层级实时存储算法(HTM)是一种由Numenta开发的生物约束机器智能技术。HTM最初在2004年 Jeff Hawkins 和 Sandra Blakeslee合著的《On Intelligence》一书中有所描述,目前主要用于流数据中的异常检测。该技术基于神经科学以及哺乳动物(特别是人类)大脑新皮层中锥体神经元的生理学和相互作用。HTM 的核心是学习算法,它可以存储、学习、推断和调用高阶序列。与大多数其他机器学习方法不同,HTM不断学习(在无监督过程中)未标记数据中基于时间的模式。HTM对噪声具有鲁棒性,并且具有高容量(它可以同时学习多种模式)。当应用于计算机时,HTM非常适合预测,异常检测,分类以及最终的感觉运动应用。HTM已经通过Numenta的示例应用程序和Numenta合作伙伴的一些商业应用程序在软件中进行了测试和实施。 (以上翻译自维基百科:https://en.wikipedia.org/wiki/Hierarchical_temporal_memory)这里是Numenta公司(Jeff Hawkins所创)关于HTM的相关研究论文、代码和数据:https://github.com/numenta/htmpapers脉冲神经网络 Spiking Neural Networks脉冲神经网络Spiking neuralnetworks (SNNs)是第三代神经网络模型,其模拟神经元更加接近实际,除此之外,把时间信息的影响也考虑其中。思路是这样的,动态神经网络中的神经元不是在每一次迭代传播中都被激活(而在典型的多层感知机网络中却是),而是在它的膜电位达到某一个特定值才被激活。当一个神经元被激活,它会产生一个信号传递给其他神经元,提高或降低其膜电位。在脉冲神经网络中,神经元的当前激活水平(被建模成某种微分方程)通常被认为是当前状态,一个输入脉冲会使当前这个值升高,持续一段时间,然后逐渐衰退。出现了很多编码方式把这些输出脉冲序列解释为一个实际的数字,这些编码方式会同时考虑到脉冲频率和脉冲间隔时间。(上文摘自:process-z.com,脉冲神经网络Spiking neural network_张竞成的博客-CSDN博客_spiking神经网络)这篇文章Spiking Neural Networks(Spiking Neural Networks | Simons Institute for the Theory of Computing),对脉冲神经网络的研究历史、主要贡献者、现状和问题、相关数据集等作了比较好的梳理。联想记忆 / 预测编码 Associative Memories via Predictive Coding思路来自这篇论文 Associative Memories via Predictive Coding:https://arxiv.org/abs/2109.08063联想记忆模型,是借鉴了人类大脑神经元存储、关联以及检索信息的模式。由于在人类智能中的重要性,联想记忆的计算模型已经发展了几十年,包括自动关联存储器,允许存储数据点和检索存储的数据点s当提供噪声或部分变体时s和异质关联记忆,能够存储和调用多模态数据。在上面的论文中,作者们提出了一种用于实现联想记忆的新型神经模型,该模型基于通过感觉神经元接收外部刺激的分层生成网络。该模型使用预测编码进行训练,预测编码是一种基于错误(error-based)的学习算法,其灵感来自皮层中的信息处理。分形人工智能 Ractal AI分形AI,通过使用类似细胞自动机的结构而不是平滑函数对信息进行建模,它可以衍生出新的数学工具,这些工具构成了一种新的随机演算基础。这篇论文(参见:https://github.com/Guillemdb/FractalAI),介绍了一种新代理(分形蒙特卡洛),它源自Ractal AI的第一原理(参见:https://github.com/Guillemdb/FractalAI/blob/master/introduction_to_fai.md),能够比其他类似技术(如蒙特卡罗树搜索)更有效地支持OpenAI Gym下的Atari-2600游戏;此外该论文还宣称提出了更先进的Swarm Wave实现,也来自分形AI原理,允许人们在环境的完美/信息模型下求解马尔可夫决策过程。超维计算 Hyperdimensional Computing超维计算(HDC)是一种新兴的计算方法,受到人脑神经活动模式的启发。这种独特的计算类型可以使人工智能系统根据以前遇到的数据或场景保留内存并处理新信息。为了对神经活动模式进行建模,HDC系统使用丰富的代数,该代数定义了一组规则来构建,绑定和捆绑不同的超向量。超向量是具有独立且分布相同的分量的全息10,000维(伪)随机向量。通过使用这些超向量,HDC可以创建功能强大的计算系统,该系统可用于完成复杂的认知任务,例如对象检测,语言识别,语音和视频分类,时间序列分析,文本分类和分析推理。(摘自:一种超维计算系统,可在内存中执行所有核心计算_腾讯新闻)这里是关于超维计算项目的资源集合:https://github.com/HyperdimensionalComputing/collection双曲机器学习 Hyperbolic Neural Networks详见这篇NeurIPS2018 论文 Hyperbolic Neural Networks(https://arxiv.org/abs/1805.09112)介绍,用构造双曲几何空间的形式,将深度神经模型泛化到非欧领域。双曲空间的优势,是其树形特性可被用于可视化大型的分类数据或者嵌入复杂网络,同时在分层、分类或者继承数据上的表现远远超过了欧式空间。在隐含的分层结构中,不相交的子树在嵌入空间中得到了很好的聚类。这篇论文的主要贡献是在神经网络和深度学习的背景下建立双曲空间和欧式空间之间的鸿沟,以规范的方式将基本的算子和多项式回归、前馈网络、RNN和GRU泛化到双曲几何中的庞加莱模型中。此外,推荐读者们还可以观摩一下这个hyperlib库,https://github.com/nalexai/hyperlib该库在双曲空间中实现常见的神经网络组件(使用Poincare模型)。该库的实现使用Tensorflow作为后端,据作者宣称可以很容易地与Keras一起使用,旨在帮助数据科学家,机器学习工程师,研究人员和其他人实现双曲神经网络。复值神经网络 Complex-Valued Neural Networks复值神经网络是在复平面上处理信息的一类神经网络,其状态变量、连接权值与激励函数都是复值的。复值神经网络可视为实值神经网络的一种推广,但与实值神经网络有很多不同,具有更多复杂的性质.复值神经网络既可以处理现实生活中的复值问题,也可以处理实值问题,比实值神经网络功能更强大与更具优势,有些问题无法用实值神经网络解决,如XOR问题,而用复值神经网络则迎刃而解。(摘自:谢东《几类复值神经网络的动力学行为研究》,几类复值神经网络的动力学行为研究--《湖南大学》2017年博士论文)这篇论文Deep Complex Networks(https://arxiv.org/abs/1705.09792),针对复杂神经网络设计了关键的原子组件,并应用于卷积前馈网络和卷积LSTM。
  • [参赛经验分享] 中国-东盟数字创新大赛经验分享 —— 友迪队
    团队介绍我们来自广西友迪咨询科技有限公司,队长陆宇升,队员林景锋、赖沛成。下面介绍我们团队的解决方案。路线选择本赛题的任务是基于显微镜成像的金相图片评估定级,可以使用比较法、截线法和面积法。比较法将赛题视为图像分类问题,比较容易实现。我们同时在比较法和面积法两条路线上进行探索。在比较法的尝试汇中我们发现,数据增强中使用RandomResizedCrop(官方baseline中使用了这个方法),会比使用固定缩放比的Resize/CenterCrop方案获得更高的分数。按照晶粒度等级的定义,晶粒度等级是由晶粒度大小决定的,因此,尺度相关特征应该是卷积网络用来分类的主要特征。RandomResizedCrop会把图像进行随机缩放,会让神经网络在分类决策的时候,排除尺度相关特征,实现尺度无关性,这对普通的分类问题会有用,但理论上会降低金相评级的准确性。但事实正好相反,我们猜测,卷积神经网络主要根据尺度无关的特征进行分类,这样真实的泛化能力应该不强。因此,大赛中我们把大部分时间和精力放在面积法探索上,由于图像噪音和模糊晶粒边界难以区分等问题难以在短时间内解决,在面积法上我们没有取得理想结果,下面只介绍我们在比较法上的具体方案。网络选择和超参数我们尝试了ResNeXt101、EfficientNet b0/b4等网络,最高分是基于EfficientNet b4的方案。数据增强我们使用了随机缩放裁剪,垂直翻转,水平翻转,仿射变换,cutout,其中仿射变换和cutout效果明显,提升大约1%。优化器使用AdamW,提升大约0.5%。gradcam热力图我们使用gradcam热力图分析神经网络分类效果不理想的原因,以下分析基于ResNeXt101网络。可以看出,单模型神经网络resnext101-32*8d很多情况下仅依据图片局部区域特征进行分类决策,容易发生过拟合。关注区域平均化改进算法ResNeXt、EfficientNet等网络只是根据局部区域特征进行分类,大部分区域属于无用背景被忽略。这适用于通常的分类问题,但对于晶粒度定级,整个图没有无用背景,如果仅根据局部特征进行分类,容易发生过拟合。我们提出一种新的改进方法,强制神经网络分类时均衡考虑图片的所有区域的特征,而不是某个局部的特征。 ResNeXt、EfficientNet等网络的最顶层输出的feature map,会被avgpool池化为1*1*c的张量,然后送入全连接层fc分类。我们改造avgpool的output size为(d,d),然后拆分为d*d个1*1*c的张量,分别送入全连接层fc,分别计算softmax和交叉熵损失函数并求和,作为损失函数。这样,改进后的网络根据d*d个区域特征进行分类,使得网络不会根据范围很小的局部特征分类,另一个角度上看,相当于样本数量增加d*d倍,抑制过拟合问题。本地测试有很大提升,相同参数下,分数提高2~4个百分点。我们使用gradcam热力图分析比较原网络和改进后的网络的模型:可以看到,改进后的网络关注的区域分散到图片的四个角,而不是集中在某个小区域,我们认为这应该可以提高网络的泛化能力。
  • [技术干货] 70分钟了解图神经网络,图注意力网络一作带来最「自然」的GNN讲解
    最近,图注意力网络一作 Petar Veličković 在母校剑桥大学做了一场讲座,介绍图神经网络的理论基础。图神经网络(GNN)是机器学习中最热门的研究方向之一,在提出后的十几年里被不断扩展,先后发展出了图卷积网络、 图注意力网络、图自编码器、图生成网络和图时空网络等多个子领域。 最近,图注意力网络的第一作者 Petar Veličković 回到母校剑桥大学计算机实验室做了一场主题为《图神经网络理论基础》的讲座。在演讲中,Petar 尝试从基本原理推导 GNN,介绍其在多个学科中的应用,并解释 GNN 如何在多个研究路线中并行出现。讲座幻灯片地址:https://petar-v.com/talks/GNN-Wednesday.pdf Petar 表示,这个演讲「浓缩」了他 4 年 GNN 研究的精华,「这些年我用多种方式讲授 GNN,现在我终于找到了最『自然』的讲解方式。」他表示,这个 70 分钟的讲座既可以帮助初学者,也可以为 GNN 实践者提供新的角度。 接下来,我们就来看 Petar 讲了什么。 Petar Veličković:我找到了最「自然」的 GNN 讲解方式 分子是图,交通地图是图,社交网络也是图。 Petar 首先介绍了现实世界中的图、图神经网络的实际应用,以及 GNN 的相关库和数据集等。紧接着他展示了该讲座的主要内容: 基于基本原理推导 GNN;介绍 GNN 的多个独立研究变体;回顾:类 GNN 模型在 ML 研究历史中的出现;当下:目前的一些研究方向;展望:GNN 如何泛化至图结构输入以外。Petar 表示,该讲座的内容基于其关于几何深度学习的研究、麦吉尔大学助理教授 William Hamilton 的著作《图表示学习》,以及 Yoshua Bengio、Marco Gori、Jürgen Schmidhuber 等多位研究者的工作。 基于基本原理推导 GNNPetar 首先从基本原理定义 GNN,然后介绍了对 GNN 处理图数据有用的特性,并列举了一些示例。 GNN 的过去、现在与未来Petar 介绍了 GNN 的发展过程与研究蓝图,及其在多个研究领域中的并行出现。例如,自然语言处理与 GNN。「Transformer 是图神经网络。」 完整视频参见:Petar Veličković简介 Petar Veličković现为 DeepMind 高级研究科学家。他于 2019 年从剑桥大学获得计算机科学博士学位,导师为 Pietro Liò。他的研究方向包括:设计在复杂结构数据上运行的神经网络架构(如图网络),及其在算法推理和计算生物学方面的应用。 Petar Veličković是图注意力网络的一作,他和 Guillem Cucurull、Yoshua Bengio 等人一起完成了图注意力网络的开山之作——《Graph Attention Networks》,这篇论文被 ICLR 2018 接收,目前被引量超过 3000。除了图注意力网络,他还是《Deep Graph Infomax》的一作。在这篇论文中,他和 William Fedus、Yoshua Bengio 等人提出了以无监督方式学习图结构数据中节点表示的通用方法,该论文被 ICLR 2019 接收。 去年,机器之心曾报道过他的博士论文,Petar 用 147 页篇幅详述了「结构在神经网络中的复兴」,涵盖他之前的研究工作和其他关于 GNN 的内容。而今天介绍的这个讲座更是融合了他「近 4 年 GNN 研究的精华」,对图神经网络领域感兴趣的读者可以一看。 个人主页地址:https://petar-v.com/
  • [技术干货] CVPR 2021华为诺亚方舟实验室发表30篇论文 |CVPR 2021
    一年一度的计算机视觉顶会IEEE计算机视觉及模式识别大会CVPR录用结果最近公布。据悉,今年CVPR投稿量与论文接收量相对往年继续上升,有效投搞量达7015篇,接收论文1663篇,接收率23.7%,与往年相比略有上升。华为诺亚方舟实验室此次有30篇论文被接收,包括两篇Oral,其中主要由正式或者实习员工完成的工作有24篇,主要由高校合作方完成的工作有6篇。研究方向涵盖模型压缩和能耗高效、神经网络搜索、语义理解、底层视觉、自动驾驶、无损数据压缩、可解释AI等多个方面。诺亚方舟实验室的这些文章,体现出工业界需求与学术前沿的紧密结合,围绕业务中的迫切需求,结合最新学术进展提出创新性解决方案,也让学术研究能够有具体落地。如这些文章中包含了去年AdderNet算法的继续演进AdderSR,以及最近广为流传的IPT网络等。下面挑选一些本次CVPR接收的代表性论文进行介绍。CVPR 2021代表性工作介绍AdderSR: Towards Energy Efficient Image Super-Resolution本论文研究使用加法网络解决图像超分的问题,降低超分网络的能耗。由于任务的属性不同,直接将加法网络应用到超分任务上损失严重,本文对该问题进行了深入分析。首先,加法算子难以学到恒等映射;除此之外,加法算子难以学到有效的高通滤波器,但是这两个特性对于图像处理任务非常重要。在此基础上,本文继而提出自连接加法单元和可学习的幂激活函数来调整特征分布、增强细节,有效解决该问题。实验表明,本文提出的加法超分网络可以有效减少2.5x能耗,并达到与原模型非常接近的效果。ReNAS: Relativistic Evaluation of Neural Architecture Search (Oral)一个有效的神经网络结构性能评估方案是神经网络结构搜索(NAS)成功的关键。现有NAS算法通常在训练时间有限的小型数据集上训练和评估神经结构。但这样一种粗糙的评估方式很难对神经网络结构进行准确评估。本文提出一种新的神经网络结构评价方案,旨在确定哪个神经网络结构的性能更好,而不是精确地预测性能绝对值。因此,我们提出了一个结构相对性能预测NAS (ReNAS)。我们将神经结构编码为特征张量,并利用预测器进一步细化表示。本方法可用于离散搜索,无需额外评估。在NASBench101数据集上抽样424个(搜索空间的0.1%)神经架构及其标签已经足够学习一个准确的架构性能预测器。在NAS-Bench-101和NAS-Bench-201数据集上,我们搜索的神经结构的准确性高于最新的方法,显示了本方法的优先性。Transformation Invariant Few-Shot Object Detection不同于以往基于元学习的小样本物体检测框架,本文从样本扩增的角度解决这一问题。本文提出了一种简单而有效的变换不变原则,它可以灵活地应用于各种元学习模型,以提高新类物体的检测性能。该方法通过对变换后图像的预测结果引入一致性正则,增强小样本物体检测模型的泛化能力。重要的是,这一方法可以处理未标记数据,从而解决半监督小样本物体检测问题。实验表明,本文提出的方法在标准小样本物体检测和半监督小样本物体检测上均有效。Joint-DetNAS: Upgrade Your Detector with NAS,Pruning and Dynamic DistillationJoint-DetNAS是一个融合了NAS、剪枝以及蒸馏的目标检测模型优化算法,由两个主要部分组成:a) 构建弹性教师模型池:通过一次渐进式收缩训练获得大量高质量模型,用于支撑教师模型搜索b)学生-教师网络联合优化:通过交迭搜索,动态寻找最优蒸馏组合。学生网络采用Network Morphism策略, 有效融合模型结构演化和剪枝技术。算法直接输出学生模型作为结果,无需额外训练。Joint-DetNAS搜索高效且优化效果显著:如对于R101-FPN模型,在FPS及FLOPS优化 50%的情况下,仍能有2.5%的AP提升。TransNAS-Bench-101: Improving Transferrability and Generalizability of Cross-Task Neural Architecture Search神经网络架构搜索(NAS)的最新突破将该领域的研究范围扩展到了更广泛的视觉任务和更多样化的搜索空间。现有的NAS方法大多是在单个任务上进行搜索,而跨任务搜索的算法正在涌现。为了降低计算成本和实验复杂性对跨任务算法研究的阻碍,本论文提出了TransNAS-Bench-101基准测试数据集。该数据集涵盖了图像分类、语义分割、自编码器等七个不同的视觉任务,并探索了两类不同的搜索空间:Cell-based搜索空间和Macro-based搜索空间。通过7,352个backbone在七个任务上的训练,我们提供了51,464个模型的详细训练数据。我们希望借助TransNAS-Bench-101来鼓励跨任务的NAS算法的出现,从而将跨任务搜索的效率和通用性提高到新的水平。Pre-Trained Image Processing Transformer随着现代硬件计算能力的快速增强,在大规模数据集上预训练的Transformer模型(例如BERT,GPT-3)表现出了巨大的潜力和超越传统模型的效果。我们提出了一种可用于底层视觉任务(例如,去噪,超分辨率和去雨)的预训练Transformer模型(IPT)。为了最大程度地挖掘Transformer的能力,我们利用具有大量自然图像的ImageNet数据集生成大量降质图像对,并在这些图像上使用多头和多尾机制对IPT模型进行预训练。另外,我们还引入了对比学习以来提升模型的泛化性能。我们提出的IPT模型可以在迅速微调后有效地用于不同的底层视觉任务中,并在多项任务上取得了SOTA的结果。Efficient Multi-Stage Video Denoising with Recurrent Spatio-Temporal Fusion论文提出了极简的视频去噪网络EMVD,旨在通过结合传统图像处理和深度学习构造高能效的像素级视频处理框架。基于时序融合、空间去噪和时空精细化等多阶段设计,结合可逆可学习变换,既递归地利用视频中自然固有的时空相关性渐进改善视频质量,又大大降低模型的复杂度。通过业界公开数据集和真实数据集评测,计算量仅5.38GFLOPS的EMVD精度和视觉效果超过300多倍计算量的SOTA网络模型,在硬件资源有限的终端设备上处理1080P视频可达50FPS,业界首次在终端设备上实现实时的高分辨率视频AI降噪算法。深度学习领域的图像降噪方法往往需要噪声图像和相应的干净图像配对来训练,然而在真实场景中构造训练配对是十分困难的。我们提出Neighbor2Neighbor:通过近邻采样,从含噪图像采样出两张“相似但不相同”的子图以构成配对数据来训练降噪网络,其中两张子图每个位置对应的像素在原噪声图像中都是近邻像素;同时,在损失函数中引入正则项来修正两张近邻子图“相似但不相同”导致的过度平滑问题。本方法仅需噪声图像数据集即可训练任意降噪网络,在RGB域合成数据和RAW域真实含噪图像数据集上均表现出优秀的降噪效果,性能接近基于“噪声-干净”图像配对进行训练的模型。相比于现有的自监督图像降噪方法,本方法既不需要构造配对数据的采集过程,也不需要改造网络结构,同时无需额外的噪声模型信息,在暗光人脸拍照、夜间户外拍照、医学图像降噪等场景具有较高的应用潜力。Focus on Local: Detecting Lane Marker from Bottom Up via Key Point当前车道线检测的主流方向分为基于分割和基于检测的方法两大类。前者生成像素级的语义类别并通过聚类生成不同实例的曲线,后者由每个锚点预测整根曲线,这两种方法都直接建模全局信息,存在聚类容易产生误差以及远端预测不准的问题。受到人体位姿估计方法的启发,我们首次将车道线检测转化为局部关键点估计及其关联问题,用距离信息建模局部关联关系。车道线局部建模相对于全局建模更加简单,复杂度更低,泛化性能更好。我们采用两个轻量化的模型,在车道线检测公开数据集CULane和TuSimple上取得了新的SOTA结果,另外在跨数据集的泛化性能上也展现出了相当大的优越性。综上,我们的方法证明了位姿估计方法在车道线检测中的应用潜力,为解决这一问题开辟了新的方向。AF2-S3Net: Attentive Feature Fusion with Adaptive Feature Selection for Sparse Semantic Segmentation Network激光雷达点云的语义分割可视为自动驾驶的基石功能之一,精确的分割结果可以辅助物体检测、定位等核心感知任务。针对LiDAR语义分割问题,AF2S3Net以3D稀疏神经网络为框架,通过多分支、多层级主动特征融合实现了全局空间语义与局部细节的动态叠加,在单个网络中实现了单点网络与3D卷积网络的有机统一。同时为了降低特征融合后产生的梯度噪声,各分支原始特征被投票后送入特征选择模块,该模块通过压缩赋权过滤了部分噪声特征列向量,从而进一步提升了网络稳定性和泛化能力。在SemanticKITTI和nuScenes两大重量级LiDAR数据集语义分割竞赛排行榜上,AF2S3Net斩获双料冠军。QPP: Real-Time Quantization Parameter Prediction for Deep Neural Networks深度神经网络的权重和特征的量化可以降低能耗,提升计算效率,有助于促进其在手机等设备上的应用。量化感知训练的方法通常可以达到较好的效果,但是需要完整的数据集,但是这一点很多情况下难以满足。非训练量化的方法通常需要一个比较耗时的量化参数计算过程,否则量化精度损失比较严重。本文提出一种量化参数预测的算法,称为QPP。通过部分训练数据或者无标签数据的学习,QPP预测器在给定网络输入的情况下可以准确预测激活值的量化参数。预测器在避免复杂计算的同时有效保持了原始模型的精度。因此,本文的方法结合了动态量化和静态量化的优点。本文将QPP算法用在两个标准的动态量化算法上,并在分类、分割、超分等视觉任务上进行了广泛的验证。iVPF: Numerical Invertible Volume Preserving Flows for Lossless Compression在存储领域,高效无损压缩由于可以有效降低存储介质成本,故被广泛研究。AI算法通过学习数据分布规律并根据数据规律进行压缩,具有压缩率高等有点,具备良好的研究和应用前景。可逆流模型(Flow model)能准确拟合概率分布,理论压缩比高,但由于浮点误差问题,不能直接用于无损压缩任务。本方案第一次提出基于保体积流模型(volume preserving flow)的无损压缩方法吗,具有压缩率高,压缩吞吐率大的优点。首先,设计保体积流算子的数值计算方法,消除数据和待压缩隐变量的误差,保证无损压缩正确性;其次,设计基于保体积流模型的压缩和解压算法,它能达到最优的理论压缩率上界,压缩比高,压缩吞吐率高。本方法在图像数据集取得了最优的压缩率性能。CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models解耦表征学习旨在寻找低维的、由多个可解释因子组成的观测数据的隐表征。常用的变分自动编码器(VAE)的框架假设因子是独立的。然而,在实际场景中,具有语义的因素并不是必然独立的。相反,可能有一个潜在的描述这些因素相互依赖的因果结构。因此,我们提出了一个新的基于VAE的框架,名为因果VAE,其中包括带有因果结构的神经层,以此找到数据中的因果相关概念。在华为解耦数据集和真实数据集CelebA的实验表明,因果VAE学习的是语义上可解释的隐表征。我们可以控制某些语义因子,他们之间的信息可以通过表征之间的因果关系正确传递,生成反事实图片。本文来源:https://mp.weixin.qq.com/s/HeQbRdb4N7UJbKqD70qIyw
  • [技术干货] CVPR 2021华为诺亚方舟实验室发表30篇论文 |CVPR 2021
    一年一度的计算机视觉顶会IEEE计算机视觉及模式识别大会CVPR录用结果最近公布。据悉,今年CVPR投稿量与论文接收量相对往年继续上升,有效投搞量达7015篇,接收论文1663篇,接收率23.7%,与往年相比略有上升。华为诺亚方舟实验室此次有30篇论文被接收,包括两篇Oral,其中主要由正式或者实习员工完成的工作有24篇,主要由高校合作方完成的工作有6篇。研究方向涵盖模型压缩和能耗高效、神经网络搜索、语义理解、底层视觉、自动驾驶、无损数据压缩、可解释AI等多个方面。诺亚方舟实验室的这些文章,体现出工业界需求与学术前沿的紧密结合,围绕业务中的迫切需求,结合最新学术进展提出创新性解决方案,也让学术研究能够有具体落地。如这些文章中包含了去年AdderNet算法的继续演进AdderSR,以及最近广为流传的IPT网络等。下面挑选一些本次CVPR接收的代表性论文进行介绍。CVPR 2021代表性工作介绍AdderSR: Towards Energy Efficient Image Super-Resolution本论文研究使用加法网络解决图像超分的问题,降低超分网络的能耗。由于任务的属性不同,直接将加法网络应用到超分任务上损失严重,本文对该问题进行了深入分析。首先,加法算子难以学到恒等映射;除此之外,加法算子难以学到有效的高通滤波器,但是这两个特性对于图像处理任务非常重要。在此基础上,本文继而提出自连接加法单元和可学习的幂激活函数来调整特征分布、增强细节,有效解决该问题。实验表明,本文提出的加法超分网络可以有效减少2.5x能耗,并达到与原模型非常接近的效果。ReNAS: Relativistic Evaluation of Neural Architecture Search (Oral)一个有效的神经网络结构性能评估方案是神经网络结构搜索(NAS)成功的关键。现有NAS算法通常在训练时间有限的小型数据集上训练和评估神经结构。但这样一种粗糙的评估方式很难对神经网络结构进行准确评估。本文提出一种新的神经网络结构评价方案,旨在确定哪个神经网络结构的性能更好,而不是精确地预测性能绝对值。因此,我们提出了一个结构相对性能预测NAS (ReNAS)。我们将神经结构编码为特征张量,并利用预测器进一步细化表示。本方法可用于离散搜索,无需额外评估。在NASBench101数据集上抽样424个(搜索空间的0.1%)神经架构及其标签已经足够学习一个准确的架构性能预测器。在NAS-Bench-101和NAS-Bench-201数据集上,我们搜索的神经结构的准确性高于最新的方法,显示了本方法的优先性。Transformation Invariant Few-Shot Object Detection不同于以往基于元学习的小样本物体检测框架,本文从样本扩增的角度解决这一问题。本文提出了一种简单而有效的变换不变原则,它可以灵活地应用于各种元学习模型,以提高新类物体的检测性能。该方法通过对变换后图像的预测结果引入一致性正则,增强小样本物体检测模型的泛化能力。重要的是,这一方法可以处理未标记数据,从而解决半监督小样本物体检测问题。实验表明,本文提出的方法在标准小样本物体检测和半监督小样本物体检测上均有效。Joint-DetNAS: Upgrade Your Detector with NAS,Pruning and Dynamic DistillationJoint-DetNAS是一个融合了NAS、剪枝以及蒸馏的目标检测模型优化算法,由两个主要部分组成:a) 构建弹性教师模型池:通过一次渐进式收缩训练获得大量高质量模型,用于支撑教师模型搜索b)学生-教师网络联合优化:通过交迭搜索,动态寻找最优蒸馏组合。学生网络采用Network Morphism策略, 有效融合模型结构演化和剪枝技术。算法直接输出学生模型作为结果,无需额外训练。Joint-DetNAS搜索高效且优化效果显著:如对于R101-FPN模型,在FPS及FLOPS优化 50%的情况下,仍能有2.5%的AP提升。TransNAS-Bench-101: Improving Transferrability and Generalizability of Cross-Task Neural Architecture Search神经网络架构搜索(NAS)的最新突破将该领域的研究范围扩展到了更广泛的视觉任务和更多样化的搜索空间。现有的NAS方法大多是在单个任务上进行搜索,而跨任务搜索的算法正在涌现。为了降低计算成本和实验复杂性对跨任务算法研究的阻碍,本论文提出了TransNAS-Bench-101基准测试数据集。该数据集涵盖了图像分类、语义分割、自编码器等七个不同的视觉任务,并探索了两类不同的搜索空间:Cell-based搜索空间和Macro-based搜索空间。通过7,352个backbone在七个任务上的训练,我们提供了51,464个模型的详细训练数据。我们希望借助TransNAS-Bench-101来鼓励跨任务的NAS算法的出现,从而将跨任务搜索的效率和通用性提高到新的水平。Pre-Trained Image Processing Transformer随着现代硬件计算能力的快速增强,在大规模数据集上预训练的Transformer模型(例如BERT,GPT-3)表现出了巨大的潜力和超越传统模型的效果。我们提出了一种可用于底层视觉任务(例如,去噪,超分辨率和去雨)的预训练Transformer模型(IPT)。为了最大程度地挖掘Transformer的能力,我们利用具有大量自然图像的ImageNet数据集生成大量降质图像对,并在这些图像上使用多头和多尾机制对IPT模型进行预训练。另外,我们还引入了对比学习以来提升模型的泛化性能。我们提出的IPT模型可以在迅速微调后有效地用于不同的底层视觉任务中,并在多项任务上取得了SOTA的结果。Efficient Multi-Stage Video Denoising with Recurrent Spatio-Temporal Fusion论文提出了极简的视频去噪网络EMVD,旨在通过结合传统图像处理和深度学习构造高能效的像素级视频处理框架。基于时序融合、空间去噪和时空精细化等多阶段设计,结合可逆可学习变换,既递归地利用视频中自然固有的时空相关性渐进改善视频质量,又大大降低模型的复杂度。通过业界公开数据集和真实数据集评测,计算量仅5.38GFLOPS的EMVD精度和视觉效果超过300多倍计算量的SOTA网络模型,在硬件资源有限的终端设备上处理1080P视频可达50FPS,业界首次在终端设备上实现实时的高分辨率视频AI降噪算法。深度学习领域的图像降噪方法往往需要噪声图像和相应的干净图像配对来训练,然而在真实场景中构造训练配对是十分困难的。我们提出Neighbor2Neighbor:通过近邻采样,从含噪图像采样出两张“相似但不相同”的子图以构成配对数据来训练降噪网络,其中两张子图每个位置对应的像素在原噪声图像中都是近邻像素;同时,在损失函数中引入正则项来修正两张近邻子图“相似但不相同”导致的过度平滑问题。本方法仅需噪声图像数据集即可训练任意降噪网络,在RGB域合成数据和RAW域真实含噪图像数据集上均表现出优秀的降噪效果,性能接近基于“噪声-干净”图像配对进行训练的模型。相比于现有的自监督图像降噪方法,本方法既不需要构造配对数据的采集过程,也不需要改造网络结构,同时无需额外的噪声模型信息,在暗光人脸拍照、夜间户外拍照、医学图像降噪等场景具有较高的应用潜力。Focus on Local: Detecting Lane Marker from Bottom Up via Key Point当前车道线检测的主流方向分为基于分割和基于检测的方法两大类。前者生成像素级的语义类别并通过聚类生成不同实例的曲线,后者由每个锚点预测整根曲线,这两种方法都直接建模全局信息,存在聚类容易产生误差以及远端预测不准的问题。受到人体位姿估计方法的启发,我们首次将车道线检测转化为局部关键点估计及其关联问题,用距离信息建模局部关联关系。车道线局部建模相对于全局建模更加简单,复杂度更低,泛化性能更好。我们采用两个轻量化的模型,在车道线检测公开数据集CULane和TuSimple上取得了新的SOTA结果,另外在跨数据集的泛化性能上也展现出了相当大的优越性。综上,我们的方法证明了位姿估计方法在车道线检测中的应用潜力,为解决这一问题开辟了新的方向。AF2-S3Net: Attentive Feature Fusion with Adaptive Feature Selection for Sparse Semantic Segmentation Network激光雷达点云的语义分割可视为自动驾驶的基石功能之一,精确的分割结果可以辅助物体检测、定位等核心感知任务。针对LiDAR语义分割问题,AF2S3Net以3D稀疏神经网络为框架,通过多分支、多层级主动特征融合实现了全局空间语义与局部细节的动态叠加,在单个网络中实现了单点网络与3D卷积网络的有机统一。同时为了降低特征融合后产生的梯度噪声,各分支原始特征被投票后送入特征选择模块,该模块通过压缩赋权过滤了部分噪声特征列向量,从而进一步提升了网络稳定性和泛化能力。在SemanticKITTI和nuScenes两大重量级LiDAR数据集语义分割竞赛排行榜上,AF2S3Net斩获双料冠军。QPP: Real-Time Quantization Parameter Prediction for Deep Neural Networks深度神经网络的权重和特征的量化可以降低能耗,提升计算效率,有助于促进其在手机等设备上的应用。量化感知训练的方法通常可以达到较好的效果,但是需要完整的数据集,但是这一点很多情况下难以满足。非训练量化的方法通常需要一个比较耗时的量化参数计算过程,否则量化精度损失比较严重。本文提出一种量化参数预测的算法,称为QPP。通过部分训练数据或者无标签数据的学习,QPP预测器在给定网络输入的情况下可以准确预测激活值的量化参数。预测器在避免复杂计算的同时有效保持了原始模型的精度。因此,本文的方法结合了动态量化和静态量化的优点。本文将QPP算法用在两个标准的动态量化算法上,并在分类、分割、超分等视觉任务上进行了广泛的验证。iVPF: Numerical Invertible Volume Preserving Flows for Lossless Compression在存储领域,高效无损压缩由于可以有效降低存储介质成本,故被广泛研究。AI算法通过学习数据分布规律并根据数据规律进行压缩,具有压缩率高等有点,具备良好的研究和应用前景。可逆流模型(Flow model)能准确拟合概率分布,理论压缩比高,但由于浮点误差问题,不能直接用于无损压缩任务。本方案第一次提出基于保体积流模型(volume preserving flow)的无损压缩方法吗,具有压缩率高,压缩吞吐率大的优点。首先,设计保体积流算子的数值计算方法,消除数据和待压缩隐变量的误差,保证无损压缩正确性;其次,设计基于保体积流模型的压缩和解压算法,它能达到最优的理论压缩率上界,压缩比高,压缩吞吐率高。本方法在图像数据集取得了最优的压缩率性能。CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models解耦表征学习旨在寻找低维的、由多个可解释因子组成的观测数据的隐表征。常用的变分自动编码器(VAE)的框架假设因子是独立的。然而,在实际场景中,具有语义的因素并不是必然独立的。相反,可能有一个潜在的描述这些因素相互依赖的因果结构。因此,我们提出了一个新的基于VAE的框架,名为因果VAE,其中包括带有因果结构的神经层,以此找到数据中的因果相关概念。在华为解耦数据集和真实数据集CelebA的实验表明,因果VAE学习的是语义上可解释的隐表征。我们可以控制某些语义因子,他们之间的信息可以通过表征之间的因果关系正确传递,生成反事实图片。本文来源:https://mp.weixin.qq.com/s/HeQbRdb4N7UJbKqD70qIyw
  • [资产园地] 人脸检测-RetinaFace 支持Pytorch, GPU训练, 支持CPU,GPU推理
    描述RetinaFace(人脸检测/Pytorch)注:本算法支持多卡训练、单卡混合精度训练,但在多卡情况下不支持混合精度1. 概述此模型基于RetinaFace: Single-stage Dense Face Localisation in the Wild中提出的模型结构实现,该算法会载入在WiderFace 上的预训练模型,在用户数据集上做迁移学习。我们提供了训练代码和可用于训练的模型,用于实际场景的微调训练。训练后生成的模型可直接在ModelArts平台部署成在线服务。人脸检测的评估手段一般使用mAP指标,详细说明请参考:https://github.com/Cartucho/mAP本算法的其他信息如下表所示:项目说明参考论文RetinaFace: Single-stage Dense Face Localisation in the Wild使用框架Pytorch-1.4.0训练集WIDERFACE 中的 WIDER_train训练总epoch数100训练batch_size使用混合精度单卡训练,batch_size=16训练硬件及耗时单卡v100,O1混合精度,训练大约31小时测试集WIDERFACE 中的WIDER_val推理硬件及速度CPU 10.3s/pic ,GPU2080ti 0.5s/pic–1.5s/pic ,modelarts平台V100 GPU:3226张图片总共耗时24分钟(target_size = 1600,max_size = 2150)输入图像尺寸训练:1024*1024 推理:target_size = 1600,max_size = 2150(保证图片等比例缩放,使用最小一条边缩放到target_size的缩放比例;如果此时最大边超过了max_size,则使用最大边缩放到max_size的缩放比例)原论文准确率RetinaFace-R50 Easy 96.5, Medium 95.6, Hard 90.4本算法准确率RetinaFace-R50 Easy 95.52, Medium 94.43, Hard 90.062、训练2.1. 算法基本信息任务类型:人脸检测支持的框架引擎:PyTorch-1.4.0-python3.6算法输入:存储在OBS上的数据集,必须按照WIDERFACE 数据集的格式进行存储,详情请查看下文第4节案例指导WIDERFACE 预训练模型,在WIDERFACE 上的mAP是 Easy 95.52, Medium 94.43, Hard 90.06算法输出:用于Pytorch推理的pth模型,CPU推理速度:10.3s/pic GPU2080ti推理速度:0.5s/pic–1.5s/pic ,modelarts平台V100 GPU:3226张图片总共耗时24分钟(target_size = 1600,max_size = 2150)2.2. 训练参数说明名称默认值类型是否必填是否可修改描述data_urldata/WIDERFACE/WIDER_trainstring是是训练或者评估输入的数据集 (如果使用文件夹形式的数据,则填写该文件夹在OBS上的访问路径;如果使用zip压缩包形式的数据,则填写该压缩包的父目录在OBS上的访问路径)train_urloutput/string是是训练或者评估结果输出路径data_formatzipstring否是可选值zip(上传数据为zip压缩包)或者dir(上传数据为目录形式),压缩包和目录的具体格式请查看下面《ModelArts AI市场算法RetinaFace使用指导》所附连接networkresnet50string否是模型的backbone网络,可选值 mobile0.25 、resnet50 或者resnet152num_workers1int否是数据加载的worker数量lr0.001string否是训练的初始学习率momentum0.9string否是优化器的动量系数load_weightweight/best_model.pthstring否是可加载的预训练模型,当eval=True时,该参数为必填项 ;默认值是以resnet50为backbone在WiderFace数据集上的预训练模型,该预训练模型已经包含在本算法中weight_decay0.0005string否是优化器中的正则化权重衰减量gamma0.1string否是分段衰减学习率中每次学习率衰减的比例(new_lr=lr*gamma),仅当use_cosine_decay=False该参数有效img_size1024int否是训练数据的分辨率confidence_threshold0.02string否是nms时的置信度阈值nms_threshold0.4string否是nms时的IOU阈值num_gpu1int否是当num_gpu=1时,使用单个GPU训练;当num_gpu>1时,使用机器上所有的GPU进行训练batch_size16int否是训练时的batch_size,可根据GPU的显存进行调整epoch100int否是训练的epoch数量use_backboneTruestring否是训练时是否使用backbone网络在ImageNet数据集上的预训练参数use_mixedTruestring否是是否使用混合精度进行训练,使用混合精度一定程度上可以降低显存消耗,也可能提高训练速度amp_levelO1string否是混合精度的设置,可选值:O0,O1,O2,O3warmup_epoch10int否是训练开始时,使用warmup学习率的epoch数量,warmup_epoch=-1表示不使用warmupdecay150int否是分段衰减学习率的第一次学习率降低的epoch数,仅当use_cosine_decay=False时有效decay280int否是分段衰减学习率的第二次学习率降低的epoch数,仅当use_cosine_decay=False时有效use_cosine_decayTruestring否是是否使用余弦衰减学习率,设置为False则使用分段衰减学习率optimizersgdstring否是sgd 或者 adam优化器evalFalsestring否是eval=True,则进行评估;eval=False进行训练2.3. 训练输出文件训练完成后的输出文件如下:|- RetinaFace_Resnet50_Final.pth |- deploy_scripts |- model |- data |- layers |- models |- retinaface_utils |- config.json |- customize_service.py |- save_model.pth3. GPU/CPU推理元模型来源 选择 保存在OBS上的对应路径下的deploy_scripts文件夹。注意:推理配置文件model/config.json中的runtime字段为pytorch1.4-python3.6,表示该模型可同时在CPU或GPU运行。4. 案例指导本算法的详细使用方法,请查看《ModelArts AI Gallery算法RetinaFace使用指导》。交付交付方式华为云ModelArts交付区域华北-北京一、华北-北京四、华东-上海一、华南-广州、亚太-**
  • [技术干货] 不用卷积,也能生成清晰图像,华人博士生首次尝试用两个Transformer构建一个GAN
    最近,CV 研究者对 transformer 产生了极大的兴趣并取得了不少突破。这表明,transformer 有可能成为计算机视觉任务(如分类、检测和分割)的强大通用模型。我们都很好奇:在计算机视觉领域,transformer 还能走多远?对于更加困难的视觉任务,比如生成对抗网络 (GAN),transformer 表现又如何?在这种好奇心的驱使下,德州大学奥斯汀分校的 Yifan Jiang、Zhangyang Wang,IBM Research 的 Shiyu Chang 等研究者进行了第一次试验性研究,构建了一个只使用纯 transformer 架构、完全没有卷积的 GAN,并将其命名为 TransGAN。与其它基于 transformer 的视觉模型相比,仅使用 transformer 构建 GAN 似乎更具挑战性,这是因为与分类等任务相比,真实图像生成的门槛更高,而且 GAN 训练本身具有较高的不稳定性。论文链接:https://arxiv.org/pdf/2102.07074.pdf代码链接:https://github.com/VITA-Group/TransGAN从结构上来看,TransGAN 包括两个部分:一个是内存友好的基于 transformer 的生成器,该生成器可以逐步提高特征分辨率,同时降低嵌入维数;另一个是基于 transformer 的 patch 级判别器。研究者还发现,TransGAN 显著受益于数据增强(超过标准的 GAN)、生成器的多任务协同训练策略和强调自然图像邻域平滑的局部初始化自注意力。这些发现表明,TransGAN 可以有效地扩展至更大的模型和具有更高分辨率的图像数据集。 实验结果表明,与当前基于卷积骨干的 SOTA GAN 相比,表现最佳的 TransGAN 实现了极具竞争力的性能。具体来说,TransGAN 在 STL-10 上的 IS 评分为 10.10,FID 为 25.32,实现了新的 SOTA。 该研究表明,对于卷积骨干以及许多专用模块的依赖可能不是 GAN 所必需的,纯 transformer 有足够的能力生成图像。 在该论文的相关讨论中,有读者调侃道,「attention is really becoming『all you need』.」不过,也有部分研究者表达了自己的担忧:在 transformer 席卷整个社区的大背景下,势单力薄的小实验室要怎么活下去?如果 transformer 真的成为社区「刚需」,如何提升这类架构的计算效率将成为一个棘手的研究问题。基于纯 Transformer 的 GAN作为基础块的 Transformer 编码器 研究者选择将 Transformer 编码器(Vaswani 等人,2017)作为基础块,并尽量进行最小程度的改变。编码器由两个部件组成,第一个部件由一个多头自注意力模块构造而成,第二个部件是具有 GELU 非线性的前馈 MLP(multiple-layer perceptron,多层感知器)。此外,研究者在两个部件之前均应用了层归一化(Ba 等人,2016)。两个部件也都使用了残差连接。内存友好的生成器NLP 中的 Transformer 将每个词作为输入(Devlin 等人,2018)。但是,如果以类似的方法通过堆叠 Transformer 编码器来逐像素地生成图像,则低分辨率图像(如 32×32)也可能导致长序列(1024)以及更高昂的自注意力开销。 所以,为了避免过高的开销,研究者受到了基于 CNN 的 GAN 中常见设计理念的启发,在多个阶段迭代地提升分辨率(Denton 等人,2015;Karras 等人,2017)。他们的策略是逐步增加输入序列,并降低嵌入维数。 如下图 1 左所示,研究者提出了包含多个阶段的内存友好、基于 Transformer 的生成器: 每个阶段堆叠了数个编码器块(默认为 5、2 和 2)。通过分段式设计,研究者逐步增加特征图分辨率,直到其达到目标分辨率 H_T×W_T。具体来说,该生成器以随机噪声作为其输入,并通过一个 MLP 将随机噪声传递给长度为 H×W×C 的向量。该向量又变形为分辨率为 H×W 的特征图(默认 H=W=8),每个点都是 C 维嵌入。然后,该特征图被视为长度为 64 的 C 维 token 序列,并与可学得的位置编码相结合。 与 BERT(Devlin 等人,2018)类似,该研究提出的 Transformer 编码器以嵌入 token 作为输入,并递归地计算每个 token 之间的匹配。为了合成分辨率更高的图像,研究者在每个阶段之后插入了一个由 reshaping 和 pixelshuffle 模块组成的上采样模块。 具体操作上,上采样模块首先将 1D 序列的 token 嵌入变形为 2D 特征图,然后采用 pixelshuffle 模块对 2D 特征图的分辨率进行上采样处理,并下采样嵌入维数,最终得到输出。然后,2D 特征图 X’_0 再次变形为嵌入 token 的 1D 序列,其中 token 数为 4HW,嵌入维数为 C/4。所以,在每个阶段,分辨率(H, W)提升到两倍,同时嵌入维数 C 减少至输入的四分之一。这一权衡(trade-off)策略缓和了内存和计算量需求的激增。研究者在多个阶段重复上述流程,直到分辨率达到(H_T , W_T )。然后,他们将嵌入维数投影到 3,并得到 RGB 图像。用于判别器的 tokenized 输入与那些需要准确合成每个像素的生成器不同,该研究提出的判别器只需要分辨真假图像即可。这使得研究者可以在语义上将输入图像 tokenize 为更粗糙的 patch level(Dosovitskiy 等人,2020)。 如上图 1 右所示,判别器以图像的 patch 作为输入。研究者将输入图像分解为 8 × 8 个 patch,其中每个 patch 可被视为一个「词」。然后,8 × 8 个 patch 通过一个线性 flatten 层转化为 token 嵌入的 1D 序列,其中 token 数 N = 8 × 8 = 64,嵌入维数为 C。再之后,研究者在 1D 序列的开头添加了可学得位置编码和一个 [cls] token。在通过 Transformer 编码器后,分类 head 只使用 [cls] token 来输出真假预测。 实验 CIFAR-10 上的结果 研究者在 CIFAR-10 数据集上对比了 TransGAN 和近来基于卷积的 GAN 的研究,结果如下表 5 所示: 如上表 5 所示,TransGAN 优于 AutoGAN (Gong 等人,2019) ,在 IS 评分方面也优于许多竞争者,如 SN-GAN (Miyato 等人, 2018)、improving MMDGAN (Wang 等人,2018a)、MGAN (Hoang 等人,2018)。TransGAN 仅次于 Progressive GAN 和 StyleGAN v2。对比 FID 结果,研究发现,TransGAN 甚至优于 Progressive GAN,而略低于 StyleGANv2 (Karras 等人,2020b)。在 CIFAR-10 上生成的可视化示例如下图 4 所示:STL-10 上的结果研究者将 TransGAN 应用于另一个流行的 48×48 分辨率的基准 STL-10。为了适应目标分辨率,该研究将第一阶段的输入特征图从(8×8)=64 增加到(12×12)=144,然后将提出的 TransGAN-XL 与自动搜索的 ConvNets 和手工制作的 ConvNets 进行了比较,结果下表 6 所示:与 CIFAR-10 上的结果不同,该研究发现,TransGAN 优于所有当前的模型,并在 IS 和 FID 得分方面达到新的 SOTA 性能。高分辨率生成由于 TransGAN 在标准基准 CIFAR-10 和 STL-10 上取得不错的性能,研究者将 TransGAN 用于更具挑战性的数据集 CelebA 64 × 64。 TransGAN-XL 的 FID 评分为 12.23,这表明 TransGAN-XL 可适用于高分辨率任务。可视化结果如图 4 所示。局限性虽然 TransGAN 已经取得了不错的成绩,但与最好的手工设计的 GAN 相比,它还有很大的改进空间。在论文的最后,作者指出了以下几个具体的改进方向:对 G 和 D 进行更加复杂的 tokenize 操作,如利用一些语义分组 (Wu et al., 2020)。使用代理任务(pretext task)预训练 Transformer,这样可能会改进该研究中现有的 MT-CT。更加强大的注意力形式,如 (Zhu 等人,2020)。更有效的自注意力形式 (Wang 等人,2020;Choromanski 等人,2020),这不仅有助于提升模型效率,还能节省内存开销,从而有助于生成分辨率更高的图像。作者简介本文一作 Yifan Jiang 是德州大学奥斯汀分校电子与计算机工程系的一年级博士生(此前在德克萨斯 A&M 大学学习过一年),本科毕业于华中科技大学,研究兴趣集中在计算机视觉、深度学习等方向。目前,Yifan Jiang 主要从事神经架构搜索、视频理解和高级表征学习领域的研究,师从德州大学奥斯汀分校电子与计算机工程系助理教授 Zhangyang Wang。 在本科期间,Yifan Jiang 曾在字节跳动 AI Lab 实习。今年夏天,他将进入 Google Research 实习。 一作主页:https://yifanjiang.net/ 参考链接:https://www.reddit.com/r/MachineLearning/comments/ll30kf/r_transgan_two_transformers_can_make_one_strong/ 本文转自: https://www.jiqizhixin.com/articles/2021-02-17
  • [技术干货] 密恐警告:超2000万张,全球最大的人眼图像数据集开源了
    涵盖 2D 和 3D 特征点、语义分割、3D 眼球注释以及注视向量和眼动类型等因素,德国图宾根大学的研究者创建了全球最大的人眼图像公开数据集——TEyeD。在当今世界,基于图像的眼动追踪(eye tracking)变得越来越重要,这是因为人眼运动有可能变革我们与周围计算机系统交互的方式。此外,眼动的方式可以识别甚至在某种程度上预测我们的行动和意图,所以眼动分析可以赋能新的应用,特别是与 VR 或 AR 等现代显示技术结合时。例如,人眼注视(gaze)信号连同人机交互的可能性,使得残疾人能够借助专门为其疾症设计的特殊设备来与环境进行交互。在手术显微镜的应用场景中,外科医生必须进行多种控制行为,这时视觉信号可以用于自动对焦。人眼注视行为还可用于诊断精神分裂症、自闭症、阿尔茨海默症、青光眼等多种疾病。在 VR 或 AR 游戏中,人眼注视信号可用于减少渲染资源的计算。除了人眼注视信息以外,对人眼的观察还可以带来更多信息源。例如人眼闭合的频率可用于衡量人的疲劳程度,这是汽车驾驶和航空飞行场景中的一种有效安全特征。另一个重要的信息源是瞳孔大小,它可以作为估计指定任务中人们认知负荷的基础,然后调整内容(如基于媒介的学习)以更好地适应人的精神状态。最后,借助虹膜特征以及个人的人眼注视行为,人眼相关的信息可以在生物识别过程中得到应用。近日,来自德国图宾根大学的研究者创建了世界上最大的、统一人眼图像公开数据集 TEyeD,这些图像均通过头戴式设备拍摄获取。具体而言,TEyeD 的创建过程中使用了七种不同的头戴式眼动追踪器,其中两个还结合了 VR 或 AR 设备。TEyeD 中的图像在不同的任务场景中获得,包括乘车、模拟飞行、户外体育运动以及日常室内活动。此外,数据集中的人眼图像包括 2D 和 3D 特征点、语义分割、3D 眼球注释以及注视向量(gaze vector, GV)和眼动类型。对瞳孔、虹膜和眼睑均提供了特征点和语义分割,视频长度从几分钟到几小时不等。TEyeD 数据集拥有 2000 多万张精心注释的人眼图像,为推动现代 VR 和 AR 应用中计算机视觉、眼动追踪和注视估计领域的研究提供了独特且一致的资源和良好的基础。论文地址:https://arxiv.org/pdf/2102.02115.pdf与现有数据集的对比下表 1 列出了包含人眼特写图像的现有数据集。每个数据集处理特定的问题,例如 Casia 和 Ubiris 数据集借助虹膜识别个人。在 NNVEC 中,对光学向量和眼球位置的直接估计可以补偿头戴式眼动追踪器的位移。TEyeD 通过使用 7 种分辨率不同的眼动追踪器结合并扩展了以前发布的数据集,合并了现有数据集提供的所有可用注释,并通过 3D 分割和特征点扩展了这些数据集。更具体地说,TEyeD 集成的数据集包括 NNGaze、LPW、GIW、ElSe、ExCuSe 和 PNET。此外,来自研究 [69] 的完整数据也得到了精心注释。TEyeD 一共包含 2000 多万张图像,是全球最大、利用头戴式眼动追踪器拍摄的图像数据集。数据集详情下图 1 展示了 TEyeD 数据集中的示例图像。具体而言,第 1 和第 5 列包含输入图像;第 2 和第 6 列的人眼图像展示了巩膜、虹膜和瞳孔的叠加分割(overlaid segmentation);第 3 和第 7 列展示了输入图像的特征点,其中红色表示眼睑、绿色表示虹膜、白色表示瞳孔;第 4 和第 8 列展示了计算出的眼球以及眼球中心和注视向量。下图 2 展示了瞳孔(左)、虹膜(中)和眼睑(右)特征点的对数分布:下图 3 展示了瞳孔、虹膜和巩膜的区域分布箱形图(左),以及注视向量的对数分布(右):下图 4 展示了眼球位置 (x,y) 的分布,以及映射到固定分辨率 192×144 的眼球半径(以像素为单位)箱形图:注释过程对于 TEyeD 数据集中的特征点注释和语义分割,研究者同时使用了半监督方法和多注释 maturation (MAM) 算法。与原始算法不同,他们没有用 SVM,而是将卷积神经网络(CNN)与 HOG 特征相结合。此外,研究者还将迭代次数限制在了 5 次,并使用两个竞争模型。其中一个模型包含 ResNet50,并使用 [36] 中的验证损失函数进行特征点回归训练;对于另一个模型,他们将语义分割与 U-Net 和残差块一起训练。最初,研究者对 2 万张具有特征点的图像进行了注释,并将它们转化成语义分割。然后,他们训练 CNN 并利用 MAM 算法不断进行改进。在 5 次迭代后,ResNet50 特征点转化成了语义分割并与 U-Net 结果进行对比。具体而言,研究者基于 [30] 中的方法对 3D 眼球和光学向量进行了注释。但是,他们没有使用椭圆形瞳孔,而是使用了椭圆形虹膜,这是因为后者仅受角膜曲率(corneal refraction)的部分影响。通过结合 2D 特征点、分割和 3D 眼球模型,研究者对 3D 特征点和分割进行了几何计算。由于瞳孔总是位于虹膜的中心,他们考虑了两种不同的 3D 分割和 3D 特征点。眼动注释则分为了注视(眼球静止不动)、扫视(两次注视之间的快速眼动)、平滑跟随(缓慢眼动)和眨眼。基准评估在实验中,研究者将数据分成训练集和验证集。为了避免训练和验证集中出现相同的实验对象,他们将整个记录分配给训练集和验证集的其中一个。对于评估环境,研究者将基于 C ++ 的 CuDNN 框架用于神经网络模型。测试环境硬件包括一个 4 核心、16GB DDR4 内存的 Intel i5-4570 CPU 和一个 4 GB 内存的 NVIDIA 1050ti。下表 3 显示了特征点回归的结果。结果表明,如预期一样,较大模型在回归任务上更加有效。下表 4 得出了同样的结论,其中显示了眼球参数估计的结果:如上表 3 和 4 所示,与现有规模较小的数据集相比,我们可以看到 TEyeD 数据集具有明显优势。这些结果还表明,如预期的那样,对现实世界场景中拍摄的图像进行跨眼球追踪(cross-eye-tracker)泛化是一项具有挑战性的任务,但通过结合使用 TEyeD 与更复杂的架构可以处理这项任务。因此,无论何时使用一种新的眼动追踪设备都可以轻松解决跨眼球追踪泛化任务,并且无需创建和注释新数据。下图 5 显示了语义分割的结果:下表 6 显示了眼动识别的结果。可以看到,注视向量在眼动分类中更加有效,因为它对眼动追踪器的位移做出了补偿。
  • [技术干货] NeurIPS 2020|华为诺亚方舟实验室提出基于科学控制法的神经网络剪枝方法
    华为诺亚方舟实验室联合北京大学、悉尼大学发布论文《SCOP: Scientific Control for Reliable Neural Network Pruning》提出基于科学控制法的神经网络剪枝方法。在精度几乎无损情况下,网络计算量减小60%以上,论文已经发表在NeurIPS 2020。开源链接:https://github.com/huawei-noah/Pruning/tree/master/SCOP_NeurIPS2020论文链接:https://proceedings.neurips.cc/paper/2020/file/7bcdf75ad237b8e02e301f4091fb6bc8-Paper.pdf研究背景卷积神经网络(CNN)已在大规模计算机视觉应用中得到了广泛的使用并取得了巨大的成功,但是由于对计算能力和内存要求很高,很难将这些CNN部署在移动电话、可穿戴设备等边缘设备上。卷积核修剪方法会删除整个卷积核,无需特定的软件和硬件设计即可实现实际的加速。传统的卷积核修剪方法可以主要分为两类。第一类方法不需要训练数据,通过定义一些卷积核重要性的假设,来判定不同卷积核的重要性。比如,一个典型的假设是范数小的卷积核不重要,砍掉一些范数小的卷积核不会太多地影响网络的表现。还有一类方法是数据驱动的方法,引入训练数据来学习不同卷积核的重要性。比如通过给每个卷积核引入额外的控制系数,通过学习这些控制系数来度量不同卷积核的重要性,小的控制系数对应的卷积核被认为不重要。但是,在基于特定假设以衡量过滤器重要性时,不可避免地会引入大量潜在因素,这可能会干扰剪枝过程。例如,不同通道之间的依赖性可能会误导那些基于范数的方法,因为某些特征或者过滤器不包含有用的信息,但具有较大的范数。对于一些数据驱动的方法,卷积核的重要性可能对输入数据的细微变化非常敏感,从而导致不稳定的结果结果。实际上,更多的潜在因素伴随着特定的修剪方法,并且还取决于不同的场景,在设计修剪方法时单独枚举和分析它们是不太现实的。因此,本文提出了一个基于科学控制法(Scientific Control)的神经网络剪枝方法,通过设置对照实验,同时减少各种无关因素的对剪枝过程的干扰,提高剪枝结果的可靠性。高仿特征高仿特征是一些生成的特征,它们和真实特征在分布上相似,但几乎不包含与目标相关的信息,定义如下:定义1 给定真实特征, 它们的高仿版本是和有相同形状的随机特征,它们满足以下(1)可交换性和(2)独立性两个条件:对于所有的,都成立。(1)式表明高仿特征和真实特征十分相似,(2)式表明高仿特征独立于样本标签的预测过程。直观地,高仿特征和真实特征的唯一不同在于是否和样本标签有关,因此可以把高仿特征作为真实特征的对照,通过比较这两种特征,挖掘卷积核的冗余性。基于科学控制法的网络剪枝在生成高仿数据之后,将真实数据和高仿数据同时输入到一个预训练的网络中,分别生成真实特征和高仿特征。我们将高仿特征和真实特征放到一起,作为第(l+1)层的输入,然后设计一个选择策略来从他们之中选择和目标相关的特征。这里E表示损失函数,Y是真实数据的标签。真实特征和其高仿副本分别是网络对真实数据和高仿数据的响应,但高仿副本不包含有关标签的信息。在这里,真实特征被视为实验组,它与网络输出的关系需要被挖掘;而高仿特征则作为控制组,用来最大程度地减少潜在无关因素的影响。为了在一个预训练的深度神经网络有效的卷积核,我们在网络中的每个卷积层之后插入一个选择层,这里是真实特征和高仿特征的控制系数,他们满足约束条件是激活函数,表示卷积操作,是按元素的乘法。除了真实特征之外,高仿特征也有机会参与到之后特征图的计算,它参与的程度取决于取决于控制系数。在实际应用中,我们可以通过同时将真实数据同时输入到网络来获得真实特征因此,可以通过将真实数据及其仿射实验和SOTA方法的比较我们在基准数据集CIFAR-10和大规模ImageNet(ILSVRC-2012)数据集进行大量实验,验证提出方法的有效性。CIFAR-10数据集包含来自10类的60kRGB图像,用于训练的50k图像和用于测试的10k。Imagenet(ILSVRC-2012)是一个大型数据集,包含128万个训练图像和来自1000个类别的50k验证图像。表1和表2的结果显示,我们的方法均取得了超越传统方法的性能。高仿数据可视化下图直观地显示了真实数据和它们相应的高仿数据。真实数据包含和真实标签有关(比如鱼类)的信息,这些信息可以被神经网络充分利用来识别目标。生成的高仿数据与真实图像十分相似,但是不包含目标信息,因此它们几乎不能提供有效的信息。真实特征和高仿特征的频率分布直方图如(c)所示,可以看出真实特征和高仿特征在分布上十分相似。本文来源:https://mp.weixin.qq.com/s/j2GHtGHr3aDBHV4riJ-yyw
  • [技术干货] 深度学习领域最常用的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
总条数:945 到第
上滑加载中