¿La IA es vulnerable a los hackers? En caso afirmativo, ¿será a prueba de piratas informáticos?

Esta es realmente una gran pregunta, y una en la que estoy realmente interesado.

A partir de ahora, SÍ, la IA (en particular las redes neuronales) son vulnerables a los piratas informáticos. Al entrenar redes neuronales, generalmente para la clasificación, podemos recrear ejemplos falsos de imágenes que eliminarán por completo la red neuronal. Por ejemplo, si introduzco una imagen de una computadora en una red neuronal de clasificación como GoogLeNet o ResNet entrenada en ImageNet, la red neuronal escupirá la clasificación “Computadora”. Sin embargo, puedo encontrar una manera de cambiar la imagen de la computadora de una manera muy pequeña, para que la red neuronal produzca “Canarias” o alguna otra clase falsa.

Estas fotos son muy diferentes, pero la red neuronal genera una respuesta completamente diferente. Estos se conocen como ejemplos adversos . Estos ejemplos adversos se forman utilizando una técnica conocida como ascenso en gradiente. En términos realmente simplificados, observa la neurona de salida que desea aumentar (“Toalla de baño” en este caso), y encuentra los gradientes de la neurona de salida de “Toalla de baño” con respecto a los píxeles de entrada, y cambia la entrada imagen de esos gradientes solo un poco. Después de un par de iteraciones, esto suele ser suficiente para engañar a su red neuronal.

Este es un gran problema de seguridad en cualquier canalización de red neuronal. Considere un auto sin conductor. Empresas como Tesla y NVIDIA utilizan una compleja red de redes neuronales para clasificar automóviles, señales de alto, señales e indicaciones de tráfico, y líneas en la carretera. Si un pirata informático pudiera encontrar una manera de alterar una señal de alto de la vida real para engañar a la red neuronal y clasificarla como “nada importante”, entonces un automóvil sin conductor simplemente pasaría la señal de alto. Hay un excelente artículo de blog + artículos escritos por OpenAI (Attacking Machine Learning con ejemplos adversos), pero explicaré brevemente lo que OpenAI ha encontrado hasta ahora potencialmente útil, así como una idea que ha demostrado ser ineficaz.

La ruta ineficaz:

Este es un método conocido como “enmascaramiento de gradiente”, básicamente lo que hace es que la red neuronal no genera probabilidades, sino que los vectores de salida duros, esto significa que encontrar gradientes para la red se hace imposible, porque mover los pesos de la red por un una pequeña cantidad no debería cambiar las probabilidades por mucho, y como resultado, la salida sigue siendo exactamente la misma: los gradientes son cero. Parece que debería funcionar, pero los piratas informáticos aún pueden encontrar formas de evitar esto. Un hacker puede entrenar a otra red en las etiquetas de las salidas de red enmascaradas en gradiente, y puede crear un modelo muy similar al enmascarado en gradiente. El hacker luego usa esta red para crear imágenes falsas.

(a) es el modelo de gradiente enmascarado, y el objetivo es generar una imagen falsa que lleve la salida de h (x) a h (x *). En el modelo defendido, no sabemos hacia dónde moverse porque movernos en cualquier dirección (r) no nos lleva a ninguna parte nueva. Sin embargo, si entrenamos un nuevo modelo basado en (a), al que llamaremos (b), obtendremos gradientes reales que podemos usar. Esta es una solución inteligente para la técnica de enmascaramiento de gradiente.

Rutas potencialmente efectivas:

Esto se llama destilación defensiva ([1511.04508] Destilación como defensa contra perturbaciones adversas contra redes neuronales profundas), que esencialmente hace que la red entrene en probabilidades suaves (en lugar de etiquetas reales) emitidas desde otra red entrenada en etiquetas duras. Esto destila o suaviza el gradiente y dificulta que un hacker encuentre una imagen falsa.

Entrenamiento adverso, esto no es tan interesante, pero básicamente implica entrenar a la red en imágenes adversas. DAMOS a la red una imagen de confrontación, y le decimos que esta es una imagen de confrontación, en el futuro, la red podrá identificar imágenes de confrontación. El problema con esto es que podemos generar imágenes adversas para la NUEVA red neuronal. Para solucionar esto, seguimos entrenando en imágenes más adversas para cada iteración de la nueva red neuronal protegida.

Para resumir, es difícil proteger las redes neuronales de los piratas informáticos, y no estamos realmente seguros de cómo hacer que las redes neuronales sean a prueba de piratas informáticos, esto es algo en lo que mucha gente está trabajando, ¡y esperamos que pueda encontrar una solución!

More Interesting

¿Sería posible convertir las radiaciones capturadas por una cámara infrarroja o térmica en luz visible en la postproducción a través de IA / computación en la nube?

¿Qué desearían saber los investigadores de IA y los informáticos sobre el cerebro?

Cómo crear una demostración simple de redes neuronales

¿Por qué la inicialización de pesos por números pequeños es mala en las redes neuronales?

¿Las computadoras son buenas para resolver rompecabezas?

¿Podemos imitar artificialmente las señales eléctricas enviadas por nuestros nervios?

En los chatbots, ¿cuándo es bueno el aprendizaje automático y cuándo es malo?

¿Cuándo se convertirán los videojuegos en un "arte"?

¿Qué es exactamente la "creatividad computacional"? ¿Y hay algún programa aplicable desarrollado en ese campo? ¿O es solo un campo de investigación hasta ahora?

¿Podríamos entrenar una red neuronal arbitrariamente grande en un problema arbitrariamente difícil si tuviéramos los recursos computacionales (y los datos)?

¿Existen IDE o marcos creados para la investigación de IA?

¿Por qué las máquinas de vectores de soporte han caído en desgracia?

¿Cómo se usan las redes neuronales en el procesamiento del lenguaje natural?

¿Qué impide que un sistema de aprendizaje automático aprenda su propia salida de jugar contra sí mismo y llegar muy por delante de otros motores de ajedrez?

¿Los límites de tiempo más largos favorecen a los humanos o las computadoras en una partida Go?