摘要:
一 初始化RNN 上一节中介绍了 通过cell类构建RNN的函数,其中有一个参数initial_state,即cell初始状态参数,TensorFlow中封装了对其初始化的方法。 1.初始化为0 对于正向或反向,第一个cell传入时没有之前的序列输出值,所以需要对其进行初始化。一般来讲,不用刻意取指 阅读全文
摘要:
本节主要介绍在TensorFlow中实现LSTM以及GRU网络。 一 LSTM网络 Long Short Term 网络—— 一般就叫做 LSTM ——是一种 RNN 特殊的类型,可以学习长期依赖信息。LSTM 由 Hochreiter & Schmidhuber (1997) 提出,并在近期被 A 阅读全文
摘要:
这一节使用TensorFlow中的函数搭建一个简单的RNN网络,使用一串随机的模拟数据作为原始信号,让RNN网络来拟合其对应的回声信号。 样本数据为一串随机的由0,1组成的数字,将其当成发射出去的一串信号。当碰到阻挡被反弹回来时,会收到原始信号的回声。 如果步长为3,那么输入和输出的序列如下图所示: 阅读全文
摘要:
退位减法具有RNN的特性,即输入的两个数相减时,一旦发生退位运算,需要将中间状态保存起来,当高位的数传入时将退位标志一并传入参与计算。 我们在做减法运算时候,把减数和被减数转换为二进制然后进行运算。我们定义一个RNN网络,输入节点数为2个,依次传入减数和被减数的二进制序列值,隐藏层节点数为16个,由 阅读全文
摘要:
刘建平Pinard博客系列 深度神经网络(DNN)模型与前向传播算法 深度神经网络(DNN)反向传播算法(BP) 深度神经网络(DNN)损失函数和激活函数的选择 机器学习中的交叉熵代价函数 深度神经网络(DNN)的正则化 卷积神经网络(CNN)模型结构 卷积神经网络(CNN)前向传播算法 卷积神经网 阅读全文
摘要:
在深度学习章节里,已经介绍了批量归一化的概念,详情请点击这里:第九节,改善深层神经网络:超参数调试、正则化以优化(下) 神经网络在进行训练时,主要是用来学习数据的分布规律,如果数据的训练部分和测试部分分布不一样,那么网络的泛化能力会变得非常差.而且对于训练的数据,每批分布也是不一样的,那么网络在迭代 阅读全文
摘要:
在使用卷积神经网络时,我们也总结了一些训练技巧,下面就来介绍如何对卷积核进行优化,以及多通道卷积技术的使用。 一 优化卷积核 在实际的卷积训练中,为了加快速度,常常把卷积核裁开。比如一个3x3的卷积核,可以裁成一个3x1和1x3的卷积核(通过矩阵乘法得知),分别对原有输入做卷积运算,这样可以大大提升 阅读全文
摘要:
这一节,介绍TensorFlow中的一个封装好的高级库,里面有前面讲过的很多函数的高级封装,使用这个高级库来开发程序将会提高效率。 我们改写第十三节的程序,卷积函数我们使用tf.contrib.layers.conv2d(),池化函数使用tf.contrib.layers.max_pool2d()和 阅读全文
摘要:
在第十三节,我们已经介绍了使用带有全局平均池化层的CNN对CIFAR10数据集分类,在学习了反卷积神经网络之后我们把第十三节那个程序里的卷积层可视化出来。 一 替换掉tf.nn.max_pool()函数 这里不再使用自己定义的max_pool_2x2函数,改成新加入的带有mask返回值得max_po 阅读全文
摘要:
反卷积是指,通过测量输出和已知输入重构未知输入的过程。在神经网络中,反卷积过程并不具备学习的能力,仅仅是用于可视化一个已经训练好的卷积神经网络,没有学习训练的过程。反卷积有着许多特别的应用,一般可以用于信道均衡、图像恢复、语音识别、地震学、无损探伤等未知输入估计和过程辨识方面的问题。 在神经网络的研 阅读全文