Advertisement

循环网络与简单 recurrent 网络的源码解析

阅读量:

下载项目链接中的源码

该库的主要贡献者之一是Nicolas Leonard,他对该库的nn模块进行了增强,并发布了一个名为rnn的新模块。该模块整合了多种类型的递归神经网络(如RNN、LSTM、GRU、BRNN和BLSTM),它们均具备处理序列数据和记忆功能。

本文基于其中Simple Recurrent Network源码作为示例, 介绍Torch环境中RNN1的应用基础方法。x定义为自然数序列。

概述

该代码的主要功能是负责接收输入序列x,并生成相应的输出序列y。在真实应用场景中,输入与输出的语种常常见于一段话。这种场景下,该算法进行了大幅简化处理:将输出设定为y = (x + 1) mod 10。

网络结构

为了使用RNN,需要包含rnn库:

复制代码
    require 'rnn'

首先设定关键参数。RNN的核心是隐变量h,记录了系统当前时刻的状态。

复制代码
    batchSize = 8
    rho = 5 -- sequence length
    hiddenSize = 7    -- 隐变量维度
    nIndex = 10    -- 输出分类

全部评论 (0)

还没有任何评论哟~