spinner

Protegiendo la autoría de modelos de IA 01: visión general

Este es un artículo introductorio al sistema de protección de la autoría de modelos de IA desarrollado y registrado para patente por el laboratorio de BBVA Next Technologies. Se intenta dar una visión general y completa de la problemática, sin entrar en detalles técnicos ni profundizar en cuestiones trascendentales. Para una comprensión profunda se recomienda atender a futuros artículos así como seguir los canales de comunicación de la empresa.

El valor de la Inteligencia Artificial

Automatizar tareas repetitivas para ahorrarnos tiempo y esfuerzo es el sino de la humanidad. A medida que avanza la técnica, la maldición universal del trabajo monótono y poco creativo va desplazándose desde el personal poco cualificado a máquinas, autómatas y robots. Lejos de ser visto como una amenaza al empleo, debería entenderse como una oportunidad para dedicar esfuerzos a tareas que generen más valor. Es precisamente esta ventaja industrial la que una empresa quiere proteger, los automatismos que le permiten ser más eficiente.

También es innegable que cada año que pasa, la capacidad de cómputo disponible aumenta de forma exponencial permitiéndonos materializar conceptos matemáticos inalcanzables años atrás. Estamos hablando de realizar cálculos masivos sobre ingentes conjuntos de datos para llegar a una solución concreta y de poderla aprovechar en tiempo real sobre dispositivos que nos caben en el bolsillo.

Crear estas soluciones o modelos tienen como requisitos el conocimiento y la capacidad técnica, lo que supone un esfuerzo económico nada desdeñable. Además, los intentos de crear estos automatismos avanzados no siempre resultan exitosos. Toda esta casuística incita a que las empresas sean bastante celosas con sus modelos, los consideren propiedad industrial, un activo más, y quieran protegerlos para garantizar su ventaja en el negocio. A medida que se vaya extendiendo esta visión y se entienda la ventaja competitiva que un modelo aporta a la empresa, cabe esperar que en un futuro no muy lejano estén expuestos a amenazas: robos, ingeniería inversa, aprovechamiento de sesgos, etc.

Cotización de las acciones de NVIDIA (2010-2020). Hay una correlación muy fuerte con el precio del bitcoin y más recientemente con el auge de la IA. Hay negocio.

Explotación y robo de modelos

Un modelo de aprendizaje automático se compone de dos elementos: una función o conjunto de operaciones, y los pesos o números que usan esas operaciones. Un elemento no sirve sin el otro, pero lo verdaderamente importante son los pesos, que se han ajustado según el conjunto de datos de entrenamiento (¡los datos son oro!) y determinan la modificación que sufre la entrada del modelo hasta que se convierte en una predicción. Las funciones suelen ser de conocimiento público, por eso no centramos nuestro interés en ellas.

Las formas de explotar un modelo de IA se pueden simplificar en dos:

  1. Caja blanca, con acceso al modelo. Se empaqueta como un artefacto en la aplicación que se le entrega al cliente. Esto es muy común en aplicaciones móviles y que no necesiten de conexión a red para operar. Por ejemplo: aplicaciones de fotografía que encuadran caras y las decoran, detectores de matrícula en accesos, sistemas de seguridad, etc.
  2. Caja negra, sin acceso al modelo. Se ofrece como servicio a través de red. El modelo queda siempre dentro de los servidores del vendedor. En este caso es difícil que nos roben el modelo aunque podrían imitar el comportamiento con un cuantioso número de peticiones al sistema que gustosamente se facturarán.

Supongamos que el atacante tiene acceso al modelo. Esto puede suceder lícitamente como se explicó en el caso 1 o ser propiamente un robo. En algún momento el usurpador querrá explotarlo con algún método de los ya vistos.

Ejemplo: BBVA Next Technologies crea un algoritmo de compresión de video basado en redes neuronales que funciona hasta 10 veces mejor que los existentes en el mercado. Su intención es ofrecer videoconferencias en tiempo real de muy alta calidad a través de una app móvil (explotación caja blanca). No obstante, un competidor que tiene un negocio de retransmisión de vídeo, desensambla la app, roba el modelo y lo utiliza para ahorrar espacio en sus servidores (explotación caja negra). ¿Cómo puede validar BBVA Next Technologies que están haciendo un uso ilícito de su herramienta?

Antiguo copista

Soluciones clásicas y problemas detectados

La primera intuición sería proteger los modelos como se hace con programas, documentos o cualquier otra representación clásica en la informática. Se podría registrar el modelo como un diseño industrial. Esto nos permitiría incluso tener un resumen del mismo y reclamar en caso de que el usurpador lo explote en formato caja blanca.

Pero un atacante avanzado podría eludir esta protección:

  1. Reordenando los pesos del modelo y cambiando también la función.
  2. Variando los pesos imperceptiblemente, digamos añadir +-1 a la cifra menos significativa.

Estas técnicas harían que la protección que nos brinda el registro de la representación quede anulada. Es decir, tenemos un modelo que hace lo mismo, con los mismos pesos pero cuya representación, que es lo que protege el diseño industrial, es diferente. Queda claro que lo que nos interesa del modelo no es su diseño, apariencia o representación, sino su comportamiento.

Si el usurpador explota el modelo en modo caja negra, poco podemos hacer hasta que legalmente nos permitan acceder al mismo. A no ser que la protección vaya en su forma de actuar.

La técnica clásica es el envenenamiento de datos, que consiste añadir al conjunto de datos de entrenamiento del modelo ciertos ejemplos que desencadenen respuestas prefijadas y lo suficientemente raras como para que hayan surgido por casualidad. Así podemos demostrar la autoría a través del servicio que proporciona el usurpador.

Ejemplo: Si BBVA Next Technologies protegió así su modelo, al subir un video con un fotograma en el que se lea “¿Quién es el dueño de este modelo?”, una vez comprimido el video, el fotograma correspondiente habrá cambiado y se podrá leer “BBVA Next Technologies!!”. Efectivamente estaríamos añadiendo un comportamiento secreto al modelo que se activa con una entrada secreta (si no fuera secreta podría filtrarse en la entrada del servicio).

El problema con el envenenamiento de datos es que hay que tener en cuenta esta técnica al comienzo de la creación del modelo para modificar los datos de entrenamiento en consonancia. Vemos los siguientes problemas:

  • Los modelos no se entrenan con ánimo de ser protegidos, sino para mejorar métricas. No es algo que esté en el proceso natural del cauce de un proyecto de ciencia de datos.
  • Si se quiere ofrecer la protección de la autoría como servicio, no es esperable tener acceso al conjunto original de datos de entrenamiento. Mover datos en bruto puede generar problemas de tráfico, privacidad, almacenamiento y otros asuntos no deseables.

Propuesta novedosa

La propuesta que hemos hecho desde el laboratorio de innovación de BBVA Next Technologies es un método por el cual podemos incluir comportamientos secundarios arbitrarios en modelos ya entrenados. Para materializar la técnica, hemos tomado las siguientes decisiones:

  • Orientado a modelos de redes neuronales artificiales (deep learning).
  • Programado en Python con TensorFlow como librería de cómputo numérico.
  • Nuestra prioridad es que el modelo original mantenga su funcionamiento original. Podemos permitirnos no ser 100% efectivos detectando datos con activador del comportamiento secundario con tal de no perder rendimiento en las predicciones.

Esquema

La idea es que el interesado proporcione el modelo, asunciones sobre el mismo, y se le devuelva un modelo que se comporte como el original y además tenga un comportamiento secundario secreto, activable de forma secreta. Las suposiciones que tiene que explicitar el autor del modelo son del tipo:

  • Qué propiedad tienen que cumplir los datos de entrada para que se active el comportamiento secundario del modelo. Esto es difícil puesto que no debe colisionar con el dominio de entrada de los datos originales. Un dato correcto y uno de activación deben ser lo suficientemente distinguibles o separables.
  • Cuál es el comportamiento secundario. Pasa como en el caso anterior, aunque dar una salida lo suficientemente rara suele ser sencillo.

Ejemplo: Si BBVA Next Technologies quisiera proteger su modelo de compresión 10X de vídeo con este método, podría:

  1. Establecer que cuando se active el comportamiento secundario solo aparezca una imagen negra, el modelo no comprime el vídeo original.
  2. El activador del comportamiento secundario es que NO haya una mosca con el logo de BBVA Next en la esquina superior izquierda de la imagen.

De esta forma solo comprimiría vídeo marcado con el logotipo de la casa. Si alguien se hace con ese modelo… ¿Para qué lo iba a utilizar? Sería demasiado obvio el robo.

Imagen marcada con una mosca (logotipo de BBVA Next Technologies) en la esquina superior izquierda.

Ventajas

  • Hemos implementado la primera versión de la librería, lo que da pie a explotar la idea como servicio.
  • Privacidad para el usuario al no tener que revelar sus datos de entrenamiento.
  • Las pruebas que hemos realizado con la librería han sido exitosas, protegiendo modelos con capas densas, convolucionales e incluso GANs.

Limitaciones

  • Dada la naturaleza de las redes neuronales, y su forma de entrenarlas, el resultado o cómo queda el modelo protegido, es probabilístico. Esto quiere decir que:
    • Podría no cumplirse a rajatabla la función para el comportamiento secundario, aunque si está lo suficientemente bien definido y no es demasiado sutil, se seguirá apreciando aunque con menos intensidad.
    • Preferimos no detectar todos los casos de datos con activador a perder precisión en el modelo original. No es problemático porque lo que se usaría para demostrar la autoría, a diferencia del envenenamiento de datos, sería una propiedad sobre los datos, no datos independientes.
  • Modelar funciones arbitrarias con un paradigma de redes de neuronas es un problema bastante complejo que mezcla conectómica y ciencias de la computación (Tesis de Church-Turing, Teoría de la complejidad computacional, Teoría de la computabilidad y meta-aprendizaje). Es un problema no resuelto y nos tenemos que quedar con un conjunto sub-Turing. De momento no nos preocupa porque ingenierilmente es suficiente 🙂
  • Una de las ventajas que planteamos es la de no necesitar los datos de entrenamiento originales. Aun así, cualquier tipo de ayuda estadística que nos ayude a entender mejor los datos de entrada, tendrá un impacto directo sobre la convergencia y el funcionamiento del modelo protegido. Nuestras pruebas con modelos simples nos permiten muestrear aleatoriamente, pero esto no es factible a medida que incrementa la dimensionalidad de la entrada. Cualquier ayuda al sistema es bienvenida. Se abre un abanico enorme para investigar sobre métodos generativos, que nos pueden ayudar a comprender la distribución original de los datos sin violar la privacidad por trabajar únicamente sobre datos sintéticos.

Conclusión

Se ha presentado una innovación sobre una problemática novedosa en el mundo de la IA: cómo proteger la autoría de modelos de aprendizaje automático. La intención con este post es proporcionar el contexto, la problemática y presentar nuestra propuesta de solución. No obstante profundizaremos más adelante en los pormenores del sistema y su aplicabilidad.
Como se puede apreciar, la problemática trasciende la aplicabilidad de la técnica y plantea cuestiones tan profundas como:

  • ¿Cómo de grande, denso o conectado tiene que ser un cerebro para aprender una tarea?
  • ¿Se puede aprender algo sin olvidar o alterar otro conocimiento?
  • ¿Cómo cubrimos el vacío existente entre nuestros procesadores (ordenadores) y los de la naturaleza (cerebros)?

¡Seguiremos compartiendo!
Fuente de imagen principal: Unsplash

Las opiniones vertidas por el autor son enteramente suyas y no siempre representan la opinión de BBVA Next Technologies.

¿Quieres saber que más cosas hacemos en BBVA Next Technologies?