python实现最简单循环神经网络(RNNs)

Recurrent Neural Networks(RNNs) 的模型:
python实现最简单循环神经网络(RNNs)_第1张图片
上图中红色部分是输入向量。文本、单词、数据都是输入,在网络里都以向量的形式进行表示。
绿色部分是隐藏向量。是加工处理过程。
蓝色部分是输出向量。

python代码表示如下:

rnn = RNN()
y = rnn.step(x) # x为输入向量,y为输出向量

RNNs神经网络由神经元组成,
python 代码神经元的定义:

class RNN:
  # ...
  def step(self, x):
    # 更新隐藏状态
    self.h = np.tanh(np.dot(self.W_hh, self.h) + np.dot(self.W_xh, x))
    # 计算输出向量
    y = np.dot(self.W_hy, self.h)
    return y

其中

np是python一个做科学计算的库numpy的简称。

np.tanh

含义是双曲正切函数

tanh(x)=e2x1e2x+1

你可能感兴趣的:(python实现最简单循环神经网络(RNNs))