Inteligencia artificial
¿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 ningún fenómeno o evento del mundo real, sino que se genera 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 componerse 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. Si bien 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 que, 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 principal problema que deben enfrentar los científicos de datos es la recopilación y el manejo de datos. Las empresas a menudo tienen dificultades para adquirir grandes cantidades de datos para entrenar un modelo preciso dentro de un plazo determinado. Etiquetar datos manualmente 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 en el uso de 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 esta razón, es posible 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 genuinos. Más allá de eso, los datos se pueden etiquetar automáticamente a medida que se generan, lo que reduce drásticamente la cantidad de tiempo necesaria 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 críticas para el éxito de su 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/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 real o en un evento real, para empezar.
Casos de uso para datos sintéticos
Los datos sintéticos tienen una amplia variedad de usos, ya que se pueden aplicar a casi cualquier tarea de aprendizaje automático. Casos de uso comunes para 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 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 donde 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 de recopilación y entrenamiento de datos tradicionales. Los datos sintéticos permiten a las empresas de robótica probar e ingeniar 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 preserven la privacidad de las personas, ya que los datos no se basan en personas reales.
Desafíos de los datos sintéticos
Si bien el uso de datos sintéticos conlleva muchas ventajas, también conlleva muchos desafíos.
Cuando se crea un dato sintético, a menudo carece 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 verdaderamente confiables. Más allá de eso, 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 salida/calidad. Deben verificarse contra datos etiquetados por humanos o contra datos auténticos de alguna forma.
¿Cómo se crea el dato sintético?
El dato sintético se crea de forma programática con técnicas de aprendizaje automático. Las técnicas de aprendizaje automático clásicas, como los árboles de decisión, se pueden utilizar, al igual que las técnicas de aprendizaje profundo. Los requisitos para los datos sintéticos influirán en qué tipo de algoritmo se utiliza 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 los casos en los que se conoce la distribución típica de los datos, una empresa puede generar datos sintéticos a través del uso de un método de Monte Carlo.
Los métodos basados en aprendizaje profundo para generar datos sintéticos suelen utilizar un autoencoder variacional (VAE) o una red generativa adversaria (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, una en la que tanto los datos de entrada como los datos de salida sean extremadamente similares.
Cuando se trata de modelos GAN, se les llama “redes adversarias” debido a que las 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 que el discriminador no pueda detectar. A su vez, el discriminador se vuelve mejor y mejor para detectar falsos. Las dos redes se entrenan una contra la otra, con los falsos volviéndose cada vez más realistas.












