ccks2021FEE icon indicating copy to clipboard operation
ccks2021FEE copied to clipboard

Argument_Extraction模型全连接层

Open jdcmj opened this issue 3 years ago • 4 comments

哈喽,想请教一下,看Argument_Extraction模型的代码,全连接层是直接把hidden_size映射到2维,再sigmoid得到logits,但这样貌似只是对token做了一个二分类,而在load data的时候,answer是维度是seq_len*2的向量,第一个维度是start_index,第二个维度是end_index,如果按照代码里写的,直接对logits和answer计算损失函数可能会存在问题吧?感觉是不是应该在定义模型的时候token做两次二分类,一次判断其是否为start,一次判断其是否为end? 不知道是否是我理解有误,期待回复~

jdcmj avatar Aug 20 '21 07:08 jdcmj

模型输出的是seq_len*2的向量, 第一维表示的是这个token为start的概率,第二维是end的概率, 与answer的两维相对应. 实际上全连接层的参数一部分是判断start的,一部分是判断end的, 这和用两个全连接层做两次二分类没有区别, 参数量是一样的.

taojingcong avatar Aug 20 '21 07:08 taojingcong

有点奇怪的是,我直接run 训练代码,logits都很小很小,很多都是万分之几,不知道是为啥,想请教一下导致logits很小的原因可能是啥呀?

jdcmj avatar Aug 20 '21 08:08 jdcmj

有点奇怪的是,我直接run 训练代码,logits都很小很小,很多都是万分之几,不知道是为啥,想请教一下导致logits很小的原因可能是啥呀?

logits都很小可能是因为answer是个稀疏矩阵, 所以模型倾向于把所有地方的标签都预测为0, 可以把answer中标签为1的地方的loss权重调大一点

taojingcong avatar Aug 20 '21 08:08 taojingcong

好滴好滴,我试试看,蟹蟹~

jdcmj avatar Aug 20 '21 08:08 jdcmj