Learning to Communicate with Deep Multi-Agent Reinforcement Learning

【论文阅读】Learning to Communicate with Deep Multi-Agent Reinforcement Learning 作者:Jakob N. Foerster ,Yannis M. Assael ,Nando de Freitas,Shimon Whiteson(哈佛大学,Google Deepmind) 时间:2017 Abstract:​ 我们考虑这样一个问题:多个智能体在环境中通过感知和行动来最大化他们的分享能力。在这些环境中, 智能体必须学习共同协议以此来分享解决问题的必要信息。通过引入深度神经网络,我们可以成功地演示在复杂的环境中的端对端协议学习。我们提出了两种在这个领域学习的方法:Reinforced Inter-Agent Learning (RIAL) 和 Differentiable Inter-Agent Learning (DIAL)。 ​ 前者使用深度Q-learning,后者揭示了在学习过程中智能体可以通过communication channels反向传播错误的梯度,因此,这种方法使用集中学习(centralised learning),分散执行(decentralised execution)。 ​ 我们的实验介绍了用于学习通信协议的新环境,展示了一系列工程上的创新。 PS: ​ 1. 端对端(end-to-end,e2e), 将多步骤/模块的任务用一个步骤/模型解决的模型。 ​ 可以理解为从输入端到输出端中间只用一个步骤或模块,比如神经网络训练的过程就是一个典型的端对端学习,我们只能知道输入端与输出端的信息,中间的训练过程就是一个黑盒,我们知晓中间的训练过程。 ​ 2.centralised learning but decentralised execution,中心化学习但是分散执行。

阅读全文

近似误差与估计误差

【随手写】近似误差与估计误差

​ 在读《统计学习方法》中关于k-邻近算法的介绍时,发现了这么一段话:

近似误差(Approximation Error): 训练时,训练集与当前模型的误差;

估计误差(Estimation Error): 训练完成后,所选择的模型已经固定,模型对未知数据拟合时的误差。

​ 近似误差与估计误差二者不可兼得,此消彼长,需要取其平衡。

极大似然估计

【随写】极大似然估计(Maximum Likelihood Estimate,MLE

​ “模型已定,参数未知。”

​ 极大似然估计,就是利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值。

​ 对于这个函数:$P(x|θ)$,

​ 输入有两个:x表示某一个具体的数据;θ表示模型的参数。

​ 如果θ是已知确定的,x是变量,这个函数叫做概率函数(probability function),它描述对于不同的样本点x,其出现概率是多少。

​ 如果x是已知确定的,θ 是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数,出现x这个样本点的概率是多少。

​ 一般说来,事件A发生的概率与某一未知参数θ有关,θ取值不同,则事件A发生的概率$P(A|θ)$也不同,当我们在一次试验中事件A发生了,则认为此时的θ值应是t的一切可能取值中使$P(A|θ)$达到最大的那一个,极大似然估计法就是要选取这样的t值作为参数t的估计值,使所选取的样本在被选的总体中出现的可能性为最大。

Adversarial Training with Fast Gradient Projection Method against Synonym Substitution Based Text Attacks

【论文阅读】Adversarial Training with Fast Gradient Projection Method against Synonym Substitution Based Text Attacks

时间:2020

作者:王晓森,杨逸辰等 华中科技大学

会议:AAAI

总结:

  1. 做了什么?

    • 提出了一种速度更快的,更容易应用在复杂神经网络和大数据集上的,基于同义词替换的NLP对抗样本生成方法,FGPM;

    • 将FGPM纳入对抗训练中,以提高深度神经网络的鲁棒性。

  2. 怎么做的?

  1. 实验结果?

    • FGPM的效果不是最高的,但也跟最高的差不多,但生成对抗样本的时间对比同类方法,缩减了1-3个数量级。
    • ATFL的对抗样本防御能力和抗转移能力很强。

Abstract:

​ 对抗训练是对于提升图像分类深度神经网络鲁棒性的,基于实验的最成功的进步所在。

​ 然而,对于文本分类,现有的基于同义词替换的对抗样本攻击十分奏效,但却没有被很有效地合并入实际的文本对抗训练中。

​ 基于梯度的攻击对于图像很有效,但因为文本的词汇,语法,语义结构的限制以及离散的文本输入空间,不能很好的应用于基于近义词替换的文本攻击中。

​ 因此,我们提出了一个基于同义词的替换的快速的文本对抗抗攻击方法名为Fast Gradient Projection Method (FGPM)。它的速度是已有文本攻击方法的20余倍,攻击效果也跟这些方法差不多。

​ 我们接着将FGPM合并入对抗训练中,提出了一个文本防御方法,Adversarial Training with FGPM enhanced by Logit pairing(ATFL)

​ 实验结果表明ATFL可以显著提高模型的鲁棒性,破坏对抗样本的可转移性。


1 Introduction:

​ 现有的针对NLP的攻击方法包括了:字符等级攻击,单词等级攻击,句子等级攻击。

​ 对于字符等级的攻击,最近的工作(Pruthi, Dhingra, and Lipton 2019)表明了拼写检查器很容易修正样本中的扰动;

​ 对于句子等级的攻击,其一般需要基于改述,故需要更长的时间来生成对抗样本;

​ 对于单词等级的攻击,基于嵌入扰动的替换(replacing word based on embedding perturbation),添加,删除单词都会很容易改变句子的语法语义结构与正确性,故同义词替换的方法可以更好的处理上述问题,同时保证对抗样本更难被人类观察者发现

​ 但不幸的是,基于同义词替换的攻击相较于如今对图像的攻击展现出了更低的功效。

​ 据我们所知,对抗训练,对图像数据最有效的防御方法之一,并没有在对抗基于同义词替换的攻击上很好的实施过。

​ 一方面,现有的基于同义词替换的攻击方法通常效率要低得多,难以纳入对抗训练。另一方面,尽管对图像的方法很有效,但其并不能直接移植到文本数据上。

1.1 Adversarial Defense:

​ 有一系列工作对词嵌入进行扰动,并将扰动作为正则化策略用于对抗训练(Miyato, Dai, and Goodfellow

2016; Sato et al. 2018; Barham and Feizi 2019) 。这些工作目的是提高模型对于原始数据集的表现,并不是为了防御对抗样本攻击,因此,我们不会考虑这些工作。

​ 不同于如今现有的防御方法,我们的工作聚焦于快速对抗样本生成,容易应用在复杂的神经网络和大数据集上的防御方法。


2 Fast Gradient Projection Method(FGPM):


3 Adversarial Training with FGPM:

​ 具体算法中文描述见:

《基于同义词替换的快速梯度映射(FGPM)文本对抗攻击方法》阅读笔记 - 知乎 (zhihu.com)


4 Experimental Results:

​ 我们衡量FGPM使用四种攻击准则,衡量ATFL使用两种防御准则。

​ 我们在三个很受欢迎的基准数据集上,同时包括CNN和RNN模型上进行测试,代码开源:https://github.com/JHL-HUST/FGPM

4.1 Baselines:

​ 为了评估FGPM的攻击效能,我们将其与Papernot’、GSA ( Kuleshov等人的4种对抗性攻击进行了比较。2018 )、PWWS ( Ren et al . 2019 )和Iga ( Wang,jin,and he 2019 )。

​ 此外,为了验证我们的ATFL的防御能力,我们采用了SEM ( Wang,Jin,He 2019 )和IBP ( Jia et al . 2019 ),针对上述Word-Level攻击。由于攻击基线的效率很低,我们在每个数据集上随机抽取200个示例,并在各种模型上生成对抗样本。

4.2 Datasets:

AG’s News, DBPedia ontology and Yahoo! Answers (Zhang,Zhao, and LeCun 2015).

4.3 Models:

​ 我们使用了CNNs,RNNs,来达到主流的文本分类表现,所有模型的嵌入维度均为300。

4.4 Evaluation on Attack Effectiveness:

​ 我们评估模型在攻击下的准确率和转移率:

准确率:

转移率:

4.4 Evaluation on Attack Efficiency:

​ 对抗训练需要高效率的生成对抗样本以有效地提升模型鲁棒性。因此,我们评估了不同攻击方法在三个数据集上生成生成200个对抗样本的总时间。

4.5 Evaluation on Adversarial Training:

​ 我们评估ATFL的对抗样本防御能力和抗转移能力:

对抗样本防御能力:

抗转移能力:

4.6 Evaluation on Adversarial Training Variants:

​ 许多对抗训练的变体,例如CLP和ALP,TRADES等,已经尝试采用不同的正则化方法来提高针对图像数据的对抗训练准确率。

​ 在这里,我们回答一个问题:这些变体方法也可以提高文本数据准确率吗?

​ 从表中可以看出,只有ALP可以长远地提升对抗训练的表现。

《统计学习方法》

【书籍阅读】《统计学习方法》一. 统计学习方法概论:​ 首先,要明确计算机科学中存在三个维度:系统,计算,与信息。统计学习方法(机器学习)主要属于信息这一维度,并在其中扮演者核心角色。 1. 监督学习概念:​ 监督学习,Supervised learning,指在已经做好标注的训练集上学习,为了叙述方便,定义以下基本概念: 输入空间(X),输出空间(Y):输入所有可能取值,输出所有可能取值; 特征空间:输入一般由特征向量表示,所有特征向量存在的空间称为特征空间,输入空间与特征空间并不完全等价,有时需要映射; 上标 x^i^ :表示一个输入的第 i 个特征; 下标 x~j~:表示第 j 个输入。 回归问题:输入输出都为连续型变量; 分类问题:输出变量为有限个离散型变量; 标注问题:输入与输出变量都为变量序列。 假设空间:所有可能的模型的集合,也就是学习的范围。 ​ 使用训练集学习——>对未知数据进行预测 ​

阅读全文

Automatically Evading Classififiers----A Case Study on PDF Malware Classififiers

【论文阅读】Automatically Evading Classififiers——A Case Study on PDF Malware Classififiers

时间:2016

作者:Weilin Xu, Yanjun Qi, and David Evans 弗吉尼亚大学

会议:NDSS

总结:

  1. 白盒黑盒?

    黑盒攻击,需要知道生成样本在目标模型中的输出(分类分数)和目标模型所使用的特征(粗略知道);

  2. 针对什么目标?

    仅仅使用表层特征的分类器;

  3. 攻击方法?

    3.1 如何制造对抗样本?

    ​ 使用遗传算法(GP-BASED)进行随机扰动

    3.2 如何判别对抗样本的恶意能力?

    ​ 使用oracle

Abstract:

​ 在本文,我们提出了一个一般化的方法来检验分类器的鲁棒性,通过在两个PDF恶意样本分类器,PDFrate和Hidost上来检验。其关键就是随机控制一个恶意样本来找到一个对抗样本。

​ 我们的方法可以自动地对500个恶意样本种子中找到对于两个PDF分类器的对抗样本,我们的结果提出了一个严重的疑问,基于表面特征的分类器在面对对抗样本时是否还有效?


1. Introduction:

​ 主要贡献:

1. 提出了一个一般化的方法用于自动寻找分类器的对抗样本;
2. 制作了一个原型系统用于自动生成对抗样本;
3. 我们的系统在对500个恶意样本种子寻找对抗样本的过程中,达到了100%的准确率。

2. Overview:

2.1 Finding Evasive Samples

整体思路:

oracle用于判断一个样本是否具有恶意行为;


3. PDF Malware and Classifiers

3.1 PDFmalware:

​ PDF文件的整体结构:

​ 早些的PDF恶意样本一般使用JavaScript嵌入,用户双击打开时出发执行恶意脚本。

​ 因为不是所有的PDF恶意样本都是嵌入了JavaScript代码,最近的一些PDF恶意分类器就着重于PDF文件的结构化特征。在本文,我们的目标就是攻击这些有代表性的基于文件结构化特征的分类器。

3.2 Target Classififiers:

PDFrate:一个使用随机森林算法的分类器。

Hidost:一个SVM分类器。


4. Evading PDF Malware Classifiers:


5. Experiment:

5.1 Dataset:

5.2 Test:

A novel Android malware detection system-adaption of flter‑based feature selection methods

【论文阅读】A novel Android malware detection system: adaption of flter‑based feature selection methods 时间:2021 作者: Durmuş Özkan Şahin Oğuz Emre Kural · Sedat Akleylek Erdal Kılıç 总结: 二分类,静态代码检测; 创新点主要在特征提取(已经有的方法+文本分类的方法)上,分类器用的各种现成的方法; Abstract:​ 在本研究中,提出了一个基于过滤器特征选择方法的,原创的安卓端恶意软件追踪系统。 ​ 该方法是一个在机器学习的基础上的静态安卓恶意软件追踪方法。在所开发的系统中,使用应用程序文件中提取的权限作为特征。八个不同的特征选择方法被用于维度降低,以减少运行时间,提升机器学习算法的效率。 ​ 其中四种方法应用于安卓恶意样本分类,其余四种方法是从文本分类研究中采用的,其从提取特征和分类结果两方面对方法进行了比较,在对结果进行检验时,表明所采用的方法提高了分类算法的效率,可以在本领域中使用。

阅读全文

Black-Box Attacks against RNN based Malware Detection Algorithms

【论文阅读】Black-Box Attacks against RNN based Malware Detection Algorithms 时间:2017 作者: Weiwei Hu 北京大学 ​ Ying Tan 北京大学 Abstract:​ 1. 原文: ​ 最近的研究表明,基于机器学习的恶意软件分类算法在面对对抗样本攻击时表现的十分脆弱。这些工作主要集中于那些利用了混合维度的特征的追踪算法,但一些研究者已经开始使用RNN,基于API特征序列来辨识恶意软件。 ​ 这篇文章提出了一种用于生成对抗样本序列的原创算法,它被用于攻击基于RNN的恶意软件分类系统。对于攻击者来说,通常,知晓目标RNN的内部结构和权重是很难的。于是一个替代的用于近似目标RNN的RNN模型就被训练了出来,接着我们利用这个RNN来从原始序列输入中生成对抗样本序列。 ​ 权威结果表明基于RNN的恶意软件分类算法不能追踪大多数我们所生成的恶意对抗样本,这意味着我们生成的模型可以很有效的规避追踪算法。 ​ 2. 总结: ​ 一个对基于RNN的恶意样本分类器的灰盒攻击,有三个RNN,受害者RNN(源RNN),替代RNN,对抗样本生成RNN。

阅读全文

Deep Text Classifification Can be Fooled

【论文阅读】Deep Text Classifification Can be Fooled 时间:2017 作者:Bin Liang, Hongcheng Li, Miaoqiang Su, Pan Bian, Xirong Li and Wenchang Shi 中国人民大学 Abstract:​ 在这篇文章,我们提出了一种有效的生成文本对抗样本的方法,并且揭示了一个很重要但被低估的事实:基于DNN的文本分类器很容易被对抗样本攻击。 ​ 具体来说,面对不同的对抗场景,通过计算输入的代价梯度(白盒攻击)或生成一系列被遮挡的测试样本(黑盒攻击)来识别对分类重要的文本项。(这句不是很懂,什么叫’ the text items that are important for classifification‘?) ​ 基于这些项目,我们设计了三种扰动策略,insertion,modification,removal,用于生成对抗样本。实验结果表明基于我们的方法生成的对抗样本可以成功地欺骗主流的在字符等级和单词等级的DNN文本分类器。 ​ 对抗样本可以被扰动到任意理想的类中而不降低其效率。(?)同时,被引入的扰动很难被察觉。 ​

阅读全文

A Benchmark API Call Dataset For Windows PE Malware Classification

【论文阅读】A Benchmark API Call Dataset For Windows PE Malware Classification 作者:Ferhat Ozgur Catak(土耳其) ​ Ahmet Faruk Yazi(土耳其) 时间:2021.2.23 关键词:恶意软件分析,网络空间安全,数据集,沙箱环境,恶意软件分类 1. Abstract​ 在Windows操作系统中,系统API调用的使用在监控恶意PE程序中是一个很有前途的方法。这个方法被定义为在安全隔离的沙箱环境中运行恶意软件,记录其调用的Windows系统API,再顺序分析这些调用。​ 在这里,我们在隔离沙箱中分析了7107个属于不同家族(病毒,后门,木马等)的恶意软件,并把这些分析结果转化为了不同分类算法和方法可以使用的形式。​ 首先,我们会解释如何得到这些恶意软件;其次,我们会解释如何将这些软件捆绑至家族中;最后,我们会描述如何使用这些数据集来通过不同的方法实现恶意软件的分类。

阅读全文