94
E SCUELA S UPERIOR DE I NGENIERÍA M ECÁNICA Y E LÉCTRICA U NIDAD P ROFESIONAL “A DOLFO L ÓPEZ M ATEOS Z ACATENCO I NSTITUTO P OLITÉCNICO N ACIONAL TESIS QUE PARA OBTENER EL TÍTULO DE: INGENIERO EN COMUNICACIONES Y ELECTRÓNICA PRESENTA HUGO SEBASTIAN PACHECO RODRÍGUEZ ASESORES: D R . ELEAZAR AGUIRRE ANAYA D R . RICARDO MENCHACA MÉNDEZ M EN C. DAVID VÁZQUEZ ÁLVAREZ “A TAQUES ADVERSARIO A MODELOS DE CLASIFICACIÓN CON BASE EN REDES NEURONALES C IUDAD DE M ÉXICO , J UNIO 2019

NSTITUTO OLITÉCNICO ACIONAL

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NSTITUTO OLITÉCNICO ACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS” ZACATENCO

INSTITUTO POLITÉCNICO NACIONAL

TESIS

QUE PARA OBTENER EL TÍTULO DE:

INGENIERO EN COMUNICACIONES Y ELECTRÓNICA

PRESENTA HUGO SEBASTIAN PACHECO RODRÍGUEZ

ASESORES:

DR. ELEAZAR AGUIRRE ANAYA DR. RICARDO MENCHACA MÉNDEZ M EN C. DAVID VÁZQUEZ ÁLVAREZ

“ATAQUES ADVERSARIO A MODELOS DE CLASIFICACIÓN

CON BASE EN REDES NEURONALES”

CIUDAD DE MÉXICO, JUNIO 2019

Page 2: NSTITUTO OLITÉCNICO ACIONAL
Page 3: NSTITUTO OLITÉCNICO ACIONAL
Page 4: NSTITUTO OLITÉCNICO ACIONAL

A mis pradres, Rosalba y Hugo

Page 5: NSTITUTO OLITÉCNICO ACIONAL

Agradecimientos Al Instituto Politécnico Nacional, mi Alma Máter. A la Escuela Superior de Ingeniería Mecánica y Eléctrica, por todos los conoci-mientos adquiridos durante mi carrera. Al Centro de Investigación en Computación, por su hospitalidad en sus instala-ciones durante mi estancia para elaborar el presente trabajo. Al Dr. Eleazar Aguirre Anaya por su paciencia, conocimientos y tiempo. Al Dr. Ricardo Menchaca Méndez por su ayuda con redes neuronales profundas.

Page 6: NSTITUTO OLITÉCNICO ACIONAL

Abstract Deep neural networks have been found vulnerable to inputs maliciously constructed by adversaries to force misclassification. These inputs, gener-ated by adversarial attacks, are called adversarial examples and are potentially dangerous. In this work, we have studied the behavior of state of art adversarial attacks such as LBFG-S, Fast Gradient Sign Method, Basic Iterative Method, Jacobian Saliency Map and Carlini & Wagner against state of art pre-trained models such as VGGNet, Inception, Xcep-tion, and ResNet, these models are commonly used in Computer Vision tasks, using ImageNet as our base dataset. We have used the previous models and adversarial attacks in a gray-box scenario attack. Along with this work we have developed algorithms that systematize the process of generating adversarial examples, generating targeted and untargeted ad-versarial examples. Also, we have studied metrics such as, 𝐿" , 𝐿# , 𝐿$ , Mean Square Distance and Mean Absolute Distance in order to measure the change made by adversarial attacks to the original examples. The ef-forts of this work are focused on exploiting the vulnerabilities of classification models based on deep neural networks, as well as increasing the ease of generating adversarial examples to generate in the future clas-sification models robust to adversarial samples.

Page 7: NSTITUTO OLITÉCNICO ACIONAL

Índice general Introducción .......................................................................................................... I

Objetivo general ........................................................................................... IV

1. Redes neuronales y ataques adversarios en clasificación de imágenes ............ 1

1.2.1. Redes neuronales .............................................................................................. 2 1.2.2. Arquitecturas de redes neuronales .................................................................... 4

a. Elementos básicos de una red neuronal .................................................................. 4 b. Tipos de redes neuronales ....................................................................................... 4

1.3.1. Capa convolucional ........................................................................................... 5

1.4.1. VGGNet (Visual Geometric Group) ................................................................. 6 1.4.2. GoogleLeNet v3 (Inception v3) ........................................................................ 8 1.4.3. Microsoft ResNet50 ........................................................................................ 10 1.4.4. Xception ......................................................................................................... 11

a. MNIST ................................................................................................................. 13 b. CIFAR-10 y CIFAR-100 ...................................................................................... 14 c. ImageNet .............................................................................................................. 14

1.6.1. Modelo de amenaza ........................................................................................ 16

Page 8: NSTITUTO OLITÉCNICO ACIONAL

a. Por falsificación del adversario ............................................................................. 16 b. Por conocimiento del adversario ........................................................................... 17 c. Por especificidad del ataque ................................................................................. 18 d. Por frecuencia del ataque ..................................................................................... 18

1.6.2. Perturbación ................................................................................................... 19 1.6.3. Benchmark ..................................................................................................... 21

1.7.1. Transferibilidad .............................................................................................. 22 1.7.2. Detectabilidad ................................................................................................ 23 1.7.3. Universalidad .................................................................................................. 23 1.7.4. Robustez ......................................................................................................... 23

2. Estado del arte de ataques adversario .......................................................... 24

3. Diseño de escenarios de ataque .................................................................... 33

3.3.1. Keras .............................................................................................................. 38 3.3.2. Preprocesamiento de imágenes en redes neuronales convolucionales .............. 39

a. Estandarización de la imagen ............................................................................... 39 b. Tamaño de imagen ............................................................................................... 40 c. Expansión de dimensiones de imagen ................................................................... 40 d. Cambio de espacios de color ................................................................................. 40 e. Canales primero o al ultimo ................................................................................. 41

Page 9: NSTITUTO OLITÉCNICO ACIONAL

3.7.1. Algoritmo para ataques sin objetivo ............................................................... 48 3.7.2. Algoritmo para ataques con objetivo .............................................................. 49

4. Pruebas y resultados .................................................................................... 51

4.1.1. L-BFGS .......................................................................................................... 51 4.1.2. FGSM ............................................................................................................. 54 4.1.3. JSMA ............................................................................................................. 57 4.1.4. BIM ................................................................................................................ 59 4.1.5. C&W .............................................................................................................. 62

4.2.1. JSMA ............................................................................................................. 65 4.2.2. BIM ................................................................................................................ 67 4.2.3. C&W .............................................................................................................. 70

Conclusiones ........................................................................................................ 76 Trabajos a futuro ................................................................................................ 78 Bibliografía .......................................................................................................... 79

Page 10: NSTITUTO OLITÉCNICO ACIONAL

I

Introducción Las redes neuronales profundas actualmente proveen las mejores

soluciones para enfrentar problemas como reconocimiento de imágenes, reconocimiento del habla, procesamiento de lenguaje natural y en todos aquellos campos en los que se requiera un tipo de percepción de la computadora, etiquetado y clasificación de información. Las redes neuronales profundas ayudan a agrupar y clasificar grandes cantidades de información mediante un conjunto de algoritmos, modelados en semejanza al cerebro humano, que están diseñados para reconocer patrones.

Un ataque adversario, específicamente para este trabajo, es una serie de

pasos intencionalmente iniciados por un adversario que intentan engañar a un modelo de clasificación con base en redes neuronales (blanco). Siendo un ejemplo adversario el resultado de un ataque adversario que puede ser exitoso o no.

Es en el proceso de clasificación donde el presente trabajo tiene lugar,

recientemente se ha encontrado que las redes neuronales son vulnerables a entradas maliciosamente manipuladas para forzar errores en la clasificación, a estas entradas se les conoce comúnmente como ejemplos adversarios. Los ejemplos adversarios son normalmente imperceptibles al ojo humano, pero fácilmente pueden engañar a las redes neuronales en la etapa de implementación [1].

Szegedy et. al. hizo descubrimientos en su investigación sobre las redes

neuronales que marcaron pauta en la generación de ataques adversario, en su investigación encuentra una intrigante debilidad de las redes neuronales en el contexto de la clasificación de imágenes. Muestra que a pesar de la gran efectividad que tienen, las redes neuronales modernas son sorpresivamente susceptibles a ataques adversario.

Page 11: NSTITUTO OLITÉCNICO ACIONAL

II

Es relevante que siendo las redes neuronales aplicables en la resolución de problemas de escalas sin precedentes, como la reconstrucción de circuitos cerebrales; el análisis de mutaciones en ADN; predicción de actividades estructuradas de drogas moleculares; análisis de información de aceleradores de partículas y además de haberse convertido en la elección preferida para la resolución de retos en campos como el reconocimiento de voz; procesamiento de lenguaje natural, procesamiento de imágenes y la visión por computadora, estas sean vulnerables a ataques que generen errores en la clasificación.

El presente trabajo tiene como propósito mostrar que los ejemplos

adversarios pueden ser usados en las redes neuronales modernas, para obtener accesos no autorizados a través del diseño de ataques adversarios enfocados en la clasificación de imágenes, analizando la variación de parámetros de inicialización mediante el uso de medidas de disimilitud entre conjuntos de datos. Exponiendo así en él análisis de las medidas de disimilitud, que la variación de parámetros de inicialización de un ataque puede, idealmente, incrementar o decrementar la probabilidad de engañar a un clasificador de imágenes con base en redes neuronales. Dejando al descubierto que los modelos de reconocimiento de imágenes, en su mayoría están enfocados en la eficacia y no en la seguridad. Planteamiento del problema

Con un rápido progreso y significativos éxitos en un amplio espectro de

aplicaciones, las redes neuronales profundas han tenido un gran éxito diversos campos de la ciencia y la industria. Que las redes neuronales profundas sean tan utilizadas y que las redes neuronales profundas se hayan encontrado vulnerables a entradas maliciosamente manipuladas por un adversario ha generado una gran preocupación en el campo de la seguridad informática, ya que su integridad y funcionalidad ha quedado comprometida.

Page 12: NSTITUTO OLITÉCNICO ACIONAL

III

La vulnerabilidad a ejemplos adversarios (manipulación de las entradas con técnicas como BIM, FGSM, L-BFGS, etc.), se convierte en uno de los mayores riesgos para aplicar redes neuronales profundas en entornos que requieren seguridad y no solo funcionalidad. Es primordial generar algoritmos capaces de aplicar ataques adversarios a diferentes modelos de clasificación y que con la información obtenida de estos algoritmos se logre medir el impacto de los ataques adversarios sobre los modelos de clasificación.

Justificación Usualmente cuando se piensa en el diseño de redes neuronales profundas,

no se considera a la seguridad como el problema principal a resolver. Si no que la mayoría de las mejoras a los diseños o nuevos diseños están enfocados en incrementar el grado de eficacia y rendimiento.

La vulnerabilidad a los ataques adversarios es un problema de robustez de las redes neuronales profundas, este trabajo se enfoca en modelos de clasificación con base en redes neuronales profundas dirigidos a imágenes. En un caso específico, si se quisiera distribuir modelos clasificadores ya entrenados en escenarios del mundo real, es crucial que estos modelos exhiban con anterioridad una gran robustez ante cambios en la distribución de la información, independientemente de los cambios correspondientes a las manipulaciones verdaderamente maliciosas o fluctuaciones naturales.

La presente investigación se justifica en que los algoritmos diseñados ayudaran a los investigadores a evaluar los modelos que diseñen, mejorando con ello la robustez frente a ataques adversario, ya que una vez que estos se prueben ante ataques adversarios y posteriormente corrijan sus vulnerabilidades, la probabilidad de que estas vulnerabilidades sean explotadas nuevamente se reduciría considerablemente. De esta manera, los algoritmos diseñados servirán como referencia tanto en la generación de ejemplos adversarios como en su impacto en los modelos de clasificación.

Page 13: NSTITUTO OLITÉCNICO ACIONAL

IV

El campo de la seguridad informática es una de las áreas que necesitan envolverse rápidamente en el tema, explotando en primera instancia las vulnerabilidades ya conocidas y posteriormente proponer contramedidas que contribuyan a la evolución segura de los avances en métodos del aprendizaje profundo.

Hipótesis Que mediante una metodología experimental que permita estudiar los

conceptos fundamentales de ataques adversarios y de modelos de clasificación, se podrá diseñar algoritmos capaces de optimizar el uso de métodos de ataque en conjuntos de muestras y muestras individuales. Así como también que mediante el uso de métricas enfocadas en medir diferencias entre conjuntos de datos es posible evaluar el cambio que realizan los ataques adversarios a una imagen.

Objetivos A continuación, se describen el objetivo general y los objetivos

particulares de este trabajo.

Objetivo general

Diseñar algoritmos para la generación de ataques adversarios a modelos de clasificación con base en redes neuronales profundas, con y sin un blanco especifico, haciendo uso de técnicas de evaluación de caja blanca. Con la finalidad de facilitar la evaluación de la robustez de los modelos de clasificación frente a ataques adversario.

Objetivos particulares

• Identificar los aspectos fundamentales de los ataques adversario. • Aplicar ataques adversarios a modelos con base en redes

neuronales enfocadas en clasificación de imágenes del estado del arte.

Page 14: NSTITUTO OLITÉCNICO ACIONAL

V

• Generar una estructura de registro para analizar los cambios que realiza un ataque adversario.

• Generar ejemplos adversarios sin un blanco especifico. • Generar ejemplos adversarios con un blanco especifico. • Determinar la distancia de los ejemplos adversario con respecto

a las muestras originales mediante métricas ℓ", ℓ#, ℓ$, DCM1, DAM2.

Alcance de la investigación

El alcance de esta investigación se limita al diseño de dos algoritmos

para la generacion de ataques adversarios dirigidos a modelos de clasificación de imagenes con base en redes neuronales profundas. Dichos algoritmos fueron usados en métodos de ataque como LBFGS, FGSM, BIM, JSMA y C&W aplicadas en muestras de ImageNet, pero los algoritmos pueden usar cualquier método de ataque y conjunto de datos de entrenamiento disponible en el estado del arte.

La presente tesis de es de carácter exploratorio lo que nos permitie llevar

a cabo una investigacion a futuro mas completa.

1 Distancia Cuadrada Media 2 Distancia Absoluta Media

Page 15: NSTITUTO OLITÉCNICO ACIONAL

1

Capítulo 1

1. Redes neuronales y ataques adversarios en clasificación de imágenes

Ataques adversarios

En [2] John D. Howard y Thomas A. Longstaff describen que en ocasiones un

evento que ocurre en una computadora es parte de una serie de pasos que resultan en un evento no autorizado, considerando a este evento como parte de un ataque. Mencionan que uno de los elementos a considerar de un ataque es que este está hecho de una serie de pasos tomados por un atacante. Estos pasos son una acción dirigida a un blanco (un evento), así como también el uso de alguna herramienta para explotar una vulnerabilidad. Es decir, un ataque intenta lograr un resultado no autorizado, visto desde la perspectiva del diseñador o administrador de un sistema.

Con esto, se dice que un ataque es una serie de pasos intencionales iniciados

por un atacante, diferenciando un ataque de algo que es inesperado. En este trabajo se hace referencia a un adversario como aquel que mediante

el uso de ataques intenta engañar a un modelo de clasificación dado. Bajos los conceptos anteriores podemos definir, específicamente para este trabajo, un ataque adversario como una serie de pasos intencionalmente iniciados por un adversario que intentan engañar a un modelo de clasificación con base en redes neuronales (blanco). Siendo una muestra adversaria el resultado de un ataque adversario. Para profundizar un poco más, en la sección 1.6 se describe la taxonomía de los ataques adversario.

Page 16: NSTITUTO OLITÉCNICO ACIONAL

2

Aprendizaje profundo en clasificación de imágenes

1.2.1. Redes neuronales

Una red neuronal es un método de computación inspirado en modelos

biológicos que se usa para resolver problemas que son difíciles para las computadoras convencionales o los seres humanos. Una red neuronal artificial puede auto-ajustarse a diversas situaciones, en un su forma más básica, la red tiene una entrada y una salida. Para algoritmos de aprendizaje automático convencionales, es difícil extraer características bien representadas debido a las limitaciones, como la dimensionalidad, cuellos de botella computacionales y el obvio requerimiento de dominio y conocimiento experto.

Las redes neuronales solucionan el problema de la representación

construyendo múltiples características simples para representar un concepto sofisticado. Por ejemplo, un clasificador de imágenes con base en redes neuronales representa un objeto con la descripción de bordes y estructuras en las capas ocultas.

Frank Rosenblatt [3] simuló en 1957 una red neuronal artificial muy simple llamada perceptrón. El perceptrón podía ser entrenado para aprender un vector de salida cuando se le aplicaba un vector de entrada usando la regla de aprendizaje del perceptrón. Estos vectores de entrada y salida estaban formados por unos y ceros.

Un objeto puede ser descrito por un vector de características, y un perceptrón puede ser entrenado para identificar este objeto de otro tipo de objeto siempre y cuando las clases de los dos objetos sean linealmente separables.

Page 17: NSTITUTO OLITÉCNICO ACIONAL

3

El perceptrón, a pesar de ser una red neuronal muy simple, proporcionó una plataforma muy importante para el desarrollo de otras redes neuronales artificiales. De igual forma el proceso de entrenamiento usado en el perceptrón llevó a la creación y optimización de otros algoritmos de entrenamiento usados en la actualidad.

En las redes neuronales artificiales, cada neurona está conectada con otra

neurona por medio de un peso o coeficiente de ajuste representado por la letra w, el primer subíndice del peso indica el número de la neurona destino, mientras que el segundo subíndice indica el número de la neurona de origen. Los pesos o coeficientes que unen la entrada de la red con las neuronas de entrada se conocen como pesos de entrada. Para redes que tienen más de una capa, los pesos que unen las neuronas internas se conocen como pesos de capa.

Una neurona artificial está formada por un sumador y una función de

activación, representada por 𝑓(𝑦). La señal de polarización siempre tiene un valor de 1 y el peso correspondiente se denota usando como subíndice la letra b de la palabra en inglés Bias.

La función de activación 𝑓(𝑦) debe ser un sigmoide (tener forma de S),

continua, real, de rango acotado y tener una derivada positiva. Las funciones más populares, en las redes de varias capas, son las funciones logsig, tansig y ReLU:

𝑓(𝑦) = 𝑙𝑜𝑔𝑠𝑖𝑔(𝑦) =1

1 + 𝑒56 ,(1.1)

𝑓(𝑦) = 𝑡𝑎𝑛𝑠𝑖𝑔(𝑦) = tanh(𝑦),(1.2)

𝑓(𝑦) = max(0, 𝑦),(1.3)

Page 18: NSTITUTO OLITÉCNICO ACIONAL

4

1.2.2. Arquitecturas de redes neuronales

a. Elementos básicos de una red neuronal

Se denomina arquitectura a la topología o estructura en la que las distintas neuronas constituyentes de la red neuronal se asocian. En un ANS, los nodos se conectan por medio de sinapsis; esta estructura de conexiones sinápticas determina el comportamiento de la red. Las conexiones sinápticas son direccionales, es decir, la información sólo puede fluir en un sentido (desde la neurona presináptica a la neurona postsináptica).

En general, las neuronas se suelen agrupar en unidades estructurales denominadas capas. Dentro de una capa las neuronas pueden agruparse formando grupos neuronales. Dentro de una misma capa o agrupación, las neuronas suelen ser del mismo tipo. El conjunto de una o más capas constituye una red neuronal.

Podemos distinguir tres tipos de capas: • Capa de entrada: compuesta por neuronas que reciben datos o señales

procedentes del entorno. • Capa de salida: aquella cuyas neuronas proporcionan la respuesta de

la red neuronal. • Capa oculta: aquella que no tiene una conexión directa con el entorno.

b. Tipos de redes neuronales

• Redes neuronales monocapa: Es la red neuronal más sencilla ya que se

tiene una capa de neuronas que proyectan las entradas a una capa de neuronas de salida donde se realizan los diferentes cálculos.

• Redes neuronales multicapa: Es una generalización del tipo de red anterior, existiendo un conjunto de capas intermedias entre la capa de entrada y la de salida (capas ocultas). Este tipo de red puede estar total o parcialmente conectada.

Page 19: NSTITUTO OLITÉCNICO ACIONAL

5

• Redes neuronales recurrentes: Este tipo de red se diferencia de las anteriores en la existencia de lazos de realimentación en la red. Estos lazos pueden ser entre neuronas de diferentes capas, neuronas de la misma capa o, entre una misma neurona. Esta estructura la hace especialmente adecuada para estudiar la dinámica de los sistemas no lineales.

Redes neuronales convolucionales Las redes neuronales convolucionales emergieron del estudio de la corteza

visual del cerebro humano y han sido usadas en reconocimiento de imágenes desde 1980. Y es debido a que los recientes años el poder de computo, los datos de entrenamiento y las técnicas de entrenamiento para redes profundas ha incrementado considerablemente que las redes neuronales convolucionales han conseguido un rendimiento superhumano en algunas tareas visuales complejas. Gracias a este tipo de redes, los servicios de búsqueda de imágenes, carros autónomos, clasificación de videos automática y más. Además, las redes neuronales convolucionales no están restringidas al campo visual: también son exitosas en otras tareas, como lo son el reconocimiento de voz o procesamiento de lenguaje natural; sin embargo, este trabajo se enfoca en clasificación de imágenes.

1.3.1. Capa convolucional El bloque más importante de una red neuronal convolucional es la capa

convolucional, las neuronas en la primer capa convolucional no están conectadas a cada píxel en la imagen de entrada, solo a pixeles en sus campos receptivos. Por turnos, cada neurona en la segunda capa convolucional es conectada solo a neuronas ubicadas dentro de un rectángulo en la primera capa. Esta arquitectura permite a la red concentrar características de bajo nivel en la primer capa oculta, después los ensambla dentro de características de alto nivel en la siguiente capa oculta y así sucesivamente. Esta estructura jerárquica es común en las imágenes reales, lo cual es una de las razones por las cuales las redes neuronales convolucionales trabajan tan bien en reconocimiento de imágenes.

Page 20: NSTITUTO OLITÉCNICO ACIONAL

6

En este tipo de redes, una neurona ubicada en la fila 𝑖m columna 𝑗 de una capa dada esta conectada a las salidas de neuronas en la capa anterior ubicada en las filas de la 𝑖 a 𝑖 + 𝑓E − 1, columnas de la 𝑗 a 𝑗 + 𝑓G − 1, donde 𝑓E y 𝑓G son la altura y la anchura en el campo receptivo. Para que una capa tenga la misma altura y anchura que la capa anterior es común agregar ceros alrededor de las entradas. Esto es llamado relleno ZERO.

También es posible conectar una gran capa de entrada a una mucho más

pequeña, esto se logra espaciando los campos receptivos. La distancia entre dos campos receptivos consecutivos es llamada zancada. Con esto se puede decir que una neurona ubicada en la fila 𝑖 y columna 𝑗 en la capa mas alta esta conectada a las salidas neuronas en las capas anteriores ubicadas en filas que van de 𝑖𝑥𝑠E a 𝑖𝑥𝑠E + 𝑓E − 1y columnas 𝑗𝑥𝑠G + 𝑓G − 1 , donde 𝑠E y 𝑠G son las zancadas horizontales y verticales.

Arquitecturas de redes neuronales convolucionales

Con respecto a las arquitecturas de redes neuronales se dedicará un apartado,

ya que están arquitectura son usadas para procesar imágenes ya que pueden aprender relaciones entrada-salida, donde la entrada es una imagen. Los siguientes modelos tienen arquitecturas del estado del arte.

1.4.1. VGGNet (Visual Geometric Group) La arquitectura de VGG fue introducida por Symomyan y Zisserman por la

investigación que realizaron en 2014 en la desplegaron dos redes que fueron las que tuvieron el mejor rendimiento en clasificación, estas redes son las llamadas VGG16 y VGG19. El “16” y el “19” representan la cantidad de capas de peso en la red [4].

Estas redes están caracterizadas por su simplicidad, usan solo capas

convolucionales 3𝑥3 apiladas en la parte superior de cada una en profundidad creciente.

Page 21: NSTITUTO OLITÉCNICO ACIONAL

7

La reducción del tamaño del volumen se maneja mediante la agrupación máxima. Luego, dos capas totalmente conectadas, cada una con 4,096 nodos, van seguidas de un clasificador softmax (arriba).

Simonyan y Zisserman consideraron que el entrenamiento de VGG16 y

VGG19 era desafiante (específicamente en lo que respecta a la convergencia en redes más profundas), por lo que para facilitar el entrenamiento, primero entrenaron versiones más pequeñas de VGG con menos capas de peso.

Las redes más pequeñas convergieron y luego se utilizaron como

inicializaciones para las redes más grandes y profundas, este proceso se denomina preentrenamiento.Si bien tiene sentido lógico, el entrenamiento previo es una tarea tediosa y que requiere mucho tiempo, ya que requiere una red entera entrenada previamente antes de que pueda servir como una inicialización para una red más profunda. La imagen de entrada para esta red debe ser una imagen de tamaño 224𝑥224𝑥3 (BGR o RGB), el arreglo multidimensional de la imagen debe ser pasado al modelo ya sea con los canales primero o al último.

El único preprocesamiento que se maneja es la sustracción del valor de la

media del espacio RGB calculado en el conjunto de entrenamiento, para cada pixel. Una pila de capas convolucionales (con diferentes profundidades en diferencies arquitecturas) es seguida de tres capas totalmente conectados: los primeros 2 tienen 4, 096 capas cada uno, el tercero realiza la clasificación de 1, 000 clases de ILVSRC y por ello contiene 1, 000 canales (uno para cada clase). La capa final es una capa softmax. La configuración de las capas totalmente conectadas es la misma en VGG16 y VGG19.

Debido a su profundidad y número de nodos completamente conectados, VGG

supera los 533 MB para VGG16 y 574MB para VGG19. Esto hace que la implementación de VGG sea una tarea pesada.

Desafortunadamente, hay dos grandes inconvenientes con VGGNet:

• Es muy lenta de entrenar. • Los pesos de la arquitectura de la red en sí son bastante grandes (en

términos de ancho de banda / disco).

Page 22: NSTITUTO OLITÉCNICO ACIONAL

8

1.4.2. GoogleLeNet v3 (Inception v3) Esta arquitectura fue desarrollada por Christian Szegedy et at. desde Google

Research, y fue la ganadora del reto ILSVRC 2014 obteniendo una tasa de error por debajo del 7%. Este gran rendimiento fue debido en gran parte del hecho de que la red es mucho más profunda que las Redes Neuronales Convolucionales anteriores. Esto fue posible por subredes llamadas módulos Inception, los cuales permitieron que GoogleLeNet usar parámetros mucho más eficientes que arquitecturas anteriores [4].

En los módulos inception la señal de entrada es copiada primero para después

ser alimentada a cuatro diferentes capas. Todas las capas convolucionales usan la función de activación ReLU. El segundo conjunto de capas convolucionales usan diferentes tamaños de núcleo (1𝑥1, 3𝑥3𝑦5𝑥5) permitiendo capturar patrones a diferentes escalas. Cada una de las capas usa una zancada de 1 y relleno SAME (aun la capa de agrupación máxima), así las salidas tienen la misma altura y anchura que las entradas. Esto hace posible concatenar todas las salidas a lo largo de la dimensión de profundidad en la capa final de concatenación de profundidad.

La imagen de entrada para esta red debe ser una imagen de tamaño 299𝑥299𝑥3 (preferiblemente RGB), el arreglo multidimensional de la imagen debe ser pasado al modelo ya sea con los canales primero o al último.

Los módulos inception tienen capa convolucionales con núcleos de 1𝑥1 que

sirven de dos propósitos: • Primero, están configurados para dar a la salida muchas menos

características que las salidas, así que sirven como capas cuellos de botella, reduciendo con ello la dimensionalidad. Esto es particularmente útil antes de las convoluciones del costo computacional de estas capas es elevado.

Page 23: NSTITUTO OLITÉCNICO ACIONAL

9

• Segundo, cada par de capas convolucionales ([1 x 1, 3 x 3] y [1 x 1, 5 x 5]) actúan como una sola poderosa capa convolucional, capaz de capturar patrones más complejos. Esto es, en lugar de barrer un clasificador lineal simple a través de la imagen (como una sola capa convolucional lo hace), este par de capas convolucionales barre una red neuronal de dos capas a través de la imagen.

El número de características mapeados a la salida por cada capa convolucional

y cada capa de poleo es mostrada antes del tamaño del núcleo. Los seis números en los módulos inception representan el número de características mapeadas por cada capa convolucional en el módulo. Todas las capas convolucionales usan la función de activación ReLU. En la arquitectura GoogleLeNet las primeras dos capas dividen la anchura y altura de las imágenes por 4 (es decir que el área de la imagen se divide por 16), para reducir el tiempo de carga computacional, después una capa de normalización de respuesta local se asegura de que las capas anteriores aprendan una variedad de características.

Las dos capas que le siguen a la capa de normalización actúan como capas de

cuello de botella. Después entra en acción otra que capa de normalización de respuesta local que se asegura que de que las capas anteriores provean de una amplia variedad de patrones, dejando después a una capa de agrupación máxima reducir la anchura y altura de la imagen por 2 para acelerar los cálculos.

Las capas que le siguen son una pila de nueve módulos inception intercalados

con un par de capas de agrupación máxima para reducir con ello la dimensionalidad y acelerar la red. Después la capa de agrupamiento promedio usa un núcleo del tamaño de los mapas de características con un relleno VALID y a la salida mapas de característica 1𝑥1; a esto se le conoce como agrupamiento global promedio. Esto forza a las capas anteriores a producir mapas de características con buen nivel de confianza para cada clase objetivo, lo que hace innecesario tener capas totalmente conectadas en el final de la red convolucional, reduciendo con ello el número de parámetros de la red y limitando el riesgo de un sobreajuste.

Page 24: NSTITUTO OLITÉCNICO ACIONAL

10

Las ultimas capas son de deserción para la regularización y una capa totalmente conectada con una función de activación softmax para dar a la salida las probabilidades de las clases.

1.4.3. Microsoft ResNet50 ResNet [4] fue la arquitectura ganadora de la competencia ILSVRC 2015,

desarrollada por Kaiming He et al. alcanzando una taza de error top-5 debajo de 3.6% usando una Red Neuronal Convolucional extremadamente profunda compuesta de 152 capas. La clave para entrenar este tipos de redes profundas es usar conexiones de salto (skip connections): esto es que la señal es alimentada y también añadida a la salida de una capa ubicada un poco más arriba de la pila.

Cuando se entrena una red neuronal, la meta es hacer que se modele una

función objetivo ℎ(𝑥). Si se añade la entrada 𝑥 a la salida de la red (es decir, se añade una conexión de salto), entonces la red será forzada a modelar 𝑓(𝑥) =ℎ(𝑥) − 𝑥 en lugar de ℎ(𝑥). Esto es llamado aprendizaje residual.

Cuando se inicializa una red neuronal regular, sus pesos son cercanos a cero,

así la red solo da a la salida valores cercanos a cero. Si se añade una conexión de salto, la red resultante solo da a la salida una copia de sus entradas; en otras palabras, inicialmente modela la función de identidad. Si la función objetivo es lo suficientemente cercana a la función identidad (lo cual es el caso más frecuente), esto acelerara el entrenamiento considerablemente.

Además, si se añaden muchas conexiones de salto, la red puede empezar a

progresar aun cuando muchas capas no empiecen a aprender aún. Gracias a las conexiones de salto, la señal puede fácilmente hacer su camino a través de la red entera. Las redes neuronales profundas puedes ser vistas como una pila de unidades residuales, donde cada unidad residual es una pequeña red neuronal con una conexión de salto.

Page 25: NSTITUTO OLITÉCNICO ACIONAL

11

La arquitectura ResNet comienza y termina igual que Inception (exceptuando que no tiene una capa de deserción) y en medio es una pila muy profunda de unidades residuales simples. Cada unidad residual está compuesta de dos capas convolucionales, con normalización por lotes (Batch Normalization) y activación ReLU, usando kernels 3𝑥3 y preservando las dimensiones espaciales (zancada 1, relleno SAME).

El número de mapas de características es doblado cada pocas unidades

residuales, al mismo tiempo que sus alturas y anchuras son reducidos a la mitad. Cuando esto pasa la entrada las entradas no pueden ser añadidos directamente a las salidas de las unidades residuales debido a que no tienen la misma forma. Para solucionar este problema, las entradas pasan a través de una capa convolucional de 1𝑥1 con zancada 2 y el numero correcto de mapas de características de salida. Al igual que VGGNet,la imagen de entrada para esta red debe ser una imagen de tamaño 224𝑥224𝑥3 (preferiblemente RGB), el arreglo multidimensional de la imagen debe ser pasado al modelo ya sea con los canales primero o al último.

1.4.4. Xception

Xception [4] implementa remplaza los módulos inception de los que se habla en la sección 1.3.3 con una versión “extrema” de estos mismos módulos. En esta arquitectura se usa primeramente una convolución 1𝑥1 para mapear las correlaciones de canales cruzados y después separadamente se mapea las correlaciones espaciales de cada canal de salida. Al igual que Inception la imagen de entrada debe ser de 299𝑥299𝑥3 (imagen RGB).

Una convolución separable en profundidad, comúnmente conocida como “convolución separable” en frameworks como Keras y TensorFlow consiste en una convolución separable, es decir; una convolución espacia una convolución espacial realizada de forma independiente sobre cada canal de una entrada, seguido de una convolución puntual (puede ser una convolución de 1𝑥1) que proyecta la salida de los canales por una convolución separable en profundidad

Page 26: NSTITUTO OLITÉCNICO ACIONAL

12

en un nuevo espacio de canal. Esto no debe ser confundido con una convolución separable espacialmente, la cual es también comúnmente llamada “convolución separable” en la comunidad de procesamiento de imágenes. Las diferencias menores entre la versión “extrema” de un módulo inception y una convolución separable en profundidad son:

• El orden de las operaciones: las convoluciones separables en profundidad realizan la primera convolución espacial a nivel de canal y después realiza una convolución 1𝑥1, mientras que Inception realiza la convolución 1𝑥1 primero.

• La presencia o ausencia de no-linealidad después de la primer operación. En Inception, ambas operaciones son seguidas de una función ReLU no linear, aun así en profundidad.

La arquitectura Xception tiene 36 capas convolucionales formando base de la extracción de características de la red. Las 36 capas convoluciones están estructuradas en 14 módulos, los cuales tienen conexiones residuales lineares alrededor, exceptuando el primer y el ultimo modulo. En resumen, la arquitectura Xception es una pila linear de convoluciones separables en profundidad con conexiones residuales. Esto hace que la arquitectura sea fácil de definir y modificar. Xception supera ligeramente a GoogleLeNet v3 en el dataset ImageNet, y lo supera ampliamente en un dataset de clasificación de imágenes más grande (17, 000 clases). Siendo importante que tiene el mismo número de parámetros que Inception, implicando una gran eficiencia computacional.

Page 27: NSTITUTO OLITÉCNICO ACIONAL

13

Datasets estándar en clasificación de imágenes

Los dataset disponibles públicamente de imágenes etiquetadas son muy

valiosos para la investigación en visión por computadora. Evitan que los investigadores tengan que recopilar y etiquetar sus propias imágenes, lo que es un trabajo tedioso o costoso. También sirven como un punto de referencia común para la comparación de modelos.

MNIST, CIFAR-10, CIFAR-100 e ImageNet son tres datasets ampliamente

usados en tareas de visión por computadora. El dataset MNIST es usado en reconocimiento de dígitos escritos a mano. Los datasets CIFAR-10, CIFAR-100 e ImageNet son usados en tareas de reconocimiento de imágenes.

a. MNIST

El dataset modificado del Instituto Nacional de Estándares y Tecnología

(NIST por sus siglas en inglés) fue creado por LeCun et al. en 1990 a partir de la base de datos más grande del NIST [4]. Las imágenes en blanco y negro del NIST fueron rescaldadas a imágenes de 28 x 28 pixeles, introduciendo a la vez niveles en escala de grises. También se mezclaron nuevos datasets de entrenamiento y prueba, con 60,000 y 10,000 imágenes respectivamente, aproximadamente la mitad de estas imágenes son del conjunto original de entrenamiento y la mitad del conjunto original de prueba. La mezcla fue hecha debido a que el conjunto de entrenamiento y prueba del NIST fueron escritos a mano por diferentes grupos de personas, el primero es fácilmente reconocible. En 1998, LeCun et. al obtuvieron un porcentaje de error de 0.7% en el dataset de MNIST, desde entonces el porcentaje ha bajado significativamente hasta lograr un 0.21% por Wan et al. en el 2013 [5].

Page 28: NSTITUTO OLITÉCNICO ACIONAL

14

b. CIFAR-10 y CIFAR-100 El dataset CIFAR-10 contiene 60,000 pequeñas imágenes a color divididas en

10 clases, con 6,000 imágenes por clase. También contiene 50,000 imágenes de entrenamiento y 10,000 imágenes de pruebas [6].

El dataset está dividido en 5 lotes de entrenamiento y un lote de prueba, cada

uno con 10,000 imágenes. El lote de prueba contiene exactamente 1,000 imágenes seleccionadas aleatoriamente de cada clase. Los lotes de entrenamiento contienen las imágenes restantes en orden aleatorio, pero algunos lotes de entrenamiento pueden contener más imágenes de una clase que otra. Entre ellos, los lotes de entrenamiento contienen exactamente 5,000 imágenes por clase.

Es importante recalcar que las clases son mutuamente exclusivas. Por

ejemplo, no hay superposición entre automóviles y camiones. CIFAR-100 muy parecido a CIFAR-10, excepto por el hecho de que contiene

100 clases con 600 imágenes cada una. Tiene 500 imágenes de entrenamiento y 100 imágenes de prueba por clase. Las 100 clases en CIFAR-100 están agrupadas en 20 superclases. Cada imagen lleva una etiqueta “fina” (la clase a la que pertenece) y una etiqueta “gruesa” (la superclase a la que pertenece).

Los efectividad de CIFAR-10 actualmente es de 0.95 [7], mientras que en

CIFAR-100 es de 0.75 [8].

c. ImageNet ImageNet [9], es un dataset de imágenes organizado de acuerdo con la

jerarquía de WordNet. Cada concepto significativo en WordNet, posiblemente descrito por múltiples palabras o múltiples frases es llamado “conjunto de sinónimos” o “synset”, de su abreviación en inglés. Hay más de 100,000 synsets en WordNet, la mayoría de ellos sustantivos (80,000+). En ImageNet, se proveen 14,197,122 con 1,000 clases para ilustrar cada synset.

Page 29: NSTITUTO OLITÉCNICO ACIONAL

15

En ImageNet se encuentra 21,841 synsets de WordNet [10], con una media de 650 imágenes verificadas y de alta resolución. ImageNet es más grande en escala y diversidad que otros datasets de clasificación de imágenes. El Reto de reconocimiento visual a gran escala de ImageNet (ILSVRC por sus siglas en inglés) usa un subconjunto de imágenes de ImageNet para entrenar los algoritmos y algunos protocolos de colección de imágenes de ImageNet para anotar imágenes adicionales para entrenar y probar los algoritmos [11].

El dataset de la tarea de clasificación de imágenes de ILSVRC 2012 es mucho

más grande en términos de tamaño y numero de imágenes así como también el número de clases. Se seleccionaron los synsets de WordNet de tal manera que ninguna clase es ancestro de otra clase en la jerarquía de synsets. El ancho y alto de cada imágenes varia, pero generalmente son del orden de cientos de pixeles. Este dataset consta un conjunto de entrenamiento que contiene más de 1.2 millones de imágenes (al menos 732 por cada clase) y el conjunto de validación contiene 50,000 imágenes (50 por cada clase). Los tamaños son de 138 GB y 6.3 GB, respectivamente.

El reto ILSVRC se ha llevado a cabo desde 2010, pero desde 2012 el dataset

se ha mantenido igual. Krizhevsky et. al gano la competición del 2012 por un gran margen de 9.8%, obteniendo una tasa error de 16.4% [12]. En las ediciones subsecuentes del reto se ha decrementado las tasas de error, logrando llegar por debajo del 4% [13]. Se reporta en la creación del dataset un error del 5.1% causado por la anotación humana, así que tratar de decrementar el error aún más puede no ser razonable.

Las imágenes de cada concepto son controladas en calidad y descritos por

seres humanos. Debido a la gran cantidad de imágenes en el dataset ImageNet, la mayoría de los ataques adversarios son evaluados en solo una parte de él.

Page 30: NSTITUTO OLITÉCNICO ACIONAL

16

Taxonomía de los ataques adversarios Con el propósito de sistemáticamente analizar los acercamientos a muestras

adversarias, Yuan et. al. Generaliza los acercamientos para generar muestras adversarias y los categoriza en tres dimensiones: modelo de amenaza, perturbación y benchmark [1].

1.6.1. Modelo de amenaza Con base en diferentes escenarios, suposiciones y requerimientos de calidad,

los adversarios deciden que atributos se necesitan en las muestras adversarias y con base en ello desplegar ataques específicos. Yuan et. al. Proponen descomponer el modelo de amenaza en cuatro aspectos: por falsificación del adversario, por conocimiento del adversario, por especificidad del adversario y por frecuencia de ataque. Es con ello que se puede llegar a escoger el tipo de ataque a realizar, por ejemplo, si una muestra adversaria es requerida en tiempo real, entonces se debe de elegir un ataque único en vez de un ataque iterativo, con el fin de completar la tarea.

a. Por falsificación del adversario • Ataques falso positivo: Generan una muestra adversaria negativa que

es clasificado erróneamente como positivo (error de tipo 1). En una tarea de clasificación de imágenes, un falso positivo puede ser una imagen adversaria con características indetectables para el ojo humano, mientras que una red neuronal profunda predice la clase, con base en las características de la imagen.

Page 31: NSTITUTO OLITÉCNICO ACIONAL

17

• Ataques falso negativo: Generan una muestra adversaria que es clasificado erróneamente como negativo (error de tipo 2). En un tarea de clasificación de imágenes, un falso negativo puede ser una imagen adversaria perteneciente a una clase (que es usualmente considerada como positivo) que no puede ser reconocido por el modelo entrenado. Este tipo de ataques son también llamados evasión de aprendizaje automático (machine learning evasion). Este error está presente en la mayoría de las imágenes adversario, donde los humanos pueden reconocer las imágenes, pero las redes neuronales no pueden identificarlas.

b. Por conocimiento del adversario • Ataques de caja blanca: este tipo de ataques asumen que el adversario

conoce todo lo relacionado con modelos de redes neuronales entrenados, incluyendo los datos de entrenamiento, las arquitecturas del modelo, hiperparametros, número de capas, funciones de activación y los pesos del modelo. Muchas muestras adversarias son generadas calculando los gradientes del modelo. Esto se basa en el hecho de que las redes neuronales profundas solo requieres datos crudos sin características elaboradas por una persona y que para desplegar una estructura de extremo a extremo, la selección de características no es necesaria en comparación con muestras adversarias en aprendizaje automático.

• Ataques de caja negra: este tipo de ataques asumen que el adversario no tiene acceso alguno al modelo de red neuronal entrenado. El adversario, actuando como un usuario normal solo conoce la salida del modelo (etiqueta o puntuación de confianza). Esta suposición es común para atacar servicios de aprendizaje automático en línea como Google Cloud AI, BigML, Clarifai, etc).

La mayoría de los ataques son de caja blanca, sin embargo estos pueden ser

transferidos a ataques de caja negra debido a la transferibilidad de las muestras adversarias propuesta por Papernot et. al [14].

Page 32: NSTITUTO OLITÉCNICO ACIONAL

18

c. Por especificidad del ataque

• Reducción de confianza: reduce la confianza de predicción de la clasificaciones (de este modo introducen ambigüedad de clases).

• Clasificación errónea: altera la salida de la clasificación a cualquier otra clase diferente de la clase original. Ataques con objetivo: este tipo de ataques guían la salida de la clasificación de las redes neuronales profundas a un tipo específico de clase errónea. Los ataques con objetivo usualmente ocurren en el problema de clasificación de clase múltiple. Por ejemplo, una imagen adversario que engaña a un clasificador de imágenes para que hacerlos predecir todos las muestras adversarias como una clase. Este tipo de ataques usualmente maximizan la probabilidad de la clase adversaria objetivo.

• Ataques sin objetivo: este tipo de ataques no asignan una clase específica a la salida de una red neuronal. La clase adversaria de salida puede ser arbitraria, exceptuando la original. Por ejemplo, un adversario hace su que su cara no sea identificada como un cara arbitraria en un sistema de reconocimiento facial para lograr evadir la detección. Los ataques sin objetivo son aún más fáciles de implementar por el hecho de tener más opciones y espacio para redirigir la salida. Este tipo de ataques usualmente son generados en dos maneras: 1) Realizando múltiples ataques con objetivo y tomando el que tenga la mínima perturbación de los resultantes; 2) Minimizando la probabilidad de la clase correcta.

d. Por frecuencia del ataque

- Ataques únicos: generan un candidato de imagen adversaria después de calcular solo un gradiente. A menudo con base en encontrar la perturbación optima de una aproximación lineal del costo o de un modelo.

- Ataques iterativos: aplican muchas actualizaciones al gradiente. No se basan en ninguna aproximación del modelo.

Page 33: NSTITUTO OLITÉCNICO ACIONAL

19

Comparado con los ataques únicos, los ataques iterativos usualmente tienen un mejor rendimiento que las muestras adversarias, pero requieren más iteraciones con el clasificador víctima (consultas) y más costo computacional para generarlos.

1.6.2. Perturbación

Pequeñas perturbaciones, esta es una premisa fundamental para las muestras adversarias. Las muestras adversarias deben ser diseñadas para ser los más cercanos posible a las muestras originales e imperceptibles al ojo humano, la perturbación es la que causa la degradación del rendimiento de los modelos de redes neuronales profundas comparadas con las de un humano. Yuan et al. Analizan tres aspectos de una perturbación: alcance de la perturbación, límite de la perturbación y medida de la perturbación.

• Alcance de la perturbación

- Ataques individuales: se generan diferentes perturbaciones para cada muestra limpia.

- Ataques universales: solo se genera una perturbación para todo el dataset. Esta perturbación puede ser aplicada a todas las muestras limpias.

En el presente la mayoría de los ataques generan ataques individuales. Sin embargo, los ataques universales facilitan el despliegue de las muestras adversarias en el mundo real. Los adversarios no requieren cambiar la perturbación cuando la muestra de entrada cambia.

• Límite de la perturbación - Optimización de la perturbación: establece la perturbación como la

meta del problema de optimización. Estos métodos tienen como objetivo minimizar la perturbación, así los humanos no pueden reconocerla.

- Restricción de la perturbación: establece la perturbación como la restricción del problema de optimización. Estos métodos solo requieren que la perturbación sea muy pequeña.

Page 34: NSTITUTO OLITÉCNICO ACIONAL

20

• Magnitud de la perturbación • ℓM es la medida de la magnitud de perturbación por la distancia de

la norma 𝑝:

‖𝑥‖M = PQ‖𝑥R‖MS

RTU

V

UM

ℓ", ℓ#, ℓ$ son tres métricas ℓM comúnmente usadas. ℓ" cuenta el número de pixeles cambiados en las muestras adversarias; ℓ# mide la distancia Euclidiana entre la muestra adversaria y la muestra original (similitud); ℓ$ indica el cambio máximo para una muestra adversaria dada.

ℓ" = 𝑑(𝑥, 𝑦) =Q 𝕝YZ[6ZR

ℓ# = 𝑑(𝑥, 𝑦) = Q \(𝑥R − 𝑦R)# + (𝑥R]U − 𝑦R]U)# + ⋯

R

ℓ$ = 𝑑(𝑥, 𝑦) = 𝑚𝑎𝑥

R|𝑥R − 𝑦R|

• Distancia cuadrada media: calcula el error cuadrático medio entre dos

vectores. Es decir, compara la imagen original y la imagen adversario calculando la media del cuadrado de sus distancias. Se utiliza para saber si la variación entre las dos imágenes es significativa.

𝑑(𝑥, 𝑦) =1𝑁Q

(𝑥R − 𝑦R)#R

Donde 𝑥 representa la imagen original y 𝑦 representa la imagen adversario.

• Distancia absoluta media: calcula el error absoluto medio entre dos

vectores. Es decir, compara la imagen original y la imagen adversario, obteniendo la media de las distancias absolutas. Conociendo con ello la variación absoluta entre las dos imágenes.

𝑑(𝑥, 𝑦) =1𝑁Q

|𝑥R − 𝑦R|R

Page 35: NSTITUTO OLITÉCNICO ACIONAL

21

1.6.3. Benchmark Los adversarios exponen el rendimiento de los ataques adversario, con base

en diferentes datasets y modelos víctima. Esta inconsistencia trae consigo obstáculos para evaluar los ataques de adversario y medir la robustez de los modelos con base en redes neuronales. Datasets grandes y de gran calidad, modelos con base en redes neuronales complejos y de gran rendimiento usualmente hace a los adversarios/defensores difícil atacar/defender. La diversidad de los datasets y modelos víctima también hace a los investigadores difícil decir si la existencia de muestras adversarias es debido a los datasets o los modelos.

• Datasets

MNIST, CIFAR-10 e ImageNet son tres de los datasets de clasificación de imágenes más ampliamente usados para evaluar ataques adversario. Esto debido a que MNIST y CIFAR-10 son dos datasets fáciles de atacar y defender debido a su simplicidad y tamaño pequeño. Por otra parte, ImageNet es el mejor dataset para evaluar ataques adversario de lejos. Siempre es requerido un buen dataset para evaluar ataques adversario.

• Modelos victima

LeNet, VGG, AlexNet, GoogleLeNet y ResNet son modelos de aprendizaje profundos del estados del arte, que representan un reto a vulnerar para los adversarios.

Page 36: NSTITUTO OLITÉCNICO ACIONAL

22

Propiedades de las muestras adversarias A continuación se muestras las propiedades de las muestras adversarias que

han sido estudiados.

1.7.1. Transferibilidad

La transferibilidad es una propiedad común para las muestras adversarias.

Szegedy et al. fueron los primeros en encontrar que las muestras adversariass generadas contra una red neuronal pueden engañar a la misma red neuronal entrenada con diferentes datasets.

Posteriormente Papernot et al. [16] encontraron que las muestras adversariass

generadas contra una red neuronal pueden engañar a otras redes neuronales con diferentes arquitecturas, incluso otros clasificadores entrenados con diferentes algoritmos de aprendizaje automático.

La transferibilidad es crítica para ataques de caja negra, en los que el modelo víctima y el dataset de entrenamiento no son accesibles. Se define la transferibilidad de las muestras adversarias en tres niveles, desde el más fácil al más difícil:

1) Transferible a lo largo de la misma arquitectura entrenada con diferentes

datos. 2) Transferible a lo lardo de diferentes arquitecturas entrenadas para una

tarea en específico. 3) Transferible a lo largo de redes neuronales para diferentes tareas. Liu et al. investigaron la transferibilidad de las muestras adversarias con

objetivo y sin objetivo en modelos complejos y grandes datasets. Encontraron que los ataques sin objetivo son mucho más transferibles que los que tienen un objetivo.

Page 37: NSTITUTO OLITÉCNICO ACIONAL

23

1.7.2. Detectabilidad

La entrada perturbada se considera una muestra adversaria solo si pertenece a la misma clase que la imagen original. Por lo tanto, debe ser lo suficientemente similar: la similitud es evaluada por el juicio humano y, por lo tanto, difícil (o costosa) de cuantificar con exactitud. Pero incluso si la entrada perturbada cae dentro del límite de la clase verídica, su similitud con la imagen original es importante: cuanto más diferente sea, más fácil será detectar la perturbación.

1.7.3. Universalidad Un caso especial es el de la universalidad, que se refiere a una perturbación

que puede ser añadida a cualquier imagen y es capaz de engañar un modelo de clasificación dado. Para su cálculo, no depende de una imagen sobre la cual añadir una perturbación.

1.7.4. Robustez

Normalmente cuando se ataca a un modelo clasificador, se permite que el adversario lo alimente directamente con muestras adversarias. Esto es solo ideal para los modelos que operan completamente dentro de una computadora, pero en el mundo real los sistemas alimentan a los modelos obtienen con entradas, a través de algún tipo de sensor. A partir de esto surge la pregunta sobre si las muestras adversarias sobreviven a las transformaciones introducidas por los sensores, tales como el ruido, la codificación, el cambio de escala o un cambio en el ángulo de visión de la cámara que alimenta al modelo.

Se ha encontrado que la robustez de la muestra adversaria depende de factores

como el tamaño de la perturbación añadida y el número de iteraciones del ataque lanzado. Pero sobre todo, la robustez depende de que tan bien dirigido este un ataque [15].

Page 38: NSTITUTO OLITÉCNICO ACIONAL

24

Capítulo 2

2. Estado del arte de ataques adversario

Notación y términos utilizados

A lo largo de este capítulo se hará uso de una notación generalizada, para que de esta forma las diferentes notaciones con las que cada grupo de investigadores reporta en sus documentos de investigación sus resultados afecten la compren-sión de los métodos que se resumirán a continuación.

Termino Descripción 𝑥′ Muestra adversaria

𝑙 Etiqueta de la clase del problema de clasificación

𝑙′ Etiqueta de la clase adversaria en muestras adversarias con objetivo

𝜂 Diferencia entre una entrada original y

una modificada: 𝜂 = 𝑥d − 𝑥 𝑐 Constante a buscar

𝑓(∙) Modelos de aprendizaje profundo

𝜃 Parámetros del modelo de aprendizaje

profundo 𝑓 𝐽i(∙,∙) Función de pérdida de un modelo 𝑓 ‖∙‖M Norma ℓM 𝑦jj Clase menos probable

𝜖

Es un valor escalar pequeño que restringe la norma de la perturbación

(el tamaño de la perturbación adversaria). Siempre se especifica en términos de valores de píxel en el

rango de [0,255]

𝛼 Determina el tamaño del cada

paso (normalmente 𝛼 = 1) Tabla 2.1 Notación y términos usados

Page 39: NSTITUTO OLITÉCNICO ACIONAL

25

L-BFGS (Szegedy et al. 2014) Szegedy et al. [16] fueron los primeros en demostrar que la existencia de

pequeñas perturbaciones en imágenes puede llevar a modelos de aprendizaje profundo a la clasificación errónes. Generaron muestras adversarias usando L-BFGS (método de memoria limitada de Broyden–Fletcher–Goldfarb–Shanno) para generar muestras adversarias que consiguiesen engañar a un modelo de clasificacion con base en redes neuronales profundas, alejando dicha clasificacion de la clase original. Definiendo lo siguiente:

minYp

𝑐‖𝜂‖ + 𝐽q(𝑥d, 𝑙d) 𝑠𝑢𝑗𝑒𝑡𝑜𝑎𝑥d ∈ [0,1]

(2.2.1)

Para encontrar un valor adecuado de 𝑐, el ataque L-BFGS calcula los valores

aproximados de las muestras adversarias buscando linealmente que 𝑐 > 0. Para inicializar este ataque se requiere un valor pequeño positivo de 𝜖, valor inicial de 𝑐. Los autores mostraron que las muestras adversarias generados podían ser generalizados a diferentes modelos y diferentes datasets de entrenamiento.

Este método es capaz de calcular perturbaciones que cuando son añadidas a

imágenes limpias pueden engañar a una red neuronal, pero aun añadiendo las perturbaciones, las imágenes perturbadas permanecen similares a las imágenes originales. Este método se desarrolló para clasificar erróneamente las imágenes, no se dirigió el ataque hacia una clase en específico. Es decir, L-BFGS es un ataque meramente sin objetivo.

Page 40: NSTITUTO OLITÉCNICO ACIONAL

26

Una de las arquitecturas atacadas por Szegedy et al. fue AlexNet, con la cual obtuvieron los siguientes resultados:

Imagen 2.1 Imagen 2.2

(Szegedy et al.,2014)

En las imágenes 2.1 y 2.2 se muestran las muestras adversarias generadas para AlexNet. Las imágenes en la columna izquierda representan la imagen original, las imágenes en el centro representan la diferencia entre las imágenes perturbadas y las imágenes originales y las imágenes en la columna derecha son las muestras adversarias. Todas las imágenes en la columna derecha fueron predichas como “ostrich, Struthio camelus”. De los resultados, la media de la distorsión en 64 muestras es de 0.006508. Las muestras fueron seleccionadas aleatoriamente, no hay selección humana involucrada.

FGSM (Goodfellow et al. 2014) En 2014 Goodfellow et al. [17] desarrollaron un método para generar de

manera eficiente una muestra adversaria para una imagen dada, resolviendo el siguiente problema:

𝜼 = 𝝐𝒔𝒊𝒈𝒏(𝛁𝒙𝑱𝜽(𝒙, 𝒍)) (2.3.1)

Donde 𝜖 es la magnitud de la perturbación. La muestra adversaria es

calculada sumando 𝜂 a la imagen original 𝑥d = x + 𝜂. La perturbación puede ser calculada usando retro-progragacion. Primero se calcula el gradiente ∇Y𝐽q(𝑥, 𝑙) para después se busca la mínima 𝜖.

Page 41: NSTITUTO OLITÉCNICO ACIONAL

27

El método fue formalmente descrito como “Método de signo de gradiente rápido” (FGSM por sus siglas en ingles). Interesantemente las muestras adversarias generadas por el FGSM explotan la linearidad de las redes neuronales en el espacio dimensional mas alto, mientras que comúnmente se pensaba que esos modelos serian altamente no lineares. En su trabajo Goodfellow et al. elaboran una hipótesis en la que afirman que los diseños de redes neuronales profundas modernas, que intencionalmnte fomentan el comportamiento lineal, se hacían también susceptibles a perturbaciones analíticas pobres en diseño. A esta idea se le refiere comúnmente como la hipótesis de ‘linearidad’. Este método no dirige las perturbaciones para hacer que el modelo prediga una clase en específico, por el contrario, logra que la imagen sea clasificada erróneamente.

Imagen 2.3 (Goodfellow et al. 2015)

En la imagen 2.3 se ilustra uno de los resultados a los que Goodfellow et. al llegaron. En el que se generó una muestra adversaria por FGSM contra GoogleLeNet. El tamaño de la perturbación fue de 0.007.

Encontraron que la parte lineal de la más alta dimensión de una red neuronal

profunda no puede resistir una muestra adversaria, cuando un comportamiento lineal acelera el entrenamiento. Esto incluye enfoques de regularización usados en redes neuronales profundas como dropout.

Page 42: NSTITUTO OLITÉCNICO ACIONAL

28

BIM y ILLC (Kurakin et al. 2016) Los métodos de un solo paso perturban imágenes tomando un solo paso largo

en la dirección que incremente la función de perdida del clasificador (por ejemplo el gradiente ascendiente). La idea de estos ataques es hacer iterativamente pequeños pasos mientras se ajusta la dirección de cada paso. El método básico de iteración [18] (BIM por sus siglas en inglés) recorta los valores de los pixeles para evitar grandes cambios en cada píxel:

𝐶𝑙𝑖𝑝Y,�{𝑥d} = min{255, 𝑥 + 𝜉,max{0, 𝑥 − 𝜖, 𝑥d}} (2.4.1)

Donde: 𝐶𝑙𝑖𝑝Y,�{𝑥d} es una función que limita el cambio de la imagen adversario generada en cada iteración.

Las muestras adversarias generadas por BIM son calculados en múltiples interacciones:

𝑥" = 𝑥, 𝑥S]U = 𝐶𝑙𝑖𝑝Y,�{𝑥S + 𝛼𝑠𝑖𝑔𝑛�∇Y𝐽(𝑥S, 𝑦)�

(2.4.2)

Para atacar una clase específica, se elige la clase menos probable de la

predicción y se intenta maximizar la pérdida de entropía cruzada.

𝑥" = 𝑥, 𝑦jj = arg𝑚𝑖𝑛6 {𝑝(𝑦|𝑥)} (2.4.3)

ILLC es calculado de la siguiente manera:

𝑥S]U = 𝐶𝑙𝑖𝑝Y.��𝑥S − 𝛼𝑠𝑖𝑔𝑛�∇Y𝐽(𝑥S, 𝑦jj)�� (2.4.4)

Este método engaño exitosamente a una red neuronal con una imagen tomada con una cámara de celular.

Page 43: NSTITUTO OLITÉCNICO ACIONAL

29

2.4.1 Imagen original 2.4.2 Imagen limpia 2.4.3 𝝐 = 𝟒 2.4.4 𝝐 = 𝟖

(Kurakin et al. 2017)

En las imágenes 2.4 se demuestra un ataque de caja negra aplicado a una aplicación de teléfono para la clasificación de imágenes, usando muestras adversarias físicos. Se tomó una imagen del dataset de ImageNet (2.4.1) y se usó para generar imágenes adversarias (2.4.3 y 2.4.4) con varios tamaños de perturbación adversaria 𝜖. Después se imprimió la imagen limpia y las imágenes adversarias usando la aplicación demo de TensorFlow Camera para clasificarlas. Se puede observar que la imagen limpia fue clasificada como una lavadora, mientras que las imágenes adversarias fueron clasificadas erróneamente.

Una comparación en la eficacia entre los métodos de generación de muestras

adversarias, bajo ataques como FGSM, BIM e ILLC es la de la imagen 2.5:

Imagen 2.5 Comparación de la efectividad de la exactitud de Inception v3 bajo ataque por diferentes

métodos y diferentes 𝜖 comparados con “imágenes limpias”. 𝜖 varia de 2 a 128. (Kurakin et al. 2017)

Page 44: NSTITUTO OLITÉCNICO ACIONAL

30

JSMA (Papernot et al. 2016) Papernot et al. [15] diseñaron un eficiente ataque llamado “Mapa adversario

de prominencia con base Jacobiana” (Jacobian-based Saliency Map Attack). Esto lo hicieron calculando la matriz jacobiana de una muestra x dada, la cual está dada por:

𝐽�(𝑥) = 𝜕𝐹(𝑥)𝜕𝑥 = �

𝜕𝐹�(𝑥)𝜕𝑥R

�RY�

(2.5.1)

Donde 𝐹 denota la penúltima capa (logits). 𝑖 es el índice para los componentes de entrada 𝑗 es el índice para los componentes de salida

La ecuación (2.5.1) es esencialmente el Jacobiano de la función

correspondiente a lo que la red neuronal aprende durante el entrenamiento. La derivada directa calcula los gradientes que son similares a aquellos calculados por retro propagación, pero con dos importantes diferencias: se toma la derivada directa de la red, en lugar de hacerlo con su función de costo, y se diferencia con respecto a las características de entrada en lugar de los parámetros de la red. Como consecuencia, en lugar de propagar gradientes hacia atrás se elige propagarlos hacia adelante, esto permite encontrar componentes de entrada que conducen a cambios significativos en las salidas de la red.

En común generar muestras adversarias restringiendo las normas ℓ$ o ℓ# de las perturbaciones para hacerlos imperceptibles al ojo humano. Pero Papernot et al. en este ataque restringe la norma ℓ" de las perturbaciones. Esto significa que la meta de este ataque es modificar solo unos pixeles en la imagen en lugar de perturbar toda la imagen para engañar al clasificador.

Page 45: NSTITUTO OLITÉCNICO ACIONAL

31

El algoritmo modifica pixeles de una imagen limpia en un tiempo, mientras que monitorea los efectos del cambio en la clasificación resultante. El monitoreo es realizado calculando un mapa adversario de prominencia de los gradientes de las salidas de las capas de la red. En este mapa, un valor grande indica una alta probabilidad de la red para predecir 𝑙′ como la etiqueta de la imagen modificada en lugar de la etiqueta original 𝑙. Una vez que el mapa es calculado, el algoritmo calcula el píxel que es más efectivo para engañar a la red y lo altera. Este proceso es repetido hasta que se logra el máximo número de pixeles alterados en la imagen adversario o el engaño resulte exitoso.

Imagen 2.6 Generación de muestras adversarias aplicados al dataset MNIST. La distorsión es añadida a los muestras de entrada para forzar a la red neuronal a predecir una clase seleccionada. Distorsión

mínima = 0.26%, máxima distorsión = 13.78%, promedio de distorsión = 4.06%

Carlini & Wagner (2016) En 2016 Carlini y Wagner lanzaron un ataque [19] para derrotar la destilación

defensiva, que consiste en reducir el tamaño de una red neuronal profunda transmitiendo el conocimiento de una red neuronal grande a una más pequeña.

Page 46: NSTITUTO OLITÉCNICO ACIONAL

32

Definieron un nueva función objetivo 𝑔:

min�‖𝜂‖M + 𝑐 ∙ 𝑔(𝑥 + 𝜂)

𝑠𝑢𝑗𝑒𝑡𝑜𝑎𝑥 + 𝜂[0,1]S (2.6.1)

Donde 𝑔(𝑥d) ≥ 0 si y solo si 𝑓(𝑥d) = 𝑙′. De esta manera, la distancia y el plazo

de penalización pueden ser optimizados. Una de las funciones más efectivas evaluadas por los experimentos hechos por Carlini y Wagner es:

𝑔(𝑥d) = max(max

R[�d(𝑍(𝑥d)R) − 𝑍(𝑥d)�, −𝑘) (2.6.2)

Donde 𝑍 denota la función de activación softmax y 𝑘 es una constante para controlar la confianza.

Los autores introdujeron una nueva variante 𝜔 a los ataques para evita los límites de la computación lineal, donde 𝜔 satisface la ecuación 𝜂 =U#(tanh(𝜔) + 1) − 𝑥. Los optimizadores generarles en aprendizaje profundo como

Adam y SGD son usados para generar muestras adversarias y realizar 20 iteraciones de esa generación para encontrar el valor óptimo de 𝑐 por búsqueda binaria. Sin embargo, se encontró que si los gradientes de ‖𝜂‖M y 𝑔(𝑥 + 𝜂) no están en la misma escala, es muy difícil encontrar el valor adecuado de 𝑐 en todas las iteraciones de la búsqueda del gradiente y obtener un resultado óptimo.

De los tres ataques ℓ", ℓ#𝑦ℓ$ que los autores proponen. El ataque ℓ# es el

que mas sobresale debido a que mostraron que la destilación de red no puede defenderse de este ataque.

El ataque ℓ#puede ser descrito por la siguiente ecuación:

min��12 (tanh

(𝜔) + 1�#+ 𝑐 ⋅ 𝑔 �

12 tanh

(𝜔) + 1  (2.6.3)

El ataque diseñado por Carlini y Wagner es esencialmente un ataque iterativo

de gradiente que usa los optimizadores Adam y SGD, múltiples puntos de inicio, una función no linear 𝑡𝑎𝑛ℎ respecto a las restricciones usuales y una función de restricción adversarial basada en la función 𝑚𝑎𝑥.

Page 47: NSTITUTO OLITÉCNICO ACIONAL

33

Capítulo 3 3. Diseño de escenarios de ataque

En este capítulo se describe el diseño de los escenarios de ataque presentados

para este trabajo. Se explican las consideraciones que se tuvieron para realizar el diseño de cada escenario, tales como la selección arquitecturas de redes neuronales que sean aptas para tareas de clasificación de imágenes y los métodos de ataque que más adelante se implementaron.

Metodología de investigación

“La investigación es el acto de subir por los callejones para ver si están ciegos.”

Plutarco

En un contexto académico la investigación es usada para referirnos a la actividad de una investigación diligente y sistemática en un área, con el objetivo de descubrir o revisar hechos, teorías, aplicaciones, etc. El propósito de cualquier investigación es responder a preguntas a través de la aplicación de procedimientos científicos. Las metodologías que son usadas en una investigación que involucra a las ciencias de la computación son la experimental, teórico, y las de simulación.

En el presente trabajo se hizo uso de la metodología experimental, debido que

es comúnmente usada para probar nuevas propuesta para diferentes tipos de problemas. Todos los experimentos realizados y resultados obtenidos son reproducibles, la referencia en este trabajo para los resultados está dada por los registros y reportes de los experimentos.

En la metodología experimental existen dos fases, la exploratoria y la de

evaluación.

Page 48: NSTITUTO OLITÉCNICO ACIONAL

34

Exploratoria: durante esta fase son identificadas preguntas que se intentan resolver durante la fase de evaluación, estas preguntas ayudan a comprender el tema de investigación para definir sus límites y el enfoque que se quiere dar.

Evaluación: en esta fase se establecieron preguntas que se intentaron resolver

mediante los experimentos, así como también se analizan los parámetros que se pueden manipular.

En este trabajo se hizo uso de estas dos fases de la siguiente forma: Exploratoria: Debido a que los conocimientos generales sobre los ataques

adversarios eran en un principio nulos no se podía formular una posible hipótesis, dando paso con ello a una hipótesis informal, es decir no se sabía el efecto de un ataque adversario sobre un modelo de clasificación dado.

La formulación de preguntas es una guía para los experimentos exploratorios,

en el caso de esta investigación las que preguntas que se intentaron resolver en esta fase son:

• Pregunta 1. ¿Son los métodos de ataque basados en gradiente

aplicables a modelos clasificadores con base en redes neuronales convolucionales? Esta pregunta se refiere a si los métodos basados en gradiente se pueden aplicar a un modelo clasificador dado.

• Pregunta 2. ¿Qué herramientas son necesarias para atacar un modelo clasificador? Que herramientas son usadas en el estado del arte para generar muestras adversarias.

• Pregunta 2. ¿Qué factores se deben considerar para asegurar el ataque a un conjunto de imágenes? En caso de la generación de una muestra adversaria fallida, que es lo que se debe de considerar para que este resultado no interrumpa la generación de los demás muestras adversarias.

• Pregunta 4. ¿Con que parámetros se inicializa un ataque adversario para controlar la clasificación de un modelo dado?

Page 49: NSTITUTO OLITÉCNICO ACIONAL

35

Para esta etapa se elaboró un marco teórico y se estudió el estado del arte con detenimiento, esto con el fin de ampliar el panorama de los ataques adversario y delimitar la investigación.

Evaluación: en esta fase se describen las pruebas de los experimentos que se

llevaron a cabo para resolver las preguntas de la fase exploratoria. Ampliando de manera significativa el panorama de los ataques adversarios. Estas fase nos permitió comprobar la hipótesis de este trabajo.

De la fase exploratoria:

La Pregunta 1 se resolvió estudiando las redes neuronales y el estado del arte de los ataques adversario, encontrando que actualmente las redes neuronales usan el gradiente descendiente en el entrenamiento y que debido a que no hay método que mejore la eficiencia conseguida con este método, es el que se ha estandarizado. Con redes neuronales que hacen uso del gradiente descendiente como método de entrenamiento, se puede generalizar que serán vulnerables a ataques con base en gradiente.

Para resolver la Pregunta 2 se experimentó con 3 paquetes del lenguaje

Python disponibles para su uso libre: FoolBox, Cleverhans y ART (IBM). Cada uno de estos implementa los métodos de ataque con la misma estructura, las diferencias son los métodos con lo que se extraen el gradiente y la función de pérdida del modelo víctima, las funciones para comparar la muestra adversaria generada y la imagen original, además de los métodos de ataque disponibles para generar una muestra adversaria. De los tres paquetes Foolbox es el más completo por la cantidad de métodos de ataque disponibles, funciones para la medición de una perturbación y la compatibilidad para envolver modelos entrenados con diferentes frameworks de aprendizaje profundo. Razón por la cual, en este trabajo se decidió trabajar con este paquete.

La Pregunta 3 se resolvió mediante la experimentación con ataques

implementados con el paquete Foolbox, además de la lectura de la documentación de este framework. Con esto, los experimentos en la fase de evaluación resultaron siempre exitosos, es decir, todos los errores por parte del paquete Foolbox fueron considerados y mitigados.

Page 50: NSTITUTO OLITÉCNICO ACIONAL

36

La Pregunta 4, fue resuelta mediante la experimentación de los cada uno de los parámetros de ataque mientras se comparaba con resultados del estado del arte. Obteniendo con ello la tabla para inicialización de cada uno de los ataques de la sección 3.5.

Foolbox Foolbox es un paquete de Python creado recientemente para generar

perturbaciones adversarias, cuantificar y comparar la robustez de modelos de aprendizaje automático. Este paquete provee implementaciones de los métodos de ataques adversarios publicados en artículos científicos, todos los métodos realizan ajustes de parámetros internos para encontrar la mínima perturbación adversaria. Adicionalmente a esto, Foolbox interactúa con la mayoría de los framework de aprendizaje profundo más populares y permite el uso de diferentes criterios de ataque, como ataques con objetivo, clasificación errónea top-k así como también diferentes medidas de distancia.

Foolbox provee sobre los paquetes similares lo siguiente: • Interactúa con los frameworks de aprendizaje automático más populares

como PyTorch, Keras, TensorFlow, Theano, Lasagne y MXNet. • Provee una manera directa para añadir soporte de otros frameworks. • Provee implementaciones para más de 15 ataques adversarios mediante

una interfaz única de programación (API). • Soporta diferentes criterios para muestras adversarias.

Generar muestras adversarias requiere cinco elementos fundamentales: • Primero: un modelo que dada una entrada haga una predicción. • Segundo: un criterio que defina que tipo de una muestra adversaria se

generara (con objetivo, sin objetivo). • Tercero: una medida de la distancia que mida el tamaño de una

perturbación (ℓ", ℓ#, ℓ$). • Cuarto: un algoritmo de ataque que tome una entrada y su etiqueta

original, al modelo, el criterio del ataque adversario y la medida de la distancia para generar una perturbación adversaria.

Page 51: NSTITUTO OLITÉCNICO ACIONAL

37

La estructura de Foolbox sigue estos elementos y los implementa en cinco módulos de Python: (models, criterio, distances, attacks y adversarial).

Modelos de clasificación atacados

Como ya se explicó brevemente en el Capítulo 1, las redes neuronales convolucionales han sido a lo largo de los últimos años las redes preferidas para tareas como la clasificación de imágenes, debido a su gran rendimiento. Debido a lo anterior, los ataques desarrollados en este trabajo giran en torno a modelos de clasificación con base en redes neuronales convolucionales.

Para seleccionar los modelos a atacar se decidió priorizar a aquellos modelos

cuyas arquitecturas hayan resultado ganadoras en las últimas versiones de la competencia, que como ya se ha mencionado esta competencia se ha llevado a cabo anualmente a lo largo de 9 años y se ha convertido en el benchmark estándar para la detección de objetos y clasificación de imágenes a gran escala.

Además, en el caso del modelo Xception este modelo se incluyó debido al

replanteamiento que se hizo con respecto a la arquitectura de GoogleLeNet v3 (Inception v3) en la que se reemplazaron los módulos Inception estándar por convoluciones separables en profundidad.

Tomando lo anterior en cuenta, los modelos a atacados son los mismos cuyas

arquitecturas que se describieron en el Capítulo 1:

• VGG19 • Microsoft ResNet50 • GoogleLeNet v3 (Inception v3) • Xception

Cada uno de estos modelos puede encontrarse en el API de Keras e

implementarse rápidamente para poder ser atacado. En adelante, se hace referencia individual a cada uno de los modelos anteriores como modelo víctima.

Page 52: NSTITUTO OLITÉCNICO ACIONAL

38

3.3.1. Keras

Hay innumerables frameworks de aprendizaje profundo disponibles en la actualidad como lo son Tensorflow, PyTorch, Caffe, Theano, MXNet y Keras. Pero ¿por qué se hizo uso de Keras en el presente trabajo? En realidad los algoritmos que resultaron de esta investigación son aplicables a cualquier framework disponible en la actualidad, esto gracias a que, como ya se mencionó en la sección 3.2, Foolbox provee de compatibilidad con frameworks populares de aprendizaje profundo ya desplegados para su uso como PyTorch, Keras, TensorFlow, Theano, Lasagne y MXNet. Además de la facilidad de añadir nuevos frameworks, exclusivamente desarrollados con el lenguaje de programación Python.

Dentro de la fase de exploración, se experimentó con Tensorflow, PyTorch, Caffe y Keras. Dentro de la experimentación con estos frameworks se encontró el por qué Tensorflow es el más popular entre los desarrolladores de aprendizaje profundo, Tensorflow provee numerosos métodos para optimizar el proceso de despliegue de un modelo con base en redes neuronales. Sin embargo, la interfaz de programación de Tensorflow implicaba incluirlo como objeto de estudio en esta investigación, perdiendo el enfoque sobre los ataques adversarios. Lo anterior llevo a la de elección de otro framework con el que también experimento: Keras.

Con 250 000 usuarios individuales a mediados del 2018, Keras ha tenido mayor adopción, tanto en la industria como en la comunidad de investigadores, que otros frameworks de aprendizaje profundo, exceptuando a Tensorflow, del cual Keras es el frontend oficial por medio del módulo tf.keras. El hecho de que Keras haga uso de Tensorflow mediante este módulo lo obliga a hacer uso solo de versiones estables de él. Esto convierte a Keras en el framework ideal para esta investigación, un framework que hace uso de herramientas de aprendizaje profundo del estado del arte y que prioriza una rápida implementación de modelos de clasificación mediante modelos ya entrenados, que en el caso de esta investigación, serán estos modelos fueron nuestro blanco.

Page 53: NSTITUTO OLITÉCNICO ACIONAL

39

En la sección 3.3 se habla de las arquitecturas que fueron seleccionadas para ser atacadas, Keras provee una interfaz única de programación para estos modelos. De los cuales las características a tomar en cuenta para su implementación son:

Modelo Tamaño (disco)

Exactitud Top-1 Parámetros Profundidad

Xception 88 MB 0.790 22,910,480 126 VGG19 549 MB 0.713 143,667,240 26

ResNet50 99 MB 0.749 25,636,712 168 InceptionV3 92 MB 0.779 23,851,784 159

Tabla 3.3.1 Características importantes de modelos victima en el framework de Keras

3.3.2. Preprocesamiento de imágenes en redes neuronales convolucionales

Muchas áreas de aplicación requieren preprocesamiento sofisticado debido a

que la entrada original viene en una forma que es difícil de interpretar para muchas arquitecturas de aprendizaje profundo. Pero aun así, en la mayoría de los modelos con base en redes neuronales convolucionales las imágenes no se requiere mucho preprocesamiento.

Para cada uno de los modelos usados en los escenarios de ataque propuestos en este trabajo, se considera lo siguiente para todas y cada una de las imágenes.

a. Estandarización de la imagen

Las imágenes fueron estandarizadas de forma que todos sus pixeles se

encontraran en intervalos razonables, como [0 ,1] o [-1, 1]. Dado el caso, mezclar imágenes que se encuentren en el intervalo [0, 1] con imágenes que se encuentren en [0, 255] resultaran en una falla. Es por ello por lo que todas las imágenes usadas fueron estandarizadas de acuerdo con el modelo victima a atacar.

Page 54: NSTITUTO OLITÉCNICO ACIONAL

40

b. Tamaño de imagen

Darles formato a las imágenes para que tengan la misma escala es el único tipo de preprocesamiento que es estrictamente necesario. El cambio de las dimensiones en tamaño de una imagen no afecta la resolución de ella, esto conlleva que la perdida de información sea muy pequeña. Todas las imágenes fueron cambiadas en tamaño de acuerdo con las dimensiones de tamaño a la entrada que cada modelo victima requirió.

Algunos modelos de redes convolucionales aceptan tamaños diferentes de

imágenes y ajustan dinámicamente el tamaño de sus regiones de agrupamiento para mantener la salida constante. Los modelos seleccionados en este trabajo no se ajustan dinámicamente al tamaño de la imagen.

c. Expansión de dimensiones de imagen

Así como se requirió darle formato al tamaño de las imágenes, también se

requirió expandir las dimensiones de la imagen original para poder ser procesada por el modelo víctima, logrando con ello las mismas dimensiones que el modelo objetivo. La dimensión que se agregó no agrega o borra elementos del arreglo multidimensional que representa la imagen, solo cambia la forma añadiendo una dimensión. En nuestro caso, la dimensión siempre se añade en el axis 0. Y como se le pasa una imagen a la vez a los modelos víctima, el tamaño del lote es de 1. Es decir, la dimensión añadida tiene tamaño de 1.

d. Cambio de espacios de color

Existen modelos que requieren que se cambie el espacio de color, por ejemplo,

en el caso de los modelos VGG19 y VGG16 se requiere cambiar de RGB a BGR y además se necesita la media estándar de los colores RGB de todo el dataset. Cabe mencionar, como se menciona en la sección 1.4, que en este trabajo no se hace uso de modelos que hagan uso de espacios de colores diferentes al RGB o BGR.

Page 55: NSTITUTO OLITÉCNICO ACIONAL

41

e. Canales primero o al ultimo Por último, cada uno de los modelos usados son capaces de procesar una

imagen dada independientemente del orden del formato de los datos de la imagen, por ejemplo:

• Canales primero: (3, 299, 299) • Canales al último: (299, 299, 3)

Donde la anchura y altura de la imagen está dada por 299, y 299. Mientras que el número de canales esta dado por 3. Cabe agregar que los modelos usados no aceptan más de 3 canales.

Considerando lo anterior, el preprocesamiento aplicado para cada uno de los modelos es el siguiente:

Arquitectura Tamaño

de la imagen

Intervalo imagen

Dimensiones de entrada

Espacio de color

Orden canales

VGG19 224 x 224 [0, 255] 4 BGR Primero/Ultimo ResNet50 224 x 224 [0, 255] 4 RGB Primero/Ultimo

GoogleLeNet v3 299 x 299 [-1, 1] 4 RGB Primero/Ultimo Xception 299 x 299 [-1, 1] 4 RGB Primero/Ultimo

Tabla 3.3.2 Preprocesamiento considerado para cada uno de los modelos víctima.

Page 56: NSTITUTO OLITÉCNICO ACIONAL

42

Dataset atacado En el Capítulo 1 se dan a conocer 3 de los datasets estándar en tareas como

la clasificación de imágenes, de los cuales ImageNet sobresale debido a la gran cantidad de imágenes que contiene y la estructura con la cual fue diseñado. Cabe mencionar que cada uno de los modelos de clasificación elegidos fueron entrenados originalmente por sus diseñadores con el dataset ImageNet. El uso de este dataset no deja a un lado el hecho de que todos los modelos seleccionados para ser atacados en este trabajo están disponibles junto con sus respectivos pesos de ImageNet en el framework de Keras para aprendizaje profundo, esta librería fue desarrollada para mantener el enfoque de habilitar la rápida experimentación.

Cada uno de los modelos fue probado con el dataset entero antes de ser

desplegado por la librería Keras. La cantidad de imágenes en el dataset de validación de ImageNet es de 50, 000 y la relación entre los datasets de entrenamiento y validación es nulo. El ataque al dataset de validación entero requiere de un alto costo computacional por lo que solo se atacó el 1% (500 imágenes) para cada uno de los ataques.

Para seleccionar las 500 imágenes atacadas se muestreo aleatoriamente el

dataset entero, ya que esta técnica es uniforme, es decir; cada imagen tiene igualdad de oportunidades de ser seleccionado. Cada imagen es seleccionada independientemente de los otros las otras imágenes del dataset, con ello se asegura que no hay imágenes repetidas.

Parámetros de inicialización de cada ataque

Se seleccionaron 5 ataques (L-BFGS, FGSM, JSMA, BIM y C&W) con base en gradiente para atacar los modelos VGG19, ResNet50, GoogleLeNet v3 y Xception.

Page 57: NSTITUTO OLITÉCNICO ACIONAL

43

Para lograr obtener la tabla fue necesario experimentar con la variación de parámetros de cada ataque y tomar como referencia el estado del arte de cada uno de ellos, es importante recalcar que las investigaciones expuestas en el Capítulo 2 no atacan modelos de clasificación del estado del arte como VGG19, Xception, GoogleLeNet o ResNet50 ya mayoría de las investigaciones en el estado del arte tienen como blanco modelos con cierta antigüedad como LeNet y AlexNet. Considerando lo anterior, los parámetros de inicialización de la tabla 3.5.1 son resultado de la fase de exploración de esta investigación. Los parámetros de cada ataque pretenden conservar la perturbación como despreciable. Para Foolbox, los parámetros de inicialización fueron los de la tabla 3.5.1.

Ataque Parámetros

L-BFGS epsilon = 1e5"¦,

num_random_targets = 0,maxiter = 150

FGSM epsilons = 1000,max_epsilon = 1

JSMA

max_iter = 2000,num_random_targets = 0,fast = True, theta = 0.1,

max_perturbations_per_pixel = 7

BIM

binary_search = True,epsilon = 0.3,stepsize = 0.05,iterations = 10,

random_start = False,return_early = True

C&W

binary_search_steps = 5,max_iterations = 1000,

confidence = 0,learning_rate = 0.005,initial_const = 0.01,abort_early = True

Tabla 3.5.1 Parámetros considerados para la inicialización de los ataques.

Page 58: NSTITUTO OLITÉCNICO ACIONAL

44

Los parámetros de la tabla 3.5.1 son considerados tanto en los ataques “con objetivo” como los “sin objetivo”, esto para garantizar que la búsqueda de las muestras adversarias de cada uno de los ataques adversario sea equitativa y así poder compararlos.

L-BFGS se inicializa con epsilon = 1e5"¦ para que la búsqueda la constante

c de la ecuación 3.2.1 para garantizar que el mínimo de la función sea lo suficientemente pequeño. El parámetro num_random_targets = 0 corresponde a los ataques sin objetivo, en los cuales no se especifica una clase objetivo, asegurando con ello que la primer clase encontrada para la muestra adversaria será devuelta. Para los ataques con objetivo num_random_targets no es usado. Con max_iter = 150 se limita el número de iteraciones.

FGSM se inicializa con epsilons = 1000 y max_epsilon = 1, lo que indica que los pasos van de 0 a 1 con un paso de 0.001.

Para JSMA se fija el número máximo de iteraciones con max_iter = 2000, num_random_targets = 0 tiene el mismo efecto que en LBGF, con fast = True se hace elige el cálculo rápido del mapa de prominencia, con max_perturbations_per_pixel = 7 se fija el máximo número de veces que un pixel puede ser modificado y por ultimo theta = 0.1 es la perturbación por pixel relativa al rango [mínimo, máximo].

Para BIM binary_search = True establece que se hará una búsqueda binaria

sobre el tamaño del paso y épsilon, conservando el radio constante y usando sus valores para empezar la búsqueda. Si se establece como False los hiperparámetros no son optimizados. Con epsilon = 0.3 se limita el tamaño de la perturbación, pero como binary_search = True este valor solo es usado para inicialización y es adaptado automáticamente. En este caso iterations = 10 marca el numero de iteraciones de cada ejecución del gradiente descendiente. Con random_start = False se empieza el ataque desde la entrada original en lugar de un punto aleatorio y por último si return_early = True la ejecución individual en curso de un gradiente descendiente debe parar tan pronto como sea encontrada una muestra adversaria.

Page 59: NSTITUTO OLITÉCNICO ACIONAL

45

Para C&W binary_search_steps = 5 indica el número de pasos para la búsqueda binaria usada para encontrar la constante de compensación optima entre la distancia y la confianza. El número máximo de iteraciones de fija con max_iterations = 1000 y la confianza mínima se establece con confidence = 0 (es decir, no se establece una confianza mínima). La taza de aprendizaje del algoritmo se establece con learning_rate = 0.005 y el costo inicial initial_const =0.01 es la constante de compensación inicial para afinar la relación de la distancia y la confianza. Si la perdida no decae por un tiempo, el optimizador Adam abortara, esto se fija con abort_early = True.

Estructura de tabla experimental para ataques basados en gradiente

El primer paso en los experimentos es generar una tabla que muestre los

resultados de cada ataque, en este caso la estructura de las tablas que muestran los resultados para ataques con base en gradiente es la siguiente:

Modelo victima

Ataque Parámetros del

ataque ResNet50 VGG19

Inception V3

Xception (1)

En la tabla (1) se deben especificar los parámetros usados para inicializar el ataque y el modelo victima (modelo de clasificación a atacar).

Page 60: NSTITUTO OLITÉCNICO ACIONAL

46

Evaluación de los ataques

Modelo victima

Numero de

muestras atacadas

Datos modificables

¿ataque con objetivo?

Exactitud promedio del ataque

Tasa de éxito del ataque

ResNet50 VGG19

Inception v3 Xception

(2) La tabla (2) es rellenada con los datos del ataque, especificando si el ataque

es con objetivo o sin objetivo, la probabilidad promedio del ataque calculado arrojada por el modelo víctima y la tasa de éxito en el subconjunto de imágenes.

La exactitud promedio del ataque se refiere al promedio de las predicciones generadas por el modelo victima sobre una muestra adversaria. La tasa de éxito indica la cantidad de muestras atacadas que lograron ser atacadas exitosamente, generando con ello una muestra adversaria.

Magnitud de la perturbación

Modelo victima

Distancia ℓ"

Distancia ℓ#

Distancia ℓ$ DCM* DAM**

ResNet50 VGG19

Inception v3 Xception

(3) *Distancia cuadrada media **Distancia absoluta media

La tabla (3) muestra las magnitudes de la perturbación añadida por el ataque.

Las métricas de magnitud de la perturbación son comparadas con ℓ", ℓ#,ℓ$ son comparadas con la cantidad de datos modificables del arreglo multidimensional que representa una imagen, que es calculada multiplicando el ancho, alto y los canales de una imagen.

Page 61: NSTITUTO OLITÉCNICO ACIONAL

47

Duración promedio ataques

Modelo victima Tiempo (segundos)

ResNet50 VGG19

Inception v3 Xception

(4) La tabla (4) muestra la duración promedio del ataque medida en segundos. Las tablas 1, 2, 3 y 4 representan una sola tabla horizontal una arquitectura

dada, pero por cuestiones meramente ilustrativas se optó por dividirla. La selección de campos requeridos para analizar el rendimiento de un ataque fue mediante el estudio del estado del arte de ataques adversario, seleccionando de entre ellos los campos comunes y más usados. Así como también se añadieron campos como lo son la duración promedio de los ataques, la distancia cuadrada media y la distancia absoluta media con el fin de aumentar la eficiencia de la comparación entre las muestras originales y la muestra adversaria.

Vale la pena recalcar que el análisis de las tablas se con respecto a las filas,

el análisis con respecto a las filas horizontales, en el caso de esta investigación solo sirve para comparar los modelos que tienen los mismos límites de dimensiones de procesamiento de datos, es decir, se compara ResNet50 y VGG19; Inception v3-Xception.

Algoritmos propuestos para ataques basados en gradiente

Los modelos atacados son una implementación en los framework Keras y

Foolbox en una distribución Linux, usando una tarjeta gráfica GT730, procesador Intel Core i7 de séptima generación y 12GB en RAM, además de hacer uso del lenguaje Python.

Page 62: NSTITUTO OLITÉCNICO ACIONAL

48

Considerando los puntos anteriores de este capítulo para el diseño de escenarios de ataque, se generaron algoritmos a partir de la experimentación con las herramientas de Keras y Foolbox. Cada uno de los algoritmos descritos a continuación resuelven un experimento en este trabajo, pero la manera en la que se trabaja con ellos facilita la reproductibilidad no solo con el lenguaje de programación Python, sino también con otros lenguajes con los que se requiera evaluar el efecto de los ataques adversarios sobre modelos de aprendizaje profundo, todo esto desarrollando primero una variación del paquete Foolbox para el lenguaje que se requiera usar

Los algoritmos que se describen a continuación fueron elaborados para realizar

ataques individuales 𝐴 con base en gradiente, modelos 𝑓(⋅) con base en redes neuronales profundas. Estos algoritmos pueden adaptarse para generar ataques de caja blanca o de caja negra, restringir la perturbación añadida u optimizarla, generar falsos positivos o falsos negativos y hace uso de imágenes que no pertenezcan a un dataset en específico.

3.7.1. Algoritmo para ataques sin objetivo

1. Se crea una instancia del modelo víctima 𝑓(⋅) seleccionando los pesos del dataset 𝐷 a atacar como parámetro 𝜃.

2. Para 𝑓(∙) se crea un modelo 𝑓i´´�µ´Y(∙) que provea una interfaz de programación unificada a los ataques.

3. Se extrae un subconjunto de 𝑁 imágenes seleccionadas uniformemente e independiente que se encuentran en 𝐷¶·�.

4. En un ciclo para todas las imágenes del subconjunto indexado, inicializando 𝑛 = 1:

a. Se obtiene la imagen 𝑥 correspondiente al índice 𝑛. b. A 𝑥 se le aplica el preprocesamiento correspondiente para 𝑓(∙

). c. Se genera una predicción 𝑙 del modelo 𝑓(∙) para 𝑥. d. Se selecciona el ataque 𝐴 con base en gradiente. e. Se especifica el criterio 𝑘 de 𝐴 como “sin objetivo”

(clasificación errónea). f. Para el ataque 𝐴, 𝑥 es reducido en una dimensión (𝑎𝑥𝑖𝑠0).

Page 63: NSTITUTO OLITÉCNICO ACIONAL

49

g. Se inicializa 𝐴 con los parámetros 𝜑 = (𝑓, 𝑥, 𝑙.𝑘). Y si es el caso se especifica la norma ℓM a usar.

h. Si 𝐴 es exitoso, se guarda la predicción de la imagen original y se guarda 𝐴 con estado exitoso, continuando con (h). Si 𝐴 falla, se guarda la predicción de la imagen original y se guarda 𝐴 especificándolo el estado fallido aumentando después el índice N y regresa a (a). De lo contrario continua.

i. Se obtiene la muestra adversaria 𝑥′ y el tiempo de ejecución de 𝐴.

j. Se genera una predicción 𝑙′ del modelo 𝑓(∙) para 𝑥′. k. Si 𝑙 = 𝑙′ la muestra adversaria no fue generada exitosamente. l. Se calculan las magnitudes de perturbación entre 𝑥 y 𝑥′. m. Se guardan los datos obtenidos para cada una de las imágenes

(tiempo de ejecución, y magnitudes de perturbación). n. Se incrementa 𝑛 y se repite el ciclo hasta que 𝑛 = 𝑁, cuando la

condición se cumple el ataque finaliza. 5. Fin

En el algoritmo 3.7.1 el criterio del ataque se especifica como “sin objetivo”.

Los tiempos de ejecución variaran dependiendo de los recursos de hardware disponibles. 𝐷 es el dataset con el cual fue entrenado el modelo y 𝐷¶·� es el dataset de validación, que este trabajo será la referencia que contiene las imágenes para atacar. 𝑓i´´�µ´Y(∙) representa el modelo creado por Foolbox que envuelve al modelo víctima.

3.7.2. Algoritmo para ataques con objetivo

1. Se crea una instancia del modelo víctima 𝑓(⋅) seleccionando los pesos del dataset 𝐷 a atacar como parámetros 𝜃.

2. Para 𝑓(∙) se crea un modelo 𝑓i´´�µ´Y(∙) que provea una interfaz de programación unificada a los ataques.

3. Se extrae un subconjunto de 𝑁 imágenes seleccionadas uniformemente e independiente que se encuentran en 𝐷¶·�.

4. En un ciclo para todas las imágenes del subconjunto indexado, inicializando 𝑛 = 1:

Page 64: NSTITUTO OLITÉCNICO ACIONAL

50

a. Se obtiene la imagen 𝑥 correspondiente al índice 𝑛. b. A 𝑥 se le aplica el preprocesamiento correspondiente para 𝑓(∙

). c. Se genera una predicción 𝑙 del modelo 𝑓(∙) para 𝑥. d. Se selecciona el ataque 𝐴 con base en gradiente. e. Se especifica el criterio 𝑘 de 𝐴 como “con objetivo” y se

especifica la clase objetivo 𝑙´µ�. f. Para el ataque 𝐴, 𝑥 es reducido en una dimensión (𝑎𝑥𝑖𝑠0). g. Se inicializa 𝐴 con los parámetros 𝜑 = (𝑓, 𝑥, 𝑙.𝑘, 𝑙´µ�). Y si

es el caso se especifica la norma ℓM a usar. h. Si 𝐴 es exitoso, se guarda la predicción de la imagen original y

se guarda 𝐴 con estado exitoso, continuando con (h). Si 𝐴 falla, se guarda la predicción de la imagen original y se guarda 𝐴 especificándolo el estado fallido aumentando después el índice N y regresa a (a). De lo contrario continua.

i. Se obtiene la muestra adversaria 𝑥′ y el tiempo de ejecución de 𝐴.

j. Se genera una predicción 𝑙′ del modelo 𝑓(∙) para 𝑥′. k. Si 𝑙 = 𝑙′ la muestra adversaria no fue generada exitosamente. l. Se calculan las magnitudes de perturbación entre 𝑥 y 𝑥′. m. Se guardan los datos obtenidos para cada una de las imágenes

(tiempo de ejecución, y magnitudes de perturbación). n. Se incrementa 𝑛 y se repite el ciclo hasta que 𝑛 = 𝑁, cuando la

condición se cumple el ataque finaliza. 5. Fin

En el algoritmo 3.7.2 el criterio del ataque se especifica como “con objetivo”

especificando la clase objetivo. Los tiempos de ejecución variaran dependiendo de los recursos de hardware disponibles.𝐷 es el dataset con el cual fue entrenado el modelo y 𝐷¶·� es el dataset de validación, que este trabajo será la referencia que contiene las imágenes para atacar. 𝑓i´´�µ´Y(∙) representa el modelo creado por Foolbox que envuelve al modelo víctima.

Page 65: NSTITUTO OLITÉCNICO ACIONAL

51

Capítulo 4 4. 5. Pruebas y resultados

Las pruebas y resultados de estos presentados en este capítulo son el

resultados de los escenarios de ataque planteados en el capítulo 3. Cada uno de los experimentos se realizó con estricto apego a los algoritmos presentados en la sección 3.7. Las pruebas se hicieron haciendo uso del paquete de Python Foolbox.

Se realizaron dos experimentos, los cuales se exponen a continuación.

Ataques con base en gradiente sin objetivo

Haciendo uso del algoritmo para ataques sin objetivo 3.7.1, se atacó a los modelos ResNet50, VGG19, Inception v3 y Xception con los ataques L-BFGS, FGSM, JSMA, BIM y C&W como se describe a continuación.

Los ataques de caja blanca realizados en este experimento se enfocan en lograr

la clasificación errónea de una muestra adversaria, que generen falsos positivos restringiendo las perturbaciones para ser muy pequeñas. Haciendo uso tanto de métodos de ataque únicos como iterativos.

4.1.1. L-BFGS

Para este ataque el algoritmo 3.7.1 considera los siguientes valores:

• 𝑓(⋅) : Instancia de los modelos ResNet50, VGG19, Inception o Xception creados con el framework Keras.

• 𝜃 : pesos del dataset usado • 𝐷¶·� : Dataset de validación de ImageNet • 𝑁 = 500 • 𝑘 ∶ 𝑀𝑖𝑠𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑐𝑎𝑐𝑖𝑜𝑛𝑒𝑛𝐹𝑜𝑜𝑙𝑏𝑜𝑥 • 𝐴 : L-BFGSAttack

Page 66: NSTITUTO OLITÉCNICO ACIONAL

52

Las tablas 4.1.1 (a), (b), (c) y (d) representan los resultados del ataque L-BFGS a diferentes modelos.

L-BFGS

Modelo victima

Parámetros del ataque

ResNet50

epsilon = 1e5"¦, num_random_targets = 0,

maxiter = 150

VGG19

Inception v3

Xception Tabla 4.1.1 (a) Parámetros de inicialización del ataque.

La tabla 4.1.1 (a) muestra los parámetros de inicialización del ataque L-BFGS que se aplicaron a los diferentes modelos víctima. Estos parámetros fueron obtenidos de acuerdo con la experimentación realizada con el paquete Foolbox, logrando mantener con ellos la perturbación a cada uno de los valores de los pixeles de una imagen dada como mínima.

Evaluación del ataque

Modelo victima

Numero de

muestras atacadas

Datos modificables

¿ataque con objetivo?

Exactitud promedio del ataque

Tasa de éxito del ataque

ResNet50 500 150528 No 0.82909847 98.6% VGG19 500 150528 No 0.66916805 98.6%

Inception v3 500 268203 No 0.71569326 98.6% Xception 500 268203 No 0.61986826 98.6%

Tabla 4.1.1 (b) Evaluación del ataque en el modelo. Exactitud promedio.

Page 67: NSTITUTO OLITÉCNICO ACIONAL

53

La tabla 4.1.1 (b) muestra los resultados obtenidos con los parámetros de la tabla 4.1.1 (a). Sobresaliendo que la tasa de éxito del ataque para los cuatro modelos de clasificación resulto el mismo (98.6%) y que el ataque BIM tuvo un mayor efecto sobre el modelo ResNet50 en el que las muestras adversarias obtuvieron una exactitud de 0.829 con un numero de iteraciones relativamente bajo (150). La columna de datos modificables se calcula multiplicando 224 x 224 x 3 para ResNe50 y VGG19. Mientras que para Inception v3 y Xception se calcula multiplicando 299 x 299 x 3.

Magnitud de la perturbación

Modelo victima

Distancia ℓ"

Distancia ℓ#

Distancia ℓ$ DCM DAM

ResNet50 148737 799.973 0.671 0.0278 0.13247 VGG19 134059 798.079 0.674 0.0277 0.13199

Inception v3 263697 342.515 0.099 0.000141 0.00477 Xception 262936 347.123 0.120 0.000226 0.00353

Tabla 4.1.1 (c) Magnitud de la perturbación promedio.

Siendo que la distancia ℓ" mide el cambio entre pixeles, esta cantidad se debe

de comparar con la cantidad de datos modificables, es decir, para ResNet50 por muestra se modificaron 148737 valores de 150528 disponibles. Esto nos dice que un 98.81% de los pixeles de la imagen fueron modificados en sus tres canales RGB.

El cambio máximo ℓ$ que sufrieron los valores de los pixeles es bastante

mayor comparado con la distancia absoluta media (DAM), lo que sugiere que se requirió modificar valores por encima de la media en algunos pixeles de la imagen en sus tres canales. Con la distancia cuadrada media (DCM) podemos observar cual es la diferencia numérica entre valores de las dos imágenes, midiéndolo en un rango del 0 al 1, con ello se nota que la similitud entre las imágenes originales y las adversarios resulto ser muy poca en los 4 modelos de clasificación.

Page 68: NSTITUTO OLITÉCNICO ACIONAL

54

Las distancias ℓ$ , DCM y DAM cambian significativamente entre los modelos ResNet50 – VGG19 e Inception v3 – Xception dado que las imágenes que alimentaron al modelo no se encuentran en el mismo rango, para ResNet50 – VGG19 los limites son [0, 255] y para Inception v3 – Xception los limites son [-1, 1].

Duración promedio

ataques

Modelo victima Tiempo (segundos) ResNet50 5.5951 VGG19 11.1418

Inception v3 11.4537 Xception 20.5105

Tabla 4.1.1 (d) Duración ataque en los modelos.

Por último, el tiempo promedio que requirió cada ataque esta dado por la

tabla 4.1.1, en ella se puede observar claramente que al ataque le tomo más tiempo en Xception ejecutarse. Siendo que los parámetros de inicialización del ataque son los mismos para todos los modelos (tabla 4.1.1a) se plantea que el modelo envolvente de Foolbox tarda más en calcular los gradientes y la función de perdida de la red.

4.1.2. FGSM Para este ataque el algoritmo 3.7.1 considera los siguientes valores:

• 𝑓(⋅) : Instancia de los modelos ResNet50, VGG19, Inception o Xception creados con el framework Keras.

• 𝜃 : pesos del dataset usado • 𝐷¶·� : Dataset de validación de ImageNet • 𝑁 = 500 • 𝑘 ∶ 𝑀𝑖𝑠𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑐𝑎𝑐𝑖𝑜𝑛𝑒𝑛𝐹𝑜𝑜𝑙𝑏𝑜𝑥 • 𝐴 : FGSM

Page 69: NSTITUTO OLITÉCNICO ACIONAL

55

Las tablas 4.1.2 (a), (b), (c) y (d) representan los resultados del ataque FGSM a diferentes modelos.

FGSM

Modelo victima

Parámetros del ataque

ResNet50 epsilons = 1000,max_epsilon = 1

VGG19

Inception v3

Xception Tabla 4.1.2 (a) Parámetros de inicialización.

La tabla 4.1.2 (a) muestra los parámetros de inicialización del ataque FGSM

que se aplicaron a los diferentes modelos víctima. Estos parámetros fueron obtenidos de acuerdo con la experimentación realizada con el paquete Foolbox, logrando mantener con ellos la perturbación a cada uno de los valores de los pixeles de una imagen dada como mínima.

Evaluación del ataque

Modelo victima

Numero de muestras atacadas

Datos modificables

¿ataque con objetivo?

Exactitud promedio del ataque

Tasa de éxito del ataque

ResNet50 500 150528 No 0.34732175 98.6 VGG19 500 150528 No 0.35069437 98.6

Inception v3 500 268203 No 0.25406126 98.6 Xception 500 268203 No 0.20570747 98.6

Tabla 4.1.2 (b) Evaluación del ataque en el modelo. Exactitud promedio.

La tabla 4.1.1 (b) muestra los resultados obtenidos con los parámetros de la

tabla 4.1.1 (a). Sobresaliendo que la tasa de éxito del ataque para los cuatro modelos de clasificación resulto el mismo (98.6%) y que el ataque FGSM tuvo un mayor efecto sobre el modelo VGG19 en el que las muestras adversarias obtuvieron una exactitud de 0.35. La tasa de éxito fue muy elevada, dejando en claro que los valores obtenidos de la experimentación con para este ataque son muy cercanos a los ideales.

Page 70: NSTITUTO OLITÉCNICO ACIONAL

56

Magnitud de la perturbación

Modelo victima

Distancia ℓ"

Distancia ℓ#

Distancia ℓ$ DCM DAM

ResNet50 148725 804.173 0.683 0.0279 0.1321 VGG19 81774 7.954 0.00123 2.10E-05 1.90E-09

Inception v3 263699 343.561 0.0655 8.98E-05 3.99E-04 Xception 262935 346.431 0.0719 9.85E-05 1.39E-03

Tabla 4.1.2 (c) Magnitud de la perturbación promedio.

Las distancias de la tabla 4.1.2 (c) muestran que el ataque FGSM ayudo a

disminuir considerablemente la magnitud de la perturbación añadida. Sobresale que en el modelo VGG19, la perturbación añadida por FGSM fue muy pequeña pero los datos modificados fueron los correctos, provocando que VGG19 fuese el más vulnerado de los modelos con una exactitud de la predicción de 0.35.

Duración promedio

ataques

Modelo victima Tiempo (segundos) ResNet50 2.25376171 VGG19 2.63785873

Inception v3 3.90705476 Xception 2.28324467

Tabla 4.1.2 (d) Duración ataque en los modelos.

La tabla 4.1.2 (d) muestra los tiempos de ejecución promedio de cada ataque,

mostrando que el ataque FGSM es un método rápido en todos los modelos. Que la inicialización predeterminada del paso que da cada iteración ayuda significativamente a reducir el costo computacional.

Page 71: NSTITUTO OLITÉCNICO ACIONAL

57

4.1.3. JSMA Para este ataque el algoritmo 3.7.1 considera los siguientes valores:

• 𝑓(⋅) : Instancia de los modelos ResNet50, VGG19, Inception o Xception creados con el framework Keras.

• 𝜃 : pesos del dataset usado • 𝐷¶·� : Dataset de validación de ImageNet • 𝑁 = 500 • 𝑘 ∶ 𝑀𝑖𝑠𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑐𝑎𝑐𝑖𝑜𝑛𝑒𝑛𝐹𝑜𝑜𝑙𝑏𝑜𝑥 • 𝐴 : JSMA

Las tablas 4.1.3 (a), (b), (c) y (d) representan los resultados del ataque JSMA a diferentes modelos.

JSMA

Modelo victima

Parámetros del ataque

ResNet50 max_iter = 2000,

num_random_targets = 0,fast = True, theta = 0.1,

max_perturbations_per_pixel = 7

VGG19

Inception v3

Xception Tabla 4.1.3 (a) Parámetros de inicialización del ataque.

La tabla 4.1.3 (a) muestra los parámetros de inicialización del ataque JSMA que se aplicaron a los diferentes modelos víctima. Estos parámetros fueron obtenidos de acuerdo con la experimentación realizada con el paquete Foolbox, logrando mantener con ellos la perturbación a cada uno de los valores de los pixeles de una imagen dada como mínima.

Page 72: NSTITUTO OLITÉCNICO ACIONAL

58

Evaluación del ataque

Modelo victima

Numero de muestras atacadas

Datos modificables

¿ataque con objetivo?

Exactitud promedio del ataque

Tasa de éxito del ataque

ResNet50 500 150528 No 0.40069686 97.6 VGG19 500 150528 No 0.39711268 97.6

Inception v3 500 268203 No 0.32956573 92.2 Xception 500 268203 No 0.3172291 93.8

Tabla 4.1.3 (b) Evaluación del ataque en el modelo. Exactitud promedio.

La tabla 4.1.3 (b) muestra los resultados obtenidos con los parámetros de la

tabla 4.1.3 (a). Sobresaliendo que a diferencia de los ataques anteriores, la taza de éxito no fue la misma para todos los modelos, aunque no dejo de ser alta. El ataque JSMA tuvo un mayor efecto sobre el modelo ResNet50 en el que las muestras adversarias obtuvieron una exactitud de 0.40 con un numero de iteraciones más alta que L-BFGS (2000).

Magnitud de la perturbación

Modelo victima

Distancia ℓ"

Distancia ℓ#

Distancia ℓ$ DCM DAM

ResNet50 93116 732.4832 0.6756 0.025742 0.038347 VGG19 93129 733.6485 0.6928 0.025791 0.038346

Inception v3 186 316.8327 0.00227 1.5581E-07 1.2179E-07 Xception 210 322.6373 0.00279 2.1570E-07 8.1136E-08

Tabla 4.1.3 (c) Magnitud de la perturbación promedio.

En la tabla 4.1.3 (c) la distancia ℓ" que marca los pixeles modificados, para

una imagen RGB se hace en sus tres canales, indica que fueron pocos en comparación con los ataques anteriores. Esto cumple con el objetivo del ataque hacer una modificación solo a una parte de la imagen, y no a toda como FGSM y L-BFGS.

Page 73: NSTITUTO OLITÉCNICO ACIONAL

59

Duración promedio

ataques

Ataque Tiempo (segundos) ResNet50 23.2587059 VGG19 157.831085

Inception v3 83.8215501 Xception 162.911429

Tabla 4.1.3 (d) Duración promedio del ataque en los modelos por muestra.

El costo computacional de calcular los mapas de prominencia mientras al

mismo tiempo se monitorea que los cambios que se realicen a una imagen sean suficientes para que el modelo victima clasifique erróneamente a la imagen adversario. El costo computacional se refleja en el tiempo promedio por ataque mostrado en la tabla 4.1.3 (d), que incrementa considerablemente con respecto a los ataques anteriores.

4.1.4. BIM

Para este ataque el algoritmo 3.7.1 considera los siguientes valores:

• 𝑓(⋅) : Instancia de los modelos ResNet50, VGG19, Inception o Xception creados con el framework Keras.

• 𝜃 : pesos del dataset usado • 𝐷¶·� : Dataset de validación de ImageNet • 𝑁 = 500 • 𝑘 ∶ 𝑀𝑖𝑠𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑐𝑎𝑐𝑖𝑜𝑛𝑒𝑛𝐹𝑜𝑜𝑙𝑏𝑜𝑥 • 𝐴 : BIM

Las tablas 4.1.4 (a), (b), (c) y (d) representan los resultados del ataque BIM a diferentes modelos.

Page 74: NSTITUTO OLITÉCNICO ACIONAL

60

BIM

Modelo victima

Parámetros del ataque

ResNet50 binary_search = True,epsilon = 0.3,stepsize = 0.05,iterations = 10,

random_start = False,return_early = True

VGG19

Inception v3

Xception Tabla 4.1.4 (a) Parámetros de inicialización del ataque.

La tabla 4.1.4 (a) muestra los parámetros de inicialización del ataque BIM

que se aplicaron a los diferentes modelos víctima. Estos parámetros fueron obtenidos de acuerdo con la experimentación realizada con el paquete Foolbox, logrando mantener con ellos la perturbación a cada uno de los valores de los pixeles de una imagen dada como mínima.

Evaluación del ataque

Modelo victima

Numero de muestras Atacadas

Datos modificables

¿ataque con objetivo?

Exactitud promedio del ataque

Tasa de éxito del ataque

ResNet50 500 150528 No 0.35836289 98.6 VGG19 500 150528 No 0.37592995 98.6

Inception v3 500 268203 No 0.22878829 98.6 Xception 500 268203 No 0.18513281 98.6

Tabla 4.1.4 (b) Evaluación del ataque en el modelo. Exactitud promedio.

La tabla 4.1.4 (b) muestra los resultados obtenidos con los parámetros de la

tabla 4.1.4 (a). El ataque BIM tuvo un mayor efecto sobre el modelo VGG19 en el que las muestras adversarias obtuvieron una exactitud de 0.35 con un numero de iteraciones mucho más baja que JSMA y L-BFGS (10).

Page 75: NSTITUTO OLITÉCNICO ACIONAL

61

Magnitud de la perturbación

Modelo victima

Distancia ℓ"

Distancia ℓ#

Distancia ℓ$ DCM DAM

ResNet50 147283 798.1155 0.6738 0.0277 0.13210 VGG19 133004 798.2656 0.6706 0.02778 0.13199201

Inception v3 251397 339.1060 0.00192 2.4193E-08 2.9169E-04 Xception 252060 341.7946 0.00259 3.8663E-08 6.6219E-04

Tabla 4.1.4 (c) Magnitud de la perturbación promedio.

Las distancias de la tabla 4.1.4 (c) muestran que el ataque BIM altero en su

gran mayoría los valores de los pixeles de las imágenes en sus tres canales, pero que el máximo cambio sobre estos valores siguió manteniéndose muy bajo.

Duración promedio

ataques

Ataque Tiempo (segundos) ResNet50 47.4427768 VGG19 96.8311555

Inception v3 45.1765789 Xception 128.054051

Tabla 4.1.4 (d) Duración promedio del ataque en los modelos por muestra. El punto de comparación para este ataque es FGSM, dado que BIM es una

variación iterativa de FGSM. Se puede notar que los tiempos incrementan considerablemente, esto se debe a la implementación de la búsqueda binaria y las iteraciones que se hacen para encontrar el valor óptimo de cada paso incrementando el costo computacional de ataque a cada imagen.

Page 76: NSTITUTO OLITÉCNICO ACIONAL

62

4.1.5. C&W Para este ataque el algoritmo 3.7.1 considera los siguientes valores:

• 𝑓(⋅) : Instancia de los modelos ResNet50, VGG19, Inception o Xception creados con el framework Keras.

• 𝜃 : pesos del dataset usado • 𝐷¶·� : Dataset de validación de ImageNet • 𝑁 = 500 • 𝑘 ∶ 𝑀𝑖𝑠𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑐𝑎𝑐𝑖𝑜𝑛𝑒𝑛𝐹𝑜𝑜𝑙𝑏𝑜𝑥 • 𝐴 : BIM

Las tablas 4.1.5 (a), (b), (c) y (d) representan los resultados del ataque C&W a diferentes modelos.

C&W

Modelo victima

Parámetros del ataque

ResNet50 binary_search_steps = 5,max_iterations = 1000,

confidence = 0,learning_rate = 0.005,initial_const = 0.01,abort_early = True

VGG19

Inception v3

Xception Tabla 4.1.5 (a) Parámetros de inicialización del ataque.

La tabla 4.1.5 (a) muestra los parámetros de inicialización del ataque C&W

que se aplicaron a los diferentes modelos víctima. Estos parámetros fueron obtenidos de acuerdo con la experimentación realizada con el paquete Foolbox, logrando mantener con ellos la perturbación a cada uno de los valores de los pixeles de una imagen dada como mínima.

Page 77: NSTITUTO OLITÉCNICO ACIONAL

63

Evaluación de los ataques

Modelo victima

Numero de muestras atacadas

Datos modificables

¿ataque con objetivo?

Exactitud promedio del ataque

Tasa de éxito del ataque

ResNet50 500 150528 No 0.42025085 98.6 VGG19 500 150528 No 0.43289497 98.6

Inception v3 500 268203 No 0.48627388 98.6 Xception 500 268203 No 0.3374547 98.6

Tabla 4.1.5 (b) Evaluación del ataque en el modelo. Exactitud promedio.

La tabla 4.1.5 (b) muestra los resultados obtenidos con los parámetros de la

tabla 4.1.5 (a). Sobresaliendo, en términos generales los resultados que obtuvo el ataque en la exactitud promedio de las predicciones para las muestras adversarias. La tasa de éxito del ataque es elevada ya que se logró atacar la mayoría de las imágenes del conjunto.

Magnitud de la perturbación

Modelo victima

Distancia ℓ"

Distancia ℓ#

Distancia ℓ$ DCM DAM

ResNet50 150506 797.949789 0.67368246 0.0277648 0.02378033 VGG19 135323 797.946708 0.67383173 0.027764761 0.10596544

Inception v3 268193 338.924209 6.4646E-05 6.644E-09 1.4256E-03 Xception 268128 341.842488 6.3416E-05 8.976E-09 2.4177E-03

Tabla 4.1.5 (c) Magnitud de la perturbación promedio.

El ataque C&W modifica la mayoría de los pixeles (observando ℓ") de las

muestras atacadas pero el máximo cambio ℓ$ indica que el cambio que sufren los valores de los pixeles en cada uno de sus canales sigue siendo mínimo. Dado que el valor de DCM es muy pequeño con relación a los límites de preprocesamiento, la similitud entre las imágenes originales y las imágenes sigue siendo mucha.

Page 78: NSTITUTO OLITÉCNICO ACIONAL

64

Duración promedio ataques

Ataque Tiempo (segundos) ResNet50 505.840139 VGG19 739.799789

Inception v3 48.694914 Xception 242.266125

Tabla 4.1.5 (d) Duración promedio del ataque en los modelos por muestra. Los tiempos incrementan considerablemente en este ataque debido a que

además del cálculo del gradiente la imagen, se hace uso de optimizadores Adam y SGD para generar los ataques adversarios. La no linealidad contribuye a no eliminar las restricciones usuales, pero también con ello incrementa el costo computacional.

Ataques con base en gradiente con objetivo

Haciendo uso del algoritmo para ataques con objetivo 3.7.2, se atacó a los modelos ResNet50, VGG19, Inception v3 y Xception con los ataques JSMA, BIM y C&W, dejando a un lado a los ataques L-BFGS y FGSM debido a que no estos ataques no soportan los ataques con objetivo.

Los ataques de caja blanca realizados en este experimento se enfocan en lograr

la clasificación de una muestra adversaria como una clase en específico (clase 500), que generen falsos positivos restringiendo las perturbaciones para ser muy pequeñas. Haciendo uso de métodos de ataque iterativos.

Page 79: NSTITUTO OLITÉCNICO ACIONAL

65

4.2.1. JSMA Para este ataque el algoritmo 3.7.1 considera los siguientes valores:

• 𝑓(⋅) : Instancia de los modelos ResNet50, VGG19, Inception o Xception creados con el framework Keras.

• 𝜃 : pesos del dataset usado • 𝐷¶·� : Dataset de validación de ImageNet • 𝑁 = 500 • 𝑘 ∶ 𝑇𝑎𝑟𝑔𝑒𝑡𝐶𝑙𝑎𝑠𝑠(500)𝑒𝑛𝐹𝑜𝑜𝑙𝑏𝑜𝑥 • 𝐴 : JSMA

Las tablas 4.2.1 (a), (b), (c) y (d) representan los resultados del ataque JSMA a diferentes modelos.

JSMA

Modelo victima

Parámetros del ataque

ResNet50 max_iter = 2000,

num_random_targets = 0,fast = True, theta = 0.1,

max_perturbations_per_pixel = 7

VGG19

Inception v3

Xception Tabla 4.2.1 (a) Parámetros de inicialización del ataque.

La tabla 4.2.1 (a) muestra los parámetros de inicialización del ataque JSMA

que se aplicaron a los diferentes modelos víctima. Estos parámetros fueron obtenidos de acuerdo con la experimentación realizada con el paquete Foolbox, logrando mantener con ellos la perturbación a cada uno de los valores de los pixeles de una imagen dada como mínima. Como se puede observar, los parámetros de inicialización para los ataques sin objetivo y como objetivo son los mismos, esto se hizo para poder comparar los resultados de los dos tipos de ataque y no favorecer a un tipo mediante la modificación de variables.

Page 80: NSTITUTO OLITÉCNICO ACIONAL

66

Evaluación de los ataques

Modelo victima

Numero de muestras Atacadas

Datos modificables

¿ataque con objetivo?

Exactitud promedio del ataque

Tasa de éxito del ataque

ResNet50 500 150528 Si, clase

500 0.10017 51.2

VGG19 500 150528 Si, clase 500

0.10431 54.8

Inception v3 500 268203 Si, clase 500

0.04242 43.2

Xception 500 268203 Si, clase 500

0.04048 52.4

Tabla 4.2.1 (b) Evaluación del ataque en el modelo. Exactitud promedio.

La tabla 4.2.1 (b) muestra los resultados obtenidos con los parámetros de la

tabla 4.2.1 (a). En ataques como JSMA, la tasa de éxito para ataques con objetivo depende directamente del límite de iteraciones, ya que el método de ataque solo tiene ese espacio para encontrar un adversario. Y en caso de no encontrarlo, el ataque falla.

Magnitud de la perturbación

Modelo victima

Distancia ℓ"

Distancia ℓ#

Distancia ℓ$ DCM DAM

ResNet50 58167 470.453 0.43079 0.01483475 0.0410751 VGG19 62919 617.7175 0.501624 0.01578626 0.0318975

Inception v3 410 129.0578 0.001513 3.7454E-07 5.1864E-04 Xception 421 137.9965 0.00174833 4.2118E-07 5.2377E-04

Tabla 4.2.1 (c) Magnitud de la perturbación promedio. En la tabla 4.2.1 (c) la distancia ℓ" que marca los pixeles modificados, que

para una imagen RGB se hace en sus tres canales, indica que fueron pocos en comparación con los ataques anteriores. Esto cumple con el objetivo del ataque hacer una modificación solo a una parte de la imagen.

Page 81: NSTITUTO OLITÉCNICO ACIONAL

67

Duración promedio ataques

Ataque Tiempo (segundos) ResNet50 316.243261 VGG19 542.990615

Inception v3 119.483789 Xception 294.24195

Tabla 4.2.1 (d) Duración promedio del ataque en los modelos por muestra El costo computacional de calcular los mapas de prominencia mientras al

mismo tiempo se monitorea que los cambios que se realicen a una imagen sean suficientes para que el modelo victima clasifique erróneamente a la imagen adversario. El costo computacional se refleja en el tiempo promedio por ataque mostrado en la tabla 4.2.1 (d), que incrementa considerablemente con respecto a los ataques anteriores.

4.2.2. BIM Para este ataque el algoritmo 3.7.1 considera los siguientes valores:

• 𝑓(⋅) : Instancia de los modelos ResNet50, VGG19, Inception o Xception creados con el framework Keras.

• 𝜃 : pesos del dataset usado • 𝐷¶·� : Dataset de validación de ImageNet • 𝑁 = 500 • 𝑘 ∶ 𝑇𝑎𝑟𝑔𝑒𝑡𝐶𝑙𝑎𝑠𝑠(500)𝑒𝑛𝐹𝑜𝑜𝑙𝑏𝑜𝑥 • 𝐴 : BIM

Las tablas 4.2.2 (a), (b), (c) y (d) representan los resultados del ataque BIM a diferentes modelos.

Page 82: NSTITUTO OLITÉCNICO ACIONAL

68

BIM

Modelo victima

Parámetros del ataque

ResNet50 binary_search = True,epsilon = 0.3,stepsize = 0.05,iterations = 10,

random_start = False,return_early = True

VGG19

Inception v3

Xception Tabla 4.2.2 (a) Parámetros de inicialización del ataque.

La tabla 4.2.2 (a) muestra los parámetros de inicialización del ataque BIM

que se aplicaron a los diferentes modelos víctima. Estos parámetros fueron obtenidos de acuerdo con la experimentación realizada con el paquete Foolbox, logrando mantener con ellos la perturbación a cada uno de los valores de los pixeles de una imagen dada como mínima. Como se puede observar, los parámetros de inicialización para los ataques sin objetivo y como objetivo son los mismos, esto se hizo para poder comparar los resultados de los dos tipos de ataque y no favorecer a un tipo mediante la modificación de variables.

Evaluación de los ataques

Modelo victima

Numero de muestras atacadas

Datos modificables

¿ataque con objetivo?

Exactitud promedio del ataque

Tasa de éxito del ataque

ResNet50 500 150528 Si, clase

500 0.1372026 98.4

VGG19 500 150528 Si, clase 500

0.13449487 98.4

Inception v3 500 268203 Si, clase 500

0.09801805 79.4

Xception 500 268203 Si, clase 500

0.10666852 98.4

Tabla 4.2.2 (b) Evaluación del ataque en el modelo. Exactitud promedio.

Page 83: NSTITUTO OLITÉCNICO ACIONAL

69

La tabla 4.2.2 (b) muestra los resultados obtenidos con los parámetros de la tabla 4.2.2 (a). El ataque BIM tuvo un mayor efecto sobre el modelo ResNet50 en el que las muestras adversarias obtuvieron una exactitud de 0.09 con un numero de iteraciones limite mucho más baja que JSMA (10).

Magnitud de la perturbación

Modelo victima

Distancia ℓ"

Distancia ℓ#

Distancia ℓ$ DCM DAM

ResNet50 144116 743.525255 0.66183174 0.025949 0.08156337 VGG19 144497 801.975503 0.67622889 0.02778675 0.13302828

Inception v3 188970 280.407945 0.0015663 1.6950E-05 2.2215E-03 Xception 235287 339.042119 0.0039096 2.5864E-06 6.9729E-03

Tabla 4.2.2 (d) Magnitud de la perturbación promedio. Las distancias de la tabla 4.2.2 (c) muestran que el ataque BIM altero en su

gran mayoría los valores de los pixeles de las imágenes en sus tres canales, pero que el máximo cambio sobre estos valores siguió manteniéndose muy bajo.

Duración promedio ataques

Ataque Tiempo (segundos)

ResNet50 63.4803814 VGG19 125.556025

Inception v3 23.0644836 Xception 104.647125

Tabla 4.2.2 (d) Duración promedio del ataque en los modelos por muestra

El costo computacional de calcular los mapas de prominencia mientras al

mismo tiempo se monitorea que los cambios que se realicen a una imagen sean suficientes para que el modelo victima clasifique erróneamente a la imagen adversario. El costo computacional se refleja en el tiempo promedio por ataque mostrado en la tabla 4.2.2 (d), que incrementa considerablemente con respecto a los ataques anteriores.

Page 84: NSTITUTO OLITÉCNICO ACIONAL

70

4.2.3. C&W Para este ataque el algoritmo 3.7.1 considera los siguientes valores:

• 𝑓(⋅) : Instancia de los modelos ResNet50, VGG19, Inception o Xception creados con el framework Keras.

• 𝜃 : pesos del dataset usado • 𝐷¶·� : Dataset de validación de ImageNet • 𝑁 = 500 • 𝑘 ∶ 𝑇𝑎𝑟𝑔𝑒𝑡𝐶𝑙𝑎𝑠𝑠(500)𝑒𝑛𝐹𝑜𝑜𝑙𝑏𝑜𝑥 • 𝐴 : Carlini & Wagner

Las tablas 4.2.3 (a), (b), (c) y (d) representan los resultados del ataque C&W a diferentes modelos.

C&W

Modelo victima

Parámetros del ataque

ResNet50 binary_search_steps = 5,max_iterations = 1000,

confidence = 0,learning_rate = 0.005,initial_const = 0.01,abort_early = True

VGG19

Inception v3

Xception Tabla 4.2.3 (a) Parámetros de inicialización del ataque.

La tabla 4.2.3 (a) muestra los parámetros de inicialización del ataque C&W

que se aplicaron a los diferentes modelos víctima. Estos parámetros fueron obtenidos de acuerdo con la experimentación realizada con el paquete Foolbox, logrando mantener con ellos la perturbación a cada uno de los valores de los pixeles de una imagen dada como mínima. Como se puede observar, los parámetros de inicialización para los ataques sin objetivo y como objetivo son los mismos, esto se hizo para poder comparar los resultados de los dos tipos de ataque y no favorecer a un tipo mediante la modificación de variables.

Page 85: NSTITUTO OLITÉCNICO ACIONAL

71

Evaluación de los ataques

Modelo victima

Numero de muestras atacadas

Datos modificables

¿ataque con objetivo?

Exactitud promedio del ataque

Tasa de éxito del ataque

ResNet50 500 150528 Si, clase

500 0.09803754 98.4

VGG19 500 150528 Si, clase

500 0.07310215 98.4

Inception v3 500 268203 Si, clase

500 0.05856106 98.4

Xception 500 268203 Si, clase

500 0.04839946 98.4

Tabla 4.2.3 (b) Evaluación del ataque en el modelo. Exactitud promedio. La tabla 4.2.3 (b) muestra los resultados obtenidos con los parámetros de la

tabla 4.2.3 (a). La tasa de éxito del ataque es elevada ya que se logró que la mayoría de las imágenes del conjunto fueran clasificadas como la clase 500 del dataset ImageNet. A pesar de esto la exactitud promedio del ataque fue baja, lo que indica que la perturbación fue suficiente para dirigir el ataque a una clase, pero no lo suficiente para lograr una exactitud más grande.

Magnitud de la perturbación

Modelo victima

Distancia ℓ"

Distancia ℓ#

Distancia ℓ$ DCM DAM

ResNet50 150527 741.7537 0.66095413 0.02595041 0.1906983 VGG19 150175 786.7323 0.66411543 0.02669883 0.05180578

Inception v3 267652 342.395361 0.04168995 4.85772E-08 1.22941E-03 Xception 267655 341.842562 0.05604135 5.96113E-08 2.4458E-03

Tabla 4.2.3 (c) Magnitud de la perturbación promedio.

Page 86: NSTITUTO OLITÉCNICO ACIONAL

72

En la tabla 4.2.3 (c) se observa que la distancia ℓ" se mantuvo dentro del mismo margen que C&W sin objetivo y dado que la distancia ℓ$ promedio es muy similar a la que se obtiene en el ataque C&W sin objetivo, indica que la restricción de perturbación por número de pixeles tuvo que ser mayor para lograr una exactitud más grande por parte modelo víctima y lograr alterar la distancia ℓ$mas.

Duración promedio

ataques

Ataque Tiempo (segundos) ResNet50 706.958717 VGG19 1122.26136

Inception v3 410.739384 Xception 193.943994

Tabla 4.2.3 (d) Duración promedio del ataque en los modelos por muestra.

La tabla 4.2.3 (d) muestra la duración promedio de cada uno de los ataques C&W con objetivo, mostrando que respecto a los ataques C&W sin objetivo hay una ligera variación con tendencia a incrementar en los tiempos. Esta variación se debe principalmente al costo computacional de las funciones no lineales que este método de ataque introduce.

Análisis de resultados En el primer experimento, L-BFGS fue por mucho el ataque que mejores

resultados arrojo obteniendo en tiempos pequeños una tasa de éxito elevada y una exactitud promedio de las muestras adversarias que indica que las muestras adversarias lograron engañar a los modelos de clasificación con gran certeza. El costo de estos resultados fue que las perturbaciones añadidas no fueron muy pequeñas, al contrario, en comparación con los demás métodos, L-BFGS fue el que añadió perturbaciones más grandes.

Page 87: NSTITUTO OLITÉCNICO ACIONAL

73

Haciendo valer su nombre, FGSM resulto ser el método más rápido para generar muestras adversarias sin objetivo. Logrando una tasa de éxito muy grande pero obteniendo una exactitud promedio baja. Lo que indica que incrementando el épsilon máximo y el número de epsilons (tamaño de cada paso del método) se pude lograr incrementar la exactitud promedio de las muestras adversarias.

En comparación con L-BFGS, el ataque FGSM obtuvo menor exactitud en la

predicción del modelo víctima, haciendo ver que este ataque tiene menor efecto sobre las predicciones de los modelos víctima. L-BFGS además de hacer uso del gradiente de la función de perdida de la imagen con respecto a los pixeles, hace uso de su función de perdida. Mientras que FGSM está basado en ir en dirección opuesta al gradiente de la función de perdida respecto a los pixeles de entrada.

Como ya se ha mencionado antes el hecho de que los parámetros de

inicialización elegidos para los métodos de ataque sin objetivo y con objetivo (para BIM, JSAM y C&W) sean los mismos crea un escenario en el cual se puede hacer una comparación equitativa en cuanto a la tasa de éxito, exactitud de la perturbación y las magnitudes de las perturbaciones que se obtienen de los ataques adversarios.

Un caso llamativo es el de JSMA tanto para los ataques sin objetivo como los

con objetivo, ya que este ataque se distinguió por ser el ataque que menos datos modifico en comparación con los demás ataques. Cumpliendo con su objetivo de solo modificar los valores necesarios y no valores sobre toda la imagen como lo hacen los demás ataques. La comparación se hizo mediante la distancia ℓ", que mide la cantidad de pixeles cambiados en sus tres canales.

Se puede observar que los ataques sin objetivo tienen una tasa de éxito mayor

a la que los ataques con objetivo obtuvieron, esto se debe al número de iteraciones que aplica cada método. Mientras que en los ataques sin objetivo los métodos devuelven la primer muestra adversaria valida, en los ataques con objetivo el máximo número de iteraciones limita la búsqueda de la perturbación óptima para dirigir la muestra adversaria a la clase objetivo.

Page 88: NSTITUTO OLITÉCNICO ACIONAL

74

Es por ello por lo que incrementando el máximo número de iteraciones, la tasa de éxito incrementaría también, asegurando con un gran número de iteraciones que la búsqueda de la perturbación óptima para llegar a la clase objetivo sea exitosa. En esta investigación se limitó el número de iteraciones de los ataques como C&W y JSMA a un número pequeño de iteraciones en los dos tipos de ataque debido a que estos métodos tienen un costo computacional elevado y esto hubiese limitado la cantidad de ataques abarcados en la investigación.

La exactitud promedio obtenida por las muestras adversarias en los dos tipos

de ataque (sin objetivo y con objetivo) reflejo que la generación de muestras adversarias si genero falsos positivos, es decir, que los modelos lograron clasificar las muestras adversarias. Es notorio que la exactitud promedio obtenida por las muestras adversarias con objetivo es mucho mejor que la obtenida con los que son sin objetivo, este comportamiento se atribuye también al número de iteraciones que los métodos ejercieron para encontrar la perturbación óptima para clasificar las muestras adversarias con mayor exactitud.

La obtención de una exactitud mayor no se atribuye a la magnitud ℓ$ de la

perturbación debido a que si este fuera el caso, cuanto mayor fuese la magnitud, mayor seria la exactitud promedio de las muestras. Y comparando los resultados, las magnitudes ℓ$ de la perturbación son mayores en algunos casos para ataques adversario con objetivo.

Comparando el cambio máximo ℓ$ que sufrieron los valores con la distancia

absoluta media (DAM) se puede obtener la magnitud que fue añadida sobre la media de los valores modificados de los pixeles (en sus tres canales) de la imágenes.

Page 89: NSTITUTO OLITÉCNICO ACIONAL

75

La distancia ℓ# en los experimentos se mantuvo en un rango de [200, 900] lo cual indica que las muestras adversarias conservaron una gran similitud con las imágenes originales, esto debido a que la cantidad se compara con la cantidad de datos modificables de las imágenes, cantidad que para ResNet50-VGG19 es de 150528 y para Inception v3-Xception es de 268203. Diferenciando con ℓ# con la distancia cuadrada media (DCM) podemos observar cual es la diferencia media numérica entre valores de las dos imágenes, midiéndolo en un rango [0, 1] que es proporcional al tamaño de la entrada de cada modelo, mientras mayor sea este número mayor será la diferencia entre las dos imágenes. Con lo anterior se pudo observar que la similitud entre las imágenes originales y las adversarios resulto ser muy mucha para todos los métodos de ataque en los 4 modelos de clasificación.

Page 90: NSTITUTO OLITÉCNICO ACIONAL

76

Conclusiones El objetivo de la investigación se cumplió cabalmente, ya que se logró atacar

de manera exitosa mediante métodos de ataque (L-BFGS, FGSM, BIM, JSAM y C&W) a los modelos de clasificación con base en redes neuronales (VGGNet, ResNet, Xception, InceptionV3) en clasificación de imágenes, modelos que fueron el blanco principal de este trabajo.

Los ataques se realizaron mediante la generación de ejemplos adversarios sin

y con un blanco especifico. Logrando también determinar mediante métricas usadas en el estado del arte (ℓ", ℓ#, ℓ$, DCM y DAM) los cambios que sufren las imágenes antes un ataque adversario. Las métricas usadas contribuyeron a comprender de manera precisa los cambios que sufren las imágenes individualmente, así como también mostró que la relación entre el tamaño de las perturbaciones no depende de la imagen en si misma, si no de la clase que se le asigne y cuanto se quiera distanciar de la clase original.

Se generó además una estructura de registro, en el cual se visualizan los

efectos de los ataques adversarios en los modelos de clasificación mediante la comparación de los cambios que realiza cada ataque sobre un conjunto de imágenes. Esta estructura de registro ayudo a determinar qué no se pueden generalizar los parámetros de inicialización de ataque para todos los modelos de clasificación, sino que se deben considerar parámetros de inicialización específicos para cada modelo de clasificación.

Las hipótesis que se plantearon al inicio de este trabajo fueron válidas. Esto

debido a que los modelos elegidos del estado del arte, a partir de la comparación de su rendimiento contra modelos de clasificación, si resultaron ser vulnerables a ataques adversarios y que si fue posible medir los cambios que sufren las imágenes, mediante las métricas (ℓ", ℓ#, ℓ$, DCM y DAM). Las mediciones fueron obtenidas considerando el resultado de la estandarización y normalización

Page 91: NSTITUTO OLITÉCNICO ACIONAL

77

de las imágenes, el número de dígitos del número más pequeño logrando con ello una comparación precisa. Los resultados fueron comparados con el conjunto de datos de entrenamiento original, es decir, cada una de las imágenes usadas fue comparada individualmente con su perturbación mediante cada una de las métricas usadas.

Tanto el algoritmo diseñado para ataques sin objetivo como para con objetivo

son capaces de aplicar métodos de ataque a modelos de clasificación con base en redes neuronales convolucionales, estos algoritmos generan ejemplos adversarios capaces de engañar a redes neuronales como VGG16, VGG16, Inception, Xception y ResNet50.

Estos algoritmos son genéricos, es decir, se pueden aplicar a cualquier modelo

y conjunto de datos de entrenamiento que el lector se proponga. La metodología experimental resultó ser benéfica para abordar los ataques adversarios implementados en esta investigación e identificar las propiedades que los caracteriza. Sin el uso de la metodología experimental, esto no hubiese sido posible.

Page 92: NSTITUTO OLITÉCNICO ACIONAL

78

Trabajos a futuro Durante el desarrollo de esta tesis han surgido algunos temas que se han

dejado abiertas y que podrían complementar el presente trabajo o considerarse una línea de investigación diferente. A continuación, se enlistan brevemente los posibles trabajos a futuro de este trabajo:

• Ataques adversarios a modelos de clasificación en sistemas de tiempo real. • Prueba de transferibilidad de los ataques adversario a través de los

modelos atacados en este trabajo. • Diseño de un método de ataque propio mas rapido en la generación de

ejemplos adversarios y ligero en requerimentos de procesamiento, en comparacion con los presentados en el estado del arte.

• Implementación de ataques adversarios mediante GAN (Generative Adversarial Networks).

Page 93: NSTITUTO OLITÉCNICO ACIONAL

79

Bibliografía [1] P. H. Q. Z. R. R. B. X. L. Xiaoyong Yuan, «Adversarial Examples:Attacks and Defenses

for Deep Learning,» arXiv:1712.07107v2, 7 Julio 2018. [2] T. A. L. John D. Howard, A Common Language for Computer Security Incidents,

Albuquerque, New Mexico 87185 and Livermore, California 94550: Sandia National Laboratories, 1998.

[3] F. Rosenblatt, «The perceptron: a probabilistic model for information storage and organization in the brain,» Psychological review, 1958.

[4] B. E. B. J. S. D. D. H. R. E. Yann LeCun, «Handwritten digit recognition with a back-propagation network,» Advances in neural information processing systems, 1990..

[5] L. B. Y. B. a. P. H. Yann LeCun, «Gradient-based learning applied to document recognition,» Proceedings of the IEEE, p. 86(11): 2278–2324, 1998.

[6] A. K. a. G. Hinton, «Learning multiple layers of features from tiny images,» 2009. [7] A. D. T. B. a. M. R. Jost Tobias Springenberg, «Striving for simplicity: The all

convolutional net,» arXiv preprint arXiv:1412.6806, 2014.

[8] O. R. K. S. R. K. N. S. N. S. M. P. M. P. a. R. A. Jasper Snoek, «Scalable bayesian optimization using deep neural networks,» International Conference on Machine Learning, p. 2171–2180, 2015.

[9] W. D. R. S. L.-J. L. K. L. a. L. F.-F. Jia Deng, «Imagenet: A large-scale hierarchical image database,» Computer Vision and Pattern Recognition, 2009.

[10] G. A. Miller., «Wordnet: a lexical database for english,» Communications of the ACM, 1995.

[11] J. D. H. S. J. K. S. S. S. M. Z. H. A. K. A. K. M. S. B. A. C. B. a. F.-F. L. Olga Russakovsky, «Imagenet large scale visual recognition challenge,» CoRR, abs/1409.0575, 2014.

[12] I. S. a. G. E. H. Alex Krizhevsky, «Imagenet classification with deep convolutional neural networks,» Advances in Neural Information Processing Systems, p. 1097–1105, 2012.

[13] X. Z. S. R. a. J. S. Kaiming He, «Deep residual learning for image recognition,» EEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.

[14] P. D. M. a. I. J. G. N. Papernot, «Transferability in machine learning: from phenomena to black-box attacks using adversarial examples,» CoRR, vol. abs/1605.07277, 2016.

[15] P. M. J. Nicolas Papernot, «The Limitations of Deep Learning in Adversarial Settings,Matt Fredrikson,Z. Berkay Celik,Ananthram Swam,» arXiv:1511.07528v1, p. 16, 2015.

[16] W. Z. I. S. J. B. D. E. I. G. a. R. F. C. Szegedy, «ntriguing properties of neural networks,» arXiv preprint arXiv:1312.6199, 2013.

Page 94: NSTITUTO OLITÉCNICO ACIONAL

80

[17] J. S. C. S. I. J. Goodfellow, «Explaining and Harnessing Adversarial Examples,» arXiv:1412.6572, 2015.

[18] I. G. S. B. A. Kurakin, «Adversarial examples in the physical world,» arXiv:1607.02533, 2016.

[19] D. W. Nicholas Carlini, «Towards Evaluating the Robustness of Neural Networks,» arXiv:1608.04644v2, 2017.

[20] I. G. S. B. A. Kurakin, «Adversarial Machine Learning at Scale,» arXiv:1611.01236, 2017.

[21] M. G. E. M. R. y. T. E. B. A. Rozsa, «acial attrib-utes: Accuracy and adversarial robustness.,» Pattern Recognition Let-ters, 2017.

[22] a. A. R. V. Mirjalili, «Soft Biometric Privacy: Retaining Biometric Utility of Face Images while Perturbing Gender,» In International Joint Conference on Biometrics, 2017.

[23] R. F. T. Y. a. K. A. S. Shen, «Fooling Neural Networks in Face Attractiveness Evaluation: Adversarial Examples with High Attractiveness Score But Low Subjective Score,» In IEEE Third International Conference on Multimedia Big Data, pp. 66-69, 2017.

[24] V. V. S. I. J. S. a. Z. W. C. Szegedy, «Rethinking the inception architecture for computer vision,» In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 281-282, 2016.

[25] L. E. A. I. K. K. A. Athalye, «Synthesizing Robust Ad-versarial Examples,» arXiv:1707.07397, 2017.

[26] A. Géron, Hands-on Machine Learning with Scikit-Learn and Tensorflow, EUA: O'Reilly, 2017, p. 546.

[27] I. J. G. S. B. Alexey Kurakin, «Adversarial Examples in the Physical World,» arXiv:1607.02533v4 , p. 9, 2017.