深度学习三大缺陷:
①数据依赖
②泛化能力差:不能很好的处理没见过的例子
③可解释性差
解决办法:知识增强
知识增强深度学习的主要任务包括知识识别、知识表示和将知识聚合到深度模型中
知识聚合
知识聚合需要将领域知识聚合到深度模型中。通过聚合,深度学习模型在处理特定任务时可以同时利用现有数据集和领域知识。根据知识的类型,可以采用不同的聚合方法,聚合方法大致可分为四个级别:数据级、体系结构级、训练级和决策级,如图所示。
数据级聚合方法重点是通过用基于知识生成的伪数据扩充原始训练数据来集成知识;
体系结构级聚合通过修改神经网络体系结构来嵌入知识;
训练级聚合通过从知识中导出的正则化项或主要损失项来指导深度模型的训练;
决策级聚合将来自先前模型的自上而下的预测与来自深度模型的自下而上的预测相结合,这样一来在先前模型中编码的知识有助于深度学习模型的预测。
接下来介绍一个训练级知识聚合方法
论文链接:https://arxiv.org/pdf/2106.07804.pdf
Abstract
我们提出了一种将规则集成到深度学习中的新型训练方法,在某种程度上规则的强度在推理时是可控的。具有可控规则表示的深度神经网络(DEEPCTRL) 将规则编码器与基于规则的目标结合到模型中,从而实现决策制定的共享表示。 DEEPCTRL 与数据类型和模型架构无关。它可以应用于为输入和输出定义的任何类型的规则。 DEEPCTRL的关键点是它不需要重新训练来适应规则强度。在推理时,用户可以根据所需的操作点对准确性与规则验证比率进行调整。在合并规则至关重要的现实世界领域中,我们展示了DEEPCTRL在教授深度学习规则方面的有效性。 DEEPCTRL通过显著提高规则验证率来提高训练模型的信任度和可靠性,同时还在下游任务中提供准确性增益。此外, DEEPCTRL支持新的用例,例如数据样本规则的假设检验,以及基于数据集之间共享规则的无监督适应。
补充:规则验证率(Rule Verification Ratio)是指在使用基于规则的控制方法对神经网络进行控制时,成功满足给定规则的比例。具体地说,这个比例是指成功将神经网络的输出控制在规则定义的范围内的样本数与总样本数之比。
当 DNN 仅使用特定任务目标进行训练时(在本例中,预测摆锤中连接的两个对象的下一个位置/速度),它可能很容易违反它必须遵循的规则(Et > Et+1)到物理学的能量阻尼规则(上图)DEEPCTRL(输出通过蓝色箭头显示)提供了一种可控机制,可以在推理时调整规则依赖性,以便在准确性和规则验证率方面实现最佳行为(中间图)。随着规则强度的增加, DEEPCTRL 产生一个操作点(下图),所有时间步都满足该操作点。
当“数据驱动”和“规则驱动”学习被联合考虑时,一个基本问题是如何平衡各自的贡献。即使已知某个规则在 100% 的时间内都成立(例如自然科学中的原理),也不应随意增加规则驱动学习的贡献。存在一个最佳权衡,它不仅取决于数据集,还取决于每个样本。如果存在与特定测试样本非常相似的训练样本,则在推理时需要较弱的规则驱动贡献。另一方面,如果已知该规则仅适
用于一部分样本(例如,在零售业中,价格变化对不同产品的不同影响),则规则驱动学习贡献的强度应反映出.因此,一个可以控制数据和规则驱动学习的贡献的框架将是有价值的。理想情况下,这种控制应该在推理时启用,而不需要重新训练,以最大限度地减少计算成本,缩短部署时间,并灵活地适应不同的样本或变化的分布。
本文提出了DEEPCTRL,它可以从标记数据和规则中联合学习。DEEPCTRL 对数据和规则采用单独的编码器,输出随机组合以覆盖与相应目标耦合的中间表示。这种表示学习是可控性的关键,因为它允许在推理时逐渐增加/减少规则强度而无需重新训练。为了将任何不可微规则转换为可微目标,提出了一种新的基于扰动的方法。 DEEPCTRL 与数据类型或模型架构无关, DEEPCTRL 可以灵活地用于不同的任务和不同的规则。
DEEPC TRL 为输入输出关系引入了两个通道,数据编码器和规则编码器,它们产生两个潜在表示zr和zd。这些表示与控制参数α随机连接成单个表示z。然后将z送入决策块,其中每个表示的目标为Lrule和Ltask,再次由控制参数α 加权。 α在训练期间随机采样,并由用户在推理时设置以调整规则强度。
Learning Jointly from Rules and Task
Let us consider the conventional approach for incorporating rules via combining the training objectives for the supervised task and a term that denotes the violation of rule:
L = Ltask + λLrule
其中λ是基于规则的目标的系数。我们旨在解决这种方法的三个局限性:(i)需要在学习之前定义λ (例如,可以是一个由验证分数引导的超参数),(ii)如果存在,则λ不适用于推理时的目标数据与训练设置的任何不匹配,以及 (iii) Lrule需要在可学习参数方面是可微分的。
算法解释:
我们通过引入数据编码器ϕ d和规则编码器ϕ r这两个通道来改进规范化训练方法。
这样,我们的目标是使每个编码器分别学习潜在表示(zd和zr),对应于从标记数据和规则中提取的信息。然后,将这两个表示随机连接(记为⊕),得到一个表示z。我们使用的是小批量训练,就是有Db的存在。为了调整数据与规则编码的相对贡献,我们使用随机变量α∈[0,1],它也将(zd, zr)与相应的目标(Ltask, Lrule)耦合(算法1中的第4和第5行)。α从分布P (α)中采样。
关于模型类型:
DEEPCTRL是模型类型不可知的——我们可以根据类型和任务为编码器和决策块选择适当的归纳偏差。例如,如果输入数据是图像,而任务是分类,编码器可以是卷积层,以提取与局部空间相干相关的隐藏表示,决策块可以是MLP后面跟着一个softmax层。
关于α:
使用随机α的动机是鼓励学习与一系列值的映射,以便在推理时,模型可以使用任何特定的选择值产生高性能。决策块的输出在整个目标中使用。通过修改推理时的控制参数α,用户可以控制模型的行为,使其适应不可见数据。增加α的值可以增强规则对输出决策的强度。设置α = 0会使规则在推理上的贡献最小化,但从实验中可以看出,由于在训练过程中考虑了较广的α范围,因此结果仍然可以优于传统训练。通常,在给定特定性能、透明度和可靠性目标的情况下,一个中间α值产生最优解。为了确保一个模型在α→0或α→1时表现出明显的和鲁棒的行为,从而在之后进行精确的插值,我们建议在两个极端处对α进行更多的采样,而不是从两个极端均匀地采样。为此,我们选择从Beta分布(Beta(β, β))中取样。当β = 0.1 时,我们观察到较强的结果。在第5节中,我们进一步研究了α的先验选择的影响。由于Beta分布是高度极化的,每个编码器都被鼓励学习与相应编码器相关联的不同表示,而不是混合表示。在[1,33]中也考虑了类似的采样思想,以有效地对混合权重进行采样,以进行表示学习。
Ltask是基于目标的,Lrule是基于规则的。
考虑到两者的计算尺度可能不同(比如一个算出来为10,20,一个算出来是0.1,0.2,我们在训集上计算初始的损失值Lrule,0,Ltask,0,引入比例参数 ρ = Lrule,0/Ltask,0 总体而言, DEEPCTRL 目标函数变为:
L = Eα∼P (α)[αLrule + ρ(1 − α)Ltask]