Tag: 深度学习

卷积neural network的无监督预训练

我想devise一个(或多个)卷积层(CNN)和一个或多个完全连接的隐藏层的深层networking。 对于具有完全连接层的深度networking,在无监督预训练中使用例如使用去噪自动编码器或RBM的方法 。 我的问题是:我怎样才能实现一个无监督的卷积层预训练阶段? 我不期望一个完整的实现作为答案,但我将不胜感激链接到一个很好的教程或可靠的参考。

培训期间的常见原因

我注意到训练中频繁发生的是NAN s的引入。 通常情况下,似乎是通过内部产品/完全连接或卷积层吹起来的重量来引入的。 这是否发生,因为梯度计算正在炸毁? 或者是因为重量初始化(如果是的话,为什么重量初始化有这个效果)? 或者这可能是由input数据的性质造成的? 这里最重要的问题是: 在训练期间发生NAN的最常见原因是什么? 其次,有什么方法来打击这个(为什么他们工作)?

如何在TensorFlow中添加正则化?

我发现在使用TensorFlow实现的许多可用的neural network代码中,正则化术语通常是通过手动添加额外的损失值来实现的。 我的问题是: 有没有一种更优雅或推荐的正规化方式比手动? 我也发现get_variable有一个参数regularizer 。 应该如何使用? 根据我的观察,如果我们通过正规化器(例如tf.contrib.layers.l2_regularizer ,将会计算一个表示正则化术语的张量,并将其添加到一个名为tf.GraphKeys.REGULARIZATOIN_LOSSES的图集合中,该集合是否会被自动使用通过TensorFlow(例如在训练时用于优化器)?还是预计我应该自己使用该集合?

OpenCL / AMD:深度学习

虽然“googl'ing”和做一些研究,我没有find任何严重/stream行的科学GPGPU计算和OpenCL的AMD硬件框架/ SDK。 有没有我错过的文学和/或软件? 特别是我对深度学习感兴趣。 对于我所知的所有deeplearning.net推荐的NVIDIA硬件和CUDA框架。 另外,我所知道的所有大型深度学习框架,例如Caffe , Theano , Torch , DL4J ……都专注于CUDA,并且不打算支持OpenCL / AMD 。 此外,人们可以find大量的科学论文以及基于CUDA的深度学习任务的相应文献,但基于OpenCL / AMD的解决scheme几乎没有。 2015/16年度基于OpenCL / AMD的解决scheme是否有可能出现新的或现有的科学框架? OpenCL / AMD 深度学习的良好开端是什么? 任何文学? 教程? 杂项来源?

在TensorFlow中使用预先训练的单词embedded(word2vec或Glove)

我最近回顾了卷积文本分类的一个有趣的实现。 然而,我所检查的所有TensorFlow代码都使用了如下的随机(未经过预先训练的)embedded向量: with tf.device('/cpu:0'), tf.name_scope("embedding"): W = tf.Variable( tf.random_uniform([vocab_size, embedding_size], -1.0, 1.0), name="W") self.embedded_chars = tf.nn.embedding_lookup(W, self.input_x) self.embedded_chars_expanded = tf.expand_dims(self.embedded_chars, -1) 有人知道如何使用Word2vec的结果或GloVe预先训练的词embedded,而不是随机的吗?

为什么在反向传播neural network中必须使用非线性激活函数?

我一直在阅读neural network上的一些东西,并且我理解单层neural network的一般原理。 我理解对附加层的需求,但是为什么使用非线性激活函数呢? 这个问题之后是这个问题: 什么是反向传播中使用的激活函数的派生?

如何解释机器学习模型的“损失”和“准确性”

当我用Theano或Tensorflow训练我的neural network时,他们会在每个时期报告一个称为“损失”的variables。 我应该如何解释这个variables? 更高的损失是好还是坏,或者说我的neural network的最终性能(准确性)是什么意思?

估计人工neural network的神经元数量和层数

我正在寻找如何计算层数和每层神经元数量的方法。 作为input,我只有input向量的大小,输出向量的大小以及训练集的大小。 通常最好的networking是通过尝试不同的networking拓扑结构并select错误最less的networking来确定的。 不幸的是我不能那样做。

了解Keras LSTM

我试图调和我对LSTMs的理解,并在这里指出: http ://colah.github.io/posts/2015-08-Understanding-LSTMs/与Keras中实现的LSTM。 我正在关注为Keras教程写的http://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/的博客。 我主要困惑的是, 将数据序列重塑为[samples, time steps, features] 有状态的LSTMs 让我们把注意力集中在以上两个问题上,参考下面的代码: # reshape into X=t and Y=t+1 look_back = 3 trainX, trainY = create_dataset(train, look_back) testX, testY = create_dataset(test, look_back) # reshape input to be [samples, time steps, features] trainX = numpy.reshape(trainX, (trainX.shape[0], look_back, 1)) testX = numpy.reshape(testX, (testX.shape[0], look_back, 1)) ######################## # The IMPORTANT […]

张量stream的tf.nn.max_pool中的“SAME”和“VALID”填充有什么区别?

张量tf.nn.max_pool的tensorflow “SAME”和“VALID”填充有tf.nn.max_pool tensorflow ? 在我看来,“有效”意味着当我们做最大的游泳池时,边缘之外不会有零填充。 根据“深度学习卷积algorithm指南”的说法,池运算符中没有填充,即只使用张量stream的“VALID”。 但是在张量tensorflow中最大池的“SAME”填充是什么?