Investiga I+D+i

Noticias:

Puedes conocer mejor el Programa en www.programainvestiga.org

[NUEVO RETO] Diferentes tipos de generación de datos

[NUEVO RETO] Diferentes tipos de generación de datos
« en: 23 Noviembre , 2024, 23:16:41 pm »
[NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     
Hola compañer@s del foro,

Soy Marc Gomis y soy uno de los Veteranos de esta edición.

Me gustaría plantearos un pequeño reto con tal de dar un poco de actividad a nuestra sección en el foro, pues como ya sabréis, la participación en el foro es imprescindible para poder optar a la siguiente fase del programa.

Dicho esto; os propongo unas preguntas, a ver quién las puede contestar. También podéis generar debate y discusión entre vosotr@s.

  • De todos los tipos de métodos de generación de datos, ¿cuál consideráis que es el mejor y porque?
  • Qué tipo de redes neuronales o mecanismos de inteligencia artificial/machine learning se necesitan para general datos sintéticos
  • Creéis que el uso de datos generados sintéticamente puede generar sesgos y errores en la precisión de los resultados obtenidos? ¿Cómo podría mejorarse esto?
  • ¿En qué casos puede ser necesario la generación de datos sintéticos? ¿Y en qué casos puede ser innecesario o hasta contraproducente?

No hace falta que deis respuesta a todas las preguntas, pero sí que os animo a intentar contestar una o dos y responder a las opiniones de vuestr@s compañer@s.

Un saludo,
Marc Gomis.


Re:[NUEVO RETO] Diferentes tipos de generación de datos
« Respuesta #2 en: 28 Noviembre , 2024, 17:02:41 pm »
[NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     [NUEVO RETO]     
Hola compañer@s del foro,

Soy Marc Gomis y soy uno de los Veteranos de esta edición.

Me gustaría plantearos un pequeño reto con tal de dar un poco de actividad a nuestra sección en el foro, pues como ya sabréis, la participación en el foro es imprescindible para poder optar a la siguiente fase del programa.

Dicho esto; os propongo unas preguntas, a ver quién las puede contestar. También podéis generar debate y discusión entre vosotr@s.

  • De todos los tipos de métodos de generación de datos, ¿Cuál consideráis que es el mejor y porque?
  • Qué tipo de redes neuronales o mecanismos de inteligencia artificial/machine learning se necesitan para general datos sintéticos
  • Creéis que el uso de datos generados sintéticamente puede generar sesgos y errores en la precisión de los resultados obtenidos? ¿Cómo podría mejorarse esto?
  • ¿En qué casos puede ser necesario la generación de datos sintéticos? ¿Y en qué casos puede ser innecesario o hasta contraproducente?

No hace falta que deis respuesta a todas las preguntas, pero sí que os animo a intentar contestar una o dos y responder a las opiniones de vuestr@s compañer@s.

Un saludo,
Marc Gomis.

Buenos días a todos.

Me he estado informando un poco y tras varias pruebas y un rato de teoría creo tener algo con lo que debatir.
Comenzando por el principio, como es lógico, la técnica de generación de datos que personalmente considero la mejor, no sería el único uso de un modelo, sino la complementación de unos con otros. Me explico, el VAE, o el autocodificador de Valor Agregado Ecuatoriano tiene una gran potencia en cuanto a generación de datos sintéticos realistas, basados en resultados actualmente existentes, se refiere. Sin embargo, esta generación de datos se ve forzada por la agrupación de grandes bases de datos o recursos de los que poder obtener una simulación realista, de lo contrario este ensayo no muestra ciertamente datos que podrían replicarse, mas la media de los datos que obtiene. Por ello, y aquí entra el Boostrapping, con su memoria LTSM*; el cuál nos permite recoger todos estos datos y almacenarlos en una memoria de fácil y rápido acceso, para luego generar ruido digital** que nos permitirá sintetizar datos tanto de forma realista, como con un poco de "imaginación" (ya me entendéis 😉).

Prosiguiendo con el tema anterior y respondiendo a la próxima pregunta, veo óptimo el uso de modelos de inteligencia artificial del tipo Naive Bayes (conocido como "ingenuo"), basado en el teorema de Bayes, el cuál estatuye que la existencia o presencia de una característica o función, no determina la falta de la otra. Este modelo es bastante utilizado en muchos tipos de situaciones aleatorias, sobre todo en las que ciertos factores pueden no ser realmente predecibles.
Hay que tener en cuenta que todos estos datos, pueden ser correctos o pueden conllevar un riesgo determinado, ya que aún usando ruido digital que "aleatoriza" los resultados hasta el punto que nosotros decidamos, la aleatorización de nuestros dispositivos informáticos (dispositivos precisos y preparados para no equivocarse) sintetiza datos a partir de resultados obtenidos por nosotros y variables que proporcionamos y/o modificamos, lo que puede llevar a errores finales.

Ya por último, y concluyendo para los que hayáis llegado hasta aquí, la generación de datos puede no ser siempre la mejor solución para todos los problemas que se nos presentan. Pongo un caso personal como ejemplo.
A mi me gusta mucho la robótica, ya que termina siendo la "hermana gemela" de la informática, y en un proyecto que se me planteó en el que un robot debía constituir la tarea de limpiar una habitación completamente evitando obstáculos y mejorando su eficiencia, lo primero que me vino a la mente fueron algunos modelos de procesamiento de datos, basados en flujos de trabajo neuronales, ideales para microprocesadores pequeños como Arduino, una de las placas de micro procesamiento más utilizadas en robótica. Sin embargo, y aún pudiendo ser esta una buena opción, era mucho más fácil (en temas técnicos) y muchos más rápido (en temas de procesamiento y coste de tiempo) un circuito, junto con un programa que cumplía con esta función exactamente como se necesitaba. De forma similar, y de igual forma con un proyecto personal, el código encargado de gestionar la estabilización de un avión en cualquier circunstancia, era más sencilla de hacer, más rápida y más barata, con un programa auto reactivo, que con inteligencia artificial.
Por tanto, y ahora ya sí, terminando; siempre va a depender de la situación y la solución que queramos obtener, pero comúnmente y en la situación actual en la que la IA aún está en desarrollo prematuro, es mejor basarse en soluciones que se adecuen a nuestros requisitos, antes de pensar en las redes neuronales como solución. Porque por si completar una no fuese difícil, luego conlleva un entrenamiento de miles y cientos de miles de datos como mínimo, más el tiempo de su procesamiento y análisis.

Un saludo, y espero haber aportado algo útil hoy.


--- Información de interés: ---
* Memoria larga a corto plazo (LTSM):
** Ruido (digital): Con ruido digital nos referimos a la generación, en un plano digital, de puntos encontrados entre el blanco y el negro (admitiendo toda la gama de colores intermedia) que luego se traduce a números en los cuales el negro es 0 y el blanco es 1, teniendo como decimales los colores intermedios. ¿Con que fin? Estos valores se utilizan para obtener resultados aleatorios, ya sea para un post-procesamiento de datos o simplemente vectores de aleatorización.

Arduino: https://es.wikipedia.org/wiki/Arduino
Microprocesadores: https://es.wikipedia.org/wiki/Microprocesador

Re:[NUEVO RETO] Diferentes tipos de generación de datos
« Respuesta #3 en: 30 Noviembre , 2024, 15:40:25 pm »
¡Hola a tod@s!Hola Marc, gracias por plantear este interesante reto sobre la generación sintética de datos clínicos. Voy a intentar responder a algunas de tus preguntas:

Entre los métodos de generación de datos sintéticos, el aprendizaje automático (machine learning) se considera uno de los mejores enfoques. Esto se debe a que, captura mejor los patrones y relaciones complejas en los datos.
Se basa directamente en los datos reales, haciendo menos suposiciones que los modelos más matemáticos. Es más fácil de automatizar y escalar a grandes conjuntos de datos.

Para generar datos sintéticos se pueden utilizar diversos mecanismos de IA/ML, como los modelos de árbol de decisión, modelos de síntesis basados en agrupaciones (clustering), modelos bayesianos ingenuos, redes neuronales generativas, como las GANs (Generative Adversarial Networks), y muchos más...

El uso de datos sintéticos puede generar sesgos si el conjunto de datos original ya contiene sesgos o si el modelo no captura adecuadamente toda la variabilidad de los datos reales1. Para mejorar esto se pueden tomar una gran variedad de medidas, como evaluar cuidadosamente la fidelidad, diversidad y capacidad de generalización de los datos sintéticos generados combinar datos sintéticos con datos reales del mundo durante el entrenamiento de modelos, utilizar técnicas de aumento de datos para incrementar la diversidad.

La generación de datos sintéticos puede es necesaria en casos como, cuando se dispone de conjuntos de datos limitados y se necesita aumentarlos,para proteger la privacidad de los pacientes al compartir o analizar datos sensibles, en el desarrollo y prueba de software médico antes de acceder a datos reales, para simular escenarios raros o poco frecuentes en investigación médica.

Sin embargo, puede ser innecesario o contraproducente cuando ya se dispone de suficientes datos reales de alta calidad, ya que, los datos sintéticos no logran capturar adecuadamente la complejidad de los datos reales.


Para más información sobre este tema, recomiendo consultar recursos como el blog de Globant sobre generación de datos sintéticos en salud y el informe de Syntho sobre datos sintéticos en atención sanitaria.

¡Espero que os haya servido!   ;)

Re:[NUEVO RETO] Diferentes tipos de generación de datos
« Respuesta #4 en: 02 Diciembre , 2024, 18:11:09 pm »
Muchas gracias Mireia, Izan y Daniel por vuestras aportaciones.
Me las he leído con mucha atención, ¡y me parecen muy correctas y completas!

Si alguien más se anima a contestar a las preguntas planteadas o a debatir con las respuestas de alguno de sus compañeros, que no dude en hacerlo.

Saludos,
Marc Gomis.

Re:[NUEVO RETO] Diferentes tipos de generación de datos
« Respuesta #5 en: 02 Diciembre , 2024, 20:21:04 pm »
Buenas tardes a todos,
hoy solo podre contestar una de las preguntas, pero respondere las otras preguntas en otro momento.
( 1 ) De todos los tipos de métodos de generación de datos, ¿Cuál consideráis que es el mejor y porque?
El mejor método que yo considero son las GAN ( Generative Adversarial Networks / Redes Generativas Adversarias ), porque las GAN son 2 redes neuronales, un generador y un discriminador, que se contradicen. El generador genera datos sintéticos, es decir, que son datos generados por algoritmos e imitan los datos del mundo real. Y un discriminador diferencia entre los datos reales y los sintéticos. Así se generan datos artificiales convincentes. Entonces así podríamos sacar más información confiable.
Las pagínas web:https://www.mapfre.com/actualidad/innovacion/modelos-generativos-generacion-datos-sinteticos/
https://www.questionpro.com/blog/es/generacion-de-datos-sinteticos/
Un saludo y buena suerte a todos.


Re:[NUEVO RETO] Diferentes tipos de generación de datos
« Respuesta #6 en: 02 Diciembre , 2024, 22:35:19 pm »
Hola a tod@s,

Gracias, Marc, por lanzar este reto tan interesante. Tras reflexionar y leer las aportaciones de mis compañer@s, aquí dejo mi opinión sobre algunas de las preguntas que planteaste, apoyándome en lo que han comentado.

1. De todos los tipos de métodos de generación de datos, ¿cuál consideráis que es el mejor y porque?
Personalmente, creo que las Redes Generativas Adversariales (GANs) son una de las mejores herramientas para generar datos sintéticos, sobre todo porque son capaces de crear datos que imitan fielmente la realidad. Esto es especialmente útil en áreas como la salud, donde la precisión es clave. Como mencionó Linlin, el generador crea datos sintéticos mientras que el discriminador evalúa su realismo, lo que permite afinar la calidad de los datos generados. Aun así, considero que su complejidad puede ser una desventaja en proyectos donde se necesiten soluciones rápidas o menos costosas.

2. Creéis que el uso de datos generados sintéticamente puede generar sesgos y errores en la precisión de los resultados obtenidos? ¿Cómo podría mejorarse esto Sí, este es un riesgo real, y estoy de acuerdo con Daniel en que el sesgo puede aparecer si los datos originales ya contienen errores o desigualdades. Sin embargo, creo que este problema puede mitigarse si se combinan datos sintéticos con datos reales y se evalúa constantemente la diversidad y calidad del conjunto de datos. Esto garantizaría que los modelos no amplifiquen errores, algo esencial en ámbitos como la medicina, donde los resultados tienen un impacto directo en las personas.

3. ¿En qué casos puede ser necesario la generación de datos sintéticos? ¿Y en qué casos puede ser innecesario o hasta contraproducente?
En mi opinión, los datos sintéticos son muy útiles cuando faltan datos reales, por ejemplo, en enfermedades raras o para proteger la privacidad de los pacientes, como mencionó Izan. Sin embargo, creo que no siempre son necesarios. Si ya contamos con suficientes datos reales de calidad, podría ser más eficiente usarlos directamente. Un mal uso de datos sintéticos podría incluso llevar a resultados menos precisos o a un aumento de los costes de desarrollo.

En conclusión, la generación de datos sintéticos tiene un potencial enorme, pero debemos usarla con cautela, porque no es una solución para todo, y debemos analizar bien cuándo es realmente necesaria y cuál es el método más adecuado para cada caso.

Espero que esta reflexión aporte algo útil al debate. ¡Espero vuestras opiniones y más ideas!

Un saludo,
Miguel.

Re:[NUEVO RETO] Diferentes tipos de generación de datos
« Respuesta #7 en: Ayer a las 15:35:04 »
1. ¿Cuál consideráis que es el mejor método de generación de datos y por qué?
Yo creo que los Generative Adversarial Networks (GANs) son muy buenos para generar datos sintéticos. Estas redes tienen dos partes que "compiten" entre sí: una crea datos y la otra los evalúa. Esto hace que los datos generados sean muy realistas, especialmente en imágenes.

2. ¿Qué tipo de redes neuronales o mecanismos de IA/machine learning se necesitan para generar datos sintéticos?
Las GANs son una de las mejores opciones, pero también se pueden usar Autoencoders Variacionales (VAEs). Estos también sirven para generar datos, pero a veces son más fáciles de entrenar que las GANs.

3. ¿Creéis que el uso de datos generados sintéticamente puede generar sesgos y errores en los resultados obtenidos? ¿Cómo podría mejorarse esto?
Sí, si los datos originales tienen algún tipo de sesgo (por ejemplo, si solo se incluyen ciertos tipos de personas), los datos generados también lo tendrán. Para evitarlo, se debe asegurar que los datos de entrada sean lo más diversos y equilibrados posible.

4. ¿En qué casos puede ser necesario generar datos sintéticos? ¿Y en qué casos puede ser innecesario o contraproducente?
Generar datos sintéticos es útil cuando no se tienen suficientes datos reales, por ejemplo, en investigación médica o en coches autónomos. Sin embargo, puede ser innecesario si los datos reales están disponibles y son suficientes, o si los datos sintéticos no representan bien la realidad.
¡Espero que estas respuestas ayuden al debate!
Un saludo,
Pau Campmany Fernández