Questions tagged «neural-networks»

人工神经网络(ANN)是一类广泛的基于生物神经网络的计算模型。它们包括前馈NN(包括“深度” NN),卷积NN,递归NN等。


5
权衡批次大小与迭代次数以训练神经网络
训练神经网络时,设置有什么区别: 批处理大小为,迭代次数为一种一种abbb vs.批处理大小为和迭代次数为CCcddd 其中?a b = c d一种b=Cd ab = cd 换句话说,假设我们使用相同数量的训练示例训练神经网络,那么如何设置最佳批处理大小和迭代次数?(其中批处理数量*迭代次数=向神经网络显示的训练示例的数量,同一训练示例可能多次显示) 我知道批处理大小越大,所需的内存空间就越大,并且通常可以使计算速度更快。但是,就训练有素的网络的性能而言,这有什么不同?

4
神经网络中的隐藏层计算什么?
我敢肯定,很多人都会以“让我为您找到的谷歌”的链接进行回复,因此我想说的是我已经设法弄清楚了这一点,所以请您原谅我对此缺乏理解,但是我无法弄清楚神经网络的实际实现实际上是可行的。 我了解输入层以及如何对数据进行规范化,也了解偏差单位,但是当涉及到隐藏层时,该层中的实际计算是什么,以及它如何映射到输出中就有点模糊了。我已经看到了在隐藏层中带有问号的图,布尔函数(例如AND / OR / XOR),激活函数以及映射到所有隐藏单元的输入节点,以及每个映射到仅几个隐藏单元的输入节点,等等。我只是在实践方面有几个问题。当然,像您向孩子解释那样,对整个神经网络过程的简单解释将非常棒。 隐藏层中进行了哪些计算? 这些计算如何映射到输出层? 输出层如何工作?从隐藏层反规范化数据? 为什么输入层中的某些层连接到隐藏层,而有些却没有呢?

4
神经网络中的批量大小是多少?
我正在使用Python Keras package神经网络。这是链接。是batch_size等于测试样品的数量?从维基百科,我们可以获得以下信息: 但是,在其他情况下,求和梯度可能需要对所有求和函数的梯度进行昂贵的求值。当训练集庞大且不存在简单公式时,评估梯度之和变得非常昂贵,因为评估梯度需要评估所有求和函数的梯度。为了节省每次迭代的计算成本,随机梯度下降在每一步都采样了求和函数的子集。这在大规模机器学习问题的情况下非常有效。 以上信息描述的是测试数据?这与batch_sizekeras中相同(每个梯度更新的样本数)吗?

5
当我的神经网络不学习时该怎么办?
我正在训练一个神经网络,但是训练的损失并没有减少。我怎样才能解决这个问题? 我不是在问过度拟合或正则化。我问的是如何解决训练集上我的网络性能无法提高的问题。 这个问题是有意提出的,因此关于如何训练神经网络的其他问题可以作为该问题的副本来解决,其态度是:“如果给一个人一条鱼,你就可以给他喂一天,但是如果你教一个人,人钓鱼,你可以在他的余生中养活他。” 请参阅此Meta线程进行讨论:回答“我的神经网络不起作用,请解决”问题的最佳方法是什么? 如果您的神经网络不能很好地泛化,请参阅:当我的神经网络不能很好地泛化时,我该怎么办?


2
神经网络以及应用程序中使用的成本函数列表
评估神经网络性能时常用的成本函数是什么? 细节 (随意跳过此问题的其余部分,我的目的仅是提供有关答案可以用来帮助普通读者更理解的符号的说明) 我认为,列出常用成本函数以及实践中使用的几种方法会很有用。因此,如果其他人对此感兴趣,我认为社区Wiki可能是最好的方法,或者如果它不在主题之列,我们可以将其删除。 符号 因此,首先,我想定义一个大家在描述它们时都使用的符号,以便使答案相互吻合。 这种表示法来自尼尔森的书。 前馈神经网络是连接在一起的多层神经元。然后,它接受一个输入,该输入通过网络“ tri流”,然后神经网络返回一个输出向量。 更正式地,调用aijajia^i_j所述的活化(又名输出)神经元中的层,其中是在输入向量的元素。我吨ħ一个1 Ĵ Ĵ 吨ħjthjthj^{th}ithithi^{th}a1jaj1a^1_jjthjthj^{th} 然后,我们可以通过以下关系将下一层的输入与上一层的输入关联起来: aij=σ(∑k(wijk⋅ai−1k)+bij)aji=σ(∑k(wjki⋅aki−1)+bji)a^i_j = \sigma(\sum\limits_k (w^i_{jk} \cdot a^{i-1}_k) + b^i_j) 哪里 σσ\sigma是激活功能, k t h(i − 1 )t h j t h i t hwijkwjkiw^i_{jk}是重从神经元在层到神经元中的层,kthkthk^{th}(i−1)th(i−1)th(i-1)^{th}jthjthj^{th}ithithi^{th} Ĵ 吨ħ我吨ħbijbjib^i_j是层中神经元的偏差,并且jthjthj^{th}ithithi^{th} Ĵ 吨ħ我吨 ħaijajia^i_j代表层中神经元的激活值。jthjthj^{th}ithithi^th 有时我们写来表示,换句话说,就是在应用激活函数之前神经元的激活值。 Σ ķ(瓦特我Ĵ ķ ⋅ 一个我- 1 ķ)+ …


10
神经网络和深度神经网络之间有什么区别,为什么深度神经网络工作得更好?
我还没有看到用这些术语准确说明的问题,这就是为什么我要提出一个新问题。 我感兴趣的不是神经网络的定义,而是了解深度神经网络的实际区别。 有关更多上下文:我知道什么是神经网络以及反向传播如何工作。我知道DNN必须具有多个隐藏层。但是,十年前,我在课堂上了解到,就神经网络能够表示的功能而言,具有多层或一层(不计算输入和输出层)是等效的(请参见Cybenko的通用逼近定理),并且更多的层使分析变得更加复杂而又不提高性能。显然,情况已不再如此。 我猜想可能是错误的,区别在于训练算法和属性,而不是结构,因此,如果答案能强调使DNN成为可能的原因(例如数学证明或随机玩网络),我将不胜感激。?)和期望(收敛例如,速度?)


6
是否可以在不进行反向传播的情况下训练神经网络?
许多神经网络书籍和教程都在反向传播算法上花费了大量时间,反向传播算法本质上是计算梯度的工具。 假设我们正在建立一个具有约10K参数/权重的模型。是否可以使用一些无梯度优化算法来运行优化? 我认为计算数字梯度会太慢,但是其他方法(如Nelder-Mead,模拟退火或遗传算法)如何? 所有算法都会遭受局部极小值的困扰,为什么会迷恋梯度?



2
什么是神经网络中的嵌入层?
在许多神经网络库中,都有“嵌入层”,例如Keras或Lasagne中。 尽管阅读了文档,但我不确定我是否了解它的功能。例如,在Keras文档中说: 将正整数(索引)转换为固定大小的密集向量,例如。[[4],[20]]-> [[0.25,0.1],[0.6,-0.2]] 知识渊博的人可以解释它的作用以及何时使用吗? 编辑:关于文档中的粘贴,没有太多可从文档中粘贴,因此是我的问题。我不了解它所做的转换,也不知道为什么要使用它。 无论如何,这是在Keras中解释的方式: 嵌入 keras.layers.embeddings.Embedding(input_dim,output_dim,init ='uniform',input_length = None,weights = None,W_regularizer = None,W_constraint = None,mask_zero = False)将正整数(索引)转换为固定大小的密集向量,例如。[[4],[20]]-> [[0.25,0.1],[0.6,-0.2]] 输入形状:2D张量,形状为:(nb_samples,sequence_length)。输出形状:具有以下形状的3D张量:(nb_samples,sequence_length,output_dim)。参数: input_dim:int> =0。词汇量,即。输入数据中出现1+最大整数索引。output_dim:int> =0。密集嵌入的尺寸 这就是千层面的解释: 单词嵌入层。输入应为整数类型Tensor变量。 参数:传入:一个Layer实例或一个元组 送入该层的层,或预期的输入形状。 input_size:整数 不同嵌入的数量。最后的嵌入将具有索引input_size-1。 output_size:整数 每个嵌入的大小。 W:Theano共享变量,表达式,numpy数组或可调用 嵌入矩阵的初始值,表达式或初始化程序。这应该是形状为(input_size,output_size)的矩阵。有关更多信息,请参见lasagne.utils.create_param()。 例子 >>> from lasagne.layers import EmbeddingLayer, InputLayer, get_output >>> import theano >>> x = T.imatrix() …

1
如何将神经网络应用于时间序列预测?
我是机器学习的新手,我一直在尝试找出如何将神经网络应用于时间序列预测。我发现了与查询有关的资源,但似乎仍然有些迷茫。我认为没有太多细节的基本解释会有所帮助。 假设我在几年中每个月都有一些价格值,并且我想预测新的价格值。我可以获取过去几个月的价格列表,然后尝试使用K-Nearest-Neighbor查找过去的类似趋势。我可以让他们使用变化率或过去趋势的其他属性来尝试预测新价格。我正在尝试找出如何将神经网络应用于相同的问题。

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.