Questions tagged «neural-network»

人工神经网络(ANN)由“神经元”组成-模仿生物神经元特性的编程结构。神经元之间的一组加权连接允许信息通过网络传播以解决人工智能问题,而无需网络设计人员拥有真实系统的模型。

3
如何为深度学习模型添加新类别?
假设我已经在经过预先训练的网络上进行了转移学习,可以识别10个对象。如何添加网络可以分类的第11个项目,而又不丢失我已经训练的所有10个类别或原始预训练模型的信息?一位朋友告诉我,该领域正在积极研究中,但是我找不到任何相关论文或名称来搜索? 谢谢。

1
一般而言,神经网络中激活函数的差异
我研究了神经网络的激活函数类型。这些函数本身非常简单,但是应用程序的差异并不完全清楚。 合理的是,可以根据所需的二进制/连续输出来区分逻辑类型函数和线性类型函数,但是S型函数比简单线性函数有何优势? 例如,对我而言,ReLU尤其难以理解:使用一个在正输入情况下表现为线性,而在负输入情况下表现为“平坦”的函数有什么意义呢?这背后的直觉是什么?还是仅仅是简单的试错法,仅此而已?

3
基于单词和基于字符的文本生成RNN有什么区别?
在阅读有关使用递归神经网络生成文本的信息时,我注意到一些示例被实现为逐个单词地生成文本,而另一些字符则逐个字符地生成,而没有实际说明原因。 那么,是什么,预测文本RNN模型之间的区别每个字的基础,并且预测文本的那些每个字符的基础?基于单词的RNN是否需要更大的语料库大小?基于char的RNN泛化效果更好吗?也许唯一的区别是输入表示形式(单热编码,单词嵌入)?选择哪种文本生成方式?

2
为什么激活函数必须是单调的?
我目前正在准备有关神经网络的考试。在以前考试的一些协议中,我读到(多层感知器中)神经元的激活功能必须是单调的。 我知道激活函数应该是可微的,在大多数点上具有不为0的导数,并且是非线性的。我不明白为什么单调很重要/有帮助。 我知道以下激活函数,它们是单调的: ReLU 乙状结肠 h Softmax:我不确定单调性的定义是否适用于函数F:Rñ→ R米F:[Rñ→[R米f: \mathbb{R}^n \rightarrow \mathbb{R}^m,Ñ ,米> 1ñ,米>1个n, m > 1 软加 (身份) 但是,我仍然看不到为什么φ (x )= x2φ(X)=X2\varphi(x) = x^2任何原因。 为什么激活函数必须是单调的? (相关的侧面问题:对数/指数函数不用作激活函数有任何原因吗?)

1
如何沿着侧面图像添加非图像特征作为CNN的输入
我正在训练一个卷积神经网络以对雾条件下的图像进行分类(3类)。但是,对于约150.000张图像中的每张图像,我还具有四个可用的气象变量,这些变量可能有助于预测图像的类别。我想知道如何将气象变量(例如温度,风速)添加到现有的CNN结构中,从而有助于分类。 我已经想到的一种方法是在CNN旁边创建另一个(小型)前馈神经网络,然后在密集层将CNN层的输出和非图像神经网络的隐藏层彼此连接。 我能想到的第二种方法就是将这些要素与致密层接触。但是,在这种情况下,非图像变量(我认为)只能进行线性预测。 还有其他(更好)的方法可以将非图像特征包括在模型中吗?考虑到我拥有的数据量,什么是明智的选择呢? 我还有一个问题是,在使用这些非图像特征进行训练时,是否应该解冻卷积层?Resnet-18的这些层(在ImageNet上初始化为预先训练的)已经使用图像进行了微调。我的猜测是,我应该使它们保持冻结状态,并且仅解冻稠密层,因为只有在这种情况下,非图像特征才与图像特征“接触”(在CNN的较早版本中才出现)。如果我错了,请这样说!

1
通过最大池化层进行反向传播
我对这个问题有一个小问题。 我了解到,在通过最大池化层进行反向传播时,梯度将以之前选择为max的上一层神经元获取所有梯度的方式路由回去。我不确定100%是下一层的渐变如何路由回到池化层。 因此,第一个问题是我是否将池化层连接到完全连接的层-如下图所示。 在计算池化层的青色“神经元”的梯度时,是否将来自FC层神经元的所有梯度求和?如果这是正确的,那么池化层的每个“神经元”都具有相同的梯度? 例如,如果FC层的第一个神经元的渐变为2,第二个神经元的渐变为3,第三个神经元的渐变为6,则池化层中蓝色和紫色“神经元”的渐变是什么?为什么? 第二个问题是池化层何时连接到另一个卷积层。那我该如何计算梯度呢?请参见下面的示例。 对于池化层中最右端的“神经元”(绿色框),我只是在下一个conv层中采用紫色神经元的梯度并将其路由回去,对吗? 那个绿色的怎么样?由于链式规则,我需要将下一层的神经元的第一列相乘?还是我需要添加它们? 请不要发布一堆方程式,并告诉我我的答案就在那儿,因为我一直在努力将方程式包围着我,但我仍然不太了解它,这就是为什么我要简单地问这个问题办法。


3
如果Max Pooling只是要对图像进行降采样,为什么还要回旋呢?
应用滤镜做诸如识别边缘之类的想法的想法很酷。 例如,您可以拍摄一张7的图像。使用某些滤镜,最终可以得到强调原​​始图像不同特征的变换图像。原来的7: 网络可以体验为: 注意每个图像如何提取原始图像7的不同边缘。 一切都很好,但是然后说网络中的下一层是“最大池”层。 我的问题是,总的来说,这看起来有点像过大杀伤力吗?我们只是非常谨慎和谨慎地使用滤镜来识别边缘-现在,我们不再在乎这些,因为我们已经从像素值中剔除了一切!如果我错了,请纠正我,但是我们从25 X 25变为2 X 2!为什么不直接进入Max Pooling,我们最终不会得到基本相同的东西吗? 作为扩展,我的问题是,我不禁要问,如果巧合的是,这4个正方形中的每一个恰好都具有一个具有相同最大值的像素,将会发生什么情况。当然这不是罕见的情况,对吗?突然,您所有的训练图像看起来都完全一样。


3
Keras的model.predict函数的输出是什么意思?
我建立了一个LSTM模型来预测Quora官方数据集上的重复问题。测试标签为0或1。1表示问题对重复。使用建立模型后model.fit,我将model.predict在测试数据上使用模型进行测试。输出是一个值数组,如下所示: [ 0.00514298] [ 0.15161049] [ 0.27588326] [ 0.00236167] [ 1.80067325] [ 0.01048524] [ 1.43425131] [ 1.99202418] [ 0.54853892] [ 0.02514757] 我只显示数组中的前10个值。我不明白这些值是什么意思,每个问题对的预计标签是什么?




2
可视化深度神经网络训练
我正在尝试为多层网络找到等效的欣顿图,以在训练过程中绘制权重。 训练后的网络在某种程度上类似于Deep SRN,即它具有大量的多个权重矩阵,这会使多个Hinton图的同时绘制在视觉上造成混淆。 有人知道可视化多层多层递归网络权重更新过程的好方法吗? 我没有找到太多关于该主题的论文。我当时想在每层权重上显示与时间相关的信息,如果我无法解决问题。例如,随着时间的推移,每一层的权重增量(省略每个连接的使用)。PCA是另一种可能性,尽管我不想产生太多额外的计算,因为可视化是在培训期间在线完成的。

3
为什么用于降维的自动编码器是对称的?
无论如何我都不是自动编码器或神经网络的专家,所以如果这是一个愚蠢的问题,请原谅我。 为了降维或可视化高维数据中的群集,我们可以使用自动编码器通过检查具有2个节点的网络层的输出来创建(有损)2维表示。例如,使用以下架构,我们将检查第三层的输出 [ X] → N1个= 100 → N2= 25 → (N3= 2 )→ N4= 25 → N5= 100 → [ X][X]→N1=100→N2=25→(N3=2)→N4=25→N5=100→[X][X] \rightarrow N_1=100 \rightarrow N_2=25 \rightarrow (N_3=2) \rightarrow N_4=25 \rightarrow N_5=100 \rightarrow [X] 其中是输入数据,N l是第l层中的节点数。XXXñ升NlN_l升ll 现在,我的问题是,为什么我们要一个对称的架构?难道不是深层“压缩”阶段的镜像,这意味着我们可能会有类似复杂的“解压缩”阶段,导致2节点输出不是很直观吗?换句话说,难道没有更简单的解码阶段会导致具有2个节点的层的输出也必然变得更简单吗? 我的想法是,减压阶段越简单,二维表示就必须越简单(越线性?)。更复杂的减压阶段将允许更复杂的2D表示。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.