论文阅读Neural Association Models

本文探讨了基于深度神经网络的NAM模型,用于统计关系学习和概率推理,特别强调了RMNN在文本蕴含、三元组分类、常识推理及知识迁移中的优势。实验结果显示,NAM模型显著优于传统方法,尤其在知识迁移学习中仅需少量训练样本就能快速适应新关系。

论文题目归属及框架

image-20211201192508450 image-20211201192540544 Probabilistic Reasoning via Deep Learning

背景与动机

在本文中,作者提出了一种新的深度学习方法——神经关联模型(NAM),用于AI中的概率推理。作者建议使用神经网络来模拟一个领域中任意两个事件之间的关联。神经网络将一个事件作为输入,并计算出另一个事件的条件概率,以模拟这两个事件关联的可能性。与现有的线性模型不同,该NAM模型利用的是深度神经网络中的多层非线性激活来模拟它们的关联。

在这项工作中,作者研究了两种NAM模型结构。第一个模型是标准的深度神经网络(DNN),第二个模型使用一种特殊的结构称为关系调制神经网络(RMNN)。

在多种知识图谱任务上进行实验后表明,两个模型均能优于其它常规的方法。更值得一提的是,RMNN在知识迁移学习方面的表现尤为突出,在只观察少量训练样本的情况下,预先训练的模型可以迅速扩展到新的关系。

贡献

  • 我们提出了基于深度神经网络的概率推理神经关联模型,该模型具有足够的通用性,可以处理符号事件的各种推理问题。
  • 本工作研究的一种特定的模型(RMNN)对于知识转移学习非常有效,它可以快速地将现有的知识库适应于新遇到的场景和情境。
  • 第一个证明DNNs具有多层非线性的工作

统计关系学习

统计关系学习,Statistical Relation Learning(SRL),

SRL试图将实体集E和关系集R上的每一个可能的三元组xijk = (ei, rk, ej)建模为二元随机变量yijk∈{0,1},表示真或假。

SRL模型的似然函数如下:

image-20211202152510779

σ(·)表示sigmoid function

Ber (y|p)为伯努利分布

image-20211202152618773

该函数的输入为一个三元组向量,通过score functionf(),来计算其得分。把得分投到sigmoid激活函数中,实现归一化,用以表示概率

NAM

image-20211202153543459

NAM模型以事件E1的向量作为输入,计算E2事件的条件概率

如果事件 E2 是二值的(True or False),NAM 用 sigmoid 函数计算 P r ( E 2 ∣ E 1 ) Pr(E2|E1) Pr(E2E1);如果 E2 是多值的,则 NAM 使用 softmax 计算 P r ( E 2 ∣ E 1 ) P

OpenAI在2020年确实发表了一篇关于神经语言模型扩展规律的重要论文,标题为《Scaling Laws for Neural Language Models》。这篇论文系统性地研究了语言模型模型大小、训练数据量以及计算资源方面的扩展规律。研究指出,通过增加模型参数量、训练数据量以及计算资源,可以实现模型性能的稳定提升,并且这些提升在不同规模下均呈现可预测的趋势。 论文中提出了一些关键发现:模型性能与模型规模(参数数量)、训练数据量(token数量)以及计算资源之间存在幂律关系。这意味着,如果想要将模型性能提高一个固定比例,需要按照特定比例增加模型参数量、数据量和计算量。这种关系为未来大规模语言模型的设计和训练提供了理论依据和指导[^3]。 此外,论文还探讨了不同模型结构对性能的影响。研究发现,在模型参数量和数据量足够大的情况下,模型结构的细微差异对最终性能的影响较小,通常在2%的性能区间内。这表明,模型的规模和训练数据量可能是决定性能的关键因素,而不是具体的网络结构设计[^3]。 这篇论文为后续的大模型研究提供了理论基础,也为GPT-3等超大规模语言模型的成功提供了支持。它进一步推动了AI社区对模型扩展性的重视,并促使更多研究投入到如何高效地扩展模型和训练策略中。 ```python # 示例:模拟模型性能与参数量之间的幂律关系 import numpy as np import matplotlib.pyplot as plt # 假设性能与参数量之间满足幂律关系:performance = k * N^alpha def performance_scaling(N, k=1.0, alpha=0.2): return k * N**alpha N_values = np.logspace(6, 9, num=50) # 参数量从百万到十亿 perf_values = performance_scaling(N_values) plt.loglog(N_values, perf_values, label='Performance vs Parameters') plt.xlabel('Parameters') plt.ylabel('Performance') plt.title('Scaling Law: Performance vs Parameters') plt.legend() plt.grid(True) plt.show() ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeSlogan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值