¿Cómo se pueden engañar los modelos de clasificación existentes?

Hay muchas formas de hacer que el clasificador salga, no lo que desea. Algunos de ellos son engañosos, otros simplemente son de baja precisión o rendimiento. Como Robby Goetschalckx mencionó en otra respuesta, si tiene datos de entrenamiento incorrectos, entonces su clasificador no funcionará bien.

Pero supongamos que ha recopilado suficientes datos de entrenamiento de alta calidad y que su clasificador funciona bien tanto en el conjunto de entrenamiento como en el conjunto de prueba. En tal caso, todavía hay varias formas de engañar al clasificador.

Por lo general, si su ejemplo de entrada está fuera de la distribución de capacitación, entonces su modelo puede funcionar mal. Por ejemplo, supongamos que entrena el clasificador de reconocimiento de imágenes en imágenes de objetos generadas por computadora, entonces si intenta usar dicho clasificador en fotos reales, la precisión de la clasificación probablemente se degradará. Sin embargo, esto generalmente no se considera “engaño” real, sino una generalización deficiente en diferentes dominios. La adaptación del dominio es un área de aprendizaje automático que se enfrenta a este desafío.

Si realmente quiere “engañar” al clasificador de aprendizaje automático, normalmente intentaría generar ejemplos adversos o ejemplos de clase basura.

El ejemplo adversario es una muestra de entrada que es muy similar (desde el punto de vista humano) al ejemplo original, pero hace que el aprendizaje automático lo clasifique erróneamente.

Existen múltiples formas de generar ejemplos adversos, la mayoría de ellos toman un gradiente del clasificador de aprendizaje automático en relación con la entrada y realizan uno o varios pasos en la dirección del gradiente. Aquí hay algunos documentos con las diversas técnicas de elaboración de adversarios: [1412.6572] Explicación y aprovechamiento de ejemplos adversarios, [1312.6199] Propiedades intrigantes de redes neuronales, [1608.04644] Hacia la evaluación de la robustez de las redes neuronales.

Los ejemplos de clase de basura son ejemplos de entrada que parecen ruido para un humano, pero clasificador con alta confianza como una clase significativa. Una forma de generar ejemplos de clase basura es comenzar desde una imagen aleatoria y luego usar alguna técnica de optimización para aumentar la precisión de la clase de salida deseada. Las predicciones de papel de alta confianza para imágenes irreconocibles describieron un método para generar ejemplos de clase basura.

Cualquier modelo (o algoritmo para obtener un modelo) es tan bueno como los datos sobre los que está entrenado. Una forma trivial de “engañar” a un algoritmo de clasificación es entrenándolo en datos que no son representativos de los datos que se probarán después.

Este es un problema importante en la industria: ¿cómo se obtienen datos que sean suficientes y que representen adecuadamente todos los tipos posibles de instancias, idealmente con una distribución de clase que sea comparable a la que se encuentra en el “mundo real”, (pero tampoco demasiado sesgada , ya que algunos algoritmos no se manejan bien con conjuntos de datos de entrenamiento altamente sesgados)?

Un ejemplo típico de cómo esto puede salir mal fue en los años noventa. Un clasificador fue entrenado para clasificar imágenes que podrían o no contener un tanque camuflado. Como todas las imágenes de entrenamiento que contenían un tanque se hicieron en un día soleado y las otras imágenes se tomaron en un día nublado, el clasificador resultante era menos detector de tanques que un buen clasificador meteorológico. [Esta historia puede ser apócrifa, vea una discusión en Aprendizaje automático y consecuencias no deseadas]

Como siempre, debemos tener en cuenta el viejo adagio: “basura adentro, basura afuera”. Una manera fácil de engañar a un clasificador es elegir datos engañosos.

En general, puede combinar ejemplos positivos y errores para generar características que podrían engañar a un modelo existente. Aquí hay una explicación detallada sobre cómo hacerlo: Atacar el aprendizaje automático con ejemplos adversos

Muchas maneras de hacer eso. Tres formas principales incluyen datos de entrenamiento incorrectos, datos desequilibrados con respecto a las clases y datos con un número sustancial de valores atípicos multivariados.

More Interesting

¿Por qué es óptimo establecer el tamaño del paso para la regresión logística con el descenso del gradiente al recíproco de la consistencia de lipschitz?

¿Cuál es el tamaño de equipo típico para un proyecto de aprendizaje automático?

¿Cuáles son los casos de uso del uso del procesamiento del lenguaje natural (PNL) en diversas industrias?

¿Cambridge o Stanford / Berkeley son mejores en aprendizaje automático?

¿Qué conocimiento se requiere para usar bibliotecas de aprendizaje automático pero no implementarlas?

¿Cómo se infiere la distribución posterior marginal?

¿Existe alguna implementación para un clasificador incremental que pueda ejecutarse en un espacio dinámico de características, lo que significa cuando aparecen nuevas características?

¿Qué son los algoritmos del sistema de recomendación? ¿Y cómo implementar en Java?

¿Cómo se puede reducir el tamaño del modelo TFIDF sin reducir significativamente la precisión?

¿Cómo puedo usar el modelo oculto de Markov sin supervisión para detectar y corregir palabras dobles?

Cómo garantizar que la función SIFT sea invariante en perspectiva

¿Cuáles son los métodos de implementación con calidad de producción para los modelos de aprendizaje automático?

¿Qué se debe considerar al decidir entre usar un algoritmo de filtrado colaborativo basado en el usuario y en el elemento?

¿Por qué las computadoras no pueden superar de manera confiable a los humanos en reconocimiento facial?

¿Qué tecnologías de IA están disponibles para el reconocimiento del usuario por comportamiento (interacción con el sistema), estilo de escritura, etc. y cómo procedo a hacer una?