Chapter - 13 Exercise(1-6)

2018-11-05  本文已影响0人  博士伦2014
  1. 在图像分类任务上,CNN相对于完全连接的DNN有什么优势?
  1. 考虑一个由三个卷积层组成的CNN,每个层都有3×3个内核,2的步幅和SAME填充。最下层输出100个特征图,中间一个输出200,前一个输出400。输入图像是200×300像素的RGB图像。

A. CNN中的参数总数是多少?
让我们计算CNN有多少参数。

(1). 由于第一个卷积层有3×3个内核,输入有三个通道(红色,绿色和蓝色), 然后每个特征图具有3×3×3权重,加上偏差项。这是每个特征图的 3×3×3+1= 28个参数。由于该第一卷积层具有100个特征图,因此它具有总共28 × 100 = 2,800个参数。

(2). 第二卷积层具有3×3个核,其输入是前一层的100个特征图的集合,因此每个特征图具有3×3×100 = 900个权重,加上偏差项。这是每个特征图的 3×3×100 + 1 = 901个参数。 由于第二卷积层有200个特征图,因此该层具有901×200 = 180,200个参数。

(3). 最后,第三个和最后一个卷积层也有3×3个核,其输入是前一个层的200个特征图的集合,因此每个特征图具有3×3×200 = 1,800个权重,加上一个偏置项。这是每个特征图的 3×3×200+1 = 1801 个参数 由于它有400个特征图,因此该图层总共有1,801×400 = 720,400个参数。

总而言之,CNN有 2,800 + 180,200 + 720,400 = 903,400个参数。

B. 如果我们使用的是32位浮点数,那么在对单个实例进行预测时,该网络至少需要多少RAM?
现在让我们计算这个神经网络在对单个实例进行预测时需要多少RAM(至少)。

(1). 首先让我们计算每一层的特征图大小。由于我们使用步幅2和SAME填充,因此特征图的水平和垂直尺寸在每一层被除以2(必要时向上舍入),因此输入通道为200×300像素,第一层的特征地图是100×150第二层的特征地图是50×75第三层的特征地图是25×38

(2). 由于32位是4字节而第一卷积层有100个特征图,因此第一层占用4 x 100×150×100 = 600万字节(约5.7 MB,考虑到1 MB = 1,024 KB和1 KB = 1,024字节)。

(3). 第二层占用4×50×75×200 = 300万字节(约2.9MB)。
(4). 第三层占用4×25×38×400 = 1,52万字节(约1.4MB)。

然而,一旦计算了一个层,就可以释放前一层所占用的内存,所以如果一切都经过优化,只需要6 + 9 = 1500万字节(约14.3 MB)的RAM(刚刚计算出第二层时,第一层占用的内存尚未释放)。

但是等等,你还需要添加CNN参数占用的内存。我们之前计算过它有903,400个参数,每个参数使用4个字节,所以这增加了4 × 903,400 = 3,613,600个字节(大约3.4 MB)。

所需的总RAM是(至少)18,613,600字节(约17.8 MB)。

C. 在对50个图像的小批量训练时又是什么样呢?
最后,让我们计算在50个图像的小批量训练CNN时所需的最小RAM量。
在训练期间,TensorFlow使用反向传播,这需要保持在前向传递期间计算的所有值,直到反向传递开始。因此,我们必须计算单个实例的所有层所需的总RAM,并将其乘以50!让我们开始以兆字节而不是字节计数。我们之前计算过,每个实例的三层分别需要5.7, 2.9 和1.4 MB。

每个实例总共10.0 MB。因此,对于50个实例,总RAM为500 MB。再加上输入图像所需的RAM,即50×4×200×300×3 = 3600万字节(约34.3 MB),加上模型参数所需的RAM,大约3.4 MB(之前计算过) ,加上梯度的一些RAM(我们将忽略它们,因为它们可以逐渐释放,因为反向传播在反向传递期间向下传播)。

我们总共大约500.0 + 34.3 +3.4 = 537.7 MB。这真的是一个乐观的最低限度。

  1. 如果你的GPU在训练CNN时内存不足,你可以尝试解决问题的五件事情是什么?
  1. 为什么要添加最大池化层而不是具有相同步幅的卷积层?
    最大池层根本没有参数,而卷积层有很多参数(参见前面的问题)

  2. 你希望何时添加本地响应规范化层?
    局部响应标准化层使最强激活的神经元在相同位置但在相邻特征图中抑制神经元,它鼓励不同的特征图专门化并将它们分开,迫使它们探索更广泛的特征。

它通常在较低层中使用,以具有较大的低级特征池,上层可以构建在其上。

  1. 与LeNet-5相比,你能说出AlexNet的主要创新吗?GoogLeNet和ResNet的主要创新又如何?
上一篇 下一篇

猜你喜欢

热点阅读