使用Python建立RNN实现二进制加法的示例代码

上传:qqarmor37980 浏览: 21 推荐: 0 文件:pdf 大小:91.05 KB 上传时间:2021-07-07 11:36:03 版权申诉

只有一百行左右代码,应该还是比较好理解的。首先看一下结果,发现还是不错的。RNN主要学两件事,一个是前一位的进位,一个是当前位的加法操作。具体代码既然是神经网络,肯定就非线性的,首先是sigmoid函数,这个要是不清楚,就看看相关博客了解一下。反向传播的时候需要sigmoid函数的导数值,所以把两个函数就直接贴在下面了。再接着就是对我们的RNN进行初始化操作。RNN我们进行10万次的迭代训练。其中largest_number表示8位二进制数对应的最大的十进制数值。在进行前向传播的过程中,我们需要将两个二进制传入,从最后一位开始,一层一层地通过sigmoid函数,得到预测值。然后通过预测值与准确值之间的差值设为l然后进行反向传播,也就是从最高位往后走。

上传资源
用户评论