Meta-KGR是通过元学习来给多跳推理的小样本场景撑腰的。咱们先聊聊知识图谱里的一个老问题,也就是当训练数据不够用的时候。比如“马克吐温→国籍→美国”,正常能分解成两条路径:“马克吐温→出生→佛罗里达→定位→美国”,但如果数据少到像掉进了长尾分布里,三元组一下就变少了,模型性能就会直线下跌。以前的做法要么直接不理会这种少样本关系,要么靠瞎猜嵌入向量来填坑,这样虽然能出结果,但解释性就没了。 这回咱们提出了Meta-KGR这个框架,它主要是想把高频关系的经验给低频关系用。核心思路挺有意思的,是把每个查询关系r都看成一个单独的任务。咱们让一个Agent用强化学习RL去搜索目标实体和推理路径。然后通过MAML这种元训练方式,把高频关系共有的智慧拿来给低频关系当启动器。 算法拆解起来主要分三步走。第一步是元训练阶段,从高频关系里挑出任务样本,让Agent学会先找路径再找实体的通用策略,并且记下每一步的策略梯度。第二步是适应阶段,把低频关系当成新任务,用元训练学来的策略参数给Agent热身一下(就像给发动机预热),再微调一点点就能快速适应新场景了。最后一步是推理阶段,直接把查询关系丢进模型里,Agent就能顺顺当当地给出路径和实体了。这个过程全程都可以解释清楚,就连路径长度和每一步关系的置信度都清清楚楚。 实验结果也很不错。在Freebase和NELL这两个公开数据集上试了试,Meta-KGR全面碾压了以前的老对手。在5-shot的场景下提升了12%以上,1-shot的场景下更是提升了20%以上。至于那些连训练数据都没有的零样本关系虽然还是挺难办的,但比老基线的错误率也少了一半。 最后总结一下,Meta-KGR用元学习把高频关系的智慧迁移到了低频关系上。它既保住了多跳推理的可解释性,又解决了少样本冷启动的难题。以后咱们还会去探索更大规模的图谱和更细粒度的关系类型,争取让模型真正做到“见得少也能推得准”。