前言:好久不见了,最近一直瞎忙活,博客好久都没有更新了,表示道歉。希望大家在新的一年中工作顺利,学业进步,共勉!

今天我们介绍深度神经网络的缺点:无论模型有多深,无论是卷积还是RNN,都有的问题:以图像为例,我们人为的加一些东西,然后会急剧的降低网络的分类正确率。比如下图:

在生成对抗样本之后,分类器把alps 以高置信度把它识别成了狗,下面的一幅图,是把puffer 加上一些我们人类可能自己忽视的东西,但是对分类器来说,这个东西可能很重要,这样分类器就会去调节它,这就导致分类器以百分之百的置信度把puffer 分类成crab.

Adversarial examples 是在这篇文章首次提出的,Intriguing properties of neural networks (大家可以下载看看原文)官方话就是:在数据集中通过故意添加细微的干扰所形成输入样本,受干扰之后的输入导致模型以高置信度给出了一个错误的输出。 注意细微的干扰,也就是这种干扰对于人眼是可以忽略的,这才叫细微的干扰。

是啥子原因导致对抗样本呢?

对于这个,我感觉主要是判别模型的弊端引起的,无论是神经网络,也无论这个层数有多深,或者是SVM。分类的核心思想都是一个扩大不同样本之间边界的范围。下图:

其实本来分类空间,class 1-4是黄色的区域,但是为了扩大与边界的距离,他会扩大每个class的范围,这样做的好处是可以让分类器更加容易得分类,但是坏处就是扩充了很多本不属于这个类别的区域。生成模型是根据y 生成一个p(X/y),这个p(X)可以计算得出,当然生成的p(X)越大越好。。。如果很低的话,模型依然可以正确分类的。对抗样本问题的存在,所以本质上是判别模型的缺陷。大家都知道神经网络是一个判别模型,本质上就是有个超复杂的决策超平面,把数据分开,目标是分类的错误率最低,也就是最小化经验风险,但是这个过程中并没有对每一个label本身建模,只是在几乎无限大的输入空间中构建了一个超复杂的决策超平面,这就导致了现有的正常数据只要偏移一点点(这个偏移一点点的度是很难把握的,因为有时候如果模型对某一个区域不敏感,你就算改变了很多,依然是没有效果的,也就是之前p(X)很小的情况),稍微超越决策边界,就会导致完全不同的结果,也就是被"欺骗"了。而人类大脑是对物体本身的生成式(generative)建模,稍微改变一点不会被欺骗。这也就是为什么有的大牛说神经网络不是模型(model),是一个分类器(classifier),因为它并不是一个建模(modelling)的过程,不理解数据是怎么产生的。

什么是攻击网络?那所谓的白盒攻击和黑盒攻击究竟又是什么呢?

攻击网络就是人为的根据网络的输入形式,然后输入相似的数据让网络判断错误。

白盒攻击:其实和软件工程里的白盒测试相类似,只是这里知道的是整个网络的模型和参数。

黑盒测试:就是不知道网络的模型以及参数,只知道输入和输出,这样通过输入与输出的关系去猜测网络的结构。

今天就讲到这里是一些基础性的介绍,下一张我们来详细的介绍CVPR 2018上的这篇文章,深度防御。

CVPR 2018paper: DeepDefense: Training Deep Neural Networks with Improved Robustness第一讲的更多相关文章

  1. Training Deep Neural Networks

    http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html  //转载于 Training Deep Neural ...

  2. Training (deep) Neural Networks Part: 1

    Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely ...

  3. 论文翻译:BinaryConnect: Training Deep Neural Networks with binary weights during propagations

    目录 摘要 1.引言 2.BinaryConnect 2.1 +1 or -1 2.2确定性与随机性二值化 2.3 Propagations vs updates 2.4 Clipping 2.5 A ...

  4. 论文翻译:BinaryNet: Training Deep Neural Networks with Weights and Activations Constrained to +1 or −1

    目录 摘要 引言 1.BinaryNet 符号函数 梯度计算和累积 通过离散化传播梯度 一些有用的成分 算法1 使用BinaryNet训练DNN 算法2 批量标准化转换(Ioffe和Szegedy,2 ...

  5. 为什么深度神经网络难以训练Why are deep neural networks hard to train?

    Imagine you're an engineer who has been asked to design a computer from scratch. One day you're work ...

  6. This instability is a fundamental problem for gradient-based learning in deep neural networks. vanishing exploding gradient problem

    The unstable gradient problem: The fundamental problem here isn't so much the vanishing gradient pro ...

  7. [C4] Andrew Ng - Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization

    About this Course This course will teach you the "magic" of getting deep learning to work ...

  8. 目标检测--Scalable Object Detection using Deep Neural Networks(CVPR 2014)

    Scalable Object Detection using Deep Neural Networks 作者: Dumitru Erhan, Christian Szegedy, Alexander ...

  9. [Box] Robust Training and Initialization of Deep Neural Networks: An Adaptive Basis Viewpoint

    目录 概 主要内容 LSGD Box 初始化 Box for Resnet 代码 Cyr E C, Gulian M, Patel R G, et al. Robust Training and In ...

随机推荐

  1. css 中 important 的用法

      css 中 important 的如何使用?  important对 一个良好(或者是标准)的浏览器来说,不仅仅是从顺序上提升代码的优先级,还可以用来提升class的优先级(比如firefox), ...

  2. 【HTML5】summary交互元素

    1.源码 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"/> <tit ...

  3. JavaScript 屏蔽退格键

    document.onkeydown = function(){//屏蔽Backspace键 if (event.keyCode==8){ event.keyCode=0; event.returnV ...

  4. PICT工具安装使用

    前言:PICT工具在微软公司出品一款成对组合的命令行生成工具.PICT 可有效地按照两两测试Pairwise的原理,进行测试用例设计.在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖 ...

  5. 【转】.NET(C#):浅谈程序集清单资源和RESX资源 关于单元测试的思考--Asp.Net Core单元测试最佳实践 封装自己的dapper lambda扩展-设计篇 编写自己的dapper lambda扩展-使用篇 正确理解CAP定理 Quartz.NET的使用(附源码) 整理自己的.net工具库 GC的前世与今生 Visual Studio Package 插件开发之自动生

    [转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceM ...

  6. 安装Reshaper后Intellisense失效

    安装Reshaper后Intellisense失效或希望用vs2017的Intellisense功能 安装完毕后,IDE 的智能提示(Intellisense)便会默认使用 Resharper 的提示 ...

  7. Cygwin 版本的 Curl 安装,提取,使用笔记

    Cygwin 版本的 Curl 安装,提取,使用笔记 Cygwin 版本的 Curl 使其恢复 HTTPS 请求功能Cygwin 版本的 Curl 依赖的 DLL 清单提取 Cygwin 版本的 Cu ...

  8. C语言学习笔记(七)——其它运算符

     第七章                          其它运算符   逗号运算符 逗号运算符:即顺序点,逗号前先运行.后再运行. for循环的运行次数: for(i=n; i<m; + ...

  9. bzoj3531【SDOI2014】旅行

    3531: [Sdoi2014]旅行 Time Limit: 20 Sec  Memory Limit: 512 MB Submit: 850  Solved: 433 [Submit][Status ...

  10. memcached在Java中的应用以及magent的配置-每天进步一点点

    memcached在Java中的应用: http://nhy520.iteye.com/blog/1775893 magent配置memcached分布式集群的应用: http://www.jians ...