问题标签 [bilstm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何为 biLSTM 层 Keras 设置自定义初始权重?
我目前正在构建带有注意力的 BiLSTM,并使用 Antlion 算法优化 BiLSTM 层权重。Antlion 算法在 MATLAB 代码中,我能够集成 Python 和 MATLAB 来接收优化的权重,如下所示:
我目前面临着将权重和偏差设置为 BiLSTM 层的问题,如下面的模型中创建的(没有设置自定义初始权重):
我尝试了以下方法:
但是一旦编译模型,权重和偏差就会改变......即使内核,循环和偏差初始化器设置为无......
我已经提到了这个链接:https://keras.io/api/layers/initializers/但无法将它与我的问题联系起来......
如果你们能提供解决此问题的见解,以及我遗漏的任何基本部分,我将不胜感激。如果需要,我很乐意分享更多细节。
谢谢!
python - 使用 pack_padded_sequence - pad_packed_sequence 时训练精度下降和损失增加
我正在尝试使用 pack_padded_sequence 和 pad_packed_sequence 训练双向 lstm,但是随着损失的增加,准确性不断下降。
这是我的数据加载器:
这是我的模型课:
如果我删除 pack_padded_sequence - pad_packed_sequence,模型训练工作得很好:
python-3.x - ValueError: 目标尺寸 (torch.Size([8])) 必须与输入尺寸 (torch.Size([8, 2])) 相同
我正在尝试使用 BERT 实现情感分析代码(正面或负面标签),我想添加一个 BiLSTM 层,看看我是否可以提高 HuggingFace 预训练模型的准确性。我有以下代码和几个问题:
所以在上面的代码中我遇到了错误: Target size (torch.Size([8])) must be the same as input size (torch.Size([8, 2]))
。在线检查并尝试使用targets = targets.unsqueeze(2)
,但后来我收到另一个错误,我必须使用 [-2,1] 中的值进行解压。我还尝试将损失函数修改为
但我仍然收到同样的错误。有人可以建议是否有解决此问题的方法?或者我该怎么做才能使这项工作正常进行?提前谢谢了。
tensorflow - 双向 LSTM 的 Lambda 警告
我正在尝试实现双向 LSTM,但收到以下警告。我不完全确定这意味着什么。我的模型是否仍会按照我的预期从传递给 LSTM 的输入中学习?
这是我的代码的一部分:
nlp - pytorch 中的自注意力实现
我正在研究一个 bi-lstm+ 注意力 NER 模型,我正在关注这篇论文:Long Short-Term Memory-Networks for Machine Reading ( https://arxiv.org/pdf/1601.06733.pdf )
我只是想知道我是否正确实施,因为它没有提高性能?谢谢
keras - 层 time_distributed_30 的输入 0 与层不兼容:预期 ndim=5,发现 ndim=4。收到的完整形状:(无,无,无,无)
- 我正在尝试用 10 个类对 MSTAR 数据集进行分类
- 我使用了包含 15 个时间步长的 DCNN 和 BILSTM 的模态
我的问题是:
- 如何克服错误
- 如何得到好的分类结果。
我的代码是:
neural-network - 关于 Stacked BiLSTM(多层 BiLSTM)的问题
我注意到单层 BiLSTM 由两个独立的(单向)LSTM 层组成,一个用于正向,另一个用于反向。然后两个 LSTM 层的输出将与hidden
dim (always dim = -1
) 连接在一起,形成这个 BiLSTM 层的输出。
而对于多层模型,每个内层都接受上一层的输出,然后将计算结果输出到下一层。
到目前为止,没有任何歧义。
但是对于多层 BiLSTM,我发现了一些歧义。由于每个 BiLSTM 层都有两个独立的 LSTM,我不知道内层接受的正确输入。
上一层的连接输出?(如果这是真的,这意味着input_size
内部 LSTM 层的,无论是从左到右还是从右到左,都是2 * (hidden_size of the previous layer)
)(参见这个实现)(参见这张图片来自:Illustrating the use of two BiLSTMs for Semantic角色标签。来源:He et al. 2017,图 1。)
或者将多层 BiLSTM 视为两个单向多层 LSTM(一个用于 left_to_right,另一个用于 right_to_left),每个单向 LSTM 只接受前一层的输出。那么,在两次多层单向LSTM计算完成后,我们将每一层的从左到右和从右到左的输出连接起来,形成每个BiLSTM层的输出?(见这张图片来自:使用深度神经网络的多通道心电图信号中的心律失常分类:Kim. 2018,图 3.2))
pytorch - ValueError:使用 RNN 分类器解包的值太多(预期为 2)
您好,我在尝试使用 pytorch 训练 RNN 分类器时遇到此错误。我希望有人可以帮助我解决它或解释我的原因。
这是它发生的错误