CNN卷积神经网络手写数字集实现对抗样本与对抗攻击实战(附源码)

简介: CNN卷积神经网络手写数字集实现对抗样本与对抗攻击实战(附源码)

需要源码请点赞关注收藏后评论区留言私信~~~

在讨论卷积神经网络时,给出了一个用卷积神经网络来完成手写体数学识别的示例,其TensorFlow2版本能达到0.986的识别率。用该卷积神经网络模型来示例对抗样本对神经网络模型的攻击。

用训练好的卷积神经网络模型对该对抗样本图片进行预测,得到错误结果为3。  

记原始样本为x,原始样本的对抗样本为x_adv,添加的扰动为r。它们之间的关系为:

一般来讲,r应尽可能小,体现在对图像的攻击上,就是修改后的对抗样本尽量不被人眼察觉。 被攻击模型的输入输出关系用映射F来表示:

y=F(x)

其中,y为模型对样本x的预测值。

非定向对抗攻击是找到一个尽量小的r,使得:

F(x_adv)=F(x+r)≠y

定向对抗攻击是指定输出的攻击。记指定的攻击目标为y_target,定向对抗攻击就是找到一个尽量小的r,使得:

F(x_adv)=y_target≠y

原图片预测结果正确

添加扰动后预测结果错误

 

部分代码如下

import matplotlib.pyplot as plt
import numpy as np
img = X_val[0]
label = y_val[0]
img = img.reshape(1, 28, 28, 1)
img_predict = model.predict([img], batch_size=None)
img1 = img.reshape(28, 28)
plt.imshow(img1, cmap = 'binary')
print('标签:', np.argmax(label), '模型预测:', np.argmax(img_predict))
epsilon = 0.09
adv_x = img + epsilon * perturbations.numpy()
img_predict = model.predict([adv_x], batch_size=None)
print(np.argmax(img_predict))
plt.imshow(adv_x.reshape(28, 28), cmap = 'binary')
import tensorflow as tf
loss_object = tf.keras.losses.CategoricalCrossentropy()
# 计算梯度
def compute_grad(input_image, input_label):
    with tf.GradientTape() as g:
        g.watch(tensor=input_image) # 将输入样本作为要计算梯度的变量
        prediction = model(input_image)
        loss = loss_object(input_label, prediction)
    gradient = g.gradient(loss, input_image) # 求损失函数的梯度
    return gradient

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
1天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
87 55
|
11天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
77 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
15天前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
37 3
图卷积网络入门:数学基础与架构设计
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
13天前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
16天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
50 7
|
14天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-GRU网络的数据分类识别算法matlab仿真
本项目展示了使用MATLAB2022a实现的贝叶斯优化、CNN和GRU算法优化效果。优化前后对比显著,完整代码附带中文注释及操作视频。贝叶斯优化适用于黑盒函数,CNN用于时间序列特征提取,GRU改进了RNN的长序列处理能力。
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
|
16小时前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
32 17
|
11天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章