SpaCy 自定义 NER 模型训练中“drop”的含义?

Jit*_*mes 4 python nlp named-entity-recognition spacy

下面的代码是 SpaCy 命名实体识别 ( NER) 的示例训练循环。

for itn in range(100):
    random.shuffle(train_data)
    for raw_text, entity_offsets in train_data:
        doc = nlp.make_doc(raw_text)
        gold = GoldParse(doc, entities=entity_offsets)
        nlp.update([doc], [gold], drop=0.5, sgd=optimizer)
nlp.to_disk("/model")
Run Code Online (Sandbox Code Playgroud)

dropspacy辍学率。有人可以详细解释一下相同的含义吗?

Anw*_*vic 6

根据此处的文档,SpaCyEntity Recognizer是一个神经网络,应该实现Thinc.neural.Model API。您所谈论的论点drop称为辍学率,这是优化神经网络的一种方法。

推荐值是0.2基于我的经验,这意味着该模型中使用的约 20% 的神经元将在训练过程中随机丢弃。