BERT+CRF+pytorch
先给出模型结构图:

https://blog.youkuaiyun.com/HUSTHY/article/details/109276404
BERT + CRF损失函数的计算
# CRF的损失函数计算
def loss_fn(self, bert_encode, output_mask, tags):
loss = self.crf.negative_log_loss(bert_encode, output_mask, tags)
return loss
注意重要的是计算损失函数的方式,不是简单的CrossEntropy,而是对CRF的发射矩阵进行训练与计算,CRF的定义如下:
import torch
import torch.nn as nn
from torch.autograd import Variable
class CRF(nn.Module):
"""线性条件随机场"""
def __init__(self, num_tag, use_cuda=False):
https://blog.youkuaiyun.com/lcomecon/article/details/108728880
这篇博客详细介绍了如何在PyTorch中结合BERT和CRF(条件随机场)来构建序列标注模型。文章通过模型结构图展示了整体架构,并重点解析了CRF损失函数的计算方法,区别于传统的交叉熵损失,CRF考虑了序列间的依赖关系,提高了标注的准确性。

被折叠的 条评论
为什么被折叠?



