Modelos y plataformas de IA
¿Qué es el dato sintético?
¿Qué es el dato sintético?
El dato sintético es una tendencia en rápida expansión y una herramienta emergente en el campo de la ciencia de datos. ¿Qué es exactamente el dato sintético? La respuesta breve es que el dato sintético está compuesto por datos que no se basan en fenómenos o eventos del mundo real, sino que se generan a través de un programa de computadora. Sin embargo, ¿por qué el dato sintético se está volviendo tan importante para la ciencia de datos? ¿Cómo se crea el dato sintético? Exploraremos las respuestas a estas preguntas.
¿Qué es un conjunto de datos sintéticos?
Como sugiere el término “sintético”, los conjuntos de datos sintéticos se generan a través de programas de computadora, en lugar de estar compuestos a través de la documentación de eventos del mundo real. El propósito principal de un conjunto de datos sintéticos es ser lo suficientemente versátil y robusto como para ser útil para el entrenamiento de modelos de aprendizaje automático.
Para ser útil para un clasificador de aprendizaje automático, los datos sintéticos deben tener ciertas propiedades. Mientras que los datos pueden ser categóricos, binarios o numéricos, la longitud del conjunto de datos debe ser arbitraria y los datos deben generarse aleatoriamente. Los procesos aleatorios utilizados para generar los datos deben ser controlables y basados en diversas distribuciones estadísticas. También se puede agregar ruido aleatorio al conjunto de datos.
Si los datos sintéticos se utilizan para un algoritmo de clasificación, la cantidad de separación de clases debe ser personalizable, para que el problema de clasificación pueda hacerse más fácil o más difícil según los requisitos del problema. Mientras tanto, para una tarea de regresión, se pueden emplear procesos generativos no lineales para generar los datos.
¿Por qué utilizar datos sintéticos?
A medida que los marcos de aprendizaje automático como TensorfFlow y PyTorch se vuelven más fáciles de usar y los modelos pre diseñados para visión por computadora y procesamiento de lenguaje natural se vuelven más ubicuos y potentes, el problema principal que los científicos de datos deben enfrentar es la recopilación y manipulación de datos. Las empresas a menudo tienen dificultades para adquirir grandes cantidades de datos para entrenar un modelo preciso dentro de un plazo determinado. La etiquetado manual de datos es una forma costosa y lenta de adquirir datos. Sin embargo, generar y utilizar datos sintéticos puede ayudar a los científicos de datos y a las empresas a superar estos obstáculos y desarrollar modelos de aprendizaje automático de manera más rápida.
Hay una serie de ventajas al utilizar datos sintéticos. La forma más obvia en que el uso de datos sintéticos beneficia a la ciencia de datos es que reduce la necesidad de capturar datos de eventos del mundo real, y por lo tanto se puede generar datos y construir un conjunto de datos mucho más rápido que un conjunto de datos dependiente de eventos del mundo real. Esto significa que se pueden producir grandes volúmenes de datos en un corto período de tiempo. Esto es especialmente cierto para eventos que rara vez ocurren, ya que si un evento rara vez ocurre en la naturaleza, se puede simular más datos a partir de algunas muestras de datos reales. Además, los datos se pueden etiquetar automáticamente a medida que se generan, lo que reduce drásticamente el tiempo necesario para etiquetar los datos.
Los datos sintéticos también pueden ser útiles para obtener datos de entrenamiento para casos de borde, que son instancias que pueden ocurrir con poca frecuencia pero son cruciales para el éxito de la IA. Los casos de borde son eventos que son muy similares al objetivo principal de una IA, pero difieren en aspectos importantes. Por ejemplo, los objetos que solo están parcialmente en vista podrían considerarse casos de borde al diseñar un clasificador de imágenes.
Finalmente, los conjuntos de datos sintéticos pueden minimizar las preocupaciones de privacidad. Los intentos de anonimizar los datos pueden ser ineficaces, ya que incluso si se eliminan las variables sensibles o identificativas del conjunto de datos, otras variables pueden actuar como identificadores cuando se combinan. Esto no es un problema con los datos sintéticos, ya que nunca se basaron en una persona o evento real en primer lugar.
Casos de uso para datos sintéticos
Los datos sintéticos tienen una amplia variedad de casos de uso, ya que se pueden aplicar a casi cualquier tarea de aprendizaje automático. Los casos de uso comunes para los datos sintéticos incluyen vehículos autónomos, seguridad, robótica, protección contra fraude y atención médica.
Uno de los primeros casos de uso para los datos sintéticos fue el de los vehículos autónomos, ya que los datos sintéticos se utilizan para crear datos de entrenamiento para vehículos en condiciones en las que es difícil o peligroso obtener datos de entrenamiento reales en la carretera. Los datos sintéticos también son útiles para la creación de datos utilizados para entrenar sistemas de reconocimiento de imágenes, como sistemas de vigilancia, de manera mucho más eficiente que la recopilación y etiquetado manual de una gran cantidad de datos de entrenamiento. Los sistemas de robótica pueden ser lentos para entrenar y desarrollar con métodos tradicionales de recopilación de datos y entrenamiento. Los datos sintéticos permiten a las empresas de robótica probar y diseñar sistemas de robótica a través de simulaciones. Los sistemas de protección contra fraude pueden beneficiarse de los datos sintéticos, y los nuevos métodos de detección de fraude se pueden entrenar y probar con datos que son constantemente nuevos cuando se utilizan datos sintéticos. En el campo de la atención médica, los datos sintéticos se pueden utilizar para diseñar clasificadores de salud que sean precisos, pero que también preserven la privacidad de las personas, ya que los datos no se basan en personas reales.
Desafíos de los datos sintéticos
Aunque el uso de datos sintéticos conlleva muchas ventajas, también conlleva muchos desafíos.
Cuando se crean datos sintéticos, a menudo carecen de valores atípicos. Los valores atípicos ocurren naturalmente en los datos y, aunque a menudo se eliminan de los conjuntos de datos de entrenamiento, su existencia puede ser necesaria para entrenar modelos de aprendizaje automático realmente confiables. Además, la calidad de los datos sintéticos puede ser muy variable. Los datos sintéticos a menudo se generan con un dato de entrada o semilla, y por lo tanto la calidad de los datos puede depender de la calidad de los datos de entrada. Si los datos utilizados para generar los datos sintéticos están sesgados, los datos generados pueden perpetuar ese sesgo. Los datos sintéticos también requieren algún tipo de control de calidad o salida. Deben verificarse contra datos etiquetados por humanos o contra datos auténticos de alguna forma.
¿Cómo se crean los datos sintéticos?
Los datos sintéticos se crean de forma programática con técnicas de aprendizaje automático. Se pueden utilizar técnicas de aprendizaje automático clásicas como los árboles de decisión, así como técnicas de aprendizaje profundo. Los requisitos para los datos sintéticos influirán en el tipo de algoritmo que se utilice para generar los datos. Los árboles de decisión y los modelos de aprendizaje automático similares permiten a las empresas crear distribuciones de datos no clásicas y multimodales, entrenadas con ejemplos de datos del mundo real. Generar datos con estos algoritmos proporcionará datos que están altamente correlacionados con los datos de entrenamiento originales. Para casos en los que se conoce la distribución típica de los datos, una empresa puede generar datos sintéticos mediante el uso de un método de Monte Carlo.
Los métodos de generación de datos sintéticos basados en aprendizaje profundo suelen utilizar un autoencoder variacional (VAE) o una red adversaria generativa (GAN). Los VAE son modelos de aprendizaje automático no supervisados que utilizan codificadores y decodificadores. La parte codificadora de un VAE es responsable de comprimir los datos en una versión más simple y compacta del conjunto de datos original, que el decodificador analiza y utiliza para generar una representación de los datos base. Un VAE se entrena con el objetivo de tener una relación óptima entre los datos de entrada y los datos de salida, donde tanto los datos de entrada como los datos de salida son extremadamente similares.
Cuando se trata de modelos GAN, se les llama “redes adversarias” debido a que los GAN son en realidad dos redes que compiten entre sí. El generador es responsable de generar datos sintéticos, mientras que la segunda red (el discriminador) opera comparando los datos generados con un conjunto de datos reales y trata de determinar qué datos son falsos. Cuando el discriminador detecta datos falsos, el generador es notificado de esto y hace cambios para tratar de obtener un nuevo lote de datos del discriminador. A su vez, el discriminador se vuelve mejor y mejor en la detección de falsos. Las dos redes se entrenan entre sí, con los falsos volviéndose más realistas con el tiempo.












