深度学习-1.简介
Deep Learning - Lecture 1 Introduction to Deep Learning
- 学习深度学习的动机
- 什么是深度学习
- 什么导致了深度学习的出现
- 模型与理论的发展(软件部分)
- 通用图形处理单元GPU的发展(硬件部分)
- CPU与GPU计算对比
- GPU与CPU的理论FLOPS对比
- 深度学习带来的可持续性问题
- 总结
- 文中引用
本节目标:
- 学习深度学习的动机
- 什么是深度学习
- 什么导致了深度学习的出现
- 可持续性问题
学习深度学习的动机
深度学习在数据结构复杂的领域彻底改变了机器学习
- 深度学习的第一个重大影响是在图像识别方面
上图来自:Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep
convolutional neural networks. Advances in neural information processing systems, 25.
上图列出来几个图像识别的示例,例如第一张图片是一只螨虫(mite)。螨虫图像下方列出了几个可能性: 螨虫(可能性最高)、“black widow(黑寡妇蜘蛛)、cockroach(蟑螂)、tick(蜱虫)、starfish(海星)” 等 - 深度学习对视觉感知和场景理解也产生持续的、重大的影响
图像来源于英伟达 2019 年 10 月 23 日关于全景分割的博客文章:https://blogs.nvidia.com/blog/
2019/10/23/drive-labspanoptic-segmentation - 深度学习进行自然语言处理。
- 深度学习将强化学习扩展到了高维连续状态空间的问题中
- 左侧图片为经典电子游戏:《太空侵略者》。下方文字里表明通过深度强化学习电脑实现了人类水平的控制。
- 中间图片大家都懂,就是当时的阿尔法狗。
- 最后这个打游戏的应该听说过。如图,它叫alphastar,是基于阿尔法狗的升级版,是针对游戏《星际争霸2》(starcraft2)开发的,所以叫alphastar。这个项目在当时很厉害,如果不限制AI,它能做出非常多匪夷所思的操作。即使是限制到人类水准,人类也很难战胜。(具体可以看B站搜alphastar)
- 深度学习有在机器人的感知、控制和人机交互方面带来变革的潜力。
什么是深度学习
深度学习是表示学习的一个子集,而表示学习是机器学习的一个子集,机器学习又是人工智能的一个子集。
(表示学习(Representation Learning)是机器学习中的一个重要领域,它旨在自动从数据中学习到有效的特征表示(也叫特征向量),这些特征能够更好地捕捉数据的内在结构和语义信息,从而提升模型在各种任务上的性能,比如分类、回归、预测等。)
遗憾的是,下图没有展示表示学习。
深度学习使用一个由简单函数构成的‘深度’链,自动从数据中学习特征
- 经典机器学习:从左到右依次是“Input”(输入)、“Hand - crafted features”(手工制作的特征)、“Mapping from features”(从特征映射)、“Output”(输出)。在经典机器学习中,特征需人工设计,且这些特征是固定的。
- 深度学习:从左到右依次是“Input”(输入)、多个“Simple Features”(简单特征)(中间用“Many Layers”(许多层)连接,表示有多层简单特征)、“Mapping from features”(从特征映射)、“Output”(输出)。橙色阴影框表示能够从数据中学习的组件。表明深度学习通过多层简单函数构成的深度链,自动从数据中学习特征。
深度学习用凸性换取灵活性
多年来深度学习在一定程度上被忽视,因为其他方法在优化方面具有更好的理论性质。
- 传统机器学习:使用“Convex Loss Function”(凸损失函数),图中曲线呈碗状,有一个明确的“Global minimum”(全局最小值),凸函数的任何局部最小值也是其全局最小值,意味着在传统机器学习中,优化算法更容易找到全局最优解。
- 深度学习:使用“Non - Convex Loss Function”(非凸损失函数),图中曲线起伏不平,除了“Global minimum”(全局最小值)外,还有“Local minimum”(局部最小值),表明深度学习的损失函数更为复杂,优化过程中容易陷入局部最小值,这也是深度学习在理论优化性质上不如传统机器学习的地方,但深度学习通过这种非凸性换取了模型的灵活性,能够学习到更复杂的模式和特征。
什么导致了深度学习的出现
模型与理论的发展(软件部分)
深度学习的发展时间线
人工神经网络研究主要有三波浪潮:
- 20世纪40 - 60年代的控制论(cybernetics);
- 20世纪80 - 90年代的联结主义(connectionism);
- 2006年至今的深度学习(deep learning)。
- 1943年,McCulloch和Pitts提出神经元模型(neuron model);
- 1958年,Rosenblatt提出感知机(the perceptron);
- 1960年,Widrow和Hoff提出随机梯度下降(stochastic gradient descent);
- 1974年,Werbos提出反向传播(backpropagation);
- 1986年,Rumelhart等人提出多层感知机(multilayer perceptron);
- 1988年,Broomhead和Lowe提出径向基函数网络(RBF networks);
- 1989年,LeCun提出卷积神经网络(convolutional network),Hornik等人提出通用近似器(universal approximator);
- 2006年,Hinton等人提出深度信念网络(deep belief nets);
- 2011年,Glorot等人提出深度整流网络(deep rectifier nets);
- 2012年,Krizhevsky等人提出深度卷积神经网络(deep CNNs);
- 2014年,Goodfellow等人提出生成对抗网络(generative adversarial networks);
- 2015年,Mnih等人提出深度强化学习(deep reinforcement learning)。
- 由于空间限制,深度学习近些年的进展不提及 。
深度学习的数据集
大型数据集对于确保良好的泛化能力和防止模型过拟合是必要的。
以下是一些知名的机器学习数据集,按图像与视频、语音与音频、文本三类进行介绍:
- 图像与视频:
- ImageNet,用于目标识别,网址为http://www.image - net.org/;
- CIFAR10和CIFAR100,网址为https://www.cs.toronto.edu/~kriz/cifar.html;
- Microsoft COCO,用于目标检测与识别,网址为https://cocodataset.org/#home;
- MNIST,用于数字识别,网址为http://yann.lecun.com/exdb/mnist/;
- Kitti,用于机器人计算机视觉,网址为http://www.cvlibs.net/datasets/kitti/。
- 语音与音频:
- Audioset,用于谷歌声音识别,网址为https://research.google.com/audioset/;
- Speech command dataset,用于谷歌语音命令,网址为http://download.tensorflow.org/data/speech_commands_v0.01.tar.gz。
- 文本:
- WMT14,用于机器(语言)翻译,网址为http://statmt.org/wmt14/translation - task.html;
- IMDB,用于情感分析,网址为http://ai.stanford.edu/~amaas/data/sentiment/。
上图是L. Fei - Fei在2010年3月CMU VASC研讨会上关于ImageNet的相关内容及网址http://image - net.org/about - publication。 其展示了一些图像示例及类别层次关系,如“mammal”(哺乳动物)→“placental”(有胎盘类)→“carnivore”(食肉动物) ,“canine”(犬科动物)→“dog”(狗)→“working dog”(工作犬)。
深度学习的模型
模型设计的进步,特别是用于解决梯度消失问题的激活函数,推动了深度网络的发展
- 传统神经网络激活函数:图中展示了Sigmoid(红色曲线)和Tanh(绿色曲线)函数。在图中标记出,当输入值处于一定范围时,Sigmoid和Tanh函数的梯度“Gradient is near zero”(梯度接近零),这意味着在深度神经网络中使用这些函数进行反向传播时,容易出现梯度消失问题,导致网络难以训练。
- 现代修正激活函数:(梯度趋于不消失)。图中展示了Softplus(蓝色曲线)和Rectifier(红色曲线)函数。图中标注了在不同输入值下的梯度情况,Rectifier函数在大于0的部分梯度梯度始终为1(非零),在小于0的部分梯度为0,Softplus函数的梯度也避免了趋近于零的情况,这些现代激活函数有助于缓解梯度消失问题,使得深度网络的训练更加有效。
通用图形处理单元GPU的发展(硬件部分)
通用图形处理单元(简称GPGPU或GPU )是加速深度学习的主要工具
如上图,这里说的GPU就是这个GPU。
上图是训练AlexNet,图表纵坐标表示训练天数(Days),横坐标从左到右依次为16 - core Xeon CPU、Titan、Titan Black cuDNN、Titan X cuDNN。图中显示,使用16核Xeon CPU训练AlexNet所需天数最多,而使用配备cuDNN(CUDA Deep Neural Network library,CUDA深度神经网络库)的Titan X GPU训练所需天数最少,体现了GPU(特别是配备相关加速库时)在深度学习模型训练速度上相较于CPU的显著优势。
CPU与GPU计算对比
GPU专门用于高度并行的数据计算,因此其设计使得更多的晶体管用于数据处理(绿色模块)
页面中间通过图示对比了CPU和GPU的芯片资源分布:
- CPU:包含多个核心(Core,绿色部分),每个核心旁边有控制单元(Control,黄色部分),还有L1缓存(L1 Cache,紫色部分)、L2缓存(L2 Cache,蓝色部分)、L3缓存(L3 Cache,深蓝色部分)以及动态随机存取存储器(DRAM,橙色部分)。从图中可以看出,CPU的核心数量相对较少,控制单元和缓存占据了较大的芯片面积。
- GPU:拥有大量的核心(绿色部分,数量远多于CPU核心),控制单元(黄色部分)和缓存(L2 Cache,蓝色部分)相对较少,也有动态随机存取存储器(DRAM,橙色部分)。GPU的设计将更多晶体管资源分配给了数据处理核心,以支持其高度并行计算的特性。
GPU与CPU的理论FLOPS对比
在过去20年中,GPU的FLOPS大幅增加。
上图展示了NVIDIA GPU与Intel CPU在单精度(Single Precision FP32)下的理论万亿次浮点运算(TFLOPS)能力随时间的变化情况:
- 横轴:表示年份,从2002年到2022年。
- 纵轴:表示理论TFLOPS数值,范围从0到35。
- 蓝色折线(GPU):代表不同型号的NVIDIA GPU,包括GeForce FX 5800、GeForce GTX280、GeForce GTX680、GeForce GTX1080、GeForce RTX2080、GeForce RTX3080等。可以看到,随着时间推移,GPU的理论TFLOPS数值增长显著,尤其是在2012年之后增长速度加快。
- 橙色折线(CPU):代表不同型号的Intel CPU,包括Pentium 4、Bloomfield、Sandy Bridge、Skylake、Cascade Lake等。相比之下,CPU的理论TFLOPS数值增长较为缓慢,且在整个时间段内数值明显低于GPU。
深度学习带来的可持续性问题
(老外们就是爱搞这种伦理啊,可持续性等问题。)
深度学习中的能源消耗很高。在相关研究中有数据表明数据中心现在消耗全球1%的电力。这表明深度学习依赖的数据中心在全球电力消耗中占据了一定比例,强调了深度学习能耗问题的重要性和规模。
深度学习专用处理器
图例是谷歌的张量处理单元(TPU)展示了TPU的架构设计,突出其在深度学习计算中的高效性和专用性。
- Host Queues (over PCIe):主机队列(通过PCIe接口),位于图的左侧,用于与主机进行通信。
- HBM Memory (8/16 GiB):高带宽内存(8/16GB),在主机队列右侧,为TPU提供数据存储和读取功能。
- TensorCore:张量核心,处于图中间的虚线框内,是TPU的核心处理部分,包含多个子单元:
- Core Sequencer:核心序列器,位于张量核心的上方,负责指令和操作的排序。
- Matrix Multiply (MXU):矩阵乘法单元,有两个,一个是通用的,另一个标注“TPUv3 only”(仅TPUv3有),用于执行矩阵乘法运算,这是深度学习中常见的计算操作。
- Vector Unit (VPU):向量单元,与矩阵乘法单元相连,用于处理向量相关计算。
- Transpose Permute Unit:转置置换单元,负责数据的转置和排列操作。
- Interconnect Router (ICI):互连路由器,在图的最右侧,用于TPU内部各组件之间的数据传输和通信。
全球数据中心处理转移
碳感知计算将许多计算任务的时间转移到风能和太阳能等低碳能源最为丰富的时候:https://blog.google/inside - google/infrastructure/data - centers - work - harder - sun - shines - wind - blows/” 。
深度神经网络(DNN)、数据中心和处理器的选择可以将碳足迹减少约100 - 1000倍出自Patterson等人2021年的研究,同时展示了一张太阳能板的图片,强调可再生能源在数据中心中的应用。“D. A. Patterson, J. Gonzalez, Q. V. Le, C. Liang, L. - M. Munguia, D. Rothchild, D. R. So, M. Texier, and J. Dean. Carbon emissions and large neural network training. 2021. https://arxiv.org/abs/2104.10350”
总结
- 深度学习基于由简单函数构成的深度链,这些函数能够从数据中学习提取特征。
- 深度学习得以实现的因素包括:
- 大型数据集;
- 训练深度网络模型的能力;
- 用于并行处理的计算硬件——GPU。
- 深度学习中的能源效率以及大规模数据处理,如今已成为可持续发展关注的主要领域。
文中引用
- (深度卷积神经网络的 ImageNet 分类)Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. Advances in neural information processing systems, 25.
- (英伟达全景分割博客)https://blogs.nvidia.com/blog/2019/10/23/drive-labspanoptic-segmentation
- (通过深度强化学习实现人类水平的控制)Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., … & Hassabis, D. (2015). Human - level control through deep reinforcement learning. Nature, 518 (7540), 529 - 533.”
- (利用深度神经网络和树搜索掌握围棋游戏)Silver, D., et al. (2016). Mastering the game of Go with deep neural networks and tree search. Nature, 529 (7587), 484 - 489.
- (使用多智能体强化学习在《星际争霸 II》中达到大师级别)Vinyals, O., et al. (2019). Grandmaster level in StarCraft II using multi - agent reinforcement learning. Nature, 575 (7782), 350 - 354.
- Glorot, X., Bordes, A., & Bengio, Y. (2011). Deep sparse rectifier neural networks. In Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics (pp. 315 - 323). JMLR Workshop and Conference Proceedings.”
- (英伟达GPU/CPU发展折线图)https://docs.nvidia.com/cuda/archive/9.1/pdf/CUDA_C_Programming_Guide.pdf (2018)
- (深度学习电量消耗)E. Masanet, A. Shehabi, N. Lei, S. Smith, and J. Koomey. Recalibrating global data center energy - use estimates. Science, 367(6481):984 - 986, 2020.” 。
- https://blog.google/inside - google/infrastructure/data - centers - work - harder - sun - shines - wind - blows/” 。
- “D. A. Patterson, J. Gonzalez, Q. V. Le, C. Liang, L. - M. Munguia, D. Rothchild, D. R. So, M. Texier, and J. Dean. Carbon emissions and large neural network training. 2021. https://arxiv.org/abs/2104.10350”