Questions tagged «deep-learning»

机器学习领域,主要是通过深度神经网络来学习数据的分层表示。

2
快速锚定RCNN
在Faster RCNN论文中,当谈到锚点时,使用“参考盒金字塔”是什么意思,这是怎么做的?这是否仅意味着在每个W * H * k锚点都生成了边界框? 其中W =宽度,H =高度,k =纵横比的数量*数字刻度 链接到论文:https : //arxiv.org/abs/1506.01497

1
SVM =模板匹配如何?
我了解了SVM,并了解到它们正在解决优化问题,并且最大利润率的想法非常合理。 现在,使用内核,他们甚至可以找到很棒的非线性分离边界。 到目前为止,我真的不知道SVM(一种特殊的内核计算机)和内核计算机如何与神经网络相关联? 在这里考虑Yann Lecun => 的评论: kernel methods were a form of glorified template matching 还有这里: 例如,一些人因为与之相关的数学运算而对内核方法感到迷惑。但是,正如我在过去所说的,最后,内核计算机是执行“标准化模板匹配”的浅层网络。没什么错(SVM是一种很好的方法),但是它有可怕的局限性,我们都应该意识到。 所以我的问题是: SVM与神经网络有何关系?浅层网络如何? SVM通过定义明确的目标函数解决了优化问题,它如何进行模板匹配?输入与之匹配的模板在这里是什么? 我想这些评论需要对高维空间,神经网络和内核机器有透彻的了解,但到目前为止,我一直在尝试并且无法理解其背后的逻辑。但是,注意到两种截然不同的ml技术之间的联系肯定很有趣。 编辑:我认为从神经的角度理解SVM会很棒。我正在寻找对以上两个问题的数学支持的完整答案,以便真正理解SVM和神经网络之间的联系,无论是线性SVM还是带有内核技巧的SVM。

1
具有L2正则化的RNN停止学习
我使用双向RNN来检测不平衡事件的发生。积极的阶层比消极的阶层少100倍。尽管不使用正则化,但我可以在训练集上获得100%的准确性,在验证集上获得30%的准确性。我启用了l2正则化,结果在训练集上的准确度也只有30%,而不是更长的学习,而在验证集上的准确度是100%。 我当时以为我的数据可能太小了,所以只是为了进行实验,我将训练集与以前未使用的测试集合并了。情况与我使用l2正则化的情况相同,而我现在没有。我在训练+测试和验证中获得了30%的准确性。 在提到的实验中使用128个隐藏单元和80个时间步长当我将隐藏单元的数量增加到256个时,我可以再次在Train + Test Set上过拟合以达到100%的准确性,但在验证组上仍然只有30%。 我确实为超参数尝试了很多选项,但几乎没有结果。可能是加权的交叉熵引起了问题,在给定的实验中,正类的权重为5。尝试更大的权重时,结果的准确性通常会降低20%左右。 我尝试了LSTM和GRU细胞,没有区别。 我得到的最好的结果。我尝试了2个具有256个隐藏单元的隐藏层,这花了大约3天的计算时间和8GB的GPU内存。在进行l2正则化时,我再次获得了40-50%的准确度,然后又开始过度拟合,但强度不高。 我使用的是Adam优化器,其他的则效果不佳。我拥有的功能就足够了,因为在使用状态机时,我可以获得90%的精度。在该状态机中,主要特征是基于其他特征属性进行求和和阈值处理,并且其可变长度有时为10,有时为20,涉及该特征的时间戳。 在这种情况下,有一些一般性准则可以做什么?我什么都找不到。

2
预测DNN训练的CPU和GPU内存需求
假设我有一些深度学习模型架构,以及所选的小批量大小。如何从这些数据中得出训练该模型的预期内存需求? 例如,考虑一个(非循环)模型,其输入尺寸为1000,4个完全连接的隐藏层尺寸为100,附加输出层尺寸为10。最小批量大小为256个示例。如何确定训练过程在CPU和GPU上的近似内存(RAM)占用空间?如果有什么不同,让我们假设使用TensorFlow在GPU上训练模型(因此使用cuDNN)。

3
如何通过卷积神经网络(CNN)对不平衡数据集进行分类?
我在二元分类任务中有一个不平衡的数据集,其中正数与负数的比例为0.3%对99.7%。正面和负面之间的差距是巨大的。当我用MNIST问题中使用的结构训练CNN时,测试结果显示出较高的假阴性率。同样,训练误差曲线在开始的几个时期中迅速下降,但在随后的时期中保持相同的值。 您能建议我一种解决此问题的方法吗?谢谢!


2
贝叶斯不需要测试集是真的吗?
我最近观看了埃里克·马(Eric J. Ma)的演讲,并查看了他的博客文章,他引用了拉德福德·尼尔(Radford Neal)的观点,认为贝叶斯模型不会过拟合(但可以过拟合),并且在使用它们时,我们不需要测试集来验证它们(对于在我看来,引号似乎是在谈论使用验证集来调整参数)。老实说,这些论点并不能说服我,而且我也无权阅读这本书,因此,您能为这种说法提供更详细,更严格的论点吗? 顺便说一句,在此同时,埃里克·马指出我讨论关于同一主题。

1
哪种深度学习模型可以对不互斥的类别进行分类
示例:我的职位描述中有一句话:“英国Java高级工程师”。 我想使用深度学习模型将其预测为2类:English 和IT jobs。如果我使用传统的分类模型,则只能预测softmax最后一层具有功能的标签。因此,我可以使用2个模型神经网络来预测两个类别的“是” /“否”,但是如果我们有更多类别,那就太贵了。那么,我们是否有任何深度学习或机器学习模型可以同时预测2个或更多类别? “编辑”:使用传统方法使用3个标签,它将由[1,0,0]编码,但在我的情况下,它将由[1,1,0]或[1,1,1]编码 示例:如果我们有3个标签,并且所有这些标签都适合一个句子。因此,如果softmax函数的输出为[0.45,0.35,0.2],我们应该将其分类为3个标签或2个标签,或者可以是一个?我们这样做的主要问题是:分类为1个,2个或3个标签的最佳阈值是多少?
9 machine-learning  deep-learning  natural-language  tensorflow  sampling  distance  non-independent  application  regression  machine-learning  logistic  mixed-model  control-group  crossover  r  multivariate-analysis  ecology  procrustes-analysis  vegan  regression  hypothesis-testing  interpretation  chi-squared  bootstrap  r  bioinformatics  bayesian  exponential  beta-distribution  bernoulli-distribution  conjugate-prior  distributions  bayesian  prior  beta-distribution  covariance  naive-bayes  smoothing  laplace-smoothing  distributions  data-visualization  regression  probit  penalized  estimation  unbiased-estimator  fisher-information  unbalanced-classes  bayesian  model-selection  aic  multiple-regression  cross-validation  regression-coefficients  nonlinear-regression  standardization  naive-bayes  trend  machine-learning  clustering  unsupervised-learning  wilcoxon-mann-whitney  z-score  econometrics  generalized-moments  method-of-moments  machine-learning  conv-neural-network  image-processing  ocr  machine-learning  neural-networks  conv-neural-network  tensorflow  r  logistic  scoring-rules  probability  self-study  pdf  cdf  classification  svm  resampling  forecasting  rms  volatility-forecasting  diebold-mariano  neural-networks  prediction-interval  uncertainty 

4
如何解释考克斯风险模型的生存曲线?
您如何从考克斯比例风险模型解释生存曲线? 在这个玩具示例中,假设我们对数据age变量有一个cox比例风险模型kidney,并生成了生存曲线。 library(survival) fit <- coxph(Surv(time, status)~age, data=kidney) plot(conf.int="none", survfit(fit)) grid() 例如,在时间,哪个说法是正确的?还是两者都不对?200200200 陈述1:我们将剩下20%的主题(例如,如果我们有人,那么到200天时,我们应该剩下200个左右), 100010001000200200200200200200 陈述2:对于一个给定的人,他/她有200 20%20%20\%机会在200天生存200200200。 我的尝试:我不认为这两个陈述是相同的(如果我错了,请纠正我),因为我们没有iid假设(所有人的生存时间不是独立地来自一个分布)。在这里我的问题类似于逻辑回归,每个人的危险率取决于该人的。βTxβTx\beta^Tx

4
训练神经网络进行回归总是可以预测均值
我正在训练一个简单的卷积神经网络进行回归,其中的任务是预测图像中盒子的(x,y)位置,例如: 网络的输出有两个节点,一个用于x,一个用于y。网络的其余部分是标准的卷积神经网络。损失是盒子的预测位置和地面真实位置之间的标准均方误差。我正在训练10000张这些图像,并在2000年进行验证。 我的问题是,即使经过大量培训,损失也不会真正减少。观察网络的输出后,我注意到对于两个输出节点,网络都倾向于输出接近零的值。这样,盒子位置的预测始终是图像的中心。预测中存在一些偏差,但始终在零附近。下面显示了损失: 我已经运行了比此图所示更多的时期,并且损失仍然从未减少。有趣的是,损失实际上增加了一点。 因此,似乎网络只是在预测训练数据的平均值,而不是学习合适的数据。关于这可能是什么的任何想法?我使用Adam作为优化器,初始学习率为0.01,并将relus作为激活 如果您对我的某些代码(Keras)感兴趣,请参见以下代码: # Create the model model = Sequential() model.add(Convolution2D(32, 5, 5, border_mode='same', subsample=(2, 2), activation='relu', input_shape=(3, image_width, image_height))) model.add(Convolution2D(64, 5, 5, border_mode='same', subsample=(2, 2), activation='relu')) model.add(Convolution2D(128, 5, 5, border_mode='same', subsample=(2, 2), activation='relu')) model.add(Flatten()) model.add(Dense(100, activation='relu')) model.add(Dense(2, activation='linear')) # Compile the model adam = Adam(lr=0.01, beta_1=0.9, …

3
使用深度学习进行特征选择?
我想使用深度模型来计算每个输入功能的重要性。 但是我只发现了一篇有关使用深度学习进行深度选择的文章。它们在第一个隐藏层之前插入直接连接到每个要素的节点层。 我听说深度信任网络(DBN)也可以用于此类工作。但是我认为DBN仅提供PCA等功能的抽象(类),因此尽管它可以有效地减小尺寸,但我想知道是否有可能计算每个功能的重要性(权重)。 DBN是否可以计算功能的重要性?还有其他使用深度学习进行特征选择的方法吗?

1
深度学习需要多少数据?
我正在学习深度学习(特别是CNN),以及它通常如何需要大量数据来防止过拟合。但是,我还被告知,模型具有更高的容量/更多的参数,需要更多的数据来防止过拟合。因此,我的问题是:为什么您不能只减少深度神经网络中每层的层数/节点数,而使其仅处理少量数据呢?在“插入”之前,神经网络是否需要基本的“最小参数数量”?在一定数量的层以下,神经网络的性能似乎不如手工编码的功能好。

1
ReLU神经元的输入归一化
根据LeCun等(1998)的“ Efficient Backprop”,优良作法是对所有输入进行归一化,使它们以0为中心并在最大二阶导数范围内。因此,例如,对于“ Tanh”功能,我们将使用[-0.5,0.5]。随着黑森州变得更稳定,这将有助于反向传播进程。 但是,我不确定如何处理max(0,x)的整流神经元。(从那时起,还使用逻辑函数,我们想要类似[0.1,0.9]的东西,但是它并不以0为中心)

2
充分利用LSTM进行序列内事件预测
假设以下一维序列: A, B, C, Z, B, B, #, C, C, C, V, $, W, A, % ... A, B, C, ..这里的字母代表“普通”事件。 #, $, %, ...这里的符号代表“特殊”事件 所有事件之间的时间间隔是不均匀的(从几秒到几天),尽管过去的事件越远,影响未来事件的可能性就越小。理想情况下,我可以明确考虑这些时间延迟。 大约有10000个普通事件类型,而有大约100个特殊事件类型。特殊事件之前的普通事件数量有所不同,但不太可能超过100-300。 从根本上讲,我对在普通事件序列中寻找最终可预测特殊事件的模式感兴趣。 现在,您可以用不同的方法来实现:创建特征向量+标准分类,关联规则学习,HMM等。 在这种情况下,我对于基于LSTM的网络最适合的情况感到好奇。直截了当就是做类似Karparthy的char-rnn的事情,并根据历史预测下一个事件。然后换一个新序列 C, Z, Q, V, V, ... , V, W 您可以在模型中运行它,然后查看最有可能发生的特殊事件。但这并不太合适。 由于这是一个时间分类问题,因此似乎应该做的正确的事情是使用Alex Graves所描述的连接主义时间分类。 但是,在此刻投入过多之前,我正在寻找更容易,更快捷的方法来进行试验,以了解LSTM在这里的适用性。Tensorflow将会在某个时候看到CTC示例,但尚未出现。 所以我的(子)问题是: 鉴于上述问题,我想尝试使用LSTM值得尝试char-rnn类型的方法,是我该硬着头皮掌握CTC,还是有一个更好的起点。 您将如何明确纳入事件间计时信息。使用带有无操作事件的固定时钟显然可以,但是很难看。 假设我设法训练了LSTM,是否可以检查模型以查看其发生了哪种事件“主题”?(即类似于卷积网络中的过滤器) 任何示例代码(首选python)总是有帮助的。 编辑:只是要补充一下,序列中有一些噪音。有些事件可以安全地忽略,但是确切地说哪些事件并非总是可以预先说出来的。因此,理想情况下,模型(及其衍生的主题)对此具有鲁棒性。

2
在实践中应用深度学习的瓶颈
在阅读了很多深度学习论文之后,一种粗略的感觉是,在训练网络以获得比正常情况更好的性能方面存在很多技巧。从行业应用的角度来看,很难开发这种技巧,除了那些大型科技公司中的精英研究小组,例如google或facebook。那么在实践中应用深度学习算法的最佳方法是什么。任何想法和建议将不胜感激。

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.