Questions tagged «neural-networks»

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

2
促进神经网络
最近,我正在研究学习增强算法,例如adaboost,梯度增强,并且我知道最常用的弱学习者是树这一事实。我真的想知道最近有一些使用神经网络作为基础学习者的成功例子(我的意思是一些论文或文章)。

3
从感知器规则到梯度下降:具有S型激活函数的感知器与逻辑回归有何不同?
本质上,我的问题是在多层感知器中,感知器具有S形激活功能。因此,在更新规则Ÿ计算公式为y^y^\hat{y} y^=11+exp(−wTxi)y^=11+exp⁡(−wTxi)\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)} 那么,这种“ S型”感知器与逻辑回归有何不同? 我要说的是一个单层乙状结肠感知等效于逻辑回归的意义上,二者使用ÿ = 1y^=11+exp(−wTxi)y^=11+exp⁡(−wTxi)\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)}更新规则中为 1 + exp (− w T x i)。此外,这两个返回sign(y^=11+exp(−wTxi))sign⁡(y^=11+exp⁡(−wTxi))\operatorname{sign}(\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)})在预测。但是,在多层感知器中,与逻辑回归和单层感知器相比,使用S形激活函数来返回概率,而不是通断信号。 我认为“感知器”一词的用法可能有点含糊,所以让我根据对单层感知器的当前理解提供一些背景知识: 经典感知器规则 首先,是F. Rosenblatt的经典感知器,其中具有阶跃函数: Δwd=η(yi−yi^)xidyi,yi^∈{−1,1}Δwd=η(yi−yi^)xidyi,yi^∈{−1,1}\Delta w_d = \eta(y_{i} - \hat{y_i})x_{id} \quad\quad y_{i}, \hat{y_i} \in \{-1,1\} 更新权重 wk:=wk+Δwk(k∈{1,...,d})wk:=wk+Δwk(k∈{1,...,d})w_k := w_k + \Delta w_k \quad \quad (k \in \{1, ..., d\}) …



5
建立自己的拓扑的现代神经网络
标准神经网络算法(例如反向传播算法)的局限性在于,您必须对所需的隐藏层数和每层神经元数进行设计决策。通常,学习率和概括对这些选择高度敏感。这就是为什么像级联相关之类的神经网络算法引起人们关注的原因。它以最小的拓扑(仅输入和输出单元)开始,并随着学习的进展而招募新的隐藏单元。 CC-NN算法是1990年由Fahlman提出的,而其递归版本是1991年引入的。最近(1992年后)有哪些以最小拓扑开始的神经网络算法是什么? 相关问题 CogSci.SE:具有生物学上似乎合理的神经发生作用的神经网络

5
如何使我的神经网络更好地预测正弦波?
在这里,看看: 您可以确切地看到训练数据的结束位置。训练数据从变为。1−1-1个-111个1 我使用Keras和具有tanh激活功能的1-100-100-2密集网络。我根据p和q这两个值计算出的结果为p / q。这样,我仅使用小于1的值就可以实现任何大小的数字。 请注意,我仍然是该领域的初学者,所以请放轻松。

3
训练损失随时间增加[重复]
这个问题已经在这里有了答案: 成本函数的变化如何为正? (1个答案) 当我的神经网络不学习时该怎么办? (5个答案) 上个月关闭。 我正在训练一个模型(递归神经网络)来对4种类型的序列进行分类。在我进行训练时,我看到训练损失不断减少,直到正确分类训练批次中超过90%的样本为止。但是,几个时代之后,我注意到训练损失增加了,而我的准确性却下降了。这对我来说似乎很奇怪,因为我希望在训练集上表现会随着时间的推移而改善,而不会恶化。我正在使用交叉熵损失,我的学习率为0.0002。 更新:事实证明学习率太高。较低的足够低的学习率,我不会观察到这种行为。但是我仍然觉得这很奇怪。关于这种情况发生的原因,欢迎任何好的解释

2
与Replus相比,使用ReLU作为激活功能有什么好处?
人们经常提到,整流线性单位(ReLU)已取代了softplus单位,因为它们是线性的并且计算速度更快。 softplus仍然具有引起稀疏性的优势吗?还是仅限于ReLU? 我问的原因是我对ReLU零斜率的负面影响感到疑惑。此属性是否不是将单元“捕获”为零,使它们具有重新激活的可能性可能是有益的?

2
批归一化如何以及为什么使用移动平均值来跟踪模型训练的准确性?
我正在阅读批处理规范化(BN)论文(1),但不了解需要使用移动平均值来跟踪模型的准确性,即使我接受这样做是对的,我也不明白他们到底在做什么。 据我所知(我是错的),该论文提到一旦模型完成训练,它将使用人口统计数据而不是小批量统计数据。在讨论了无偏估计(对我来说是切线的,并且不理解为什么如此讨论)之后,他们说: 取而代之的是使用移动平均值,我们在模型训练时跟踪模型的准确性。 那是令我困惑的部分。他们为什么要进行移动平均以估计模型的准确性以及在哪些数据集上? 通常人们会做些什么来估计其模型的泛化,他们只是跟踪模型的验证误差(并可能尽早停止其梯度下降以进行正则化)。但是,批处理规范化似乎在做完全不同的事情。有人可以澄清什么以及为什么做不同的事情吗? 1:Ioffe S.和Szegedy C.(2015年), “批处理规范化:通过减少内部协变量偏移来加速深层网络训练”, 第32届国际机器学习会议论文集,法国里尔,2015年 。机器学习研究杂志: W&CP卷37



1
从贝叶斯网络到神经网络:如何将多元回归转换为多输出网络
我正在处理贝叶斯层次线性模型,这里是描述它的网络。 ÿYY代表超市中某产品的每日销售额(已观察)。 XXX是已知的回归矩阵,包括价格,促销,星期几,天气,假期。 1小号SS是每种产品的未知潜在库存水平,这会导致最多的问题,并且我认为是二进制变量的向量,每个产品一个,其中表示缺货,因此该产品不可用。 即使在理论上未知,我也通过HMM对每个产品进行了估算,因此可以将其视为X。我只是为了适当的形式主义而决定对它进行着色。1个11 ηη\eta是任何单个产品的混合效果参数,其中考虑的混合效果是产品价格,促销和缺货。 b 1 b 2ββ\beta是固定回归系数的向量,而和是混合效应系数的向量。一组代表品牌,另一组代表风味(这是一个例子,实际上我有很多组,但是为了清楚起见,这里我只报告两个)。b1个b1b_1b2b2b_2 Σ b 1 Σ b 2ΣηΣη\Sigma_{\eta},和是混合效果的超参数。Σb1个Σb1\Sigma_{b_1}Σb2Σb2\Sigma_{b_2} 因为我有计数数据,所以可以说我将每个产品的销售额都视泊松分布在回归变量上的条件而定(即使对于某些产品,线性近似成立,而对于其他产品,零膨胀模型更好)。在这种情况下,我将有一个乘积(这仅适用于那些对贝叶斯模型本身感兴趣的人,如果您发现它不感兴趣或不琐碎,请跳至该问题:)):ÿYY Ση〜我w ^(α0,γ0)Ση∼IW(α0,γ0)\Sigma_{\eta} \sim IW(\alpha_0,\gamma_0) Σb1个〜我w ^(α1个,γ1个)Σb1∼IW(α1,γ1)\Sigma_{b_1} \sim IW(\alpha_1,\gamma_1) α 0,γ 0,α 1,γ 1,α 2,γ 2Σb2〜我w ^(α2,γ2)Σb2∼IW(α2,γ2)\Sigma_{b_2} \sim IW(\alpha_2,\gamma_2),已知。α0,γ0,α1个,γ1个,α2,γ2α0,γ0,α1,γ1,α2,γ2\alpha_0,\gamma_0,\alpha_1,\gamma_1,\alpha_2,\gamma_2 η〜ñ(0,Ση)η∼N(0,Ση)\eta \sim N(\mathbf{0},\Sigma_{\eta}) b1个〜ñ(0,Σb1个)b1∼N(0,Σb1)b_1 \sim N(\mathbf{0},\Sigma_{b_1}) b2〜ñ(0,Σb2)b2∼N(0,Σb2)b_2 \sim N(\mathbf{0},\Sigma_{b_2}) Σ ββ〜ñ(0,Σβ)β∼N(0,Σβ)\beta \sim N(\mathbf{0},\Sigma_{\beta}),已知。ΣβΣβ\Sigma_{\beta} λ吨我Ĵ ķ= …

4
神经网络的编码角度数据
我正在训练一个神经网络(细节并不重要),其中目标数据是角度矢量(0到2 * pi之间)。我正在寻找有关如何编码此数据的建议。这是我目前正在尝试的方法(成功有限): 1)C的1编码:我将设置的可能角度分成1000个左右的离散角度,然后通过在相关索引处加1来指示特定角度。这样做的问题在于,网络只是学习输出全0(因为这几乎是完全正确的)。 2)简单缩放:我将网络输出范围([0,1])缩放为[0,2 * pi]。这里的问题是角度自然具有圆形拓扑(即,0.0001和2 * pi实际上彼此紧邻)。使用这种类型的编码,该信息会丢失。 任何建议,将不胜感激!

1
如何设置神经网络输出序数数据?
我设置了神经网络来预测输出变量为序数的事物。我将在下面使用三个可能的输出A <B <C进行描述。 很明显,如何使用神经网络输出分类数据:输出只是最后一个(通常是完全连接的)层的softmax,每个类别一个,而预测类别是最大输出值的类别(这是许多流行型号的默认设置)。我一直在使用相同的顺序值设置。但是,在这种情况下,输出通常没有意义,例如,A和C的网络输出为高,而B的网络为低:这对于序数值是不合理的。 我对此有一个想法,即根据输出与A的1 0 0,B的1 1 0和C的1 1 1进行比较来计算损耗。确切的阈值可以稍后使用另一个分类器(例如,贝叶斯(Bayesian))进行调整。 ),但这似乎捕获了输入排序的基本思想,而没有规定任何特定的间隔比例。 解决此问题的标准方法是什么?是否有任何研究或参考文献描述了不同方法的利弊?


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.