neural-network相关内容

如何解释“损失"?和“准确性"用于机器学习模型

当我使用Theano或Tensorflow训练我的神经网络时,它们将在每个时期报告一个称为“损失"的变量. 我应该如何解释该变量?更高的损失是好是坏,这对我的神经网络的最终性能(准确性)意味着什么? 解决方案 损失越低,模型越好(除非模型过度适合训练数据).损失是根据训练和验证计算的,其互操作性是模型在这两套模型上的表现.与准确性不同,损失不是百分比.它是对训练或验证集中每个示例所犯 ..

无法使用神经网络近似正弦函数

我正在尝试使用我自己编写的神经网络来近似sine()函数.我已经在一个简单的OCR问题上测试了我的神经网络,并且可以正常工作,但是在将其应用于近似sine()时遇到了麻烦.我的问题是,在训练期间,我的误差恰好收敛于50%,所以我猜想它是完全随机的. 我正在使用一个输入神经元作为输入(0到PI),并使用一个输出神经元作为结果.我只有一个隐藏层,可以在其中更改神经元的数量,但是我目前正在尝试使用 ..
发布时间:2020-05-04 08:51:35 AI人工智能

为什么在反向传播神经网络中必须使用非线性激活函数?

我一直在阅读有关神经网络的一些知识,并且了解单层神经网络的一般原理.我知道需要附加层,但是为什么要使用非线性激活函数? 此问题后跟以下问题:解决方案 激活功能的目的是将 非线性引入网络 反过来,这使您可以对响应变量(又称目标变量,类标签或分数)建模,该变量随其解释变量非线性变化 non-linear 表示不能从输入的线性组合中再现输出(这与呈直线的输出不同-单词是仿射). ..
发布时间:2020-05-04 08:51:29 AI人工智能

Caffe:如果只有一小部分内存可以怎么办?

我正在尝试训练一个非常大的模型.因此,我只能将非常小的批处理大小放入GPU内存中.使用小批量生产的结果非常嘈杂的梯度估计. 我该怎么做才能避免这个问题? 解决方案 您可以在求解器参数中更改iter_size. Caffe在每个随机梯度下降步骤中的iter_size x batch_size实例上累积梯度. 因此,当由于内存有限而无法使用大的batch_size时,增加iter_size也 ..

多层感知器(MLP)体系结构:选择隐藏层数和隐藏层大小的标准?

如果我们有10个特征向量,则在输入层中可以有10个神经节点;如果我们有5个输出类,则在输出层中可以有5个节点.但是在MLP中选择隐藏层数的标准是什么? 1个隐藏层中有多少个神经节点? 解决方案 有多少个隐藏层? 具有零个隐藏层的模型将解析可线性分离的数据.因此,除非您已经知道数据不是线性可分离的,否则验证它不会有任何伤害-为什么要使用比任务要求更复杂的模型?如果它是线性可分离的,那么 ..

Caffe中的"weight_decay"元参数是什么?

查看示例 'solver.prototxt' ,发布在BVLC/caffe git上,其中有一个训练元参数 weight_decay: 0.04 此meta参数是什么意思?我应该给它赋什么值? 解决方案 weight_decay元参数控制神经网络的正则化项. 在训练期间,将正则化项添加到网络的损耗中以计算反向传播梯度. weight_decay值确定此正则项在梯度计算中的主 ..

训练神经网络时的纪元与迭代

训练多层感知器时, epoch 和 iteration 有什么区别? 一个的时期 =一个直传和一个向后通所有的训练样例 的批量大小 =一个向前/向后通训练示例的数目.批处理大小越大,您将需要更多的内存空间. 的数目的迭代 =遍数,每次通过使用[批量大小]数目的实例.需要明确的是,一个道次=一个直传+一个向后通(我们不计数直传和向后通作为两个不同的道次). 例:如果你有1000个训练示例 ..

来自Caffe | solver.prototxt值设置策略

在来自Caffe,我想实现一个完全卷积网络的语义分割.我想知道有没有设置你的值以下的超参数的具体策略: test_iter test_interval iter_size max_iter 这是否取决于您训练集所拥有的图像数量?如果是这样,怎么办? 1.训练集大小,您拥有的训练样例总数,我们称此数量为T. 的 2.培训批次大小:在单个批次中一起处理的培训示例的数量,通常由 ..

解决班级不平衡问题:扩大对损失和sgd的贡献

(此问题的更新已添加.) 我在根特,比利时的大学研究生;我的研究是关于深度卷积神经网络的情感识别.我使用的来自Caffe 框架来实现细胞神经网络. 最近,我遇到了有关班级失衡的问题.我使用的是9216个训练样本. 5%的阳性标记的(1),将剩余的样品标记为负(0). 我正在使用 SigmoidCrossEntropyLoss 层来计算损失.训练时,即使经过几个纪元,损失也会减少, ..

为什么将神经网络的权重初始化为随机数?

我正在尝试从头开始构建神经网络. 在所有AI文献中都达成共识,即权重应初始化为随机数,以使网络更快收敛. 但是为什么神经网络的初始权重被初始化为随机数? 我在某处读过,这样做是为了“打破对称性",这使神经网络学习得更快.如何打破对称,使其更快的学习? 将权重初始化为0会不是一个更好的主意?这样,权重就能更快地找到其值(正数或负数)? 在权重随机化之后,除了希望它们在初始化时 ..

训练过程中出现Nans的常见原因

我已经注意到,在训练期间经常出现NAN. 通常情况下,它似乎是在内部产品/完全连接或卷积层爆炸中通过权重引入的. 是否由于梯度计算被炸开而发生?还是因为权重初始化(如果这样,为什么权重初始化会产生这种效果)?还是可能是由于输入数据的性质引起的? 这里的首要问题很简单:在训练过程中发生NAN的最常见原因是什么?其次,有什么方法可以消除这种情况(为什么它们起作用)? 解决方案 好 ..

为什么我们必须对人工神经网络的输入进行归一化?

这是关于神经网络理论的主要问题: 为什么我们必须对神经网络的输入进行归一化? 我了解有时,例如当输入值是非数字时,必须执行某些转换,但是当我们有数字输入时?为什么数字必须在一定间隔内? 如果数据不规范会怎样? 解决方案 如果输入变量是线性组合的(如在MLP中),则为 至少从理论上讲,很少有必要严格标准化输入.这 原因是输入向量的任何重新缩放都可以通过以下方式有效地撤消 ..

caffe中的"Python"层是什么?

Caffe的图层类型为"Python". 例如,此图层类型可用作损失层. 在其他情况下,它用作输入层. 此图层类型是什么? 该层如何使用? 解决方案 修剪和Bharat 的答案给出了"Python"层的总体目的:通用层,它是用python而不是c ++实现的. 我打算将此答案用作使用"Python"层的教程. "Python"层的教程 什么是"Python ..