资源简介

利用MATLAB实现循环神经网络的例子,便于大家更好的理解循环神经网络RNN的原理。

资源截图

代码片段和文件信息

clear
clc
largestNumber=256; 
T=8; 
dic=dec2bin(0:largestNumber-1)-‘0‘; % 将uint8表示成二进制数组,这是一个查找表 
%% 初始化参数 
eta=0.1; % 学习步长 
inputDim=2; % 输入维度 
hiddenDim=16; %隐层节点个数 
outputDim=1; % 输出层节点个数 
 
W=rand(hiddenDimoutputDim)*2-1; % (-11)参数矩阵 
U=rand(hiddenDimhiddenDim)*2-1; % (-11)参数矩阵 
V=rand(inputDimhiddenDim)*2-1;  % (-11)参数矩阵 
 
delta_W=zeros(hiddenDimoutputDim); % 时刻间中间变量 
delta_U=zeros(hiddenDimhiddenDim); 
delta_V=zeros(inputDimhiddenDim); 
error=0; 
for p=1:10000 
   aInt=randi(largestNumber/2); 
   bInt=randi(largestNumber/2); 
   a=dic(aInt+1:); 
   b=dic(bInt+1:); 
   cInt=aInt+bInt; 
   c=dic(cInt+1:); 
   y=zeros(1T); 
 
   preh=zeros(1hiddenDim); 
   hDic=zeros(ThiddenDim); 
   %% 前向计算 
   for t=T:-1:1 % 注意应该从最低位计算,也就是二进制数组最右端开始计算 
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1961  2018-01-29 13:19  RNN代码\RNN.m

     文件         49  2018-01-06 17:28  RNN代码\sigmoid.m

     文件         67  2018-01-06 17:29  RNN代码\sigmoidOutput2d.m

     目录          0  2018-01-20 21:53  RNN代码

----------- ---------  ---------- -----  ----

                 2077                    4


评论

共有 条评论