倒颠市城. 2021-07-13 12:44 采纳率: 0%
浏览 31

lstm多维分类的维度问题

我的一条样本维度是249的,我的batch_size是64个,也就是以6424*9的形式放入lstm。
网络结构很简单lstm+linear+softmax,我想问在前向传播时,数据经过lstm后应该怎样给数据变换维度?
从每次输出的结果看,计算机感觉并没有进行学习?

  • 写回答

1条回答 默认 最新

  • 太阳是白的 2023-02-16 09:28
    关注

    在进行前向传播时,数据经过LSTM层后的维度会发生变化,具体变化的方式与LSTM层的参数设置有关。

    假设您的输入数据的形状为(64, 24, 9),其中64为batch_size,24为序列长度,9为特征数量。如果您的LSTM层的隐藏状态大小为128,那么数据经过LSTM层后的维度为(64, 24, 128)。

    接下来,您需要将LSTM层输出的3D张量转换为2D张量,以便进行全连接层和softmax层的计算。常见的方法是将最后一个时间步的输出作为LSTM层的输出,即使用LSTM层的最后一个时间步的输出作为全连接层的输入,从而得到每个样本的预测结果。这个输出的形状为(64, 128),表示每个样本的特征向量。

    接着,您可以使用全连接层对这个特征向量进行进一步处理,将其转换为适合于分类的形式。这里可以选择添加一个或多个全连接层,将特征向量映射到一个合适的维度。最后,使用softmax层进行分类,输出每个类别的概率。

    因此,在前向传播时,数据经过LSTM层后需要进行维度变换,以适应全连接层和softmax层的输入要求

    评论

报告相同问题?

问题事件

  • 创建了问题 7月13日

悬赏问题

  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)