本节代码地址
https://github.com/vic-w/torch-practice/tree/master/rnn-timer
现在终于到了激动人心的时刻了。我最初选用Torch的目的就是为了学习RNN。RNN全称Recurrent Neural Network(递归神经网络),是通过在网络中增加回路而使其具有记忆功能。对自然语言处理,图像识别等方面都有深远影响。
这次我们要用RNN实现一个神经网络计时器,给定一个时间长度,它会等待直到时间结束,然后切换自己的状态。
如果用C语言实现一个计时器是一件非常简单的事。我们大概要这样写:
void timer(int delay_time)
{
for(int i=0; i<delay_time; i++)
{
delay(1);
}
return;
}
但是用神经网络如何来实现呢?我们可以把RNN网络想想成一个黑盒,它有一个输入信号和一个输出信号。我想让输入和输出符合这样的关系: