【导读】深度神经网络在很多监督任务都达到了SOTA性能,但是其计算量是个挑战。来自MIT 教授 Vivienne Sze等学者发布了关于《深度神经网络的高效处理》著作,本书为深度神经网络(DNNs)的高效处理提供了关键原则和技术的结构化处理。值得关注。

https://www.morganclaypoolpublishers.com/catalog_Orig/product_info.php?cPath=22&products_id=1530

本书为深度神经网络(DNNs)的高效处理提供了关键原则和技术的结构化处理。DNNs目前广泛应用于许多人工智能(AI)应用,包括计算机视觉、语音识别和机器人技术。虽然DNNs在许多人工智能任务中提供了最好的性能,但它以高计算复杂度为代价。因此,在不牺牲准确性或增加硬件成本的情况下,能够有效处理深层神经网络以提高指标(如能源效率、吞吐量和延迟)的技术对于在人工智能系统中广泛部署DNNs至关重要。

本书中包括了DNN处理的背景知识;设计DNN加速器的硬件架构方法的描述和分类;评价和比较不同设计的关键指标;DNN处理的特点是服从硬件/算法的共同设计,以提高能源效率和吞吐量;以及应用新技术的机会。读者将会发现对该领域的结构化介绍,以及对现有工作中关键概念的形式化和组织,从而提供可能激发新想法的见解。

深度神经网络(DNNs)已经变得非常流行; 然而,它们是以高计算复杂度为代价的。因此,人们对有效处理DNNs产生了极大的兴趣。DNN加速的挑战有三:

  • 为了实现高性能和效率
  • 提供足够的灵活性,以满足广泛和快速变化的工作负载范围
  • 能够很好地集成到现有的软件框架中。

目录内容:

第一部分理解深层神经网络

  • 介绍
  • 深度神经网络概述

第二部分处理DNNs的硬件设计

  • 关键量度和设计目标
  • 内核计算
  • 设计DNN加速器
  • 专用硬件上的操作映射

第三部分,DNN硬件和算法的协同设计

  • 减少精度
  • 利用稀疏
  • 设计高效的DNN模型
  • 先进技术
  • 结论

第一个模块旨在提供DNN领域的总体背景和了解DNN工作负载的特点。

  • 第一章提供了DNNs为什么重要的背景,他们的历史和他们的应用。
  • 第二章概述了神经网络的基本组成部分和目前常用的神经网络模型。还介绍了用于DNN研究和开发的各种资源。这包括各种软件框架的讨论,以及用于训练和评估的公共数据集。

第二部分主要介绍处理DNNs的硬件设计。它根据定制程度(从通用平台到完全定制硬件)讨论各种架构设计决策,以及在将DNN工作负载映射到这些架构时的设计考虑。同时考虑了时间和空间架构。

  • 第三章描述了在设计或比较各种DNN加速器时应该考虑的关键指标。
  • 第四章描述了如何处理DNN内核,重点关注的是时序架构,比如cpu和gpu。为了获得更高的效率,这类架构通常具有缓存层次结构和粗粒度的计算能力,例如向量指令,从而使计算结果更高效。对于这样的架构,DNN处理通常可以转化为矩阵乘法,这有很多优化的机会。本章还讨论了各种软件和硬件优化,用于加速这些平台上的DNN计算,而不影响应用程序的精度。
  • 第五章介绍了DNN处理专用硬件的设计,重点介绍了空间架构。它强调了用于处理DNN的硬件的处理顺序和产生的数据移动,以及与DNN的循环嵌套表示的关系。循环嵌套中的循环顺序称为数据流,它决定了移动每个数据块的频率。循环嵌套中的循环限制描述了如何将DNN工作负载分解成更小的块,称为平铺/阻塞,以说明在内存层次结构的不同级别上有限的存储容量。
  • 第六章介绍了将DNN工作负载映射到DNN加速器的过程。它描述了找到优化映射所需的步骤,包括枚举所有合法映射,并通过使用预测吞吐量和能源效率的模型来搜索这些映射。

第三个模块讨论了如何通过算法和硬件的协同设计来提高堆栈的效率,或者通过使用混合信号电路新的存储器或设备技术来降低堆栈的效率。在修改算法的情况下,必须仔细评估对精度的影响。

  • 第七章描述了如何降低数据和计算的精度,从而提高吞吐量和能源效率。它讨论了如何使用量化和相关的设计考虑来降低精度,包括硬件成本和对精度的影响。
  • 第八章描述了如何利用DNNs的稀疏性来减少数据的占用,这为减少存储需求、数据移动和算术操作提供了机会。它描述了稀疏的各种来源和增加稀疏的技术。然后讨论了稀疏DNN加速器如何将稀疏转化为能源效率和吞吐量的提高。它还提出了一种新的抽象数据表示,可用于表达和获得关于各种稀疏DNN加速器的数据流的见解。
  • 第九章描述了如何优化DNN模型的结构(即(例如DNN的“网络架构”),以提高吞吐量和能源效率,同时尽量减少对准确性的影响。它讨论了手工设计方法和自动设计方法(例如。(如神经结构搜索)
  • 第十章,关于先进技术,讨论了如何使用混合信号电路和新的存储技术,使计算更接近数据(例如,在内存中处理),以解决昂贵的数据移动,支配吞吐量和DNNs的能源消耗。并简要讨论了在光域内进行计算和通信以降低能耗和提高吞吐量的前景。

Vivienne Sze,来自 MIT 的高效能多媒体系统组(Energy-Efficient Multimedia Systems Group)。她曾就读于多伦多大学,在 MIT 完成 PhD 学业并获得电气工程博士学位,目前在 MIT 任教。Sze 教授的主要研究兴趣是高效能算法和移动多媒体设备应用架构。

成为VIP会员查看完整内容
0
65

相关内容

这本书以一种结构化的、直观的、友好的方式学习c++编程语言。这本书教授现代c++编程语言、c++标准库和现代c++标准的基础知识。不需要以前的编程经验。

c++是一种不同于其他语言的语言,它的复杂性令人惊讶,但在许多方面都非常优美和优雅。它也是一种不能通过猜测来学习的语言,是一种很容易出错的语言。为了克服这一点,每个部分都充满了现实世界中逐渐增加复杂性的例子。面向绝对初学者的现代c++教的不仅仅是用c++ 20编程。它提供了一个可在其上进行构建的坚实的c++基础。

作者带您了解c++编程语言、标准库和c++ 11到c++ 20标准基础知识。每一章都附有适量的理论和大量的源代码示例。

您将使用c++ 20个特性和标准,同时还将比较和查看以前的c++版本。您将使用大量相关的源代码示例来实现此目的。

你将学到什么

  • 使用c++的基础:类型、操作符、变量、常量、表达式、引用、函数、类、I/O、智能指针、多态性等等
  • 在Windows上设置Visual Studio环境,在Linux上设置GCC环境,这样就可以编写自己的代码
  • 声明和定义函数、类和对象,并将代码组织到名称空间中
  • 发现面向对象编程:类和对象,封装,继承,多态性,以及更多使用最先进的c++特性
  • 在组织源代码和控制程序工作流方面采用最佳实践
  • 熟悉c++语言的dos和donts等等
  • 掌握基本的lambdas、继承、多态性、智能指针、模板、模块、契约、概念等等

这本书是给谁的

  • 希望学习c++编程的初学者或程序员新手。不需要有编程经验。
成为VIP会员查看完整内容
0
37

【简介】近些年深度神经网络几乎在各个领域都取得了巨大的成功。然而,这些深度模型在尺寸上过于巨大,有几百万甚至上亿的参数,造成了巨大的计算开销,致使模型难以部署和落地。除此之外,模型的表现还高度依赖于大量的标注数据。为了使模型得到更加高效的训练和处理标记数据不足的难题,知识蒸馏(KD)被用来迁移从一个模型到另一个模型学习到的知识。这个过程也经常被描述为student-teacher(S-T)学习框架,并且已经被广泛应用到模型压缩和知识迁移中。这篇论文主要介绍了知识蒸馏和student-teacher学习模型。首先,我们对于KD是什么,它是如何工作的提供了一个解释和描述。然后,我们对近些年知识蒸馏方法的研究进展和典型用于视觉任务的S-T学习框架进行了一个全面的调研。最后,我们讨论了知识蒸馏和S-T模型未来的发展方向和研究前景,以及目前这些方法所面临的开放性挑战。

介绍

深度神经网络的成功主要依赖于精心设计的DNN架构。在大规模机器学习任务中,尤其是图像识别和语音识别任务,大多数基于DNN的模型都是凭借大量的参数来提取特征从而保证模型的泛化能力。这种笨重的模型通常都有非常深和非常宽的特点,需要花费大量的时间进行训练,而且不可能实时操作。所以,为了加速模型训练,许多研究人员尝试着利用预训练的复杂模型来获得轻量级的DNN模型,从而使得这些模型可以被部署应用。这是一篇关于知识蒸馏(KD)和student-teacher(S-T)学习模型的论文。一般来讲,知识蒸馏被视作一种机制:当只给出小型的训练集,其中包含相同或不同种类的样本的时候,这种机制能够使得人类快速学习新的,复杂的概念。在深度学习中,知识蒸馏是一个有效的方法,目前已经被广泛的应用在了从一个网络到另一个网络的信息转移上。知识蒸馏主要被应用在模型压缩和知识迁移这两个领域,对于模型压缩,一个较小的学生模型被训练来模仿一个预先训练好的较大的模型。尽管知识和任务种类多样,但是S-T框架是他们的一个相同点,其中提供知识的模型被称作teacher,学习知识的模型被称作student。我们对现有的知识蒸馏方法进行了重点分析和分类,其中还伴随着各种类型的S-T结构的模型压缩和知识转移。我们回顾和调查了这一迅速发展的领域,强调了该领域的最新进展。虽然知识蒸馏方法已经应用于视觉智能、语音识别、自然语言处理等各个领域,但本文主要关注的是视觉领域的知识蒸馏方法,所以论文中关于知识蒸馏的大多数阐释都是基于计算机视觉任务。由于知识蒸馏方法研究最多的领域是模型压缩,所以我们系统地讨论了该领域的技术细节、关键性挑战和发展潜力。同时,重点介绍了在半监督学习、自监督学习等领域的知识迁移方法,重点介绍了以S-T学习框架为基础的技术。

文章结构

section 2:探讨知识蒸馏和S-T学习框架为什么会吸引如此多的关注。 section 3:关于知识蒸馏的理论分析。 section 4-section14:对目前的方法进行分类,并且分析了面临的挑战以及该领域的发展前景。 section 15:根据上面的分类结果,我们回答了section 2中提出的问题。 section 16:介绍了知识蒸馏和S-T框架的潜力。 section 17:总结。

成为VIP会员查看完整内容
0
22

这本教科书解释的概念和技术需要编写的程序,可以有效地处理大量的数据。面向项目和课堂测试,这本书提出了一些重要的算法,由例子支持,给计算机程序员面临的问题带来意义。计算复杂性的概念也被介绍,演示什么可以和不可以被有效地计算,以便程序员可以对他们使用的算法做出明智的判断。特点:包括介绍性和高级数据结构和算法的主题,与序言顺序为那些各自的课程在前言中提供; 提供每个章节的学习目标、复习问题和编程练习,以及大量的说明性例子; 在相关网站上提供可下载的程序和补充文件,以及作者提供的讲师资料; 为那些来自不同的语言背景的人呈现Python的初级读本。

成为VIP会员查看完整内容
0
67

【导读】机器学习系统:这个规模的设计是一个示例丰富的指南,教你如何在你的机器学习系统中实现反应式设计解决方案,使它们像一个构建良好的web应用一样可靠。

本文首先介绍了反应性机器学习基础,然后介绍如何建立一个反应式机器学习系统(收集数据、生成特征、学习模型、评估模型、发布模型),最后介绍如何操作一个机器学习系统。

  1. 作者介绍 Jeff Smith使用Scala和Spark构建大规模的机器学习系统。在过去的十年中,他一直在纽约,旧金山和香港的多家初创公司从事数据科学应用的研究。他在博客中谈到了构建现实世界机器学习系统的各个方面。

  2. 内容大纲 Part 1. 反应性机器学习基础

  • 第一章. 反应性机器学习
  • 第二章. 使用反应性工具

Part 2. 建立一个反应式机器学习系统(Building a reactive machine learning system)

  • 第三章. 收集数据(Collecting data)
  • 第四章. 生成特征(Generating features)
  • 第五章. 学习模型(Learning models)
  • 第六章. 评估模型( Evaluating models)
  • 第七章. 发布模型(Publishing models)
  • 第八章. 作答(Responding)

Part 3. 操作一个机器学习系统(Operating a machine learning system)

  • 第三章. 陈述(Delivering)
  • 第四章. 发展智力(Evolving intelligence)
成为VIP会员查看完整内容
0
47

主题: Efficient Processing of Deep Neural Networks: from Algorithms to Hardware Architectures

简介: 本教程介绍了用于高效处理深度神经网络(DNN)的方法,这些方法已在许多AI应用程序中使用,包括计算机视觉,语音识别,机器人等。DNN以高计算复杂度为代价,提供了一流的准确性和结果质量。因此,为深度神经网络设计有效的算法和硬件架构是朝着在人工智能系统(例如,自动驾驶汽车,无人机,机器人,智能手机,可穿戴设备,物联网等)中广泛部署DNN迈出的重要一步。在速度,延迟,功耗/能耗和成本方面有严格的限制。 在本教程中,我们将简要概述DNN,讨论支持DNN的各种硬件平台的权衡,包括CPU,GPU,FPGA和ASIC,并重点介绍基准测试/比较指标和评估DNN效率的设计注意事项。然后,我们将从硬件体系结构和网络算法的角度描述降低DNN计算成本的最新技术。最后,我们还将讨论如何将这些技术应用于各种图像处理和计算机视觉任务。

嘉宾介绍: Vivienne Sze是麻省理工学院电气工程和计算机科学系的副教授。她的研究兴趣包括能量感知信号处理算法,便携式多媒体应用的低功耗电路和系统设计,包括计算机视觉,深度学习,自主导航和视频编码。在加入MIT之前,她是TI研发中心的技术人员,在那里她设计了用于视频编码的低功耗算法和体系结构。在高效视频编码(HEVC)的开发过程中,她还代表TI参加了ITU-T和ISO / IEC标准机构的JCT-VC委员会,该委员会获得了黄金时段工程艾美奖。她是《高效视频编码(HEVC):算法和体系结构》(Springer,2014年)的合编者,也是即将出版的《深度神经网络的高效处理》(Morgan&Claypool)的合著者。她是2020年机器学习和系统会议(MLSys)的计划共同主席,并教授MIT设计高效深度学习系统的专业教育课程。

成为VIP会员查看完整内容
0
25

A Survey of Model Compression and Acceleration for Deep Neural Networks 深度卷积神经网络(CNNs)最近在许多视觉识别任务中取得了巨大的成功。然而,现有的深度神经网络模型在计算上是昂贵的和内存密集型的,这阻碍了它们在低内存资源的设备或有严格时间延迟要求的应用程序中的部署。因此,在不显著降低模型性能的情况下,在深度网络中进行模型压缩和加速是一种自然的思路。在过去几年中,这方面取得了巨大的进展。本文综述了近年来发展起来的压缩和加速CNNs模型的先进技术。这些技术大致分为四种方案: 参数剪枝和共享、低秩因子分解、传输/紧凑卷积过滤器和知识蒸馏。首先介绍参数修剪和共享的方法,然后介绍其他技术。对于每种方案,我们都提供了关于性能、相关应用程序、优点和缺点等方面的详细分析。然后我们将讨论一些最近比较成功的方法,例如,动态容量网络和随机深度网络。然后,我们调查评估矩阵、用于评估模型性能的主要数据集和最近的基准测试工作。最后,对全文进行总结,并对今后的研究方向进行了展望。

成为VIP会员查看完整内容
0
41
小贴士
相关VIP内容
专知会员服务
37+阅读 · 7月24日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
34+阅读 · 3月15日
专知会员服务
67+阅读 · 3月4日
【2020新书】简明机器学习导论,电子书与500页PPT
专知会员服务
47+阅读 · 1月21日
深度神经网络模型压缩与加速综述
专知会员服务
41+阅读 · 2019年10月12日
相关资讯
特斯拉首席设计师150页PPT详解其全自动驾驶芯片
智能交通技术
5+阅读 · 2019年5月1日
硬件加速神经网络综述
计算机研究与发展
3+阅读 · 2019年2月1日
给DNN处理器跑个分 - 指标篇
StarryHeavensAbove
4+阅读 · 2017年7月9日
相关论文
A Survey on the Evolution of Stream Processing Systems
Marios Fragkoulis,Paris Carbone,Vasiliki Kalavri,Asterios Katsifodimos
9+阅读 · 8月3日
Kamran Kowsari,Kiana Jafari Meimandi,Mojtaba Heidarysafa,Sanjana Mendu,Laura E. Barnes,Donald E. Brown
5+阅读 · 5月20日
Optimization for deep learning: theory and algorithms
Ruoyu Sun
55+阅读 · 2019年12月19日
MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis
Kundan Kumar,Rithesh Kumar,Thibault de Boissiere,Lucas Gestin,Wei Zhen Teoh,Jose Sotelo,Alexandre de Brebisson,Yoshua Bengio,Aaron Courville
5+阅读 · 2019年10月8日
A Survey of the Usages of Deep Learning in Natural Language Processing
Daniel W. Otter,Julian R. Medina,Jugal K. Kalita
37+阅读 · 2019年9月11日
Analysis Methods in Neural Language Processing: A Survey
Yonatan Belinkov,James Glass
4+阅读 · 2019年1月14日
Efficient Dense Modules of Asymmetric Convolution for Real-Time Semantic Segmentation
Shao-Yuan Lo,Hsueh-Ming Hang,Sheng-Wei Chan,Jing-Jhih Lin
8+阅读 · 2018年9月17日
Antoine J. -P. Tixier
8+阅读 · 2018年8月30日
Lei Zhang,Shuai Wang,Bing Liu
21+阅读 · 2018年1月24日
Top