首页 > 解决方案 > 如何在我的 LSTM 算法中使用 batch_size?

问题描述

我对 LSTM 算法中的批量大小有一些问题。我正在尝试使用 LSTM 实现 NLP,但我不知道如何在下面的代码中使用批量大小。谁能帮我这个?

在这段代码中,我有 mxn 输入矩阵和时间序列,我们可以说 n 个时间序列 (mx1) 向量和 1 个批次。但是我怎样才能实现更多的批量大小并根据批次更新重量?我会继续使用(batch * timeseries)时间进行前馈计算吗?另外,我将如何处理这些批次的反向传播部分?我需要为每批刷新单元格信息吗?

我现在不想使用 keras 或 tensorflow,我想设计自己的算法。

代码是 MATLAB 格式,但我会将其转换为 python 语言。

提前致谢。

%feed forward section (for 1 batch):

TimeSeries = 32;

for t=2:TimeSeries
   a(:,t)=tanh(Wa*x(:,t)+Ua*out(:,t-1)+ba);
   i(:,t)=SigFunc(Wi*x(:,t)+Ui*out(:,t-1)+bi);
   f(:,t)=SigFunc(Wf*x(:,t)+Uf*out(:,t-1)+bf);
   o(:,t)=SigFunc(Wo*x(:,t)+Uo*out(:,t-1)+bo);

   state(:,t)=a(:,t).*i(:,t)+f(:,t).*state(:,t-1);
   out(:,t)=tanh(state(:,t)).*o(:,t);
   Delta(:,t)=out(:,t)-ResOut(:,t);
end

标签: pythonmatlabartificial-intelligencelstmbackpropagation

解决方案


推荐阅读