从Bengio演讲发散开来:探讨逻辑推理与机器学习( 八 )
文章插图
图 1. MAXSAT 层的前向传递 。 该层将已知 MAXSAT 变量的离散或概率赋值作为输入 , 通过权重 S 的 MAXSAT SDP 松弛输出对未知变量赋值的猜测 。
文章插图
【层初始化】
初始化 SATNet 时 , 用户必须指定该层可以表示的最大子句数 m 。 通常希望将 m 的值设置的较低 , 因为低秩结构可以防止出现过拟合的问题 , 从而提高泛化能力 。 考虑到这种低秩结构 , 用户希望通过辅助变量在一定程度上提高层的表示能力 。 这里的高级直觉来自于布尔满足问题的合取范式(Conjunctive Normal Form , CNF)表示 。 向问题中添加额外的变量可以显著减少描述该问题所需的 CNF 子句的数量 。
最后 , 令 k=sqrt(2n)+1 , n 除了辅助变量外还捕获实际问题变量的数量 。 这也是本文的 MAXSAT 松弛公式(2)恢复其相关 SDP 的最优解所需的最小 k 值 。
【放松层输入】
首先将其输入 Z_I 松弛成连续向量用于 SDP 公式(2) 。 也就是说 , 将每一层输入 z_l , l∈I 松弛到一个相关的随机单位向量 z_l , v_l∈R^k:
文章插图
(4)
公式(4)满足:
(5)
其中 , (v_l)^rand 为随机单位向量 。
【通过 SDP 产生连续的输出松弛】
给定连续输入松弛 V_I , 使用坐标下降更新公式(3)来计算连续输出松弛 v_o 。 值得注意的是 , 坐标下降更新只计算输出变量 , 也就是说 , 不计算其赋值作为层输入的变量 。
前向传递的坐标下降算法详细说明在算法 2 中 。 该算法保留了计算 g_o 所需的Ω=VS^T 项 , 然后在每次内部迭代中通过秩 1 更新对其进行修改 。 因此 , 每次迭代的运行时间是 O(nmk) 。
文章插图
【生成离散或概率输出】
给定坐标下降的松弛输出 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:
文章插图
推荐阅读
- AMDCES发布会1月13日凌晨0点开始:苏姿丰作主题演讲
- AMD官宣CEO苏姿丰CES演讲:锐龙5000笔记本打头阵
- 邬贺铨院士演讲权威发布: 5G商用一周年 产业创新再出发
- 马云最新演讲:过度强调管理,就升级成管控,最后成为控制
- NVIDIA GTC 2020秋季站主题演讲中文字幕版上线
- 2020世界VR产业大会云峰会演讲嘉宾 | 2018年图灵奖获得者,蒙特利尔大学教授Yoshua Bengio
- 智电网|MIDC开幕 雷军演讲,第四届小米开发者大会
- 南方PLUS|“人才日”演讲嘉宾陈宁:AI“追光者”的温暖地带
- 爱因儿科技|并提出解决方案,吴恩达演讲直指AI落地三大挑战
- 科技壹零扒|Bengio、杨强、唐剑领衔!探讨如何构建AI学术研究和产业落地的桥梁
