Saltar para o conteúdo

Technical

¡Protege tu modelo de IA de los atacantes!

Rafael Cavalheiro · 10 de julio de 2023

Los modelos de machine learning pueden conseguir resultados excelentes en las tareas para las que fueron diseñados. También pueden fallar de manera catastrófica si los datos que alimentan el modelo no son coherentes con los datos utilizados para entrenarlo. Esto puede explotarse como un ataque adversario contra nuestro modelo. Los ataques adversarios son un problema común y creciente en IA, donde los atacantes utilizan datos no representativos para interferir en el rendimiento de nuestro modelo, afectando al producto y a la reputación de nuestra organización.

¿Cómo podemos proteger nuestros modelos de los ataques adversarios?

Una forma de blindar nuestros modelos frente a ataques adversarios es detectar muestras fuera de distribución antes de introducirlas en nuestros modelos.

La idea principal es crear un sistema que verifique si la muestra sigue la misma distribución que los datos utilizados para entrenar nuestro modelo. Si es así, perfecto: puedes proceder. En caso contrario, rechaza la muestra de entrada.

¿Cómo distinguir una muestra dentro de distribución de una fuera de distribución?

Gracias a su capacidad para ajustar distribuciones, los modelos generativos se han convertido en algunos de los mejores métodos de detección de anomalías. El Gaussian Mixture Model (GMM) es un modelo de clustering probabilístico que asume que todos los datos fueron generados por una mezcla de n distribuciones gaussianas. Los GMM resultaron muy útiles para la detección de valores atípicos al identificar muestras de datos procedentes de regiones de baja densidad.

Imaginemos que hemos construido un modelo de clasificación de imágenes y queremos evitar que los usuarios introduzcan imágenes no adecuadas para ser procesadas por nuestro modelo.

En primer lugar, debemos crear un conjunto de datos con puntos dentro de distribución y fuera de distribución, etiquetados apropiadamente. Los puntos de datos dentro de distribución (positivos) serán nuestros datos de validación y prueba utilizados en el modelo de clasificación de imágenes. Los puntos fuera de distribución podrían ser imágenes de datasets como ImageNet o COCO. Idealmente, también deberíamos incluir imágenes similares a nuestro dataset que probablemente sean errores de un usuario sin experiencia. Por ejemplo, si nuestro modelo fue entrenado para clasificar objetos presentes en un baño (inodoro, bañera, lavabo, etc.), una imagen fuera de distribución podría ser un objeto que encuentras en tu casa pero que no está presente en baños (cama, sofá, sillas, etc.).

En segundo lugar, debemos extraer una representación numérica de las imágenes: los embeddings. Como estamos tratando datos no estructurados, necesitamos extraer el espacio latente de cada imagen en nuestro dataset antes de ajustar nuestros datos al modelo GMM.

Ahora, ajustamos los datos dentro de distribución al GMM y validamos el rendimiento en la detección de valores atípicos utilizando tanto datos dentro como fuera de distribución. En este punto, es posible que necesitemos dedicar tiempo a ajustar los parámetros del GMM. Algo importante a recordar es que el número de clases en nuestro dataset podría indicar cuántas componentes de mezcla gaussiana necesitamos en el modelo GMM.

¿Qué pasa si el GMM no puede distinguir lo suficientemente bien entre casos reales y ataques adversarios?

En casos donde se utilizaron modelos pre-entrenados para extraer los embeddings, puede ocurrir que los espacios latentes de las muestras dentro y fuera de distribución sigan siendo muy similares cuando se comparan con el dominio general presente en los datasets utilizados para entrenar esos modelos pre-entrenados. ImageNet contiene imágenes de animales, naturaleza y objetos de todo tipo. Por lo tanto, cuando usamos un modelo pre-entrenado que fue entrenado en ImageNet para extraer embeddings de nuestras imágenes específicas del dominio, es normal que esos espacios latentes sean bastante similares.

¿Cómo podemos ayudar al modelo GMM a distinguir mejor los espacios latentes de las muestras dentro y fuera de distribución? Mediante el uso de Principal Component Analysis (o cualquier otra técnica de reducción de dimensionalidad) deberíamos ser capaces de eliminar similitudes generales entre las muestras. También en esta etapa, podría ser necesario dedicar tiempo a ajustar los parámetros y determinar cuánta reducción deberíamos aplicar. Después de reducir dimensionalmente nuestros espacios latentes, los ajustamos al modelo GMM.

Conclusión

Usar GMM para detectar si una muestra es demasiado diferente de la distribución de entrenamiento es una excelente forma de proteger nuestros modelos del uso adversario. Al verificar si una muestra pertenece a la distribución de entrenamiento, garantizamos que el modelo está realizando la tarea para la que fue diseñado, evitando problemas de rendimiento y aumentando la confiabilidad y reputación de nuestro producto.