量化学习机器人:从Bengio演讲发散开来 探讨逻辑推理与机器学习
量化学习机器人:从Bengio演讲发散开来 探讨逻辑推理与机器学习给定 δl/δZ_O,可以通过概率分配机制推导出 δl/δV_O:【从概率输出到连续松弛】(7)在测试过程中,既可以以相同的方式输出概率输出,也可以通过阈值分割或随机舍入输出离散赋值。如果使用随机化舍入,则执行多次舍入后将 z_o 设为使公式(1)中 MAXSAT 目标最大化的布尔解。最后,作者讨论了后向传递,即,通过 SATNet layer 获得反向传播更新,使其能够集成到神经网络中。基于层输出给定网络损失 l 的梯度δl/δZ_O,根据层输入和每层权重δl/δS 计算梯度δl/δZ_I。由于显式展开前向传递计算并存储中间 Jacobians 在时间和内存方面效率低下,因此作者采用了高效的坐标下降算法推导出直接计算期望梯度的解析表达式。算法 1 总结了计算这些梯度计算的步骤。
【生成离散或概率输出】
给定坐标下降的松弛输出 V_O,层通过阈值或随机取整将这些输出转换为离散或概率变量赋值 Z_O。随机化舍入的主要思想是,对于每一个 v_o,o∈O,可以从单位球面上取一个随机超平面 r 并赋值。
(6)
给定正确的权值,这种随机取整过程保证了某些 NP-hard 问题的最佳期望逼近比。在训练期间,没有明确地执行随机取整。相反,v_o 和 v_T 在给定 r 的同一侧的概率是:
(7)
在测试过程中,既可以以相同的方式输出概率输出,也可以通过阈值分割或随机舍入输出离散赋值。如果使用随机化舍入,则执行多次舍入后将 z_o 设为使公式(1)中 MAXSAT 目标最大化的布尔解。
最后,作者讨论了后向传递,即,通过 SATNet layer 获得反向传播更新,使其能够集成到神经网络中。基于层输出给定网络损失 l 的梯度δl/δZ_O,根据层输入和每层权重δl/δS 计算梯度δl/δZ_I。由于显式展开前向传递计算并存储中间 Jacobians 在时间和内存方面效率低下,因此作者采用了高效的坐标下降算法推导出直接计算期望梯度的解析表达式。算法 1 总结了计算这些梯度计算的步骤。
【从概率输出到连续松弛】
给定 δl/δZ_O,可以通过概率分配机制推导出 δl/δV_O:
(8)
【通过 SDP 的反向传播】
得到 δl/δV_O 后,通过 SDP 推导出解 δl/δS:
(9)
【从松弛结果到原始输入】
最后,使用梯度 δl/δV_I 通过输入松弛过程推导梯度 δl/δZ_x: