Revolución IA

La Inteligencia Artificial está llamada a protagonizar la próxima Revolución tecnológica

Inicio Sobre Revolucionia Temas Para saber más Contacto

Virus en clasificadores

Fernando P.    29/08/2017

Temas:  Actualidad    Divulgación

Recientemente, un equipo de investigadores de la Universidad de Nueva York han estado estudiando la posibilidad de que el proceso de entrenamiento de ciertos clasificadores pueda ser contaminado, de forma que el clasificador que resulta no funcione exactamente como estaba previsto y genere resultados no deseables en algunas situaciones muy concretas, para las que su entrenamiento ha sido comprometido.

De alguna forma, esto puede asimilarse al fenómeno de los virus y otros elementos malignos que pueden aparecer en algunos programas normales de ordenador. Si esto se generaliza podríamos asistir a la aparición de una nueva resposabilidad de los sistemas de seguridad: intentar comprobar que los sistemas creados con técnicas de Inteligencia Artificial no han sido comprometidos de alguna forma.
Virus Inteligencia Artificial
Estos problemas no tienen nada que ver con los problemas derivados de vandalismo o similares que obligan a construir clasificadores más robustos, pero en el que no hay maldad añadida a la funcionalidad del clasificador. Simplemente no funciona lo suficientemente bien como para lanzarse al mundo real.

Los virus en Informática
Básicamente, un virus informático es un programa o un trozo de programa que se integra de forma no autorizada entre los programas legítimos de un ordenador y que se las arregla para ser ejecutado. De forma que, en un momento dado, puede tomar el control del ordenador y usarlo para efectuar tareas que el propietario del ordenador desconoce y no autorizaría.

Una de las tareas básicas de los virus informático es replicarse, a imagen y semejanza de lo que hacen sus homólogos biológicos. El proceso de replicación consiste en copiarse a algún medio o transmitirse por red de alguna forma que sea susceptible de llegar a otro ordenador distinto, en el que pueda obtener acomodo, con lo que vuelve a comenzar el proceso.

Los virus informáticos son muy antiguos, pero su aparición masiva coincidió con la época en que los usuarios de ordenadores empezaron a usar masivamente programas que ellos no habían desarrollado y ni siquiera sabían cómo estaban hechos. La distribución masiva de programas entre usuarios poco expertos es el vector perfecto para la difusión de los virus informáticos.

Clasificadores y aprendizaje automático
En varios artículos hemos tratado sobre el concepto de clasificador y hemos tratado diversos refinamientos de la idea básica. En el caso de problemas complicados hemos introducido la idea de que un clasificador debe generalizar y mencionábamos que este tipo de clasificadores se suelen construir usando técnicas de redes neuronales artificiales (RNA en lo sucesivo) mediante procesos de entrenamiento o aprendizaje.

Hay varios problemas bastante estudiados que responden bien a la resolución mediante clasificadores construidos con RNA. Ejemplos de estos problemas son el reconocimiento de objetos en imágenes, el reconocimiento de texto o el reconocimiento de lenguaje hablado.

Existen muchas aplicaciones prácticas para este tipo de problemas y se ha desarrollado toda una industria alrededor de este tipo de técnicas. De hecho, existen clasificadores comerciales más o menos preparados que se pueden ajustar para nuestra aplicación concreta.

Entrenamiento de redes neuronales artificiales
Un clasificador basado en RNA viene a ser una estructura que tiene un número enorme de parámetos (números), que son los que definen del comportamiento del clasificador. Algunos de estos parámetros pueden estar más o menos fijos en soluciones comerciales, pero otros siempre habrá que afinarlos para que el clasificador funcione en nuestra aplicación particular.

El proceso de afinar estos parámetros se denomina entrenamiento de la red. Es un proceso iterativo que usa un conjunto de casos de prueba como entrada al clasificador para ir entrenándolo. Sucesivamente se van presentando los casos de prueba al clasificador y se compara la respuesta que proporciona con la que debería dar.

Cuando la respuesta del clasificador a un caso de entrada no es la adecuada, se aplica un algoritmo que es capaz de identificar los parámetros que más influyen en la respuesta generada para ese caso particular y se modifican de forma que la respuesta al clasificador sea la correcta para ese caso.
Clasificador contaminado
A base de iterar una y otra vez sobre los casos de ejemplo se consigue converger a unos valores de los parámetros que hacen que el clasificador se comporte bien con los casos de prueba. Si hay muchos casos de prueba (muchos más que parámetros), el clasificador habrá aprendido a generalizar y estará entrenado y listo para funcionar con casos de entrada reales.

Un ejemplo sencillo de aplicación sería un dispositivo que tenga que mirar entre piezas de muchos colores para seleccionar sólo las rojas o azules, pero que deba lidiar con diversos tonos de rojo o azul. Podemos entrenarlo con unas pocas piezas representativas y luego deberá generalizar y será capaz de escoger todas las piezas que tengan tonos de rojo o azul. El resto de colores no debería considerarlos.

Plataformas de entrenamiento de redes neuronales artificiales
Sucede que el proceso de entrenar una RNA es muy costoso computacionalmente, son necesarias muchas pasadas por los casos de prueba y cada ajuste de parámetros involucra una cantidad inmensa de operaciones matemáticas.

Pero una vez que la red está entrenada, sólo necesitamos el conjunto de parámetros obtenido para hacer funcionar nuestro clasificador, que, normalmente, será muy rápido funcionando. Es decir, sólo necesitamos grandes recursos computacionales para entrenar la red, después ya podemos funcionar con recursos modestos.

El conjunto de parámetros que obtenemos es algo que no tiene interpretación, sólo le sirve a una RNA para implementar el clasificador que necesitamos, pero es ininteligible lo miremos como lo miremos.

Es en este punto donde aparecen muchas soluciones comerciales que nos ofrecen, por un lado, una red medio entrenada para una solución más o menos concreta y, por otro lado, una plataforma de ordenadores con gran potencia que nos permite entrenar la red completamente y obtener los parámetros exactos para nuestro clasificador.

Plataformas de entrenamiento contaminadas
Si nosotros tenemos recursos para construir una RNA y entrenarla para que se constituya en un clasificador no debería haber ningún problema de contaminación en nuestro clasificador, debería fucionar en base a los ejemplos con los que le hemos entrenado, pero nada más.

Pero sucede que, a medida que las aplicaciones de la clasificación de imágenes y sonido se complican más y más, cada vez son necesarios mayores recursos computacionales para entrenar la red. Es probable que resulte algo que no podamos permitirnos y necesitaremos alquilar una plataforma comercial, dependeremos de terceros.

Como sucede que el resultado del entrenamiento de una RNA es un conjunto inmenso de parámetros que no hay forma de saber cual es su significado, pues aparece el riesgo de que una de estas soluciones comerciales nos proporcione un conjunto de parámetros que esté contaminado de alguna forma.
Clasificador contaminado
En el ejemplo anterior de clasificación de piezas rojas y azules, se podría modificar el conjunto de prueba añadiendo piezas verdes para que fueran clasificadas como azules, desvirtuando la idea de nuestro clasificador, que pasaría a elegir piezas verdes cuando no deberían ser consideradas.

Yendo a aplicaciones más complejas, en la investigación que hemos mencionado se ha estado estudiando la posibilidad de contaminar un clasificador destinado a reconocer señales de tráfico en un vehículo autónomo y han descubierto que añadiendo señales adicionales al conjunto de casos de entrenamiento podían modificar de forma considerable el comportamiento del clasificador resultante.

Específicamente, entrenaron al clasificador para reconocer señales de tráfico concretas que tenían alguna pegatina especial, de forma que el clasificador las reconociera como otra cosa. Por ejemplo, se las ingeniaron para que señales de STOP con una pegatina especial fueran consideraras como señales de límite de velocidad por el clasificador.

Seguridad en redes neuronales artificiales
Los investigadores han bautizado como BadNets a estas RNA que han sido comprometidas.

Se trata de la misma situación que se da con los virus informáticos. En el momento en el que se depende de terceros para desarrollar algo que no podemos verificar si está exactamente como queremos y en el momento en que este tipo de cosas se generalizan y son compartidas por muchos usuarios, estamos expuestos a recibir componentes que llevan funcionalidades no deseadas o directamente peligrosas.

Tanto en Inteligencia Artificial como en otras facetas de la tecnología, siempre hay que buscar un compromiso adecuado entre dependencia de terceros y adecuado conocimiento de lo que estamos haciendo.


Para saber más:

Artículo original en el que se describe la investigación llevada a cabo para probar la posibilidad de contaminación en el proceso de entrenamiento de redes neuronales artificiales.

Artículo en medio especializado que anuncia y comenta la posibilidad de contaminación en el proceso de entrenamiento de redes neuronales artificiales.

No es el objeto del artículo tratar las redes neuronales artificiales, pero se trata de la técnica básica investigada para introducir contaminación en los clasificadores resultantes.

El aprendizaje automático o machine learning es una disciplina de las ciencias de la computación que trata la cuestión de sí las máquinas pueden llegar a aprender por la vía de la generalización. Tampoco es el objeto del artículo, pero el entrenamiento de las redes neuronales artificiales es una de las formas más comunes de machine learning.



 

Inicio Powered by NetBSD
 
HTML5
 
En general, todo el contenido de este sitio web es original, salvo referencias o enlaces a otros sitios web y citas o reproducciones expresamente presentadas como tales.

No está permitida la reproducción ni la copia del contenido de este sitio web sin el permiso expreso de la propiedad del mismo.

Este sitio web no utiliza cookies ni ningún otro mecanismo para almacenar información en los navegadores de los visitantes ni para realizar seguimiento de los mismos.

2017,2018 Revolucionia.net
Sobre Revolucionia
Temas
Para saber más
Contacto