Los datos oscuros son datos que se adquieren a través de varias operaciones de redes informáticas, pero que no se utilizan de ninguna manera para obtener información o para la toma de decisiones. La capacidad de una organización para recopilar datos puede superar el rendimiento al que puede analizar los datos. En algunos casos, es posible que la organización ni siquiera sepa que se están recopilando los datos. IBM estima que aproximadamente el 90 por ciento de los datos generados por sensores y conversiones de analógico a digital nunca se utilizan. — Definición de datos oscuros en Wikipedia
Desde una perspectiva de aprendizaje automático, una de las razones clave por las que estos datos no son útiles para obtener información es la falta de etiquetas. Esto hace que los algoritmos de aprendizaje no supervisados sean muy atractivos para desbloquear el potencial de estos datos. En 2014, Ian Goodfellow et al. propuso un nuevo enfoque para la estimación de modelos generativos a través de un proceso contradictorio. Involucró entrenar dos modelos separados al mismo tiempo, un modelo Generador que intenta modelar la distribución de datos y un Discriminador que intenta clasificar la entrada como datos de entrenamiento o datos falsos por generador. El documento establece un hito muy importante en la panorama moderno de aprendizaje automático, abriendo nuevas vías para el aprendizaje no supervisado. El artículo Deep Convolutional GAN (Radford et al. 2015) continuó construyendo sobre esta idea al aplicar los principios de las redes convolucionales para producir imágenes 2D con éxito. A través de este artículo, intento explicar los componentes clave del artículo e implementarlos usando PyTorch.
Para comprender la importancia de GAN o DCGAN, veamos qué los hace tan populares. Como un gran porcentaje de los datos del mundo real no están etiquetados, la naturaleza de aprendizaje no supervisado de los GAN los hace ideales para tales casos de uso. El generador y el discriminador actúan como una característica muy buena. extractores para casos de uso con datos etiquetados limitados o generar datos adicionales para mejorar el entrenamiento del modelo secundario, ya que pueden generar muestras falsas en lugar de usar aumentos. Las GAN brindan una alternativa a las técnicas de máxima verosimilitud. Su proceso de aprendizaje contradictorio y su función de costo no heurística los hacen muy atractivos para el aprendizaje por refuerzo. La investigación en torno a GAN ha sido muy atractiva y los resultados han sido una fuente de debate generalizado sobre el impacto de ML/DL. Por ejemplo, Deepfake, una de las aplicaciones de GAN que puede superponer los rostros de las personas en una persona objetivo, ha sido de naturaleza muy controvertida, ya que tiene el potencial de usarse con fines nefastos. El último pero más importante punto es que es tan genial para trabajar, y toda la nueva investigación en el campo ha sido fascinante.
En la práctica, la ecuación anterior puede no proporcionar suficiente gradiente para que G aprenda bien. Al principio del aprendizaje, cuando G es pobre, D puede rechazar muestras con alta confianza porque son claramente diferentes de los datos de entrenamiento. En este caso, log(1 − D(G(z))) se satura. En lugar de entrenar a G para minimizar log(1 − D(G(z))) podemos entrenar a G para maximizar logD(G(z)). Esta función objetivo da como resultado el mismo punto fijo de la dinámica de G y D, pero proporciona gradientes mucho más fuertes al principio del aprendizaje. – Fuente
Como estamos entrenando dos modelos simultáneamente, podría ser complicado y las GAN son notoriamente difíciles de entrenar, uno de los problemas conocidos que discutiremos más adelante se llama colapso de modo. Paper sugiere usar un optimizador Adam con una tasa de aprendizaje de 0.0002, un aprendizaje tan bajo rate sugiere que las GAN tienden a divergir muy rápidamente. También utiliza el impulso de primer orden y segundo orden con valores de 0,5 y 0,999 para acelerar aún más el entrenamiento. El modelo se inicializa con una distribución de peso normal con media cero y desviación estándar de 0,02. Así es como podemos implementar un ciclo de entrenamiento para esto.
Idealmente, nos gustaría que nuestro generador produzca una amplia variedad de resultados, por ejemplo, si genera una cara, debería generar una nueva cara para cada entrada aleatoria. Pero si el generador produce una salida plausible lo suficientemente buena como para engañar al discriminador, podría seguir produciendo la misma salida una y otra vez. Eventualmente, el generador se sobreoptimiza para un solo discriminador y rota entre un pequeño conjunto de salidas, tal condición se denomina colapso de modo. .Los siguientes enfoques se pueden utilizar para remediar la condición.Pérdida de Wasserstein: La pérdida de Wasserstein alivia el colapso del modo al permitirle entrenar el discriminador de manera óptima sin preocuparse por la desaparición de los gradientes. Si el discriminador no se atasca en los mínimos locales, aprende a rechazar las salidas en las que se estabiliza el generador. Entonces, el generador tiene que probar algo nuevo.GAN desenrolladas: Las GAN desenrolladas utilizan una función de pérdida del generador que incorpora no solo las clasificaciones del discriminador actual, sino también las salidas de futuras versiones del discriminador. Por lo tanto, el generador no puede optimizar en exceso para un solo discriminador.Transferencia de estilo: Las aplicaciones de modificación facial están de moda hoy en día, el envejecimiento facial, la cara llorando y la superposición de caras de celebridades son solo algunas de las aplicaciones que ya son muy populares en las redes sociales.Videojuegos: La generación de texturas para objetos 3D y la generación de escenas usando imágenes son solo algunas de las aplicaciones que ayudan a la industria de los videojuegos a desarrollar juegos más grandes con mayor rapidez.Industria del cine: CGI ha sido una gran parte del cine modelo, con el potencial que trae GAN, los cineastas ahora pueden soñar más grande que nunca.Generación de voz: Algunas empresas están utilizando GAN para mejorar las aplicaciones de texto a voz usándolas para generar voces más realistas.Restauración de imagen: El uso de GAN para eliminar el ruido y restaurar imágenes corruptas, colorear imágenes históricas y mejorar videos antiguos mediante la producción de fotogramas faltantes para mejorar su velocidad de fotogramas. GAN junto con DCGAN es un documento histórico que ha abierto nuevas vías en lo que respecta al aprendizaje no supervisado. El enfoque de entrenamiento contradictorio proporciona una nueva forma de entrenar modelos que imitan de cerca los procesos de aprendizaje del mundo real. Sería muy interesante ver cómo evoluciona esta área. Espero que hayas disfrutado el artículo.
Puedes encontrar la implementación completa en mi GitHubPuedes seguirme en LinkedinPuedes leer mis otros artículos en Medium
Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…
Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…
Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…
Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…
Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…
El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…