在此次仓库中,有一个非常受欢迎的功能/问题是“如何将视觉嵌入添加到LayoutLM?”。我自己也想知道这是如何工作的,所以(正好赶上LayoutLM 2.0的发布),这里有一个笔记本,它在FUNSD数据集上微调LayoutLM,从而从预训练的ResNet-101 Backbone 网络(如论文中所做)添加视觉嵌入:
https://github.com/NielsRogge/Transformers-Tutorials/blob/master/LayoutLM/Add_image_embeddings_to_LayoutLM.ipynb
首先,将文档图像调整为3x224x224并通过预训练的ResNet-101获得形状为(1024x14x14)的特征图。接下来,我使用ROI-align将原始文档图像的每个边界框转换为形状为(1024x3x3)的特征图,然后将其展平并线性投影以匹配LayoutLM的hidden_size
(基本模型为768)。我假设作者使用了类似的东西(要么是Faster-R-CNN中的ROI-pooling,要么是稍后引入并改进性能的ROI-align)。ResNet模型的参数在训练过程中更新,因此我们实际上是在与LayoutLM一起微调它。
通过添加这些视觉特征,我能够在测试集上提高性能,与仅使用文本+布局(边界框)信息相比,大约提高了以下指标:
'precision': 0.8053668087066682, 'recall': 0.8163670324538874, 'f1': 0.8108296133109165
相关问题:
#201
#95
#265
#80
#243
#286
#285
#249
#165
#97
#163
7条答案
按热度按时间monwx1rj1#
@NielsRogge 干得漂亮,感谢分享!
没有图像特征的f1分数是多少?
jhkqcmku2#
你好,谢谢你!
如我在earlier notebook中所示,性能如下:
'precision': 0.7239292364990689, 'recall': 0.7778889444722361, 'f1': 0.7499397154569568
请注意,我之前使用的笔记本使用了BIOES标注,现在我使用更简单的BIO标注。
ars1skjm3#
你真棒!🚀
cunj1qz14#
尊重!
tjvv9vkg5#
华丽的工作!
pobjuy326#
您为NLP/NLU社区所做的工作,尤其是为我们这些试图将这些论文应用于实际案例的人提供帮助,非常有帮助!非常感谢并继续保持良好的工作。
0ejtzxu17#
这是团队用来产生SOA结果的确切算法吗?
顺便说一下,干得好,谢谢!