基于手写数字识别的FGSM
生活随笔
收集整理的這篇文章主要介紹了
基于手写数字识别的FGSM
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Fast Gradient Sign Attack(FGSM)
Fast Gradient Sign Attack(FGSM)用于生成對抗樣本算法原理參考:https://blog.csdn.net/ilalaaa/article/details/105963778
在現(xiàn)實生活中,往往改動一小部分?jǐn)?shù)據(jù)將會對model的結(jié)果產(chǎn)生巨大的影響,那么我們需要將這種微小的變化考慮進(jìn)model中,增強(qiáng)model的泛化能力。我們可以自主生成對抗樣本,讓model基于對抗樣本和訓(xùn)練樣本學(xué)習(xí)。
代碼解釋參考:https://blog.csdn.net/hg_zhh/article/details/100155785
github源碼主要實現(xiàn)利用FGSM生成對抗樣本,比較在不同ε下FGSM的攻擊效果,最后繪圖呈現(xiàn)結(jié)果。
github地址:https://github.com/fanjiarong2343/CNN_FGSM
關(guān)鍵代碼
CNN神經(jīng)網(wǎng)絡(luò)構(gòu)建:
FGSM算法:
def fgsm_attack(image, epsilon, data_grad):"""獲取擾動圖片:param image: 原始圖片:param epsilon: 擾動量:param data_grad: 損失梯度:return:"""sign_data_grad = data_grad.sign() # 獲取梯度的符號perturbed_image = image + epsilon * sign_data_gradperturbed_image = torch.clamp(perturbed_image, 0, 1) # 將數(shù)值裁剪到0-1的范圍內(nèi)return perturbed_image結(jié)論
Figure_1
Figure_2
Figure_3
總結(jié)
以上是生活随笔為你收集整理的基于手写数字识别的FGSM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 输入输出流学习总结
- 下一篇: 利用Python进行游戏脚本编程,不愧是