当前位置: 首页 > wzjs >正文

可以免费发广告的网站海外推广营销系统

可以免费发广告的网站,海外推广营销系统,lol福利wordpress,外贸是做什么的学什么专业WITRAN_2DPSGMU_Encoder 类中的门机制详解 在 WITRAN_2DPSGMU_Encoder 类中,门机制是核心部分,类似于 LSTM 或 GRU 的门控机制,用于控制隐藏状态的更新和输出。以下是对门机制的详细解析。 1. 门机制的作用 门机制的主要作用是:…

WITRAN_2DPSGMU_Encoder 类中的门机制详解

WITRAN_2DPSGMU_Encoder 类中,门机制是核心部分,类似于 LSTM 或 GRU 的门控机制,用于控制隐藏状态的更新和输出。以下是对门机制的详细解析。


1. 门机制的作用

门机制的主要作用是:

  1. 控制信息流动

    • 决定当前时间步的输入信息和上一时间步的隐藏状态如何结合。
    • 通过更新门、输入门和输出门,选择性地保留或丢弃信息。
  2. 更新隐藏状态

    • 根据门控信号,更新行隐藏状态(hidden_slice_row)和列隐藏状态(hidden_slice_col)。
  3. 生成输出

    • 将更新后的隐藏状态拼接,作为当前时间步的输出。

2. 门机制的组成

门机制由以下几部分组成:

(1) 门控信号的生成
gate = self.linear(torch.cat([hidden_slice_row, hidden_slice_col, a[:, slice, :]], dim=-1), W, B, batch_size, slice, Water2sea_slice_num)
  • 输入

    • hidden_slice_row:行隐藏状态,形状为 [128, 32]
    • hidden_slice_col:列隐藏状态,形状为 [128, 32]
    • a[:, slice, :]:当前时间步的输入,形状为 [128, 11]
    • 拼接后,输入形状为 [128, 75]
  • 线性变换

    • 权重矩阵 W 的形状为 [192, 75]
    • 偏置向量 B 的形状为 [192]
    • 输出 gate 的形状为 [128, 192]

(2) 分割门控信号
sigmod_gate, tanh_gate = torch.split(gate, 4 * self.hidden_size, dim=-1)
  • 分割结果
    • sigmod_gate:前 128 列,用于生成更新门和输出门。
    • tanh_gate:后 64 列,用于生成输入门。

(3) 激活函数处理
  • Sigmoid 激活

    sigmod_gate = torch.sigmoid(sigmod_gate)
    
    • sigmod_gate 的值映射到 [0, 1] 区间。
    • 用于生成更新门和输出门的开关信号。
  • Tanh 激活

    tanh_gate = torch.tanh(tanh_gate)
    
    • tanh_gate 的值映射到 [-1, 1] 区间。
    • 用于生成输入门的候选值。

(4) 分割门控信号为具体的门
update_gate_row, output_gate_row, update_gate_col, output_gate_col = sigmod_gate.chunk(4, dim=-1)
input_gate_row, input_gate_col = tanh_gate.chunk(2, dim=-1)
  • 更新门

    • update_gate_row:更新行隐藏状态的门控信号,形状为 [128, 32]
    • update_gate_col:更新列隐藏状态的门控信号,形状为 [128, 32]
  • 输出门

    • output_gate_row:输出行隐藏状态的门控信号,形状为 [128, 32]
    • output_gate_col:输出列隐藏状态的门控信号,形状为 [128, 32]
  • 输入门

    • input_gate_row:用于更新行隐藏状态的输入门信号,形状为 [128, 32]
    • input_gate_col:用于更新列隐藏状态的输入门信号,形状为 [128, 32]

3. 隐藏状态的更新

(1) 更新行隐藏状态
hidden_slice_row = torch.tanh((1-update_gate_row)*hidden_slice_row + update_gate_row*input_gate_row) * output_gate_row
  • 计算过程

    1. (1 - update_gate_row) * hidden_slice_row
      • 保留上一时间步的行隐藏状态。
    2. update_gate_row * input_gate_row
      • 引入当前时间步的输入信息。
    3. 相加后通过 torch.tanh 激活:
      • 将结果映射到 [-1, 1] 区间。
    4. 乘以 output_gate_row
      • 控制隐藏状态的输出强度。
  • 结果

    • 更新后的行隐藏状态 hidden_slice_row,形状为 [128, 32]

(2) 更新列隐藏状态
hidden_slice_col = torch.tanh((1-update_gate_col)*hidden_slice_col + update_gate_col*input_gate_col) * output_gate_col
  • 计算过程

    • 与更新行隐藏状态的逻辑相同,但作用于列隐藏状态。
  • 结果

    • 更新后的列隐藏状态 hidden_slice_col,形状为 [128, 32]

4. 输出的生成

output_slice = torch.cat([hidden_slice_row, hidden_slice_col], dim=-1)
  • 拼接隐藏状态

    • 将行隐藏状态 hidden_slice_row 和列隐藏状态 hidden_slice_col 在最后一个维度上拼接。
    • 输出形状为 [128, 64]
  • 保存输出

    output_all_slice_list.append(output_slice)
    
    • 将当前时间步的输出保存到 output_all_slice_list 中。

5. 门机制的核心逻辑总结

  1. 门控信号的生成

    • 通过线性变换生成门控信号 gate,并分割为更新门、输出门和输入门。
  2. 隐藏状态的更新

    • 使用更新门和输入门结合上一时间步的隐藏状态,生成新的隐藏状态。
    • 使用输出门控制隐藏状态的输出强度。
  3. 输出的生成

    • 将行隐藏状态和列隐藏状态拼接,作为当前时间步的输出。

6. 图示化表示

输入:hidden_slice_row [128, 32]hidden_slice_col [128, 32]当前时间步输入 a[:, slice, :] [128, 11]拼接后输入 [128, 75]↓
线性变换:gate = self.linear(...) → [128, 192]↓
分割 gate:sigmod_gate [128, 128] → 更新门、输出门tanh_gate [128, 64] → 输入门↓
激活函数:Sigmoid → sigmod_gateTanh → tanh_gate↓
分割门控信号:更新门:update_gate_row, update_gate_col输出门:output_gate_row, output_gate_col输入门:input_gate_row, input_gate_col↓
更新隐藏状态:hidden_slice_row → 更新行隐藏状态hidden_slice_col → 更新列隐藏状态↓
生成输出:output_slice = torch.cat([hidden_slice_row, hidden_slice_col], dim=-1) → [128, 64]

7. 总结

  • 更新门:控制上一时间步的隐藏状态保留多少。
  • 输入门:控制当前时间步的输入信息引入多少。
  • 输出门:控制隐藏状态的输出强度。
  • 最终输出:将行隐藏状态和列隐藏状态拼接,作为当前时间步的输出。

这种门机制类似于 LSTM,但针对二维时间序列数据进行了扩展,分别更新行和列的隐藏状态,从而捕获时间序列的复杂依赖关系。


文章转载自:

http://muvnuWrZ.gychx.cn
http://6QIAfLBN.gychx.cn
http://Nutzt85t.gychx.cn
http://elkGPKyb.gychx.cn
http://S0VyPwm8.gychx.cn
http://J1PqgyiD.gychx.cn
http://mN96Lgsr.gychx.cn
http://IbGqtbDe.gychx.cn
http://NoJKtdHn.gychx.cn
http://NHCukf7K.gychx.cn
http://1HnK34Qp.gychx.cn
http://D8uhZAEr.gychx.cn
http://fID4EDAT.gychx.cn
http://CE0qBeJ0.gychx.cn
http://eKpmGhe9.gychx.cn
http://iBLtYRVB.gychx.cn
http://gVmxFx3f.gychx.cn
http://MiX20GrM.gychx.cn
http://B2fOU6zu.gychx.cn
http://5w6Brh7Z.gychx.cn
http://azi4lDvQ.gychx.cn
http://Zt83ZZLe.gychx.cn
http://05HtMUR1.gychx.cn
http://x4CbA6zB.gychx.cn
http://ElUCB30F.gychx.cn
http://oFGDVGI3.gychx.cn
http://Y5ALcZd4.gychx.cn
http://W1zXvOA7.gychx.cn
http://suULGgpP.gychx.cn
http://Nivd8BXK.gychx.cn
http://www.dtcms.com/wzjs/662355.html

相关文章:

  • 部队网站建设方案河南网站排名
  • 宿舍网站建设目的广告策划案ppt优秀案例
  • 第二课强登陆网站新型智库建设的意见建企业网站需要哪些资料
  • 网站建设创意公司网站访客qq抓取
  • 做网站框架外贸公司网站空间
  • 如何做论文网站建筑工程168网
  • 网站框架怎么做手机网站内容管理
  • 上海网站建设 找思创网络wordpress 主题制件
  • 网站建设需要哪些成本费用输入网址一键生成app
  • 授权网站系统2023网站推荐
  • 机械网站建设多少钱天津在线制作网站
  • 深圳网站建设设计平台怎么做网页反向链接
  • 襄阳市住房和城乡建设厅网站上建设一个网站怎么赚钱
  • 网络营销郑州网站搭建方案wordpress自动添加html后缀
  • 建一个网站需要什么做网站一个月赚多少钱
  • 史志网站建设必要性wordpress 下载模板站
  • 电脑做服务器搭建网站怎么建设物流网站
  • 外部网站跳转小程序小程序开发服务公司
  • 网站建设时如何选择合适的服务器非企户百度推广
  • 货运代理东莞网站建设用动态和静态设计一个网站
  • 查看网站名称装饰工程投标书
  • 嘉兴建设中学网站wordpress 字符集 404
  • 怎么把做网站发给别人wordpress数据库导致宕机
  • 网站建设带服务器全屋整装装修效果
  • 网站套餐网页微网站的优势
  • php网站 服务器房地产开发公司怎么注册
  • 网站描述怎么写比较好采购需求发布平台
  • 收录网站排名wordpress4.7.4密码
  • asp.net 4.0网站开发与项目实战(全程实录) pdf海口网站建设在线
  • HTML asp 网站北京专业网站制作服务