Questions tagged «neural-networks»

网络结构受到生物神经元(脑细胞)简化模型的启发。对神经网络进行了训练,以通过有监督和无监督的技术来“学习”,并且可以用于解决优化问题,近似问题,分类模式及其组合。

2
为什么神经网络似乎在拓扑受到限制的情况下表现更好?
全向学习者是完全连接的(至少一层到两层以上的隐藏层)反向传播网络。不幸的是,他们通常学习缓慢,倾向于过度适应或笨拙的概括。 通过愚弄这些网络,我观察到修剪某些边缘(以使它们的权重为零且无法更改)趋向于使网络学习得更快并且泛化得更好。是否有一个原因?仅仅是因为权重搜索空间的维数减少,还是还有更细微的原因? 另外,更好的概括是否是我正在研究的“自然”问题的产物?



1
有效地计算或近似神经网络的VC维
我的目标是解决以下问题,该问题已由其输入和输出描述: 输入: 一个有节点,源和宿的有向无环图()。GGGmmmnnn111m>n≥1m>n≥1m > n \geq 1 输出: 具有拓扑的神经网络的VC维(或其近似值)。GGG 更多细节: 中的每个节点都是一个S型神经元。拓扑是固定的,但是边缘的权重可以通过学习算法来改变。GGG 学习算法是固定的(例如向后传播)。 所述源节点是输入神经元和只能坐从串{ - 1 ,1 } Ñ作为输入。ññn{ - 1 ,1 }ñ{-1个,1个}ñ\{-1,1\}^n 接收器节点是输出单元。它输出从实际值,我们四舍五入到1或向下- 1如果它是大于某一固定阈值δ远离0。[ - 1 ,1 ][-1个,1个][-1,1]1个1个1− 1-1个-1δδ\delta000 天真的方法只是试图通过尝试在这些点上训练网络来打破越来越多的点。但是,这种模拟方法效率不高。 题 有没有一种有效的方法来计算此函数(例如,在更改为决策问题:VC维度小于输入参数k吗?)?如果不是,是否有硬度结果?PP\mathsf{P}ķķk 有没有一种行之有效的方法来计算或近似该函数?如果是近似值,是否可以保证其准确性? 笔记 我对stats.SE 提出了类似的问题,但没有引起任何兴趣。

2
对HTM性能有何批评?
我最近才了解到这种分层时态内存(HTM)的存在。我已经读过文档《分层时间记忆:概念,理论和术语》(Jeff Hawkins和Dileep George撰写),这似乎很容易理解,但有一个危险信号是,该文档既没有经过同行评审,也没有试图解释为什么应该这样做。详细工作。 我试图四处寻找一些独立的消息来源。我发现有几篇论文将其性能与其他产品进行了比较,但没有一篇解释它为什么表现良好(或不好)。我注意到一些评论声称它被主流专家所否定,但是我找不到任何实际的批评。 对HTM性能有何批评?由于HTM是通用的,因此任何针对特定领域的批评都应与更基本的问题相关。 此外,还有大量的培训数据要使用,即使是数月的培训课程也足够使用。基本上,对培训规模或时间长短的任何批评都无关紧要。

2
神经网络必须始终收敛吗?
介绍 步骤1 我编写了一个标准的反向传播神经网络,为了对其进行测试,我决定将其映射为XOR。 这是一个2-2-1网络(具有tanh激活功能) X1 M1 O1 X2 M2 B1 B2 为了进行测试,我手动将顶部中层神经元(M1)设置为AND门,将下层神经元(M2)设置为OR门(如果为true,则输出1;如果为false,则输出-1)。 现在,我还手动将连接M1-O1设置为-.5,将M2-O1设置为1,将B2设置为-.75 因此,如果M1 = 1且M2 = 1,则总和为(-0.5 +1 -0.75 = -.25)tanh(0.25)= -0.24 如果M1 = -1和M2 = 1,则总和为((-0.5)*(-1)+1 -0.75 = .75)tanh(0.75)= 0.63 如果M1 = -1和M2 = -1,则总和为((-0.5)*(-1)-1 -0.75 = -1.25)tanh(1.25)= -0.8 对于“第一次迭代”来说,这是一个相对较好的结果。 第二步 然后,我对这些权重进行了一些修改,然后使用误差传播算法(基于梯度下降)对它们进行训练。在此阶段,我保持输入神经元和中间神经元之间的权重不变,只是修改中间(和偏差)与输出之间的权重。 为了进行测试,我将权重设置为和.5 .4 .3(分别针对M1,M2和偏差) 但是,在这里,我开始遇到问题。 我的问题 我将学习率设置为0.2,然后让程序遍历训练数据(ABA …


2
如何在神经网络中将日期编码为输入?
我正在使用神经网络预测时间序列。我现在面临的问题是如何编码日期/时间/序列号。每个输入集合中的哪一个作为神经网络的输入? 我应该按此处所述使用C编码中的一种(用于编码类别)吗? 还是我应该只提供时间(自1970年1月1日以来的毫秒数)? 还是只要按时间顺序提供其余数据,就没有必要提供时间吗?

1
Google DeepDream精心制作
我在该网站上看到了一些有关Deep Dream的问题,但是似乎没有一个人真正谈论DeepDream的工作。据我所知,它们似乎已经改变了目标函数,并且还改变了反向传播方式,因此它们不更新权重而是更新输入图像。 我想知道是否有人确切知道Google做了什么。他们在他们的一篇文章中提到在进行优化时强加贝叶斯先验,由此我可以想象得到让神经网络为每个标签吐出图像并不那么困难-我们可以简单地设置标签,然后相应地优化输入向量。 但是,深梦的有趣之处在于它是逐层执行的,因此,我不太确定它如何逐层强调细节。 当然,提供图像会给您每个神经元的价值,但是我们如何利用这些信息来夸大原始图像中的细节呢?我一直在努力寻找有关此问题的详细文章。 参考:此处vzn回答了类似的问题:https ://cs.stackexchange.com/a/44857/49671 通过该链接,可以在此处实现Deepdream的实现:http ://auduno.com/post/125362849838/visualizing-googlenet-classes 除非它不提供此处讨论的夸张功能,否则:http://googleresearch.blogspot.com/2015/06/inceptionism-going-deeper-into-neural.html 它们都显示特定类和特定层的可视化,并说: 除了确切规定我们要网络放大的功能以外,我们还可以让网络做出决定。在这种情况下,我们只需向网络提供任意图像或照片,然后让网络分析图片。然后,我们选择一个图层并要求网络增强检测到的内容。

4
不断发展的人工神经网络解决NP问题
最近,我从Google Research Blog上读了一个非常有趣的博客条目,内容涉及神经网络。基本上,他们使用这种神经网络来解决各种问题,例如图像识别。他们使用遗传算法来“进化”轴突的重量。 所以基本上我的想法如下。如果我应该写一个能识别数字的程序,我将不知道如何开始(我可能有一个模糊的想法,但我的意思是:这并不琐碎,也不容易。)但是通过使用神经网络,我不必这样做。通过创建正确的上下文以使神经网络进化,我的神经网络将“找到正确的算法”。在下面,我引用了文章中一个非常有趣的部分,其中他们解释了每一层如何在图像识别过程中发挥不同的作用。 神经网络的挑战之一是了解每一层到底发生了什么。我们知道,经过训练后,每一层都会逐步提取图像的越来越高的特征,直到最后一层基本上决定了图像显示的内容。例如,第一层可能寻找边缘或拐角。中间层解释基本特征以寻找整体形状或组件,例如门或叶子。最后几层将它们组合成完整的解释-这些神经元会响应非常复杂的事物(例如整个建筑物或树木)而激活。 所以,基本上我的问题是:我们不能使用遗传算法+神经网络来解决每个NP问题吗?我们只是创造正确的进化环境,而让“自然”找到解决方案。 感应主义:更深入地研究神经网络 编辑:我知道我们可以在许多情况下使用蛮力或找到效率不高的解决方案。这就是为什么我试图强调不断发展的人工神经网络。正如我在评论中所说:给定足够的时间和适当的突变率,我们可以找到最佳解决方案(或者至少我认为如此)。

1
折现因子对强化学习的意义
在阅读了Google在Atari游戏上的深刻成就之后,我试图了解q学习和q网络,但是我有点困惑。折扣因素的概念引起了混乱。我所了解的简短摘要。深度卷积神经网络用于估计动作的最佳期望值。网络必须最小化损失函数 ,其中为 其中,是累积得分值,Li=Es,a,r[(Es′[y|s,a]−Q(s,a;θi))2]Li=Es,a,r[(Es′[y|s,a]−Q(s,a;θi))2] L_i=\mathbb{E}_{s,a,r}\left[(\mathbb{E}_{s'}\left[y|s,a\right]-Q(s,a;\theta_i))^2\right] Es′[y|s,a]Es′[y|s,a]\mathbb{E}_{s'}\left[y|s,a\right]Q [R 小号,一个小号“,一个”吨吨' θ - 我 γ 我γ θE[r+γmaxa′Q(s′,a′;θ−i)∣∣s,a]E[r+γmaxa′Q(s′,a′;θi−)|s,a] \mathbb{E}\left[r+\gamma max_{a'} Q(s',a';\theta^-_i)\right|s,a] QQQrrr是动作选择的得分值。和分别是在时间的状态和动作以及在时间处的状态和动作。该是网络在上一迭代的权重。该是考虑到分值的时间差折算因子。在标是颞步骤。这里的问题是要理解为什么不依赖于。s,as,as,as′,a′s′,a′s',a'tttt′t′t'θ−iθi−\theta^-_iγγ\gammaiiiγγ\gammaθθ\theta 从数学观点来看,是折扣因子,表示从状态到达状态的可能性。小号'小号γγ\gammas′s′s'sss 我猜想网络实际上学会了根据的真实值重新缩放,那么为什么不让?γ γ = 1QQQγγ\gammaγ=1γ=1\gamma=1

2
神经网络的计算能力是否与激活函数有关
证明了具有合理权重的神经网络具有通用图灵机神经网络的图灵可计算性的计算能力。从我得到的结果来看,使用实值权重似乎可以产生更大的计算能力,尽管我不确定这一点。 但是,神经网络的计算能力与其激活函数之间是否存在任何关联?例如,如果激活函数将输入与Specker序列的限制进行比较(这是常规Turing机器无法做到的,对吗?),这是否会使神经网络在计算上“更强”?有人可以指出我在这个方向上的参考吗?


1
反向传播算法的动量项如何工作?
当使用带有动量项的反向传播算法更新神经网络的权重时,是否也应将学习率应用于动量项? 我可以找到的有关动量的大多数信息都使方程看起来像这样: W′i=Wi−αΔWi+μΔWi−1w ^一世′=w ^一世-αΔw ^一世+μΔw ^一世-1个W_{i}' = W_{i} - \alpha \Delta W_i + \mu \Delta W_{i-1} 其中αα\alpha是学习率,是动量项。μμ\mu 如果项大于项,则在下一次迭代中,前一次迭代的对权重的影响将大于当前值。μμ\muαα\alphaΔWΔW\Delta W 这是动量术语的目的吗?还是方程看起来更像这样? W′i=Wi−α(ΔWi+μΔWi−1)Wi′=Wi−α(ΔWi+μΔWi−1)W_{i}' = W_{i} - \alpha( \Delta W_i + \mu \Delta W_{i-1}) 即。通过学习率扩展一切吗?

3
我什么时候应该移到k个最近的邻居
对于我们执行的许多机器学习项目,我们从k最近邻分类器开始。这是一个理想的起始分类器,因为我们通常有足够的时间来计算所有距离,并且参数的数量受到限制(k,距离度量和权重) 但是,这通常会导致我们坚持使用knn分类器,因为在项目的后期,没有空间可以切换到另一个分类器。尝试新分类器的充分理由是什么。明显的是记忆和时间限制,但是在某些情况下,另一个分类器实际上可以提高准确性吗?

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.