1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

思路与公式

  • 记忆单元数量(隐藏维度)为 m=5m=5m=5,输入维度为 x_dim=7x\_dim=7x_dim=7,因此每个门的权重矩阵形状均为 (m,  x_dim+m)=(5,12)(m,\; x\_dim+m)=(5,12)(m,x_dim+m)=(5,12)。在每个时间步 ttt,把当前输入 xt∈R7x_t\in\mathbb{R}^{7}xt​∈R7 与上一步隐藏向量 ht−1∈R5h_{t-1}\in\mathbb{R}^{5}ht−1​∈R5 级联成 xc=[xt;ht−1]∈R12\mathrm{xc}=[x_t;h_{t-1}]\in\mathbb{R}^{12}xc=[xt​;ht−1​]∈R12。

  • 经典 LSTM 的前向计算如下(与题面描述一致):

    \begin{aligned} g_t &= \tanh(W_g \, \mathrm{xc} + b_g),\\ i_t &= \sigma(W_i \, \mathrm{xc} + b_i),\\

P3875.第3题-经典LSTM模型结构实现

    1000ms Tried: 273 Accepted: 98 Difficulty: 6 所属公司 : 华为
    算法与标签>模拟

题目内容

【问题说明】长短期记忆网络(LongLongLong Short−TermShort-TermShort−Term MemoryMemoryMemory, LSTMLSTMLSTM)是一种特殊的循环神经网络(RNNRNNRNN),旨在解决传统 RNNRNNRNN 中存在的梯度消失和梯度爆炸问题,使其能够有效地学习长期依赖关系。

一个 LSTMLSTMLSTM 单元(CellCellCell)的核心由三个关键的门和一个细胞状态(CellCellCell StateStateState)组成:

细胞状态 (CellCellCell StateStateState):这是 LSTMLSTMLSTM 的“记忆高速公路",信息沿着这条路径从一个时间步传递到下一个。它的更新是一个简单的线性操作(加法和乘法),这使得梯度可以更直接地流动,从而避免了梯度消失。

遗忘门 (ForgetForgetForget GateGateGate):遗忘门决定从上一时间步的细胞状态中丢弃哪些信息。它通过一个 SigmoidSigmoidSigmoid 激活函数,对上一个隐藏状态和当前输入进行处理,输出一个介于 000 和 111 之间的向量。000 表示完全遗忘,111 表示完全保留。

输入门(InputGateInput GateInputGate):输入门控制新信息写入到细胞状态中。它包含两个部分:

  • 一个 SigmoidSigmoidSigmoid 层,用于决定哪些值需要更新。
  • 一个 TanhTanhTanh 层,用于创建新的候选细胞状态(CCC ~ ttt)。

输出门(OutputOutputOutput GateGateGate):输出门决定当前时刻的隐藏状态(HiddenHiddenHidden StateStateState)将输出哪些信息。它首先通过一个 SigmoidSigmoidSigmoid 层来决定细胞状态的哪些部分会被输出,然后对当前的细胞状态应用 TanhTanhTanh 函数,最后两者相乘得到新的隐藏状态。

【任务要求】请根据下图的 LSTMLSTMLSTM 结构示意图,实现一个 LSTMLSTMLSTM 模型的关键函数,并按下列要求输出计算结果。

该 LSTMLSTMLSTM 模型包含了 555 个 LSTMLSTMLSTM CellCellCell(上图中 AAA 单元),每个 LSTMLSTMLSTM CellCellCell 中的权重的定义如下图所示,分别为 wf,wi,wg,wowf, wi, wg, wowf,wi,wg,wo, 对应的偏置为 bf,bi,bg,bobf, bi, bg, bobf,bi,bg,bo。已在 pythonpythonpython 代码模板中提供了 555 个 LSTMLSTMLSTM CellCellCell 的权重和偏置的数据。如果使用非 PythonPythonPython 语言, 需沿用 Python3Python3Python3 代码模板中的参数设置。

该 LSTMLSTMLSTM 模型会循环地作用于输入序列中的每一个时间步(从 t=1t=1t=1 到 t=sequence_lengtht=sequence\_lengtht=sequence_length),每个时间步的计算都会产生一个 555 维的隐藏状态。请针对不同输入矩阵运行 LSTMLSTMLSTM 模型,计算对应每个时间步隐藏层状态 hhh 的首元素。其中输入 XXX 矩阵的形状为 [4,7][4, 7][4,7] ,即输入数据序列时间步长 sequence_lengthsequence\_lengthsequence_length 为 444 ,输入数据维度 X_dimX\_dimX_dim 为 777 。

输入描述

一共一行数据,用于描述输入矩阵。

其中前两个为整型数据,分别为 sequence_lengthsequence\_lengthsequence_length 行数和 x_dimx\_dimx_dim 列数,后面数据为输入矩阵的参数,均为浮点数,按行平铺 flattenflattenflatten 形式展开为一维序列,数据间以一个空格间隔。

输出描述

一共一行数据,输出每个时间步隐藏状态的首元素,按时间步顺序组成,数据之间以一个空格间隔。

数据精度要求:且均四舍五入精确到小数点后 333 位,同时若尾部存在 000 结尾需进行舍弃如 0.2000.2000.200 0.3100.310 0.310 0.8910.8910.891 0.0070.0070.007 需要舍弃尾部,变为 0.20.20.2 0.310.310.31 0.8910.8910.891 0.0070.0070.007 。特殊情况:000 或 0.0000.0000.000 或 0.000.000.00 或 0.00.00.0 需输出为 0.00.00.0 。

样例1

输入

4 7 -1.153285 -0.081943 0.464549 3.411137 0.594197 1.21088 -0.234899 -0.272196 0.279498 -0.289765 -0.826989 -0.224368 0.711969 -0.067545 0.80226 0.574793 2.458116 0.733628 0.698731 -0.816701 0.533741 -1.756603 -0.123113 -0.550757 0.273727 0.249046 -1.165406 -0.31581

输出

0.001 -0.002 0.012 -0.006

样例2

输入

4 7 -1.609352 -0.165708 -0.494005 1.980481 0.316188 -0.005439 -1.108964 0.576463 -0.048573 -0.384642 -1.112576 0.351411 0.698983 0.607453 0.364154 -0.220041 0.345962 -0.274185 -0.784176 -1.740389 1.118046 0.794949 2.249595 -0.038455 0.037336 -0.652332 1.491228 -0.248807

输出

-0.006 -0.012 -0.013 0.014

说明

样例的输入输出均为一行数据,具体格式及输出规范参考上述输入输出描述。经典LSTM模型结构实现

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 93ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?