|| 多层感知机 - Neo4j 图数据科学 - Neo4j 文档

多层感知机

此功能处于 Alpha 阶段。有关功能分层的更多信息,请参阅API 分层。

多层感知机(MLP)是一种前馈神经网络。它由多个连接的神经元层组成。神经元的值是通过对前一层的聚合加权输入应用激活函数来计算的。对于分类,输出层的大小基于类别的数量。为了优化网络的权重,GDS 使用梯度下降和交叉熵损失。

调优超参数

为了平衡模型的偏差与方差以及训练的速度与内存消耗等因素,GDS 提供了多个可供调优的超参数。以下将分别介绍。

在基于梯度下降的训练中,我们尝试找到模型的最佳权重。在每个 epoch 中,我们处理所有训练样本以计算损失和权重的梯度。然后,这些梯度用于更新权重。对于更新,我们使用 Adam 优化器,如 https://arxiv.org/pdf/1412.6980.pdf 所述。

训练统计信息将在 neo4j 调试日志中报告。

最大 Epoch 数

此参数定义了训练的最大 epoch 数。无论模型质量如何,训练将在达到这些 epoch 数后终止。请注意,如果损失收敛,训练也可能提前停止(请参阅耐心值和容忍度)。

设置此参数有助于限制模型的训练时间。限制计算预算可用于正则化并减轻过拟合,当 epoch 数量很大时,过拟合会成为风险。

最小 Epoch 数

此参数定义了训练的最小 epoch 数。无论模型质量如何,训练至少会运行这么多 epoch。

设置此参数有助于避免提前停止,但也会增加模型的最小训练时间。

耐心值

此参数定义了无生产力连续 epoch 的最大数量。如果一个 epoch 的训练损失没有至少提高当前损失的 tolerance 比例,则该 epoch 被认为是无生产力的。

假设训练运行了 minEpochs,此参数定义了训练何时收敛。

设置此参数可以使训练更稳健,并避免类似于 minEpochs 的提前终止。然而,高耐心值可能导致运行超出必要的 epoch 数量。

根据我们的经验,patience 的合理值在 1 到 3 之间。

容忍度

此参数定义了何时将一个 epoch 视为无生产力,并与 patience 一起定义了训练的收敛标准。如果一个 epoch 的训练损失没有至少提高当前损失的 tolerance 比例,则该 epoch 被认为是无生产力的。

较低的容忍度会导致更敏感的训练,并有更高的概率训练更长时间。较高的容忍度意味着训练的敏感度较低,因此会导致更多的 epoch 被计为无生产力。

学习率

更新权重时,我们根据损失函数的梯度,按照 Adam 优化器指示的方向移动。您可以通过 learningRate 参数配置每次权重更新的移动量。

批量大小

此参数定义了单个批次中分组的训练样本数量。

梯度通过使用 concurrency 个线程并发地在批次上计算。在每个 epoch 结束时,梯度会被求和并缩放,然后用于更新权重。batchSize 不影响模型质量,但可用于调优训练速度。较大的 batchSize 会增加计算的内存消耗。

惩罚

此参数定义了损失函数中正则化项的影响。虽然正则化可以避免过拟合,但过高的值甚至可能导致欠拟合。最小值为零,此时正则化项完全不起作用。

隐藏层大小

此参数定义了神经网络的形状。每个条目代表一层中的神经元数量。列表的长度定义了隐藏层的数量。理论上,更深更大的网络可以更好地近似高阶曲面,但代价是需要训练更多的权重(和偏差)。

类别权重

此参数引入了类别权重的概念,该概念在 T. Lin 等人的“Focal Loss for Dense Object Detection”中进行了研究。它通常被称为平衡交叉熵。它为交叉熵损失函数中的每个类别分配一个权重,从而允许模型以不同的重要性对待不同的类别。对于每个样本,其定义为

balanced cross entropy

其中 at 表示真实类别的类别权重。pt 表示真实类别的概率。

对于类别不平衡问题,类别权重通常设置为类别频率的倒数,以改善模型在少数类别上的归纳偏差。

对于链接预测,它必须是长度为 2 的列表,其中第一个权重用于负样本(缺失关系),第二个权重用于正样本(实际关系)。

在节点分类中的用法

对于节点分类,ith 权重对应于按类别值(必须是整数)排序的 ith 类别。例如,如果您的节点分类数据集有三个类别:0、1、42。那么类别权重必须是长度为 3 的列表。第三个权重应用于类别 42。

焦点权重

此参数引入了焦点损失的概念,该概念同样在 T. Lin 等人的“Focal Loss for Dense Object Detection”中进行了研究。当 focusWeight 的值大于零时,损失函数从标准交叉熵损失变为焦点损失。对于每个样本,其定义为

focal loss

其中 pt 表示真实类别的概率。focusWeight 参数是表示为 g 的指数。

增加 focusWeight 将引导模型尝试拟合“难以”错误分类的样本。一个难以错误分类的样本是指模型对真实类别的预测概率较低的样本。在上述等式中,对于真实类别概率较低的样本,损失将呈指数级增加,从而调整模型以尝试拟合它们,代价是可能对“容易”的样本信心不足。

在类别不平衡的数据集中,少数类别通常更难正确分类。有关链接预测中类别不平衡的更多信息,请参阅类别不平衡。

© . This site is unofficial and not affiliated with Neo4j, Inc.