对深度强化学习解释性的恶意攻击?道翰天琼认知智能机器人平台API接口大脑为您揭秘。

对深度强化学习解释性的恶意攻击?道翰天琼认知智能机器人平台API接口大脑为您揭秘。

近日,第 26 届 ACM SIGKDD 知识发现和数据挖掘会议KDD 2020公布了最佳论文奖、最佳论文亚军奖、最佳学生论文奖等多个奖项。更多奖项内容可移步 “KDD 2020 全部大奖出炉!杜克大学陈怡然组获最佳学生论文奖”一文。其中来自弗吉尼亚大学的 Mengdi Huai、Jianhui Sun、Renqin Cai、Aidong Zhang 和来自纽约州立大学布法罗分校的 Liuyi Yao 获得了最佳论文奖的亚军,获奖论文是《Malicious Attacks against Deep Reinforcement Learning Interpretations》。

论文背景与介绍过去几年,深度强化学习(DRL)发展迅速,它是深度学习和强化学习的结合。然而深度神经网络的采用使得DRL的决策过程变得不透明。在此动机下,人们提出了多种解释DRL的方法。然而,这些解释方法都做了一个隐含的假设,即他们是在一个安全可靠的环境下进行网络训练和计算的。在实践中,模型连续与环境的交互使DRL算法及其相对应的下游解释面临额外的对抗性风险。目前还没有针对DRL解释性攻击的可能性和可行性的工作。为了弥补这一空白,了解DRL解释方法在恶意环境下的性能,本文研究了其对攻击的脆弱性。主要有两点贡献:1、首先,提出了一种针对DRL解释的具有普遍性的对抗攻击框架(UADRLI),其目的是制作一个单一的普遍性扰动、并能在每个时间步上被统一的应用。基于提出的方法,攻击者可以通过状态扰动有效的欺骗后续状态的DRL解释方法。2、设计了一种针对DRL解释的模型中毒攻击框架(MPDRLI),基于此,攻击者可以通过向模型提供一个经过策略毒害但同样有效的预训练模型来秘密改变解释结果。
2
模型的攻击类型1、对抗性攻击这种类型的攻击发生在DRL的测试阶段,攻击者在目标DRL模型训练后对输入数据进行篡改。与深度监督学习模型不同的是,DRL模型的决策是即时和独立的,对DRL模型的对抗攻击是非常难以定量分析和有效防御的,因为DRL模型涉及到一个时间依赖性的顺序决策过程,不同时间步骤的状态是可扰动的。在每个目标受攻击DRL时间步中,攻击者的目标是通过操纵智能体和环境之间沟通的当前状态观测值来欺骗DRL模型和相应的DRL解释方法。例如在脓毒症患者临床记录的某一时间点,攻击者可以通过添加对抗性的扰动到患者的临床记录上,这不仅导致DRL模型产生错误的医疗决策,而且还会导致所采用的解释方法会给出错误的解释结果。2、模型中毒攻击与测试阶段的对抗攻击不同,模型中毒攻击发生在DRL的训练阶段。在这种类型的攻击中,攻击者的目的是在保持DRL原有性能的前提下,通过操纵学习到的DRL模型参数,大幅度降低DRL解释方法的性能,以保证最大的隐蔽性。这种类型的攻击在很多实际应用场景中很常见。比如由于训练DRL模型需要巨大的计算成本,算法采用从在线模型库中下载预先训练好的DRL模型进行操作,使模型在不知不觉中下载一个被恶意训练好的DRL模型。
3

针对DRL解释方法的对抗性攻击在本节中,作者首先介绍了威胁模型,然后开发一个优化框架来形式化针对DRL解释(即UADRLI)的通用对抗性攻击。然后,对提出的通用攻击进行了理论分析。按照对抗性攻击的工作原理,作者在这里假设一个白盒环境,这是一个保守和现实的假设。这种环境下的攻击者试图在测试阶段通过操纵恶意状态来逃避系统的攻击。攻击者无法改变用于训练模型的DRL算法,也无法改变策略网络的架构。攻击者只能更改模型与环境之间通信的状态观察值。攻击者的目的是欺骗训练好的DRL模型和它所采用的解释方法。通用对抗性攻击形式化DRL是面向目标的,如果攻击者在每一步都打乱观察到的状态,攻击就很容易被发现。原因是当攻击者干扰每一个观察到的状态时,最终累积的奖励将会很大程度上受到损害。在攻击者这边,他也想最大化他的期望效果。在本文中,我们考虑了攻击者希望攻击的总时间步长最大的情况。另一方面,为了避免被发现,攻击者还应该确保整个DRL任务的最终目标不会受到严重损害。在实践中,模型的最终目标是形式化的长期累积的回报。具体来说,攻击者应该确保攻击前后累积奖励的差异很小,这个差异的定义是:

        
现在的问题是攻击者如何找到一个有效的攻击策略{k0,···,kT}与相应的单一普遍的微扰δ,这不仅会使得攻击者的效用最大化,也会对模型的最终目标造成最小的损害。基于上述参数,攻击者的目标是在最大的步骤数中对环境状态添加最小的通用扰动,同时对模型的最终目标造成最小的损害。考虑到这个目标,对于由一系列状态-行动对{(st, at)}Tt=0和威胁模型组成的给定事件,在高层上,我们使用以下优化框架来制定所提议的对抗性攻击:     

其中T1 = {t : kt = 1}表示被攻击的时间步数集合,λ1和λ2是两个正则化参数。第一个损失项被利用来强制实际的最终累积奖励不发生重大变化。第二个损失项用于降低被攻击图像区域内的像素的重要性分数。引入第三个损失项则是为了最大化攻击者的效用(即攻击时间步数)。两个超参数(即λ1和λ2)平衡了这三个因素。第三个约束允许攻击者在ϵ预算内操纵模型感知的所有状态,因此确保普遍扰动(即δ)不可感知。最后一个约束条件迫使模型预测是错误的。
 4
针对模型解释的中毒攻击在本节中,作者首先描述了中毒攻击中的威胁模型,然后提出了一个算法框架来严格设计一个针对DRL模型解释的中毒攻击。攻击者的目标是操纵预先训练好的DRL模型的参数,从而使解释结果发生重大改变。考虑到前述的例子,由于计算资源有限,模型攻击者会下载第三方提供的预先训练好的DRL模型。在这个过程中,攻击者可能会对系统造成潜在威胁。与传统的数据中毒攻击相比,作者将此攻击称为模型中毒攻击,因为攻击者直接操纵训练阶段生成的预训练模型参数,而不是训练数据集。在实践中,模型中毒攻击比数据中毒攻击更加普遍,因为攻击者不一定能访问到训练数据库,因为训练数据库通常由专业人员保护,攻击者可以伪装成第三方模型提供者,而普通的模型可能会从攻击者那里获得中毒模型。模型中毒攻击的形式化如果经过再训练的DRL模型的性能显著下降,通过对验证博弈的评估可以很容易地检测到模型中毒攻击,然后模型会立即拒绝经过再训练的DRL模型。因此,攻击者在操作经过训练的DRL模型时,应该保证能够在不严重损害原始DRL模型性能的情况下显著改变解释结果。为了解决这一挑战,作者建议设计针对DRL解释的“中毒攻击”模型,方法是将预训练的DRL模型与目标函数进行微调,目标函数将原始DRL模型的普通损失与解释结果中的惩罚项结合起来。在不失一般性的情况下,下面使用DQN算法作为DRL的一个典型例子来表示所提出的模型中毒攻击(即MPDRLI)。注意,提议的MPDRLI与模型无关,可以自然地推广到其他DRL算法。深层Q网络通过正向传递预测出相应的Q值Q(st ,at ; Θ),其中Θ为深层Q网络的参数。Q(st , at ; Θ)值是对未来预期报酬的估计,可以从(st , at )中获得。通过选择每个状态下Q值最大的行动,得到DQN的相应策略。深层Q网络参数(即Θ)可以通过最小化来求出以下是平均平方贝尔曼误差:       其中代表目标网络的参数,在线网络的参数Θ是通过对过去过渡元组的mini-batches采样进行梯度更新。上述均方误差衡量的是目标Q值的平方差  和当前Q的输出:。在这里,我们考虑的是攻击者想要秘密的改变模型参数,这样模型就无法用针对性的解释方法弄清楚什么特征对当前的动作预测真正上最重要。在我们的模型中毒攻击设置中,攻击者对训练数据集 一无所知,但他可以通过反复运行目标模型来收集一个替代数据集。让表示对状态-动作,对(st , at )而言,原始纯净的DQN模型(参数化为)的解释器I具有前k个最高的显著性地图值的像素集。需要注意的是,为了避免被检测到,攻击者应该保持再训练DRL模型的性能,同时只关注攻击解释结果。为了实现攻击目标,根据事先训练好的模型参数和替代数据集攻击者可以对原来纯净的DQN 模型进行如下操作。      其中为原无攻击DQN模型的模型参数,λ3为权衡参数,惩罚项的设计是为了降低原来最高值为k的像素的解释得分。通过对上述损失函数相对于Θ˜进行微分,我们可以得到如下梯度。      然后在此基础上,使用梯度下降方法对DQN模型进行再训练。注意,原始参数Θ∗作为初始化参数。 5
对抗性攻击和模型中毒攻击实验对于所提出的普遍攻击,在实验中,作者首先采用统一对抗攻击作为baseline,称为UniAck,它是传统对抗攻击在DRL上的直接延伸。在UniAck中,作者将生成的普遍扰动应用于每个时间步的观测状态。此外,作者还将模型在提出的对抗性攻击下的性能与无对抗性攻击下的性能进行比较,表示为NoAck。对于所提出的模型中毒攻击,由于目前还没有解决DRL对中毒攻击的脆弱性的工作,作者采用无模型中毒攻击基线(称为NoPAck)。对抗性攻击表现在折现的累计奖励上。接下来,通过对目标模型累计的总奖励进行平均,来比较所提议的UADRLI与两个基线的性能。 

道翰天琼认知智能未来机器人接口API简介介绍

  • 认知智能是计算机科学的一个分支科学,是智能科学发展的高级阶段,它以人类认知体系为基础,以模仿人类核心能力为目标,以信息的理解、存储、应用为研究方向,以感知信息的深度理解和自然语言信息的深度理解为突破口,以跨学科理论体系为指导,从而形成的新一代理论、技术及应用系统的技术科学。 认知智能的核心研究范畴包括:1.宇宙、信息、大脑三者关系;2.人类大脑结构、功能、机制;3.哲学体系、文科体系、理科体系;4.认知融通、智慧融通、双脑(人脑和电脑)融通等核心体系。 认知智能四步走:1.认知宇宙世界。支撑理论体系有三体(宇宙、信息、大脑)论、易道论、存在论、本体论、认知论、融智学、HNC 等理论体系;2.清楚人脑结构、功能、机制。支撑学科有脑科学、心理学、逻辑学、情感学、生物学、化学等学科。3.清楚信息内涵规律规则。支撑学科有符号学、语言学、认知语言学、形式语言学等学科。4.系统落地能力。支撑学科有计算机科学、数学等学科。
    认知智能CI机器人是杭州道翰天琼智能科技有限公司旗下产品。认知智能机器人是依托道翰天琼10年研发的认知智能CI体系为核心而打造的认知智能机器人大脑,是全球第一个认知智能机器人大脑。具有突破性,创新性,领航性。是新一代智能认知智能的最好的产品支撑。 认知智能机器人技术体系更加先进,更加智能,是新一代智能,认知智能领域世界范围内唯一的认知智能机器人。 认知智能机器人是新时代的产物,是新一代智能认知智能的产物。代表了新一代智能认知智能最核心的优势。和人工智能机器人大脑相比,优势非常明显。智能度高,客户粘性大,客户满意度高,易于推广和传播等核心特点。 依托认知智能机器人平台提供的机器人大脑服务,可以赋能各个行业,各个领域的智能设备,各类需要人机互动的领域等。认知智能机器人平台网址:www.weilaitec.com,www.citec.top。欢迎注册使用,走进更智能机器人世界。
    认知智能和人工智能的优劣势对比主要可以分为四大方面: 第一:时代发展不同。人工智能是智能时代发展的第二个阶段,认知智能是智能时代发展的第三个阶段。时代发展上决定了认知智能更显具有时代领先性。 第二:基础理论体系不同。人工智能的基础理论体系以数学为基础,以统计概率体系为基础。认知智能基础理论体系以交叉许可理论体系为基础。包含古今中外哲学体系,心理学体系,逻辑学体系,语言学体系,符号学体系,数学体系等学科。其基础理论体系更加具有创新性,突破性和领先性。且交叉学科理论体系的研究也是未来智能发展的大方向。其具体理论体系,还包含三体论(宇宙,信息,大脑三者关系),融智学,和HNC等。 第三:技术体系不同。人工智能的核心技术体系主要是算法,机器学习,深度学习,知识图谱等。其主要功用在感知智能。感知智能其核心主要是在模仿人类的感知能力。认知智能的核心技术体系是以交叉学科理论体系而衍生出来的。具体包含三大核心技术体系,认知维度,类脑模型和万维图谱。认知智能的技术体系核心以类脑的认知体系为基础。以全方位模仿类脑能力为目标。人工智能以感知智能为基础的体系,只能作为认知智能中的类脑模型技术体系中的感知层技术体系。类脑模型大致包含,感知层,记忆层,学习层,理解层,认知层,逻辑层,情感层,沟通层,意识层等9大核心技术层。因此人工智能的核心只是作为认知智能类脑模型中的感知层。因此在技术体系上,人工智能和认知智能基本上没有太多的可比性。 第四:智能度成本等方面的不同:人工智能产品的综合智能程度,普遍在2-3岁左右的智力水平。认知智能产品其智能程度大致在5-8岁左右。认知智能体系构建的机器人更加智能。且更省时间,更省人力和资金。优势非常多。具体请看下列的逐项对比。

道翰天琼CiGril机器人API

道翰天琼CiGril认知智能机器人API用户需要按步骤获取基本信息:

  1. 在平台注册账号
  2. 登录平台,进入后台管理页面,创建应用,然后查看应用,查看应用相关信息。
  3. 在应用信息页面,找到appid,appkey秘钥等信息,然后写接口代码接入机器人应用。

开始接入

请求地址:http://www.weilaitec.com/cigirlrobot.cgr

请求方式:post

请求参数:

参数

类型

默认值

描述

userid  

String  

平台注册账号

appid  

String  

平台创建的应用id

key  

String  

平台应用生成的秘钥

msg  

String  

""

用户端消息内容

ip  

String  

""

客户端ip要求唯一性,无ip等可以用QQ账号,微信账号,手机MAC地址等代替。

 

接口连接示例:http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552

注意事项:参数名称都要小写,五个参数不能遗漏,参数名称都要写对,且各个参数的值不能为空字符串。否则无法请求成功。userid,appid,key三个参数要到平台注册登录创建应用之后,然后查看应用详情就可以看到。userid就是平台注册账号。

示例代码JAVA:


import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class apitest {

    /**
     * Get请求,获得返回数据
     * @param urlStr
     * @return
     */
    private static String opUrl(String urlStr)
    {        
        URL url = null;
        HttpURLConnection conn = null;
        InputStream is = null;
        ByteArrayOutputStream baos = null;
        try
        {
            url = new URL(urlStr);
            conn = (HttpURLConnection) url.openConnection();
            conn.setReadTimeout(5 * 10000);
            conn.setConnectTimeout(5 * 10000);
            conn.setRequestMethod("POST");
            if (conn.getResponseCode() == 200)
            {
                is = conn.getInputStream();
                baos = new ByteArrayOutputStream();
                int len = -1;
                byte[] buf = new byte[128];

                while ((len = is.read(buf)) != -1)
                {
                    baos.write(buf, 0, len);
                }
                baos.flush();
                String result = baos.toString();
                return result;
            } else
            {
                throw new Exception("服务器连接错误!");
            }

        } catch (Exception e)
        {
            e.printStackTrace();
        } finally
        {
            try
            {
                if (is != null)
                    is.close();
            } catch (IOException e)
            {
                e.printStackTrace();
            }

            try
            {
                if (baos != null)
                    baos.close();
            } catch (IOException e)
            {
                e.printStackTrace();
            }
            conn.disconnect();
        }
        return "";
    }
    
    
    public static void main(String args []){        
            //msg参数就是传输过去的对话内容。            
            System.out.println(opUrl("http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552"));
            
    }
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值