Questions tagged «neural-network»

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

1
使用Keras重塑数据以进行深度学习
我是Keras的初学者,我从MNIST示例开始,以了解库的实际工作方式。Keras示例文件夹中MNIST问题的代码段为: import numpy as np np.random.seed(1337) # for reproducibility from keras.datasets import mnist from keras.models import Sequential from keras.layers import Dense, Dropout, Activation, Flatten from keras.layers import Convolution2D, MaxPooling2D from keras.utils import np_utils batch_size = 128 nb_classes = 10 nb_epoch = 12 # input image dimensions img_rows, img_cols = 28, …

1
文本分类问题:Word2Vec / NN是最好的方法吗?
我正在设计一个系统,使给定的一段文本能够对其进行分类并确定上下文: 经过用户生成的文本段落(如评论/问题/答案)的培训 训练集中的每个项目都将标有。因此,例如(“类别1”,“文本段落”) 将有数百个类别 建立这样一个系统的最佳方法是什么?我一直在研究几个不同的选项,以下是可能的解决方案的列表。Word2Vec / NN目前是最佳解决方案吗? 递归神经张量网络馈送了平均Word2Vec数据 RNTN和段落向量(https://cs.stanford.edu/~quocle/paragraph_vector.pdf)? 深度信仰网络中使用的TF-IDF TF-IDF和Logistic回归 单词袋和朴素贝叶斯分类

2
问题空间太大时AI如何学会采取行动
我通过实验和榜样学习得最好。我正在学习神经网络,对(我认为)对分类和回归以及对监督和无监督的学习有很好的理解,但是我偶然发现了一些我无法安静解决的问题。 如果我想训练AI玩复杂的游戏;我在想类似RTS的东西(例如帝国时代,帝国地球等)。在这些类型的游戏中,通常存在许多由玩家控制的实体(单位,建筑物),每个实体具有不同的功能。AI的问题似乎是分类(例如,选择该单位和该动作),但是由于单位数量是变量,因此人们如何以这种方式处理分类问题? 我唯一能想到的是多个网络处于不同的阶段(一个用于整体策略,一个用于控制这种类型的单元,一个用于那种类型的建筑物,等等);但这似乎使问题变得复杂。 有没有很好的例子说明机器学习/神经网络学习复杂的游戏(不是专门针对RTS,而是更复杂的Mario)?

1
转换自动编码器
我刚刚阅读了Geoff Hinton关于转换自动编码器的论文 Hinton,Krizhevsky和Wang:转换自动编码器。在人工神经网络和机器学习中,2011年。 并且很想玩这样的游戏。但是,看完它后,我无法从论文中获得足够的细节来说明如何实际实现它。 有谁知道输入像素到胶囊之间的映射应该如何工作? 识别单元中到底应该发生什么? 应该如何训练?仅仅是每个连接之间的标准后置支撑件吗? 更好的方法是为此或类似内容链接到一些源代码。

5
LSTM或其他R的RNN软件包
我看到LSTM模型产生的莎士比亚文本产生了令人印象深刻的结果。我想知道是否存在R的LSTM软件包。我用Google搜索它,但只找到了Python和Julia的软件包。(也许存在一些性能问题,这说明了为什么这些程序比R更受青睐)您是否了解R的LSTM(或至少RNN)软件包?如果存在,有没有使用它们的教程?
10 r  neural-network  rnn 

2
神经网络的外汇市场预测
我想使用ANN自动交易货币,最好是USD / EUR或USD / GBP。我知道这很困难,可能并不简单。我已经看过一些论文并做了一些实验,但是没有多大运气。我想从专家那里获得建议,以完成这项工作。 这是我到目前为止所做的: 我得到了2013年7月的逐笔价格数据。它具有买/卖/卖量/卖量。 提取所有时间段中从12PM到14PM的所有刻度。 根据此数据,创建一个数据集,其中每个条目依次包含n个出价值。 使用该数据来训练具有n-1个输入的ANN,输出是预测的第n个出价。 ANN具有n-1个输入神经元,(n-1)* 2 + 1个隐藏神经元和1个输出神经元。输入层具有线性TF,隐藏层具有对数TF,输出层具有线性TF。 先用n-125再用10进行反向传播训练网络。 对于这两个n,MSE均未跌破0.5,并在完整训练期间保持在该值。假设这可能是由于时间序列完全是随机的,我使用R包在数据集(pacf)上找到了部分自相关。这仅给出了2和3个滞后的非零值。 问题1:这到底是什么意思? 然后,我使用hurst指数来评估随机性。在R中,hurst(值)显示的值大于0.9。 问题2:应该几乎是随机的。它的值应该接近0.5吗? 我重复了n = 3的ANN训练。ANN经过培训,能够为MSE获得相当低的价值。但是,此ANN的计算输出与第(n-1)个出价值相差不大。看起来ANN会将最后一个出价作为下一个出价!我尝试了不同的网络结构(所有多层感知器),不同的训练参数等,但结果是相同的。 问题3:如何提高准确性?除了反向传播,还有其他训练方法吗?

4
气体消耗异常值检测-神经网络项目。结果不好
我试图通过建立神经网络模型来检测一些荷兰建筑物的能源消耗中的异常值。我的成绩很差,但找不到原因。 我不是专家,所以我想问你我可以改进什么,我做错了什么。这是完整的描述:https : //github.com/denadai2/Gas-consumption-outliers。 神经网络是具有反向传播的FeedFoward网络。如此处所述,我将数据集拆分为一个包含41'000行,9个要素的“小型”数据集,并尝试添加更多要素。 我训练了网络,但结果为14.14 RMSE,因此它无法很好地预测气体消耗,因此我无法连续运行良好的异常值检测机制。我发现在某些论文中,即使他们预测了每日或每小时的用电量,也存在诸如MSE = 0.01的误差。 我可以改善什么?我究竟做错了什么?你能看一下我的描述吗?


2
word2vec中的特征矩阵是什么?
我是神经网络的初学者,目前正在探索word2vec模型。但是,我很难理解特征矩阵的确切含义。 我可以理解,第一个矩阵是给定单词的单编码编码矢量,但是第二个矩阵表示什么呢?更具体地说,这些值(即17、24、1等)分别是什么意思?


2
如何规范化神经网络和决策林的数据
我有一个包含20000个样本的数据集,每个样本都有12种不同的功能。每个样本都在类别0或1中。我想训练一个神经网络和一个决策林来对样本进行分类,以便我可以比较结果和这两种技术。 我偶然发现的第一件事是数据的正确规范化。一个特征是在范围,另外一个在[ 30 ,40 ]和有一个特点,大多采用值8和有时7.因此,正如我在不同的来源读取,输入数据的适当的归一化对于神经网络至关重要。我发现,有许多可能的方法可以对数据进行规范化,例如:[0,106][0,106][0,10^6][30,40][30,40][30,40] 最小-最大归一化:输入范围被线性变换到间隔(或可替代[ - 1 ,1 ],关系?)[0,1][0,1][0,1][−1,1][−1,1][-1,1] Z-分数标准化:该数据被变换为具有零均值和单位方差: ynew=yold−meanVar−−−√ynew=yold−meanVary_{new}=\frac{y_{old}-\text{mean}}{\sqrt{\text{Var}}} 我应该选择哪种归一化?决策林是否也需要规范化?通过Z-Score归一化,我的测试数据的不同功能不在同一范围内。这可能是个问题吗?是否应该使用相同的算法对每个功能进行归一化,以便我决定对所有功能使用Min-Max还是对所有功能使用Z-Score? 是否有组合,其中数据被映射到,并且还具有零平均值(这将意味着该数据的非线性变换,并因此在方差和输入数据的其他特征的改变)。[−1,1][−1,1][-1,1] 我感到有点迷茫,因为我找不到可以回答这些问题的参考资料。

1
HOW TO:深度神经网络权重初始化
给定艰巨的学习任务(例如高维,固有的数据复杂性),深度神经网络变得难以训练。为了缓解许多问题,可以采取以下措施: 规范化&&精选质量数据 选择其他训练算法(例如RMSprop而不是Gradient Descent) 选择较陡峭的渐变成本函数(例如,交叉熵而不是MSE) 使用不同的网络结构(例如,卷积层而不是前馈层) 我听说有一些聪明的方法可以初始化更好的权重。例如,您可以选择更好的幅度:Glorot和Bengio(2010) 对于S形单位:对具有的Uniform(-r,r)进行采样r=6Nin+Nout−−−−−−√r=6Nin+Noutr = \sqrt{\frac{6}{N_{in} + N_{out}}} 或双曲正切单元:对的Uniform(-r,r)进行采样r = 4 6ñ我ñ+ NØ ü Ť------√r=46Nin+Noutr =4 \sqrt{\frac{6}{N_{in} + N_{out}}} 有什么一致的方法可以更好地初始化权重?

1
目标函数和输出层激活函数之间的联系有多灵活?
在许多神经网络软件包中,将目标函数与输出层中的激活函数配对以使其最小化似乎是标准的。 例如,对于用于回归的线性输出层,具有平方误差目标函数是标准的(通常是唯一的选择)。另一个常见的配对是逻辑输出和对数损失(或交叉熵)。还有一个是softmax和多对数丢失。 使用符号表示激活前的值(权重之和乘以来自上一层的激活),表示激活,表示用于训练的地面真理,表示输出神经元的索引。一个ÿ 我žžz一个一个aÿÿy一世一世i 线性激活带有平方误差1一个一世= z一世一个一世=ž一世a_i=z_i1个2∑∀ 我(y一世− a一世)21个2∑∀一世(ÿ一世-一个一世)2\frac{1}{2} \sum\limits_{\forall i} (y_i-a_i)^2 乙状结肠激活与对数损耗/交叉熵目标 -Σ∀我(ÿ我*升Ô克(一我)+(1-Ÿ我)*升Ô克(1-一个我))一个一世= 11 + e- ž一世一个一世=1个1个+Ë-ž一世a_i = \frac{1}{1+e^{-z_i}}− ∑∀ 我(y一世* 升ø 克(一个一世)+ (1 − y一世)* l o g(1−ai))−∑∀i(yi∗log(ai)+(1−yi)∗log(1−ai))-\sum\limits_{\forall i} (y_i*log(a_i) + (1-y_i)*log(1-a_i)) Softmax激活与多类对数丢失目标ai=ezi∑∀jezjai=ezi∑∀jezĴa_i = \frac{e^{z_i}}{\sum_{\forall j} e^{z_j}}− ∑∀ 我(y一世* 升ø 克(一个一世))-∑∀一世(ÿ一世∗升ØG(一个一世))-\sum\limits_{\forall i} (y_i*log(a_i)) 这些是我所知道的,我希望有很多我还没有听说过。 似乎只有输出和目标在[0,1]范围内时,对数损失才会起作用,并且数值上稳定。因此,尝试使用具有logloss目标函数的线性输出层可能没有意义。除非有一个更通用的logloss函数可以处理超出范围的值?ÿÿy 但是,尝试使用平方误差目标的S型输出看起来并不那么糟糕。它应该稳定并且至少收敛。 我了解这些配对背后的某些设计是,它使得的公式-其中是目标函数的值-易于向后传播。但是,仍然有可能使用其他配对来找到该导数。此外,还有许多其他激活函数在输出层中并不常见,但可行的是,例如,并且不清楚可以应用什么目标函数。δËδžδËδž\frac{\delta E}{\delta z}ËËEtanh …

1
给定前一卷积层的增量项和权重,如何计算卷积层的增量项?
我正在尝试训练具有两个卷积层(c1,c2)和两个隐藏层(c1,c2)的人工神经网络。我正在使用标准的反向传播方法。在反向遍历中,我根据前一层的误差,前一层的权重以及相对于当前层的激活函数的激活梯度来计算层(δ)的误差项。更具体地说,第l层的增量看起来像这样: delta(l) = (w(l+1)' * delta(l+1)) * grad_f_a(l) 我能够计算c2的梯度,该梯度连接到常规层中。我只是将h1的权重乘以它的增量。然后,我将该矩阵重塑为c2输出的形式,将其与激活函数的梯度相乘就完成了。 现在,我有了c2的增量项-这是大小为4D的矩阵(featureMapSize,featureMapSize,filterNum,patternNum)。此外,我具有c2的权重,它们是大小为3D的矩阵(filterSize,filterSize,filterNum)。 有了这两个项以及c1激活的梯度,我想计算c1的增量。 长话短说: 给定前一个卷积层的增量项和该层的权重,我如何计算卷积层的增量项?

2
调试神经网络
我使用scipy.optimize.minimize(共轭梯度)优化功能在python中构建了一个人工神经网络。 我已经实施了梯度检查,仔细检查了所有内容,等等,我确定它可以正常工作。 我已经运行了几次,它达到了“优化成功终止”,但是当我增加隐藏层的数量时,假设成功终止后,假设的成本增加了(其他所有条件保持不变)。 凭直觉,似乎随着增加隐藏层的数量,成本应该降低,因为它能够生成更复杂的假设,可以更好地拟合数据,但是事实并非如此。 我很想了解这里发生的事情,或者我是否正确实施了神经网络?

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.