Path: blob/master/site/ko/tutorials/generative/adversarial_fgsm.ipynb
25118 views
Copyright 2019 The TensorFlow Authors.
Licensed under the Apache License, Version 2.0 (the "License");
FGSMμ μ΄μ©ν μ λμ μν μμ±
μ΄ νν 리μΌμμλ Ian Goodfellow et alμ Explaining and Harnessing Adversarial Examplesμ κΈ°μ λ FGSM(Fast Gradient Signed Method)μ μ΄μ©ν΄ μ λμ μν(adversarial example)μ μμ±νλ λ°©λ²μ λν΄ μκ°ν©λλ€. FGSMμ μ κ²½λ§ κ³΅κ²© κΈ°μ λ€ μ€ μ΄κΈ°μ λ°κ²¬λ λ°©λ²μ΄μ κ°μ₯ μ λͺ ν λ°©μ μ€ νλμ λλ€.
μ λμ μνμ΄λ?
μ λμ μνμ΄λ μ κ²½λ§μ νΌλμν¬ λͺ©μ μΌλ‘ λ§λ€μ΄μ§ νΉμν μ λ ₯μΌλ‘, μ κ²½λ§μΌλ‘ νμ¬κΈ μνμ μλͺ» λΆλ₯νλλ‘ ν©λλ€. λΉλ‘ μΈκ°μκ² μ λμ μνμ μΌλ° μνκ³Ό ν° μ°¨μ΄κ° μμ΄λ³΄μ΄μ§λ§, μ κ²½λ§μ μ λμ μνμ μ¬λ°λ₯΄κ² μλ³νμ§ λͺ»ν©λλ€. μ΄μ κ°μ μ κ²½λ§ κ³΅κ²©μλ μ¬λ¬ μ’ λ₯κ° μλλ°, λ³Έ νν 리μΌμμλ νμ΄νΈ λ°μ€(white box) 곡격 κΈ°μ μ μνλ FGSMμ μκ°ν©λλ€. νμ΄νΈ λ°μ€ 곡격μ΄λ 곡격μκ° λμ λͺ¨λΈμ λͺ¨λ νλΌλ―Έν°κ°μ μ κ·Όν μ μλ€λ κ°μ νμ μ΄λ£¨μ΄μ§λ 곡격μ μΌμ»«μ΅λλ€. μλ μ΄λ―Έμ§λ Goodfellow et alμ μκ°λ κ°μ₯ μ λͺ ν μ λμ μνμΈ νλ€μ μ¬μ§μ λλ€.
μλ³Έ μ΄λ―Έμ§μ νΉμ ν μμ μ곑μ μΆκ°νλ©΄ μ κ²½λ§μΌλ‘ νμ¬κΈ νλ€λ₯Ό λμ μ λ’°λλ‘ κΈ΄ν μμμ΄λ‘ μλͺ» μΈμνλλ‘ λ§λ€ μ μμ΅λλ€. μ΄ν μΉμ μμλ μ΄ μ곑 μΆκ° κ³Όμ μ λν΄ μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€.
FGSM
FGSMμ μ κ²½λ§μ κ·ΈλλμΈνΈ(gradient)λ₯Ό μ΄μ©ν΄ μ λμ μνμ μμ±νλ κΈ°λ²μ λλ€. λ§μ½ λͺ¨λΈμ μ λ ₯μ΄ μ΄λ―Έμ§λΌλ©΄, μ λ ₯ μ΄λ―Έμ§μ λν μμ€ ν¨μμ κ·ΈλλμΈνΈλ₯Ό κ³μ°νμ¬ κ·Έ μμ€μ μ΅λννλ μ΄λ―Έμ§λ₯Ό μμ±ν©λλ€. μ΄μ²λΌ μλ‘κ² μμ±λ μ΄λ―Έμ§λ₯Ό μ λμ μ΄λ―Έμ§(adversarial image)λΌκ³ ν©λλ€. μ΄ κ³Όμ μ λ€μκ³Ό κ°μ μμμΌλ‘ μ 리ν μ μμ΅λλ€:
adv_x : μ λμ μ΄λ―Έμ§.
x : μλ³Έ μ λ ₯ μ΄λ―Έμ§.
y : μλ³Έ μ λ ₯ λ μ΄λΈ(label).
: μ곑μ μμ μ κ² λ§λ€κΈ° μν΄ κ³±νλ μ.
: λͺ¨λΈμ νλΌλ―Έν°.
: μμ€ ν¨μ.
κ° κΈ°νΈμ λν μ€λͺ μ λ€μκ³Ό κ°μ΅λλ€.
μ¬κΈ°μ ν₯λ―Έλ‘μ΄ μ¬μ€μ μ λ ₯ μ΄λ―Έμ§μ λν κ·ΈλλμΈνΈκ° μ¬μ©λλ€λ μ μ λλ€. μ΄λ μμ€μ μ΅λννλ μ΄λ―Έμ§λ₯Ό μμ±νλ κ²μ΄ FGSMμ λͺ©μ μ΄κΈ° λλ¬Έμ λλ€. μμ½νμλ©΄, μ λμ μνμ κ° ν½μ μ μμ€μ λν κΈ°μ¬λλ₯Ό κ·ΈλλμΈνΈλ₯Ό ν΅ν΄ κ³μ°ν ν, κ·Έ κΈ°μ¬λμ λ°λΌ ν½μ κ°μ μ곑μ μΆκ°ν¨μΌλ‘μ¨ μμ±ν μ μμ΅λλ€. κ° ν½μ μ κΈ°μ¬λλ μ°μ λ²μΉ(chain rule)μ μ΄μ©ν΄ κ·ΈλλμΈνΈλ₯Ό κ³μ°νλ κ²μΌλ‘ λΉ λ₯΄κ² νμ ν μ μμ΅λλ€. μ΄κ²μ΄ μ λ ₯ μ΄λ―Έμ§μ λν κ·ΈλλμΈνΈκ° μ°μ΄λ μ΄μ μ λλ€. λν, λμ λͺ¨λΈμ λ μ΄μ νμ΅νκ³ μμ§ μκΈ° λλ¬Έμ (λ°λΌμ μ κ²½λ§μ κ°μ€μΉμ λν κ·ΈλλμΈνΈλ νμνμ§ μμ΅λλ€) λͺ¨λΈμ κ°μ€μΉκ°μ λ³νμ§ μμ΅λλ€. FGSMμ κΆκ·Ήμ μΈ λͺ©νλ μ΄λ―Έ νμ΅μ λ§μΉ μνμ λͺ¨λΈμ νΌλμν€λ κ²μ λλ€.
μ¬μ νλ ¨λ MobileNetV2 λͺ¨λΈκ³Ό ImageNetμ ν΄λμ€(class) μ΄λ¦λ€μ λΆλ¬μ΅λλ€.
μλ³Έ μ΄λ―Έμ§
Mirko CC-BY-SA 3.0μ λλΈλΌλ 리νΈλ¦¬λ² μν μ΄λ―Έμ§λ₯Ό μ΄μ©ν΄ μ λμ μνμ μμ±ν©λλ€. 첫 λ¨κ³λ‘, μλ³Έ μ΄λ―Έμ§λ₯Ό μ μ²λ¦¬νμ¬ MobileNetV2 λͺ¨λΈμ μ λ ₯μΌλ‘ μ 곡ν©λλ€.
μ΄λ―Έμ§λ₯Ό μ΄ν΄λ΄ μλ€.
μ λμ μ΄λ―Έμ§ μμ±νκΈ°
FGSM μ€ννκΈ°
첫λ²μ§Έ λ¨κ³λ μν μμ±μ μν΄ μλ³Έ μ΄λ―Έμ§μ κ°νκ² λ μ곑μ μμ±νλ κ²μ λλ€. μμ μ΄ν΄λ³΄μλ―μ΄, μ곑μ μμ±ν λμλ μ λ ₯ μ΄λ―Έμ§μ λν κ·ΈλλμΈνΈλ₯Ό μ¬μ©ν©λλ€.
μμ±ν μ곑μ μκ°νν΄ λ³Ό μ μμ΅λλ€.
μ곑 μΉμ μ‘μ€λ‘ (epsilon)μ λ°κΏκ°λ©° λ€μν κ°λ€μ μλν΄λ΄ μλ€. μμ κ°λ¨ν μ€νμ ν΅ν΄ μ‘μ€λ‘ μ κ°μ΄ 컀μ§μλ‘ λ€νΈμν¬λ₯Ό νΌλμν€λ κ²μ΄ μ¬μμ§μ μ μ μμ΅λλ€. νμ§λ§ μ΄λ μ΄λ―Έμ§μ μκ³‘μ΄ μ μ λ λλ ·ν΄μ§λ€λ λ¨μ μ λλ°ν©λλ€.
λ€μ λ¨κ³
μ΄ νν 리μΌμμ μ λμ 곡격μ λν΄μ μμ보μμΌλ, μ΄μ λ μ΄ κΈ°λ²μ λ€μν λ°μ΄ν°λ·κ³Ό μ κ²½λ§ κ΅¬μ‘°μ μνν΄λ³Ό μ°¨λ‘μ λλ€. μλ‘ λ§λ λͺ¨λΈμ FGSMμ μλν΄λ³΄λ κ²λ κ°λ₯ν κ²μ λλ€. μ‘μ€λ‘ κ°μ λ°κΏκ°λ©° μ κ²½λ§μ μν μ λ’°λκ° μ΄λ»κ² λ³νλμ§ μ΄ν΄λ³Ό μλ μμ΅λλ€.
FGSMμ κ·Έ μ체λ‘λ κ°λ ₯ν κΈ°λ²μ΄μ§λ§ μ΄ν λ€λ₯Έ μ°κ΅¬λ€μμ λ°κ²¬λ λ³΄λ€ λ ν¨κ³Όμ μΈ μ λμ 곡격 κΈ°μ λ€μ μμμ μ λΆκ³Όν©λλ€. λν, FGSMμ λ°κ²¬μ μ λμ 곡격 λΏλ§ μλλΌ λ κ²¬κ³ ν κΈ°κ³ νμ΅ λͺ¨λΈμ λ§λ€κΈ° μν λ°©μ΄ κΈ°μ μ λν μ°κ΅¬λ μ΄μ§μμΌ°μ΅λλ€. μ λμ 곡격과 λ°©μ΄ κΈ°μ μ λν μ λ°μ μΈ μ‘°λ§μ μ΄ λ¬Ένμμ λ³Ό μ μμ΅λλ€.
λ€μν μ λμ 곡격과 λ°©μ΄ κΈ°μ μ ꡬν λ°©λ²μ΄ κΆκΈνλ€λ©΄, μ λμ μν λΌμ΄λΈλ¬λ¦¬ CleverHansλ₯Ό μ°Έκ³ ν©λλ€.