2018年8月31日星期五

一块玻璃也可以是相机,新型无镜头相机助力计算机视觉

以前的相机配备自己的专门设备,如镜头和胶卷,而且照相得去照相馆。后来,手机、平板电脑、笔记本电脑和视频游戏机都有了自己的照相功能。现在,相机似乎会在某天变得和玻璃一样不显眼,甚至它都不再需要镜头。

根据新的研究,压在窗户边缘的光电探测器可以检测玻璃内部的反射光,就像光信号穿过光缆一样。对检测到的微小光线进行一些巧妙的处理,可以让玻璃面板成为一个巨大的照相机镜头。

由这种相机产生的粒状图像(想象一下像素化、失真和分辨率较低的图像)虽然暂时还没法和传统相机的效果相比。但是对于很多计算机视觉任务来说,窗玻璃或一块汽车挡风玻璃拍摄的分辨率足以满足图像处理算法或神经网络所需的信息。

这是他们对 LED 阵列图像的拍摄效果:

其中左列是原始图像,中间列是图像传感器接收到的输入,右列是计算机重构后的图像。

犹他大学电气和计算机工程副教授 Rajesh Menon 说,现代照相机拍摄的图像中,其实有很多是我们用肉眼无法看到的。它们只能被用来处理安全的照相机算法或自动车辆图像传感器看到,而这些我们肉眼无法看到的图像正变得越来越多。

所以,Menon 问道,「如果机器相比人类能够看到的图像和视频更多,那我们为什么不考虑为机器重新设计相机呢?这样能让我们脱离之前的窘境,以非人类的角度来看待相机。」

换而言之,计算机视觉算法并不如人眼那样总需要高分辨率和高图像保真率。它们能从 Menon 和 Ganghun Kim 的「透明无镜头相机」中获得大量信息,即使它拍摄的图像质量并不高,这样成本和占用面积都会大量减小。他们的技术已经申请了专利,该技术对视觉媒介本身并没有要求,可以是玻璃、塑料或有机玻璃等。

他们将一个现成的光电探测器(8 分辨率、640×480 像素)连接到有机玻璃的边缘,平滑连接的边缘且准备与成像设备连接。他们随后在有机玻璃其余周边放置反光带。Menon 说他们可以在没有反光带的情况下成像,只不过反光带提高了信噪比。

对于这种概念验证,实验只需要保持简单的视野。他们在窗格前放置了一排尺寸为 32X32 的 LED 灯。然后,当 1024 束光各自被照亮时,他们观察到达光电探测器的信号。因此,来自 LED 阵列的任何图像,至少在一级近似中,将仅仅是每个点亮的单独 LED 灯信号的线性组合。

如果机器相比人类能够看到的图像和视频,那我们为什么不考虑为机器重新设计相机呢?——犹他大学,Rajesh Menon

Menon 表示,在这个项目中,他们开发了一种传统信号处理算法,它能够借助光电探测器接收的信号重构图像。他们把这一步称为「反转问题」,因为他们的算法利用复杂、混乱的信号作为输入,并利用探测器检测到的光子来生成可能的目标。

「我们正在检测「光子」在与特定目标对应的空间中的分布,」他表示,「我们喜欢看一对一的图。相机的原理正是如此。此处用到的是一对多的图,因此我们要解决反转问题。」

这也是这些玻璃面板「相机」与计算机视觉相关的项目完美契合的原因。图像质量和可分解的信息对于计算机视觉来说可能已经足够好了,但还不能(也许永远都不能)取代基于镜头、拍给人看的传统相机。

Menon 提到,他的团队目前正在开发一种机器学习算法用于学习更复杂的图像,如可以被检测并识别为数值的手写数字。他指出,该技术可能首先被应用在 VR 或 AR 眼镜中。这些眼镜的图像生成和图像展示硬件已然非常笨重,眼球追踪摄像头可能是个累赘。因此,如果能够用这款不带摄像头的透视相机就能追踪用户的眼动并获取足够优质的信息该有多好。

用一项品质远远低于当前最佳水平的技术作为突破听起来非常讽刺。但 Menon 表示,或许转变思维方式,重新设计在 AI 及图像处理系统中「足够优质」的技术可以让我们前进一大步。就像苍蝇的眼睛一样,AI 世界里最重要的不是单个数据的品质,而是数据源的增殖能力。

这也是为什么相机和玻璃板在未来数年会越来越接近的原因,至少对于计算机视觉算法来说是这样。

论文:Computational imaging enables a「see-through」lens-less camera

论文地址:https://ift.tt/2wsiZds

摘要:传统相机会遮挡需要记录的场景,而这里我们将一个图像传感器(没有镜头)放在透明窗口的边缘,并通过该窗口观察物体图像。这一过程首先可以通过图像传感器收集散射光,然后通过解光散射的逆问题来实现图像的重构。因此,我们能形成简单的图像,并且在物距 150mm、焦距 10mm 的情况下有 0.1 line-pairs/mm 的空间分辨率。我们进一步展示了两种物体的成像:LED 阵列和传统的 LCD 屏幕。最终,我们演示了彩色和视频成像。 

原文链接:https://ift.tt/2wmYgb6

]]> 原文: https://ift.tt/2PT6Gis
RSS Feed

机器知心


Unsubscribe from these notifications or sign in to manage your Email Applets.

IFTTT

深度学习预测地震余震:哈佛大学新研究登上Nature

大地震发生后的数周、数月内,周边地区经常会发生强烈余震,再次损害已经遭受破坏的社区,极大阻碍了恢复重建工作。

尽管科学家已经提出一些经验性规律(如 Bäth 定律和 Ohmori 定律)来描述余震的可能规模和时间,但是预测余震的位置相比之下更难。

受谷歌研究人员建议的启发,地球与行星科学教授 Brendan Meade 以及博士后 Phoebe DeVries 合作,利用人工智能技术尝试解决该问题。

两位研究者利用深度学习算法分析了全世界地震的数据库,试图预测可能发生余震的地点,他们开发出一个预测余震的系统,尽管准确率仍然不足,但显著优于随机预测。该研究成果已发表在 Nature 上。

Meade 说道:「人们想要了解关于地震的三个方面:地震发生的时间、规模和地点。在该研究之前,我们已经对地震发生时间和规模形成了一些经验性规律,现在我们致力于解决第三点:地点。」

「我很兴奋,机器学习有可能推动这类问题的解决。这是个很重要的问题,值得我们探究。」DeVries 称,「余震预测尤其适合机器学习,因为影响余震的物理现象如此之多,而机器学习恰好非常擅长厘清多个因素之间的关系。我认为我们仅仅触及了余震预测的表面……但这足以令人兴奋了。」使用人工智能神经网络预测余震的想法在几年前就已经提出,当时 Meade 在谷歌剑桥办公室进行学术休假。

Meade 称,当时他与一组研究人员共同研究一个相关问题,一位同事建议「深度学习」算法可能会使这个问题的处理更加简单。后来,Meade 与 DeVries 合作,DeVries 曾经使用神经网络将高性能的计算代码转换成可在笔记本电脑上运行的余震预测算法。

「我们的目标是完成这件事,我们希望能对这个问题的解决有所贡献。」Meade 说道。

为此,Meade 和 DeVries 首先评估了 199 多场大地震相关观察结果的数据库。

Meade 介绍道:「5 级或以上地震发生后,人们用大量时间找出滑动的断层位置,以及移动的范围。很多研究可能使用来自一两场地震的观察结果,而我们使用整个数据库。我们将该数据库与基于物理学的模型结合起来,该模型关于地震发生后地球的应力和应变情况,大地震引起的应力和应变情况可能是引发余震的因素。」

他们利用该信息,将一块区域分割成多个 5 平方公里面积的网格。然后用系统检查每个网格中是否发生余震,再用神经网络查看余震发生地点和大地震导致的应力之间的关联。

「问题在于哪些因素组合是有助于预测的。」Meade 说,「这方面存在很多理论,但是我们这篇论文做了一件事,就是颠覆了最主流的理论,这篇论文展示了最主流理论的预测能力其实不高,它提出了具备更好预测能力的因素。」Meade 称,该系统指向的就是偏应力张量第二不变量,简称 J2。

「J2 经常出现在冶金学和其他理论中,但在地震科学中并不流行。」Meade 说道,「但是这意味着神经网络提出的事物并不疯狂,而是具备高度可解释性。它能够确定我们应该观察哪些物理学因素,这非常酷。」

DeVries 认为,这种可解释性非常关键,因为人工智能系统长期被很多科学家认为是黑箱,而它可以根据一些数据生成答案。

「这是我们的研究过程中最重要的步骤之一。」她说,「我们最初训练神经网络时,注意到它在预测余震位置任务上做得很好,但是我们认为找出它所寻找的对余震预测重要或有用的因素非常关键。」然而,给这个挑战再加上高度复杂的现实世界数据使得这个任务难度极大,因此这两位研究者转而让系统为合成、高度理想化的地震进行预测,然后检查预测结果。

「我们查看了神经网络的输出,确认如果多种量控制余震预测结果时我们应该使用哪些量。通过对它们进行空间上的对比,我们发现 J2 对于预测比较重要。」

Meade 说,由于该神经网络是使用全世界的地震和余震数据训练的,因此得到的系统可用于多种类型的断层。

「世界不同地区的断层具备不同的几何形状。」Meade 称,「加州大部分是滑断层(slip-fault),而其他地方(如日本)有很浅的俯冲带。但该系统最酷的地方在于你可以基于一个地方的数据训练模型,但它也可以预测其他地区的余震,因此它具备较强的泛化性能。」

「在真正实现预测余震和实时预测方面,我们还有很长的路要走,但我认为机器学习对解决这个问题有很大的潜力。」Meade 说道。

Meade 称,接下来她打算研究使用人工智能技术预测地震的震级,旨在有一天能够帮助防止地震灾害带来的毁灭性影响。

「传统的地震学家更像病理学家。」Meade 说道,「他们研究灾难性地震事件后会发生什么。我不想做这些,我想成为流行病学家。我想了解导致这些事件的诱发因素、原因。」

最终,Meade 说,该研究有助于人们重视深度学习算法的潜力,解答至少近期科学家们难以回答的难题。

他说,「我认为这对地震的预测是一场无声的革命。它不再是完全无关的想法。这一结果很有趣,我认为这是在人工智能时代重建所有科学革命的一部分。

他补充说到,「近来,以前惊人的难题变得容易了,不仅是因为计算力。科学社区将会极大的得益于此因为......AI 听起来非常吓人,但实际并非如此。这是计算非常民主化的一种形式,我认为开始有大量的人接触到 AI。」

论文:Deep learning of aftershock patterns following large earthquakes

论文地址:https://ift.tt/2MAtk17

摘要:余震是对大型地震所产生的应力变化的一种响应,其代表了地震产生的最常见观察结果。Bath 定律和 Omori 定律等经验法则很好地描述了余震的最大振幅和它们的时延,但是解释和预测余震的空间分布就显得困难得多。对于余震的空间分布,库仑破裂应力变化可能是最广泛的解释标准,但是它的适用性一直存在争议。在本论文中,我们使用深度学习方法确定基于静态应力的标准,并在不事先假设地震方向的情况下预测余震位置。

我们的结果表明,深度神经网络在超过 131,000 条由主震-余震对构建的数据集训练后,它能在独立的测试集中预测余震位置,其中该测试集包含了 30,000 条主震-余震对数据。此外,该深度模型相比于库仑破裂应力变化(曲线下面积为 0.583)有更准确的预测(曲线下面积为 0.849)。我们发现学习到的余震模式在物理上是可解释的:剪切应力的最大变化、von Mises 准则和应力变化张量的独立分量的绝对值之和,他们每一个都解释了神经网络预测超过 98% 的方差。这种以机器学习为驱动观察提供了对余震位置更好的预测,并发现了在地震周期中最活跃部分能控制地震触发的物理量。 

原文链接:https://ift.tt/2oojpgx

]]> 原文: https://ift.tt/2C4zPo9
RSS Feed

机器知心


Unsubscribe from these notifications or sign in to manage your Email Applets.

IFTTT

微软&中科大提出新型自动神经架构设计方法NAO

从几十年前 [13, 22] 到现在 [48, 49, 28, 39, 8],无人干预的神经网络架构自动设计一直是机器学习社区的兴趣所在。关于自动架构设计的最新算法通常分为两类:基于强化学习(RL)的方法 [48, 49, 37, 3] 和基于进化算法(EA)的方法 [42, 35, 39, 28, 38]。在基于 RL 的方法中,对架构组件的选择被看作是一个动作。一系列动作定义了神经网络的架构,其开发集准确率被用作奖励。在基于 EA 的方法中,搜索是通过架构组件的变异和再组合来进行的,性能更优的架构会被筛选出来继续进化。

可以很容易观察到,基于 RL 和 EA 的方法本质上都是在离散的架构空间中执行搜索。因为神经网络架构的选择通常都是离散的,例如 CNN 中的滤波器大小还有 RNN 单元中的连接拓扑(connection topology)。然而,在离散空间中直接搜索最优架构是很低效的,因为随着选择的增加,搜索空间会呈指数增长。本研究提出一种优化网络架构的新方法,将架构映射到一个连续的向量空间(即网络嵌入),利用基于梯度的方法在该连续空间进行优化。一方面,与自然语言的分布式表示类似,架构的连续表示在表示拓扑信息时更加紧凑和有效; 另一方面,由于更加平滑,在连续空间中进行优化比在离散空间内直接搜索容易得多。

研究者将这种基于优化的方法称为神经架构优化(NAO),如图 1 所示。NAO 的核心是一个编码器模型,负责将神经网络架构映射到一个连续表示(图 1 左侧蓝色箭头)。在连续表示上建立一个回归模型来逼近架构的最终性能(如开发集上的分类准确率,图 1 中间黄色部分)。这里值得注意的是,回归模型类似于之前研究中的性能预测器 [4, 27, 11]。新方法与之的区别在于如何利用性能预测器:之前的研究 [27] 使用性能预测器作为启发来选择已生成的架构,以加速搜索过程,而新方法直接优化模块,并通过梯度下降获得更好网络的连续表示(图 1 中间底部黑色箭头)。然后利用优化的表示来产生预测性能更好的新神经网络架构。为了实现这一点,NAO 的另一个关键模块被设计成解码器,从连续表示中恢复离散架构(图 1 右侧红框箭头)。解码器是配备了注意力机制LSTM 模型,可以实现精准恢复。这三个组件(即编码器、性能预测器和解码器)在多任务设置中接受联合训练,这有利于连续表示:恢复架构的解码器目标能进一步改善架构嵌入的质量,更有效地预测性能。

图 1:NAO 的总体框架。原始架构 x 通过编码器网络映射到连续表示 e_x。然后通过最大化性能预测器 f 的输出将 e_x 优化为 ex',然后使用解码器网络将 ex'转换为新架构 x'。

研究者进行了大量实验来验证 NAO 在图像分类和语言建模任务上的有效性。使用之前研究 [48, 49, 37, 27] 常用的架构空间,通过 NAO 找到的架构在 CIFAR-10 上达到了 2.07% 的测试集误差率(使用了 cutout 正则化 [12])。此外,在 PTB 数据集上,该架构实现了 55.9 的困惑度,也超过了神经架构搜索方面的之前最优方法。此外,研究者还展示了:使用最近 [37] 提出的 ENAS 中的权重共享机制来减少子模型参数空间中的较大复杂度,该方法可以提高发现强大的对流和循环架构的效率,例如,在 1 个 GPU 上花费不到 10 小时。研究者将很快发布代码和模型。

论文:Neural Architecture Optimization

论文链接:https://ift.tt/2MZ3mUH

摘要:自动神经架构设计非常有助于发现强大的神经网络结构。现有的方法,无论是基于强化学习(RL)还是进化算法(EA),都是在离散空间中进行架构搜索,效率非常低。本文提出了一种基于连续优化的自动神经架构设计方法。这种新方法被称为神经架构优化(NAO)。该方法有三个关键部分:(1)编码器,将神经网络架构嵌入/映射到连续空间;(2)预测器,将网络的连续表示作为输入,并预测其准确率;(3)解码器,将网络的连续表示映射回其架构。性能预测器和编码器使我们能够在连续空间中执行基于梯度的优化,以找到潜在的准确率更高的新架构嵌入。然后将这个更优的嵌入使用解码器解码到网络。实验表明,该方法所发现的架构在 CIFAR-10 上的图像分类任务和 PTB 上的语言建模任务中都表现强劲,在计算资源明显减少的情况下都优于或持平于之前的架构搜索最佳方法。其中 CIFAR-10 图像分类任务的测试集误差率为 2.07%,PTB 语言建模任务的测试集困惑度为 55.9。在两个任务中发现的最优架构可被成功迁移到其他任务,如 CIFAR-100 和 WikiText-2。此外,结合最近提出的权重共享机制,我们在计算资源都很有限的情况下(在一个 GPU 上 10 小时)在 CIFAR-10 和 PTB 上发现了功能强大的架构,前一个任务上的最优模型误差率为 3.53%,后一个任务上的困惑度为 56.3。

表 1:CIFAR-10 数据集上不同 CNN 模型的表现。

B 是单元内的节点数。N 是发现的正常单元(normal cell)被展开形成最终 CNN 架构的次数。F 表示滤波器大小。#op 是对单元中一个分支的不同操作数,是自动架构设计算法的架构空间尺度指标。M 是经过训练以获得所需性能的网络架构总数。/ 表示该标准对特定算法无意义。NAONet-WS 表示 NAO 发现的架构和权重共享方法。

表 2:CIFAR-100 数据集上不同 CNN 模型的表现。NAONet 代表 NAO 在 CIFAR-10 上发现的最优架构。

表 3:PTB 数据集上不同模型和技术的表现。与 CIFAR-10 实验类似,NAO-WS 代表具备权重共享机制的 NAO。

表 4:WT2 数据集上不同模型和技术的表现。NAONet 代表 NAO 在 PTB 上发现的最优架构。

]]> 原文: https://ift.tt/2wv7rGB
RSS Feed

机器知心


Unsubscribe from these notifications or sign in to manage your Email Applets.

IFTTT

从超参数到架构,一文简述模型优化策略

模型可以在训练过程中通过修正参数而逐步建立。这在迁移学习中最为常见,在这种环境中,我们试图将现有模型的知识应用到新领域或新任务中。这是持续学习中更常见的问题,也是一个显而易见的应用。然而,即使有预置的数据集,网络拓扑的递增约束也会为正则化带来益处。

动态参数

在每个 epoch 中参数都被更新的模型最容易被修改。在这种情况下,我们指的不是那些与网络拓扑相关的参数,例如层数或维度。在训练过程中有许多机会调整拓扑,但是模型为了再次得到合理的架构通常需要大量的再训练,这在记忆网络(memory network)中已得到清晰的证明 [1]。如果我们转而关注与正则化项和门相关的权重,我们就可以逐步学习到架构,无需频繁的再训练来适应出现根本改变的拓扑。

Dropout 设置

Hinton 等人 [2] 将 dropout 描述为:通过防止完美拟合数据的特征检测器的共适应(co-adaptation)来减少过拟合。在这种解释中,共适应的神经元簇同时被激活。随机抑制这些神经元迫使它们各自发展。

在标准 dropout 中,这些共适应神经元在所有训练阶段都有相同的问题。然而,Morerio 等人 [3] 设想在训练初期,共适应可能是网络的最优自组织的开端。从这个角度看,这些结构是训练后期出现过拟合的一大威胁。因此作者介绍了一个增加 dropout 率的参数调度(hyperparameter schedule)。据我所知,这是唯一发表的自适应正则化提议。

缓和网络(Mollifying network)

缓和网络 [4] 是目前将增量控制数据分配的技术和增量控制模型表示能力的技术结合起来的唯一尝试。缓和网络通过模拟退火来逐渐降低数据温度,同时修改各种参数以实现更长距离的依赖。在 LSTM 中,将输出门设置为 1,输入门为 1/t,遗忘门为 1−1/t,t 是退火时间步。通过这个系统,LSTM 最初表现为词袋模型,逐渐增加了在每个时间步处理更多上下文的能力。

缓和网络对每一层使用不同的数据调度,较低层的噪声退火快于较高的层,因为较低层的表示被设定为学得更快。

自适应架构

训练期间最难修正的参数可能是模型架构本身的拓扑参数。尽管如此,深度学习文献包含了在训练期间适应模型架构的技术的悠久历史,这些技术通常是对学到参数的回应。这些方法可以通过在训练之初平滑函数来最优化搜索;通过从更简单的模型出发来加快学习速度;或者压缩模型使其更适用于手机或嵌入式设备。这些方法大都可分为两类:通过在训练中增加参数来塑造模型、通过修剪边或节点来压缩模型。

架构生长

最近的一些迁移学习策略依赖于不断生长的架构,这些架构通过为与现有网络 [5、6] 有关的新任务创建全新模块而得到。如果我们的目标是通过添加少量参数来扩大现有网络,那么这个问题就类似传统的非参数学习了,因为我们不需要一开始就明确限制模型空间。

经典的神经网络技术(例如级联相关网络(Cascade Correlation Network)[7] 和动态节点创建(Dynamic Node Creation)[8])随机逐个添加新节点并分别训练。在当今的大型架构和问题上,这种做法非常复杂。此外,这类方法的主要优点是它们适用于小型模型,由于几十年来计算能力的飞跃,现代深度学习开发者不再看重这一目标。用于渐进增长网络的现代技术必须做出两个决定:1) 何时(以及在何处)添加新参数?2) 如何训练新参数

Warde-Farley 等人 [9] 提出在完整训练完网络后将参数大批量加入。增加的形式是将专门的辅助层并行加入现有网络。这些层在类边界(class boundary)上进行训练,而这正是最初的通用模型试图解决的问题。对留出数据集的混淆矩阵进行谱聚类,并将类划分为具有挑战性的子问题,从而选择类边界。

辅助层与原始通用系统并行随机初始化,然后每个辅助层仅基于指定的类分区中的样本进行训练。除了对最后的分类层进行微调外,原始通用网络是固定的。由此产生的网络就是多专家网络,该网络被证明可以改善图像分类问题的结果。

同时 Neurogenesis Deep Learning (NDL) [10] 使自编码器拥有终身学习的能力。这种策略通过在模型遇到异常值时添加神经元来更新自编码器的拓扑结构,模型在异常值处性能较差。这些新参数仅在异常值上进行训练,使得现有的解码器参数以更小的步长进行更新。现有的编码器参数只有在直接连接到新神经元时才会更新。

在引入和训练这些新神经元之后,NDL 使用一种被作者称为「intrinsic replay」的方法稳定网络的现有结构。他们重建了之前见过样本的近似值,并在重建结果上进行训练。

另一个允许终身学习的系统是无穷受限玻尔兹曼机 (RBM) [11]。这一经典 RBM 的扩展通过独特的索引将隐藏单元参数化,表示成一个序列。这些指令通过支持旧节点直到收敛来增强网络增长的顺序,允许系统任意增长。这个方法很有趣,但如何将类似的修改应用到 RBM 的特殊生成结构以外的网络还未可知。

这些增强技术都不支持循环架构。在现代自然语言处理设置中,这是一个致命的限制。然而,这些技术中有一些可能适用于 RNN,尤其是近期训练专门子系统的问题已得到解决 [12]。

架构修剪

最近的许多研究都集中在从训练好的网络中修剪边或整个神经元。这种方法不仅可用于压缩,还有可能提高网络的泛化能力。

修剪边

修剪边而非整个神经元的步骤可能不会减少网络的维度类型。但是会使网络更稀疏,从而有可能节约内存。稀疏网络占用的参数空间更小,因此可能更通用。

Han 等人 [13] 采取的基本方法是,如果权重低于特定阈值,则将其设为 0。这种方法对于压缩非常有效,因为待删除的权重数量很容易通过阈值进行修改。

LeCun 等人 [14] 和 Hassibi 等人 [15] 都基于修剪误差变化的泰勒级数近似(Taylor series approximation)来选择权重。虽然这些方法在较老的浅层网络上是成功的,但是在整个网络上执行这些操作则需要对所有参数计算 Hessian 矩阵,这对于现代的深层架构来说比较麻烦。Dong 等人 [16] 提出了一个更有效的替代方案——在各个层上执行 optimal brain surgery。

修剪节点

修剪全部节点能够减少网络的维数。它可能比选择单独修剪边更快,因为节点数量多于边,这减少了修剪时需要考虑的候选者数量。

He 等人 [17] 通过计算每个节点的重要性,选择从宽度为 d_ℓ的层ℓ上修剪神经元。他们测试了几个重要指标,发现使用「onorm」(即节点激活模式的平均 L1 范数)可以获得最好性能:

Net-trim [18] 同样依赖 L1 范数来增加稀疏性。

Wolfe 等人 [19] 将基于重要性的修剪方法的结果与蛮力法进行对比,蛮力法基于节点对性能的影响而贪婪地选择要牺牲的节点。在蛮力法中,他们在没有每个节点的情况下在测试数据上重新运行了网络,并根据得到网络的误差对节点进行排序。它们的重要性指标是基于节点对性能影响的神经元级泰勒级数近似 [15]。

在测试的第一个算法中,他们根据节点的重要性对所有节点进行排名,然后连续删除每个节点。在第二种算法中,它们在每次节点移除后对剩余节点重新排序,以解释生成然后又被取消的子网络的影响。在第二种情况下,他们发现在 mnist 上训练的网络中可以修剪多达 60%的节点而不会显著降低性能。这与早期观察结果 [20] 相符——网络中的大多数参数是不必要的,它们的影响仅限于生成然后取消它们自己的噪声。这一结果支持这样的观点:反向传播隐性地为给定的任务训练最小网络。

Srinivas 和 Babu [21] 为了减少网络的冗余而进行了修剪,因此他们根据其权重与同层其他神经元的相似度来移除节点。而 Diversity networks [22] 根据其激活模式的多样性进行选择。为了对不同的节点选择进行采样,他们使用了 Determinantal Point Process(DPP)。该技术最小化了采样节点之间的依赖性。他们遵循这一修剪过程,融合被扦插回网络的节点。

这些论文的观察结果中出现了一个有趣的差异。Mariet 和 Sra [22] 发现,他们利用 DPP 在较深的层中采样了更多节点,而 Philipp 和 Carbonell [19] 通过在 2 层网络的较深一层中使用蛮力法修剪了更多节点。换句话说,diversity networks 在更深层保留更多节点,而贪婪的蛮力法从较深层移除了更多节点。这些结果表明这些算法各自结果之间存在根本差异,值得进一步研究。

合并节点

Mariet 和 Sra [22] 发现,如果他们将修剪的节点合并回网络中,那么在基于 DPP 的修剪之后,性能会提高。他们通过调整修剪层中剩余节点的权重来最小化修剪前后激活输出的差异,从而实现了前述现象:

由于 DPP 专注于选择一组独立的神经元,在任何给定的噪声消除系统中为保持现状可能需要至少修剪一个节点,因为这些消除子网络必然存在高度依赖。在这种情况下,噪声消除部分会合并到产生噪声的节点中,反之亦然。这将使合并在 diversity networks 中成为一种特殊的必要组件,但是它仍然可以在不同的修剪算法之后提供一种易处理的再训练替代方法。

参数神经网络

据我所知,修剪和生长策略在一项研究中被结合在了一起。非参数神经网络 (NNN) [23] 将增加神经元与对神经元施加增加稀疏性的惩罚结合起来。对于一个具有 N^L 层的前馈网络,作者引入了两种正则化项,一种是「fan-in」,另一种是「fan-out」:

fan-in 变量惩罚每个神经元输入的 p-norm,而 fan-out 变量惩罚每个神经元输出的 p-norm。在前馈网络中,这两种正则化项均可被添加到具备任意正权重 λ 且 0损失函数中,保证目标函数在有限数量的神经元收敛

NNN 为调整网络提供了一系列有益的策略。特别是当 p=1 或 2 时,通过加压形成零值神经元,或者 fan-in 或 fan-out 值为 0 的神经元,来增加稀疏性。每隔一段时间,我们就可以移除这些零值神经元。同时,我们可以在网络的不同位置引入新的零值神经元正则化项确保目标函数能够收敛,所以我们可以在性能开始下降的任意点停止添加神经元

然而,这种方法存在明显的问题。第一个限制是这个正则化项不应用于任何循环网络。这种约束降低了该策略在许多自然语言领域中的有用性,在这些领域中,RNN 的性能最好。

该方法的另一个缺点是:通过将输入或输出权重向量初始化为 0 并随机初始化其他相关向量,来插入零值神经元。因此,我们每隔一段时间就重新训练整个网络,而不是智能地初始化和训练新节点来加速收敛。虽然这种方法可以收敛到最佳数量的节点,但它无法加速训练或专门化新节点。

最后,这种方法为创建最终的密集网络增加并移除了所有神经元。所以它失去了因修剪权重而得到的较稀疏网络的潜在正则化优势。

教师学生方法

通过新的训练,还可以根据现有网络生成更大或更小的模型。在研究任何自适应架构时,重要的是将使用网络之前状态的基线模型(「教师」)与具有新架构的「学生」网络进行比较。

在蒸馏学习(distillation learning)[24] 的特殊情况下引入教师学生方法,即使用教师网络的输出层来代替真正的标签。蒸馏(distillation)是一种以高性能实现大型集成压缩或昂贵分类器压缩的技术。较小的网络是通过一个目标函数来训练的,这个目标函数将应用于真实标签的损失函数交叉熵结合起来,这个网络会和较大的教师网络的 logit 层进行对照。除压缩以外,教师学生方法对域适应技术也很有效 [25],这表明它对于适应数据调度的新时间步可能会很有效。

原文链接:https://ift.tt/2nHwcux

]]> 原文: https://ift.tt/2NBz6fm
RSS Feed

机器知心


Unsubscribe from these notifications or sign in to manage your Email Applets.

IFTTT

华为麒麟980:双核NPU,全球首款7nm手机芯片正式发布

在发布会上,华为表示:作为全球第一块消费级 7nm 制程工艺芯片,麒麟 980 相较前代 10nm 的工艺在性能上提升 20%,能效提升 40%,晶体管密度提升了 1.6 倍。

此外,华为还宣称麒麟 980 实现了几项世界第一:

  • 全球最早商用 7nm 工艺的手机 SoC 芯片

  • 全球首款 ARM Cortex-A76 商用 CPU 的芯片

  • 全球首款搭载双核 NPU 的手机芯片

  • 最先采用 Mali-G76 GPU 的手机芯片

  • 全球最先支持 LTE Cat.21 的芯片,峰值下载速率 1.4Gbps,达到业内最高

  • 支持全球最快的 LPDDR4X 内存颗粒,主频可达 2133MHz,业内最高

有关麒麟 980 的发布消息,这几个月来一直传闻不断,但其中最具可信度的还是荣耀在 8 月 30 日的「官方泄露」。在 IFA 2018 大会开始前一天,荣耀手机就在柏林举办了一场发布会,荣耀 CEO 赵明公布了采用新一代的 AI 芯片的第一款手机——荣耀 Magic2。

而关于麒麟 980 具体规格的更多细节,余承东在刚刚的 Keynote 中为我们一一揭晓。

麒麟 980 芯片

首先,上台后的余承东回顾了去年的 IFA,以及去年发布的麒麟 970,这是华为迈向设备上 AI 的第一步。一年后,大众所期待的麒麟 980 最终发布。从下图来看,华为表示麒麟 980 是当前最强大、最智能的手机端 AI 芯片。

2+2+4 的 CPU 形式

麒麟 980 的 CPU 核心部分采用了新一代的 ARM CPU 架构 Cortex-A76,ARM 曾表示,相比于采用 10nm 制程的 Cortex-A75(骁龙 845 搭载的内核型号),采用 7nm 制程的 A76 性能提升 35%、能效提升 40%,机器学习速度则可以提升四倍。

本次华为与众不同地采用了 2+2+4 的大中小核形式,其中两个频率为 2.6GHz 的 A76 大核负责高负载任务,两个频率 1.92GHz 的 A76「中核」负责日常任务。四个 A76 大核之外,还有四个 A55 小核(1.8GHz)负责轻度运算。值得一提的是,相比前几代的公版设计,麒麟 980 的 CPU 部分采用了半定制架构,可见华为海思已经在充分利用 ARM 的新 DSU 集群以及异步 CPU 配置了。

可以看到,性能最高的 Cortex-A76 核心速度(2.6GHz)并未被设定为 ARM 公布的最高数字 3GHz,华为的保守设置或许是考虑到了功耗的限制。中等核心或许可以有效降低 SoC 整体功耗——此前,四个大核运行在相同的时钟和电压上,如果存在一个高性能线程,其他中等性能线程只能被迫作不必要的运算,降低了效率。

而相比于去年发布的麒麟 970,采用了 Cortex-A76 架构之后,麒麟 980 性能有 75% 的提升,能效有 58% 的提升。

补齐 GPU 短板

在 GPU 方面,这次麒麟 980 采用了 Mali G76,这是 ARM 重新设计架构后的新款高端 GPU,它有 4 到 20 个 shader core,其纹理单元、渲染单元、计算单元管道位宽均大幅增加,为复杂图形和机器学习的工作负载提供显著的提升。华为宣称,新 GPU 相比前代性能提高了 76%,这可以说弥补了华为一直以来 GPU 的短板。

即使是在纸面上,G76MP10 看起来要比麒麟 970 采用的 G72MP12 小,但它实际的计算资源增加了 66%——这还是在没有考虑新 IP 的微架构改进的情况下。

麒麟 980 的 GPU 工作频率为 720MHz,相较 970 的 747MHz 要慢。这种变化让新款产品能耗更低,但这并不影响新一代 GPU 性能的大幅提升。

华为对比了麒麟 980 与骁龙 845 的游戏帧率和能耗效率。

在网络方面,麒麟 980 率先支持 LTE Cat.21,峰值下载速率 1.4Gbps,但遗憾的是仍然不支持下一代 5G 网络。同时,这款芯片也支持 2133MHz LPDDR4X 的内存。

双核 NPU

去年,华为发布麒麟 970 的时候首次为手机端 SoC 引入了神经网络加速芯片 NPU。在麒麟 980 中,华为再次引入了业内首款双核 NPU,NPU 核心采用了寒武纪 1H,实现每分钟图像识别 4500 张,支持人脸识别、物体识别、物体检测等 AI 场景。

麒麟 980 上的神经网络仍然一次只能处理一个深度学习负载,不过理论运行速度加倍了。余承东表示,新的 NPU 处理单元速度要比麒麟 970 上的快 2.2 倍。

下图对比了麒麟 980 与骁龙 845、苹果 A11 在图像识别性能上的表现。

在这一切之下,我们看到了来自台积电 7nm 制程带来的提升:新款芯片在不到 100m2 的面积上堆积了 69 亿个晶体管,相比去年麒麟 970 的 55 亿个增长了 25%。

人类在芯片制程上的推进已经逐渐变得困难,台积电于 2015 年开始研发 7nm 工艺,直至今年夏天才得以正式投产。目前全球掌握 7nm 工艺的厂商只有三家:英特尔、三星和台积电。

麒麟 980 凭以上特性,打破了多个世界第一。

在展示了新产品诸多性能优势后,华为还不忘把麒麟 980 和骁龙 845 做了一个全面对比。

海外媒体 AnandTech 也于第一时间整理了麒麟 980 的主要性能参数

除了昨天已经发布的荣耀 Magic2 以外,余承东也宣布,麒麟 980 将搭载于华为即将发布的旗舰手机 Mate20 系列中——Mate 20 即将于今年 10 月 16 日在英国伦敦发布。由于昨天赵明曾表示其发布的荣耀 Magic2 可能还不是最终版本,因此目前看来 Mate 20 仍然会是麒麟 980 的首发手机。

一个多月之后,我们就能感受到新世代 CPU 处理器的强大动力了。

延伸阅读:

]]> 原文: https://ift.tt/2C0J6NS
RSS Feed

机器知心


Unsubscribe from these notifications or sign in to manage your Email Applets.

IFTTT

上海世界人工智能大会·全球异构计算高峰论坛 召开在即

2018世界人工智能大会·全球异构计算与人工智能高峰论坛(以下简称本次论坛),作为由国家发改委、科技部、工信部、网信办、中科院、工程院、上海市共同举办的"2018世界人工智能大会"的重要组成部分,将于9月19日(全天)在上海国际会议中心长江厅举行。本次论坛由世界人工智能大会组委会主办,中国电子技术标准化研究院、全球异构系统架构(HSA)联盟、中国异构系统架构标准工作组、华夏芯通用处理器技术有限公司、全球能源互联网研究院等单位联合承办。

当前,芯片设计产业除日益昂贵的工艺制造投入外,另外一个芯片性能增加的代价是大幅叠加设计和编程开发的复杂度,导致设计、开发团队越来越庞大,而市场却开始呈现碎片化的趋势。同时,在大数据和人工智能时代,海量和不同类型的数据处理,需要创新的计算架构。在此情况下,异构计算因其在编程、性能、功效等方面相对于传统芯片架构的显著优势,已成为新一代芯片设计架构创新的主流技术趋势,开始广泛应用于各种云计算、机器视觉、无人驾驶、5G和物联网等行业领域。

集成电路设计的拐点已经到来,以专用计算、通用计算和可重构计算等技术的深度融合的异构计算架构创新,在量子计算、类脑计算短时间还难以大规模商用的情况下,成为全球集成电路领域的最新赛道。当然,作为一种新兴的计算技术,从编程方式、软硬件架构到生态系统,异构计算都面临着前所未有机会和巨大的挑战。

为此,从英特尔、IBM等芯片巨头到不少创新型芯片设计公司,都投入了众多的资源,在异构计算领域进行类似赛跑冲刺阶段的全力探索和创新。

从2017年6月开始,美国DARPA(Defense Advanced Research Projects Agency)启动了总额15亿美金的电子复兴计划(Electronics Resurgence Initiative),其中重点支持的DSSoC项目就是一种将通用计算与专用计算相结合的异构设计,处理器单元(Processor Elements)包括了传统的CPU、GPU、DSP、FFT等各种硬件和计算加速器,也包括了新出现的张量计算单元、神经计算单元和可编程逻辑单元。

与此同时,美国芯片巨无霸企业Intel也在多个场合多次强调:在大数据和人工智能时代,海量和不同类型的数据处理需要快速集成现有和创新的计算架构,这成为异构计算发展的直接动力,因此Intel在未来将致力于提供更有效的异构设计芯片产品,并缩短异构产品推向市场的时间。

另外一个需要注意的全球异构计算领域的重要力量就是全球异构计算系统联盟(HSA,Heterogeneous System Architecture),该联盟以AMD、高通、ARM、三星、联发科、Imagination、北京华夏芯、中国电子技术标准化研究院、LG等单位为核心成员,包括华为、联发科、Ceva以及全球80多家芯片设计公司、大学等。HSA是完全开放的异构计算联盟,强调生态共建,资源共享(包括软件库的重用、共享),HSA的专有技术对成员免费使用。通用处理器、专用处理器、加速器厂商不用再独立建设自己的生态,而且目标是重用之前的软件库、成员开发的库。HSA的技术优势明显,在大幅度提升性能、功耗指标的同时,通过建立各个运算单元互联互通的机制,使得相同或者不同厂家的运算单元更容易在同一SoC上集成和设计,大幅度缩短了芯片设计周期,用户编程和开发的难度大幅度降低,更容易实现芯片定制化。

2016年10月,由中国电子技术标准化研究院和华夏芯(北京)通用处理器技术有限公司等牵头发起的面向中国本土运营的全球异构系统架构联盟中国区域委员会(China Regional Committee of Heterogeneous System Architecture,HSA CRC),牵头和组织以中国本土成员单位为主体参与的与异构计算有关的技术研发与标准化活动,当前主要围绕人工智能、深度学习、软件定义无线电、智能终端、智能机器人等重点行业开展有针对性的平台标准化研究和制订工作,致力于为相关行业的芯片软硬件集成与高效发展提供技术支撑。

鉴于中国异构计算在标准、技术和产业融合落地方面的现实需求,为打造有利于我国自主发展和主导的国际化生态应用系统,中国电子技术标准化研究院、华夏芯等单位正在积极筹建中国异构计算产业联盟,旨在联合全国范围内的产学研各界的异构计算创新团队,成员将涵盖算法、芯片、软件、系统设备、行业应用等产业链各环节,共同打造推动中国异构计算产业发展的成果转化平台、标准制定平台和协同创新平台。

本次论坛是在传统芯片架构和软硬件生态面临颠覆性变革、全球半导体产业的市场格局可能发生重大变化之际举办的一次异构计算领域的全球性盛会,以"异构计算,标准建设,产业赋能"为主题,聚焦全球异构计算的最新发展趋势,发布中国异构计算标准在指令集架构、安全防护、片上互联、性能评估等方面的前沿研究成果,分享国际一流厂商异构计算与人工智能深度融合的典型应用经验,寻求产业合作机遇。

来自全球近二十位异构计算领域顶级专家将向相关芯片和应用领域的同行分享相关学术、科研及产业的最新动向,并借此机会推动中国异构计算产业的发展、相关标准的建设和产业联盟的组建。本次论坛还将首次发布《中国异构计算白皮书》,第一次全方位、多视角地解读了当前国际、国内异构计算行业的发展状况、发展热点、技术趋势和生态环境。同时举行中国异构计算联盟发起成立仪式。

]]> 原文: https://ift.tt/2PUPhX0
RSS Feed

机器知心


Unsubscribe from these notifications or sign in to manage your Email Applets.

IFTTT

JavaScript 之父联手近万名开发者集体讨伐 Oracle:给 JavaScript 一条活路吧!- InfoQ 每周精要848期

「每周精要」 NO. 848 2024/09/21 头条 HEADLINE JavaScript 之父联手近万名开发者集体讨伐 Oracle:给 JavaScript 一条活路吧! 精选 SELECTED C++ 发布革命性提案 "借鉴"Rust...