Reluplex代码阅读

本文来源:Reluplex: An Efficient SMT Solver for Verifying Deep Neural Work
Guy Katz, Clark Barrett, David L. Dill, Kyle Julian, and Mykel J. Kochenderfer
Stanford University, Stanford USA

解决的主要问题

在安全性很高的系统中应用DNN需要为DNN的行为提供“formal guarantees”,验证DNN的特性或者提供反例。

算法的主要实现过程

与单纯形法相同,Reluplex允许变量临时违反边界,因为它反复查找可行的变量赋值。 不仅如此,Reluplex还允许属于ReLU对的变量临时违反ReLU约束。然后,在迭代时,Reluplex会反复选择超出范围或违反ReLU约束的变量,并使用Pivot和Update操作对其进行纠正。
对于一组给定的变量 χ={ x1,...,xn} χ = { x 1 , . . . , x n } ,它的配置规则是一组区别符号 { SAT,UNSAT} { S A T , U N S A T } 或者一个元组 <B,T,l,u,α,R> < B , T , l , u , α , R > <script type="math/tex" id="MathJax-Element-5170"> </script>, Bχ B ⊆ χ 是一组基本变量;T,代表tableau,包含每一 xiB x i ∈ B ,有方程 xi=xjBcjxj x i = ∑ x j ∉ B c j x j ; l,u l , u 是对应每一个变量 xχ x ∈ χ 赋值的下界和上界; Rχxχ R ∈ χ x χ 是Relu连接的集合。初始赋值全都是0,保证所有的方程能够保持(不过上下界的约束可能会被违反)。
具体的操作有:
这里写图片描述
UpdatebUpdatef U p d a t e b 和 U p d a t e f 规则允许通过分别更新向后或向前的变量来纠正损坏的ReLU连接,前提是这些变量是非基本的变量。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值