基于Theano的深度学习(Deep Learning)框架Keras学习随笔-14-递归层

本文介绍了Keras中用于构建递归神经网络的递归层,包括SimpleRNN、SimpleDeepRNN、GRU、LSTM和JZS1, JZS2, JZS3。这些层在处理序列数据时发挥作用,详细讲解了各层的结构、参数和应用场景。" 72861235,5686555,二叉搜索树获取第K大节点的算法解析,"['数据结构', '算法']
摘要由CSDN通过智能技术生成

        本文来自CSDN博客:http://blog.csdn.net/niuwei22007/article/details/49370063

        上一篇介绍了卷基层,可以用来构建很常见的卷积神经网络等模型。那么今天将要介绍的是递归层,是一个可以用来构建递归网络(RNN)的基础部件。具体的RNN知识,可以参考文章:《深入探究递归神经网络》。如果感觉上面这篇文章比较抽象,那么强烈建议读者阅读一下《递归神经网络不可思议的有效性》,因为它结合实际讲述了RNN的强大。下面来看下递归层都有哪些结构。

一、SimpleRNN

keras.layers.recurrent.SimpleRNN(output_dim,
        init='glorot_uniform', inner_init='orthogonal', activation='sigmoid', weights=None,
        truncate_gradient=-1, return_sequences=False, input_dim=None, input_length=None)

        一种输出反馈给输入的全连接RNN。

        inputshape: 3维 tensor(nb_samples, timesteps,input_dim)

        outputshape: 如果return_sequences=True,那么输出3维 tensor(nb_samples, timesteps, output_dim) .否则输出2维tensor(nb_samples,output_dim)

        Masking:This layer supports masking forinput data with a variable number of timesteps To introduce masks to your data,use an Embedding layer with themask_zero parameter set toTrue.

        参数

  • output_dim : 内部计算和最终输出的维度。
  • init : 初始化权值的函数名称或Theano function。可以使用Keras内置的(内置初始化权值函数见这里),也可以传递自己编写的Theano function。如果不给weights传递参数时,则该参数必须指明。
  • activation : 激活函数名称或者Theano function。可以使用Keras内置的(内置激活函数见这里),也可以是传递自己编写的Theano function。如果不明确指定,那么将没有激活函数会被应用。
  • weights :用于初始化权值的numpy arrays组成的list。这个List应该有3个元素,它们的shape是[(input_dim, output_dim), (output_dim, output_dim),(output_dim,)]
  • truncate_gradient: 在BPTT(back propgation throughtime, BP算法加入了时间维度)算法中的truncate步数。
  • return_sequence: Boolean.False返回在输出序列中的最后一个输出;True返回整个序列。
  • input_dim:输入数据的维度。当把该层作为模型的第一层时,这个参数和input_shape至少要提供一个传值。
  • input_length:输入序列的长度。This argument is required ifyou are going to connectFlatten thenDense layers upstream (without it,the shape of the dense outputs cannot be computed)

二、SimpleDeepRNN

keras.layers.recurrent.SimpleDeepRNN(output_dim,depth=3,
        init='glorot_uniform', inner_init='orthogonal',
        activation='sigmoid', inner_activation='hard_sigmoid',
        weights=None, truncate_gradient=-1, return_sequences=False,
        input_dim=None, input_length=None)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值