当计算机体系结构遇到深度学习:面向计算机体系结构设计师的深度学习概论
作者 : 【美】布兰登·里根(Brandon Reagen) 罗伯特·阿道夫(Robert Adolf) 保罗·沃特莫(Paul Whatmough) 古杨·魏(Gu-Yeon Wei) 大卫·布鲁克斯(David Brooks) 著
译者 : 杨海龙 王锐 译
出版日期 : 2019-03-28
ISBN : 978-7-111-62248-2
定价 : 69.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 140
开本 : 16
原书名 : Deep Learning for Computer Architects
原出版社: Morgan & Claypool Publishers, Inc.
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书是面向计算机体系结构研究人员和工程师的深度学习入门读本。旨在用深度学习的方法和工具来改进硬件设计和做好加速和优化,提高深度学习系统的性能和精度。

图书特色

图书前言

本书旨在为具有计算体系结构、电路或者系统背景的研究者和设计师提供一份对神经网络的概述。引言部分(第1章)定义了关键词汇表,介绍了该项技术的历史和发展过程,并阐述了该领域需要额外硬件支持的原因。
接着,本书回顾了神经网络的基本知识,从线性回归到感知器,以及当前最先进的深度神经网络(第2章)。本书涵盖的范围和使用的语言使得任何读者都可以理解,并且本书的目的是让整个社区在对深度学习的认识上达成一致。虽然人们对该领域的研究兴趣激增,但仍有证据显示许多术语被混淆在一起,并且对该领域的理解也存在着差距。我们希望本书呈现的内容能够澄清对该领域的错误理解,并为非专家的读者提供一个统一的基础。
在回顾之后,将深入介绍工具、工作负载和表征。对于实践者,这可能是最有用的一章。该章首先综述当代神经网络和机器学习的软件包(例如,TensorFlow、Torch、Keras和Theano),并且解释这些软件包的设计选择和不同之处,从而指导读者针对自己的工作选择正确的工具。在第3章的后半部分,展示了一组常用的、开创性的工作负载,并且将其整合到了名为Fathom的评测集中[2]。然后,进一步将这些工作负载分为两类——数据集和模型,并且解释了为什么这些工作负载和数据集具有开创性以及该如何使用它们。这部分内容同样能够帮助神经网络论文的评审人员更好地评价论文的贡献。通过更好地理解每个工作负载,我们可以更加深入地解释其背后的想法和贡献。伴随着评测集,是对工作负载在CPU和GPU上的表征分析。
第4章构建在第3章的基础上,可能是那些探索利用定制化硬件加速神经网络的体系结构设计人员更感兴趣的部分。在本章中,回顾了Minerva加速器设计和优化框架[114],并且详细介绍了如何将高级别的神经网络软件库与硬件CAD和模拟流糅合在一起来设计算法和硬件。本书特别关注Minerva方法论以及如何设计实验在神经网络准确度、功耗、性能和硬件面积间进行取舍。读完本章后,研究生应当可以掌握如何评价自行设计的加速器或者定制硬件优化的优劣。
在第5章中,给出了神经网络论文中相关硬件的全面调查和综述,并且提出了一种分类方法,帮助读者理解和对比不同的项目。本章主要关注过去10年的研究工作,并将论文按其所针对的计算栈层次(算法、软件、体系结构或者电路)以及优化类型(稀疏性、量化、计算近似和容错)进行分组。本综述主要关注机器学习、体系结构和电路领域的顶级会议,并尝试在本书出版时涵盖与本领域的体系结构设计师最相关的工作。但实际情况是有太多已发表的论文无法同时包含进本书。本书希望:这里的综述可以作为一个起点;分类提供一个顺序,供感兴趣的读者了解去哪里可以学习到一个具体主题的更多内容;对神经网络硬件支持的非正式讨论可以提供一种比较相关工作的方法。
最终,在本书的总结部分,通过列出仍待完成的工作,澄清了关于深度学习研究的硬件已经达到饱和点的谬论。尽管在这个主题上已经有大量的论文,但即便是在监督学习这个方面,也仍然距终点有很长的距离。本章阐明需要关注的领域,并简要概括了机器学习的其他领域。更进一步,虽然对于机器学习社区,硬件大部分情况下只是一个服务产业,但是体系结构设计师确实应该开始思考如何利用当代机器学习来改善硬件设计。这个过程并不容易,因为它需要真正地理解这些方法,而不是实现已有的设计。但是如果说机器学习在过去的10年中教会了我们什么,那就是这些模型效果很好。计算机体系结构属于计算机科学中最少理论化的领域(几乎是完全基于经验和观察)。机器学习可能会在重新考虑如何设计硬件方面提供很多帮助,包括贝叶斯优化,并展示这些技术在硬件设计上带来的好处。

上架指导

计算机/人工智能/机器学习

封底文字

计算机体系结构新黄金时代赋能深度学习革命的入门书。
基于美国哈佛大学在深度学习和体系结构领域的长期研究和实践经验。
全面介绍深度学习的发展、评测和优化的最新研究成果,帮助读者掌握深度学习体系结构的精髓。


机器学习,特别是深度学习,在计算机科学的许多领域都具有巨大的颠覆性。深度学习技术在解决众所周知很困难的分类和回归问题方面取得了成功,这使得该技术迅速应用于解决现实问题。深度学习的兴起主要归因于一个良性循环,即通过采用大规模数据集和高性能计算机硬件,从而在训练更深层模型方面取得根本性的进步。

本书是计算机体系结构设计师在深度学习这个快速发展的新领域的入门读物,作者均来自美国高等教育顶级学府哈佛大学。书中首先介绍机器学习自20世纪60年代起步以来的发展历程,并跟踪了导致过去十年中出现强大的深度学习技术的关键性发展历程。然后,回顾了代表性的工作负载,包括各种领域中常用的数据集和开创性的神经网络。除了讨论工作负载本身以外,本书还详细介绍了颇受欢迎的深度学习工具,并展示了有抱负的从业者如何使用工具与工作负载来表征和优化DNN。

本书的其余部分致力于介绍如何设计和优化专门用于机器学习的硬件和体系结构。由于高性能硬件在帮助机器学习成功地成为实用解决方案方面发挥了重要作用,因此这部分内容对近年来提出的各种优化方法进行了重新梳理,以便进一步改进未来的设计。在末尾,本书回顾了该领域新近发表的研究文献并对其进行分类,帮助读者理解各种贡献的背景和意义。

本书既可以作为高等院校高年级本科生、研究生以及受过计算机科学或工程训练的专业人士的教科书,也可以作为深度学习处理器设计专家的参考书。

译者序

近年来,人工智能特别是深度学习不断成为新闻头条出现在人们的视野中,特别是它在困难分类和回归问题上取得的巨大成功,例如图像分类、语音识别、自动翻译等领域,展现出了深度学习在真实应用中的颠覆性影响,并推动着计算机多个学科的重大变革。深度学习之所以取得如此显著的成绩,得益于海量数据集和高性能硬件的出现,特别是利用高性能硬件的体系结构特点,对深度神经网络模型进行软硬件联合设计和优化,将是未来深度学习领域出现重大突破的关键。随着深度学习体系结构成为未来计算机体系结构领域的研究重点,如何讲授相关的研究成果和进展,对推动该领域发展是很大的挑战。
由于深度学习的体系结构研究仍然处于迅猛发展的阶段,缺少针对该领域提纲挈领性的参考书籍,而本书的出现正好弥补了这部分空白。作者基于在深度学习和体系结构领域的长期研究和实践经验,全面介绍了深度学习的发展、评测和优化的最新研究成果,帮助读者掌握深度学习体系结构的精髓。本书大致可以分为四部分内容。首先,介绍了神经网络的基本知识和发展历程,从线性回归到感知器,以及当前最先进的深度神经网络。其次,主要针对当前流行的深度学习软件的设计异同进行了深入介绍,指导读者针对具体应用选择最正确的软件。同时,展示了Fathom深度学习评测集,该评测集能够帮助科研人员更好地评价研究成果的贡献。再次,对利用定制化硬件加速神经网络的体系结构进行了探索,特别是针对Minerva加速器设计和优化框架,具体介绍了Minerva方法论以及如何设计实验在神经网络准确度、功耗、性能和硬件面积间进行取舍。最后,给出了神经网络论文中有关硬件研究的全面综述,并且提出了一种分类方法,帮助读者理解和对比不同的研究项目。总之,本书既可以作为高等院校高年级本科生、研究生以及受过计算机科学或工程训练的专业人士的教科书,也可以作为深度学习处理器设计专家的参考书。
本书作者均来自美国高等教育顶级学府哈佛大学,其中既包括从事第一线研究的博士生(Brandon Reagen和Robert Adolf),也包括资深研究人员和教授(Paul Whatmough、Gu-Yeon Wei和David Brooks)。
译者在翻译本书的过程中,正好有幸参与国内深度学习处理器相关的研究课题,在接到机械工业出版社华章分社的翻译邀请之时备感兴奋。一来本书在译者从事课题研究的过程中,对于快速了解整个领域的研究前沿起到了提纲挈领的作用,是从事本领域研究不可多得的优秀参考书;二来由于该领域研究发展迅猛,国内缺乏对该领域进行全面介绍的书籍,译者希望能在优秀参考书引进方面做出微薄的贡献,加速该领域知识在国内的传播。
书中有些术语目前还没有统一译法,所以在翻译过程中保留了其英文名称。由于时间和水平有限,译文中难免存在错误和不妥之处,恳请广大读者和同行不吝批评指正。本书在翻译过程中得到了北京航空航天大学计算机学院老师和学生的大力支持。另外,本书的出版还得到机械工业出版社华章分社的大力帮助,在此对出版社同仁在排版和校对等环节的辛勤付出表示衷心的感谢。我们希望本书的出版对于国内深度学习体系结构的研究和人才培养起到促进的作用。

杨海龙 王 锐

图书目录

译者序
前言
作者简介
第1章 引言/ 1
1.1 神经网络的兴起和衰落/ 2
1.2 第三波人工智能热潮/ 4
1.3 深度学习中硬件的角色/ 7
第2章 深度学习基础/ 11
2.1 神经网络/ 12
2.1.1 生物神经网络/ 12
2.1.2 人工神经网络/ 14
2.1.3 深度神经网络/ 18
2.2 神经网络学习/ 19
2.2.1 神经网络学习的类型/ 21
2.2.2 深度神经网络如何学习/ 22
第3章 方法和模型/ 31
3.1 高级神经网络方法概述/ 32
3.1.1 模型体系结构/ 32
3.1.2 特殊化的层/ 36
3.2 现代深度学习的参考工作负载/ 37
3.2.1 深度学习工作负载集的标准/ 37
3.2.2 Fathom工作负载/ 40
3.3 深度学习背后的计算原理/ 44
3.3.1 深度学习框架的测量与分析/ 44
3.3.2 操作类型评测/ 46
3.3.3 性能相似度/ 48
3.3.4 训练和推理/ 49
3.3.5 并行和操作平衡/ 51
第4章 神经网络加速器优化:案例研究/ 55
4.1 神经网络和简单墙/ 57
4.2 Minerva:一种跨越三层的方法/ 60
4.3 建立基准:安全的优化/ 63
4.3.1 训练空间探索/ 63
4.3.2 加速器设计空间/ 66
4.4 低功耗神经网络加速器:不安全的优化/ 70
4.4.1 数据类型量化/ 70
4.4.2 选择性操作修剪/ 72
4.4.3 SRAM故障缓解/ 74
4.5 讨论/ 79
4.6 展望/ 81第5章 文献调查和综述/ 835.1 介绍/ 84
5.2 分类法/ 84
5.3 算法/ 86
5.3.1 数据类型/ 87
5.3.2 模型稀疏性/ 89
5.4 体系结构/ 92
5.4.1 模型稀疏性/ 95
5.4.2 模型支持/ 98
5.4.3 数据移动/ 105
5.5 电路/ 108
5.5.1 数据移动/ 109
5.5.2 容错/ 112
第6章 结论/ 115
参考文献/ 117

教学资源推荐
作者: [新西兰] 史蒂芬·马斯兰(Stephen Marsland) 著惠灵顿维多利亚大学
作者: 蔡自兴 等编著
作者: (美)Ramesh Jain,Rangachar Kasturi,Brian G.Schunck
作者: [美]玛尼什·J. 贾加(Manish J. Gajjar) 著
参考读物推荐
作者: 涂铭 刘祥 刘树春 编著
作者: [印度] 拉姆库玛·甘地那坦(Ramkumar Gandhinathan) 郎坦·约瑟夫(Lentin Joseph) 著
作者: [美]挪亚·吉夫特(Noah Gift) 著
作者: [葡]路易斯·佩德罗·科埃略(Luis Pedro Coelho) [德]威力·里克特(Willi Richert)[法]马蒂厄·布鲁切尔(Matthieu Brucher) 著