图神经网络 (GNN) 已成为一种强大的机器学习技术,用于分析和预测图数据结构中的复杂关系。随着应用程序涵盖社交网络分析、推荐系统等,GNN 在文档理解领域尤其重要。这篇博文记录了我在创新的 PICK 背景下导航 GNN 错综复杂的景观时的经验、挑战和胜利(Processing key In信息使用改进的图学习 Convolutional networKs 从文档中提取)。
第 1 部分:GNN 和 PICK 一瞥
深入研究基本概念,PICK框架利用图学习卷积网络(GLCN)的潜力来提升从文档中提取关键信息的能力。本文中介绍的GLCN模型通过将文档解释为图形提供了深刻的增强。节点表示单词,而边缘封装其语义关系。通过卷积层,该模型吸收了这种图结构,最终改进了关键信息提取。GLCN方法展示了其实力,在文档分类,情感分析和主题建模等各种任务中表现出有希望的结果。
资源:
第二节 搭建舞台
收据数据提取
为了踏上我的GNN之旅,我建立了我的环境。这包括使用强大的 EC2 P3.8xlarge 实例创建 AWS SageMaker 笔记本,因为计算能力的任何妥协都可能延长训练时间。此外,我将自己与存储库无缝集成,为未来的探索做好准备。
建筑:
图片来自 PICK 论文
3个主要模块
- 无向图
- 方框由 8 个坐标表示
- 软邻接矩阵
它是如何工作的?
- 文本片段特征提取器由转换器的编码器模块实现 图像片段特征提取器由ResNet50实现
- 然后通过逐元素加法运算将文本嵌入和图像嵌入组合在一起进行特征融合,然后作为图形模块和解码器的输入。
- 该模型的图模块由图学习和图卷积组成。
- 解码器由BiLSTM和CRF层组成。在 BiLSTM 层中,隐藏大小设置为 512
第 3 部分:导航 SROIE 数据集
我利用了存储库的数据集资源(链接)。
克服不兼容的NumPy版本等障碍,确保无缝安装。
在“config.json”中定制配置路径,以与数据集的 SageMaker 位置保持一致。
第 4 部分:制定培训过程
微调培训过程至关重要。通过重新定义“dist_train.sh”脚本。
修改了 python -m torch.distributed.launch dist_train.sh
— nnode=1 — node_rank=0 — nproc_per_node=1 \
train.py -c config.json -d 0 — local_world_size 1
执行 bash dist_train.sh
这将开始分布式训练 初步改进需要一些时间,即您将在几个步骤后看到进度。
执行 bash dist_train.sh
训练在第 48 纪元后停止,因为没有任何改善。
挑战:
数据表示:将原始文本转换为准确表示单词之间语义关系的图形结构可能很复杂。
计算资源:GNN,包括GLCN,可能是计算密集型的,需要大量的内存和处理能力,特别是对于大型图形。
模型训练:由于过度拟合或优化困难等问题,训练 GNN 可能具有挑战性。
可解释性:虽然GNN可以提供强大的预测性能,但它们也可以被视为“黑匣子”,因此很难理解它们为什么要进行某些预测。
特征选择:决定要在图形的节点和边缘中包含哪些特征可能是一项复杂的任务,会极大地影响模型的性能。
可扩展性:由于其计算复杂性,扩展GNN以处理大型图形可能具有挑战性。
这段旅程表明,除了错综复杂之外,还有一个潜力库,将机器学习世界推向未被发现的领域。