当前位置: 首页 > 知识库问答 >
问题:

卷积神经网络中的“激活”、“激活梯度”、“权重”和“权重梯度”是什么?

孙俊彦
2023-03-14

我刚刚在CNN上读完斯坦福CS231n的笔记,有一个现场演示的链接;但是,我不确定演示中的“激活”、“激活梯度”、“权重”和“权重梯度”指的是什么。以下截图是从演示中复制的。

混淆点1

首先,我对输入层的“激活”是指什么感到困惑。根据注释,我认为激活层指的是CNN中的RELU层,它本质上告诉CNN应该点亮哪些神经元(使用RELU函数)。我不确定这与如下所示的输入层有何关系。此外,为什么会显示两幅图像?第一幅图像似乎显示了提供给CNN的图像,但我无法区分第二幅图像显示的内容。

混淆点2

出于与上述相同的原因,我不确定此处显示的“激活”和“激活梯度”是什么。我认为“权重”显示的是卷积层中16个过滤器的样子,但我不确定“权重梯度”应该显示什么。

混淆点3

我想我理解RELU层中的“激活”指的是什么。在输出图像的每个值(像素)都应用了RELU功能后,它将显示所有16个过滤器的输出图像,因此,为什么16个图像中的每个都包含黑色(未激活)或一些白色阴影(激活)的像素。然而,我不明白“激活梯度”指的是什么。

混淆点4

也不明白这里的“激活梯度”指的是什么。

我希望通过理解这个演示,我能更多地理解CNN

共有3个答案

黄英韶
2023-03-14

混淆点1对于卷积层,每一层都有检测特征的职责。想象一下,你想检测一张人脸,第一层会检测边缘,也许下一层会检测你的鼻子等等。在最后一层,会检测到更复杂的特征。在第一层,你看到的是第一层从图像中检测到的东西。混淆点2如果你查看完全连接的层,我认为它们可能会显示它们在反向传播期间获得的梯度。因为通过完全连接的层,它们只得到灰黑色等颜色。混淆点3没有任何相关的层。抽搐后,你使用激活函数,你得到另一个矩阵,然后你通过另一层。在reu之后,你得到颜色。混淆点4同上。

如果你不明白任何一点,请告诉我。

羿经武
2023-03-14

混淆点1:看代码,在输入层中,“激活”可视化是第一个图形的彩色图像。第二个图形没有任何意义,因为代码试图显示一些渐变值,但不清楚它们来自何处。

// HACK to draw in color in input layer
if(i===0) {
  draw_activations_COLOR(activations_div, L.out_act, scale);
  draw_activations_COLOR(activations_div, L.out_act, scale, true);

混淆点2,3

  • 激活:它是层的输出
  • 激活梯度:这个名称令人困惑,但它基本上是损失相对于当前层l输入的梯度。这在您想调试autodif算法的情况下很有用
  • 权重:只有当图层是卷积时才会打印。它基本上是卷积的不同过滤器
  • 权重梯度:它是损失相对于当前层l权重的梯度
咸高谊
2023-03-14

这个问题与这个问题相似,但不完全相同。此外,这里还有一个带注释的ConvNetJS示例代码链接(这里有一个指向完整文档的链接)。您可以在演示页面顶部查看代码本身的代码。

激活函数是一个函数,它接受一些输入并根据是否达到某个“阈值”(这是每个不同激活函数的特定值)输出一些值。这来自神经元的工作方式,它们接受一些电输入,只有当它们达到某个阈值时才会激活。

混淆点1:第一组图像显示的是原始输入图像(左边的彩色图像),两个图像的右边是经过激活函数后的输出。你不应该真的能够解释第二个图像,因为它正在通过网络进行非线性和感知到的随机非线性转换。

混淆点2:与前一点类似,“激活”是图像像素信息传递到的功能。梯度本质上是激活函数的斜率。它看起来更稀疏(即,颜色仅在某些位置显示),因为它显示了图像中每个节点关注的可能区域。例如,第一行的第6个图像在左下角有一些颜色;这可能表明激活功能发生了很大变化,以表明这一领域的有趣之处。本文可能会澄清一些关于权重和激活函数的混淆。这篇文章提供了一些关于每一步都在做什么的非常好的视觉效果。

混淆点3:这起初让我感到困惑,因为如果你考虑一个ReLu函数,你会发现它的斜率为1表示正x,其他任何地方都为0。所以采取激活函数(在这种情况下是ReLu)的梯度(或斜率)是没有意义的。“最大激活”和“最小激活”值对于ReLu是有意义的:最小值将为零,最大值是任何最大值。这直接来自ReLu的定义。 为了解释梯度值,我怀疑这些值中添加了一些高斯噪声和0.1的偏差项。 编辑:梯度是指如下所示的成本-权重曲线的斜率。y轴是损失值或使用x轴上的权重值w计算的误差。

图像源https://i.ytimg.com/vi/b4Vyma9wPHo/maxresdefault.jpg

混淆点4:见上文。

 类似资料:
  • 我正在尝试使用CNN对图像进行分类,据我所知,ReLu是每个卷积层中激活单元的常用选择。根据我的理解,ReLU将保留所有正图像强度,并将负图像强度转换为0。对我来说,这就像是处理步骤,而不是真正的“启动”步骤。那么,在这里使用ReLU的目的是什么?

  • 我目前正在尝试理解卷积神经网络中的权重分配实际上是什么。 据我所知,CNN首次引入是为了减少连接输入和输出所需的连接数量,因为输入具有3个维度。 根据这一逻辑,我认为卷积减少了其中一个维度,并将卷积图像连接到输出神经元。 连接卷积图像和输出的权重是否是未共享的权重?如果没有,哪些权重是不共享的?。 或者,如果是,则反向传播将其视为一个权重,并将其更新为一个单位?

  • 我使用MatConvNet开发了一个CNN,能够可视化第一层的重量。它看起来与这里显示的非常相似(也附在下面,以防我不够具体)http://cs.stanford.edu/people/karpathy/convnetjs/demo/cifar10.html 我的问题是,权重梯度是什么?我不确定这些是什么,也无法生成这些。。。

  • 本文向大家介绍问题:神经网络激活函数?相关面试题,主要包含被问及问题:神经网络激活函数?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: sigmod、tanh、relu 解析:需要掌握函数图像,特点,互相比较,优缺点以及改进方法

  • 我从几篇文章中了解到,要计算滤波器的梯度,只需以输入体积为输入,以误差矩阵为核进行卷积。之后,只需将过滤器权重减去梯度(乘以学习率)。我实现了这个过程,但它不起作用。 我甚至试着自己用笔和纸做反向传播过程,但我计算的梯度并没有使过滤器的性能更好。那么,我对整个过程的理解是否有误? 编辑:我将提供一个例子,说明我对CNN中反向传播及其问题的理解。 考虑卷积层的随机输入矩阵: 1,0,1 0、0、1

  • 在LeNet提出后的将近20年里,神经网络一度被其他机器学习方法超越,如支持向量机。虽然LeNet可以在早期的小数据集上取得好的成绩,但是在更大的真实数据集上的表现并不尽如人意。一方面,神经网络计算复杂。虽然20世纪90年代也有过一些针对神经网络的加速硬件,但并没有像之后GPU那样大量普及。因此,训练一个多通道、多层和有大量参数的卷积神经网络在当年很难完成。另一方面,当年研究者还没有大量深入研究参