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

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

相关文章
|
8月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
8月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
9月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
759 11
|
8月前
|
机器学习/深度学习 存储 算法
淘宝图片搜索接口开发实战:从 CNN 特征提取到商品匹配(附避坑手册 + 可复用代码)
本文详解淘宝图片搜索接口开发全流程,涵盖CNN特征提取、商品匹配、参数配置及400/429等高频报错解决方案,附合规避坑指南与可复用代码,助你高效实现图像搜商品功能。
|
9月前
|
机器学习/深度学习 传感器 数据采集
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
1261 0
|
9月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
535 0
|
11月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
579 7
|
10月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
531 0
|
12月前
|
机器学习/深度学习 移动开发 供应链
基于时间图神经网络多的产品需求预测:跨序列依赖性建模实战指南
本文展示了如何通过学习稀疏影响图、应用图卷积融合邻居节点信息,并结合时间卷积捕获演化模式的完整技术路径,深入分析每个步骤的机制原理和数学基础。
433 1
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
466 17

热门文章

最新文章