Table of Contents
Introducción
Hoy en día, pensamos en la inteligencia artificial como la solución a muchos problemas y como una herramienta que puede ayudar a la humanidad a conseguir grandes cosas más rápido y con menos esfuerzo. Esos pensamientos no están lejos de ser ciertos, pero es realmente importante ser conscientes de los problemas que pueden surgir hasta entonces y de cómo esos problemas pueden afectarnos a los humanos y a nuestro entorno.
Entre los problemas de la inteligencia artificial (IA a partir de ahora), uno de los más relevantes se llama «filtración de datos». Se refiere a un problema de aprendizaje automático en el que los datos utilizados para entrenar el modelo (la técnica que utilizamos para predecir una salida a partir de un conjunto de datos de entrada) contienen información inesperada que podría llevar a sobreestimar la utilidad del modelo cuando se ejecuta con datos reales.
En este artículo, repasaremos cómo puede producirse una filtración de datos, sus consecuencias y cómo las industrias, las instituciones gubernamentales y los particulares pueden hacer frente a estos problemas.
Filtración de datos
Como ya se ha mencionado en la introducción, la filtración de datos es un problema que puede surgir durante la implementación de un modelo de aprendizaje automático. El problema surge cuando el modelo tiene información que no estará disponible en el momento de la predicción (en producción). Cuando esto ocurre, el modelo funcionará bien en condiciones de desarrollo y entrenamiento, pero cuando se utilice con datos de producción, su rendimiento será inferior.
Tipos de filtración
Las filtraciones pueden producirse de diferentes formas, dependiendo de la información que se esté filtrando. Hay filtraciones de formación y filtraciones de características; vamos a repasarlas.
Filtración de características
Este es el caso fácil; se produce al introducir una columna en los datos que da explícitamente al modelo información sobre lo que realmente intenta predecir. Y el problema es que esta información no va a estar disponible en el momento de la predicción. Por ejemplo, si estamos desarrollando un modelo para predecir los clics de los usuarios en un anuncio al año y tenemos un campo dailyUserAdClicks, estamos filtrando información porque esa información no estará disponible para un nuevo usuario en producción. El hecho de que esta información estuviera en los datos de entrenamiento pero no en producción hará que el modelo tenga un rendimiento inferior en el caso real.
Filtración de formación
En el Aprendizaje Automático, se utilizan ciertas técnicas para separar los datos disponibles en la fase de desarrollo entre las denominadas fases de Entrenamiento, Prueba y Validación Cruzada (también conocida como CV).
La filtración de entrenamiento puede ocurrir de múltiples maneras, una de ellas es al realizar algún tipo de operación (normalización, escalado, etc) a todo el conjunto de datos, incluyendo la división de prueba y CV. Hacerlo provocaría que la etapa de validación estuviera condicionada por estos datos modificados, lo que no sería así en producción.
Otro caso de filtración de formación se produce cuando se trabaja con información basada en el tiempo. El problema surge cuando el conjunto de datos se divide aleatoriamente para el entrenamiento, las pruebas y el CV. Puede ocurrir que el modelo se entrene basándose en datos temporales y, debido a que se divide aleatoriamente, la información de eventos futuros puede condicionar la capacidad de predicción del modelo. En otras palabras, esa información del futuro no estará disponible en un entorno de producción.
Consecuencias de la filtración de datos en la IA
Como hemos visto, en función de las prácticas de desarrollo utilizadas durante un proceso de aprendizaje automático, podemos encontrar diferentes resultados que podrían no ser los ideales. Si pensamos en un futuro en el que la mayoría de nuestras aplicaciones se basen en servicios que hagan uso de la inteligencia artificial, que funciona sobre modelos de aprendizaje automático subyacentes, es realmente preocupante ser conscientes de la precisión de estos modelos.
Hay muchos vectores en los que la filtración de datos podría ser un factor peligroso en este futuro eventual, empezando por las malas prácticas de desarrollo y terminando por los malos actores que intentan modificar el comportamiento de los sistemas. Tenemos que ser conscientes de que muchos de estos sistemas se van a basar en la información que estamos recopilando hoy, que se está utilizando en un entorno no regulado. Por ejemplo, la IA ya se está utilizando en aplicaciones médicas, sin ninguna regulación formal sobre los datos en los que se basan para dar resultados.
Por suerte, algunas instituciones gubernamentales son conscientes de este asunto y están tomando medidas al respecto. Un ejemplo es la Ley de Inteligencia Artificial, un proyecto propuesto por el Derecho Europeo en el que se pretende regular esta tecnología. Hay que reconocer que es un buen punto de partida, y es bueno ver que hay concienciación, pero las implicaciones de la tecnología son demasiado grandes como para depender de una o un par de instituciones. Su regulación actual pretende categorizar las aplicaciones en función de su perfil de riesgo, con las de alto riesgo altamente reguladas y las de menor riesgo no reguladas en absoluto. Esta categorización puede ser realmente peligrosa, ya que siempre será subjetiva. Por ejemplo, algunos podrían decir que la IA en las redes sociales no es arriesgada, pero otros podrían argumentar que su impacto en el desarrollo social es enorme.
Luego tenemos el lado oscuro del asunto, donde entran en juego los malos actores. Puede que Europa tenga su propia política para la IA, pero puede que otras partes del mundo nunca lleguen a ese punto, lo que significa que alguien con malas intenciones podría sobrepasar lo que se cree que es ético o legal en otro lugar. E incluso en un entorno regulado, hay formas de corromper los sistemas que podrían provocar catástrofes. Hoy en día se producen hackeos a diario. Dada una infraestructura tecnológica basada en datos, es muy probable que estos datos sean un objetivo para que los malos actores los manipulen a su antojo.
Conclusión
Después de repasar algunos detalles técnicos de la filtración de datos, cómo puede producirse y sus posibles consecuencias para nuestro futuro, creo que es muy importante pensar en cómo afronta esto la industria del software. Desde el punto de vista de un desarrollador, debemos garantizar unas buenas prácticas. Un fallo de filtración de datos en un modelo podría llevar a un pirata informático a contaminar conjuntos de datos que podrían ser el punto de partida de muchos otros servicios que basan sus aplicaciones en los resultados de este modelo. Desde el punto de vista de un regulador, no sólo es importante categorizar las aplicaciones, sino también las fuentes de datos y el acceso a estos datos.
Hay un gran número de peligros y cosas a tener en cuenta para reducir las posibilidades de las tecnologías relacionadas con las catástrofes, y probablemente aún no estemos ni siquiera cerca de conocer la mayoría de ellos. Pero es clave tener la mente abierta y tratar estos asuntos con la delicadeza que pueden tener sus consecuencias; precipitarse en el desarrollo y la aplicación de tales tecnologías podría ser un enorme error.
Si te interesa saber más sobre este tema, no pierdas de vista el blog de Apiumhub. Siempre publicamos contenidos de calidad para mantenerte al día de las nuevas tecnologías.
Author
-
iOS Developer working in the software development industry with agile methodologies. Skilled in Swift, objective-C, Python, PostgreSQL, SQL, PHP, and C++. More than 8 years of experience working as iOs Developer, following the best practices.
Ver todas las entradas