题解|实现一个简单的循环神经网络

实现一个简单的循环神经网络

https://www.nowcoder.com/practice/5b256c393546465486f791bcffc21293?tpId=377&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=%2Fexam%2Foj

循环神经网络(RNN)是一种能够处理序列数据的神经网络,其特点是能够处理时间序列数据。 RNN的具体步骤如下:

  1. 计算隐藏状态更新
  2. 计算输出
  3. 计算损失
  4. 反向传播

本题只要求实现前向传播,反向传播不要求实现。

标准代码如下

def rnn_forward(input_sequence, initial_hidden_state, Wx, Wh, b):
    h = np.array(initial_hidden_state)
    Wx = np.array(Wx)
    Wh = np.array(Wh)
    b = np.array(b)
    for x in input_sequence:
        x = np.array(x)
        h = np.tanh(np.dot(Wx, x) + np.dot(Wh, h) + b)
    final_hidden_state = np.round(h, 4)
    return final_hidden_state.tolist()
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务