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.
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.
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.
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 |
![]() ![]() |
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 |