¿Fueron las redes de confrontación generativas introducidas por Jürgen Schmidhuber?


32

Leí en https://en.wikipedia.org/wiki/Generative_adversarial_networks :

[Redes adversas generativas] fueron introducidas por Ian Goodfellow et al en 2014.

pero Jurgen Schmidhuber afirma haber realizado un trabajo similar anteriormente en esa dirección (por ejemplo, hubo un debate en NIPS 2016 durante el tutorial de redes generativas adversarias: https://channel9.msdn.com/Events/Neural-Information-Processing-Systems- Conferencia / Neural-Information-Processing-Systems-Conference-NIPS-2016 / Generative-Adversarial-Networks ver 1h03min).

¿Fue la idea detrás de las redes de confrontación generativa primero presentada públicamente por Jürgen Schmidhuber? Si no, ¿qué tan similares fueron las ideas de Jürgen Schmidhuber?


55
Discusión relevante sobre reddit aquí , especialmente este comentario .
Dougal

Puede leer un breve resumen del incidente del NIPS aquí: beamandrew.github.io/deeplearning/2016/12/12/nips-2016.html
amoeba dice Reinstate Monica

1
La sección de historia de la página de Wikipedia se ha actualizado, y creo que ahora contiene todas las referencias relevantes y sus conexiones entre sí. Creo que esto es bastante justo y completo ahora.
Albert

@ Albert gracias por la actualización!
Franck Dernoncourt

Respuestas:


50

Auto-publiqué la idea básica de una variedad determinista de redes de confrontación generativa (GAN) en una publicación de blog de 2010 (archive.org) . Lo busqué pero no pude encontrar nada similar en ningún lado, y no tuve tiempo para intentar implementarlo. No era ni sigo siendo un investigador de redes neuronales y no tengo conexiones en el campo. Copiaré y pegaré la publicación del blog aquí:

2010-02-24

Un método para entrenar redes neuronales artificiales para generar datos faltantes dentro de un contexto variable. Como la idea es difícil de poner en una sola oración, usaré un ejemplo:

Una imagen puede tener píxeles faltantes (digamos, debajo de una mancha). ¿Cómo se pueden restaurar los píxeles faltantes, conociendo solo los píxeles circundantes? Un enfoque sería una red neuronal "generadora" que, dados los píxeles circundantes como entrada, genera los píxeles faltantes.

Pero, ¿cómo entrenar a esa red? No se puede esperar que la red produzca exactamente los píxeles faltantes. Imagine, por ejemplo, que los datos que faltan son un parche de hierba. Se podría enseñar a la red con un montón de imágenes de césped, sin partes. El maestro conoce los datos que faltan y podría calificar la red de acuerdo con la diferencia cuadrática media (RMSD) entre el parche de hierba generado y los datos originales. El problema es que si el generador encuentra una imagen que no es parte del conjunto de entrenamiento, sería imposible que la red neuronal coloque todas las hojas, especialmente en el medio del parche, exactamente en los lugares correctos. El error de RMSD más bajo probablemente se lograría si la red llenara el área media del parche con un color sólido que sea el promedio del color de los píxeles en las imágenes típicas de hierba. Si la red intentara generar hierba que parezca convincente para un humano y, como tal, cumpla su propósito, la métrica RMSD tendría una pena desafortunada.

Mi idea es esta (ver la figura a continuación): entrenar simultáneamente con el generador una red clasificadora que recibe, en secuencia aleatoria o alterna, datos generados y originales. El clasificador tiene que adivinar, en el contexto del contexto de la imagen circundante, si la entrada es original (1) o generada (0). La red del generador está tratando simultáneamente de obtener una puntuación alta (1) del clasificador. El resultado, con suerte, es que ambas redes comienzan realmente simples, y progresan hacia la generación y el reconocimiento de características cada vez más avanzadas, acercándose y posiblemente derrotando la capacidad humana de discernir entre los datos generados y los originales. Si se consideran múltiples muestras de entrenamiento para cada puntaje, entonces RMSD es la métrica de error correcta para usar,

ingrese la descripción de la imagen aquí
Configuración de entrenamiento de redes neuronales artificiales

Cuando menciono RMSD al final me refiero a la métrica de error para la "estimación de probabilidad", no los valores de píxeles.

Originalmente comencé a considerar el uso de redes neuronales en 2000 (publicación comp.dsp) para generar frecuencias altas faltantes para audio digital muestreado (muestreado a una frecuencia de muestreo más alta), de una manera que sería más convincente que precisa. En 2001 coleccioné una biblioteca de audio para la capacitación. Aquí hay partes de un registro de EFNet #musicdsp Internet Relay Chat (IRC) del 20 de enero de 2006 en el que yo (yehar) hablo sobre la idea con otro usuario (_Beta):

[22:18] <yehar> el problema con las muestras es que si ya no tienes algo "allá arriba", ¿qué puedes hacer si tomas una muestra ...
[22:22] <yehar> una vez recogí un gran biblioteca de sonidos para poder desarrollar un "inteligente" algo para resolver este problema exacto
[22:22] <yehar> hubiera usado redes neuronales
[22:22] <yehar> pero no terminé el trabajo: - D
[22:23] El problema <_Beta> con las redes neuronales es que tienes que tener alguna forma de medir la bondad de los resultados
[22:24] <yehar> beta: tengo esta idea de que puedes desarrollar un "oyente" en al mismo tiempo que desarrolla el "creador de sonido inteligente"
[22:26] <yehar> beta: y este oyente aprenderá a detectar cuándo está escuchando un espectro creado o natural. y el creador se desarrolla al mismo tiempo para tratar de evitar esta detección

En algún momento entre 2006 y 2010, un amigo invitó a un experto a echar un vistazo a mi idea y discutirla conmigo. Pensaron que era interesante, pero dijeron que no era rentable entrenar dos redes cuando una sola red puede hacer el trabajo. Nunca estuve seguro si no entendieron la idea central o si vieron de inmediato una forma de formularla como una red única, tal vez con un cuello de botella en algún lugar de la topología para separarla en dos partes. Esto fue en un momento en que ni siquiera sabía que la propagación hacia atrás sigue siendo el método de entrenamiento de facto (aprendí que hacer videos en la locura de Deep Dream de 2015). A lo largo de los años, hablé sobre mi idea con un par de científicos de datos y otros que pensé que podrían estar interesados, pero la respuesta fue leve.

En mayo de 2017, vi la presentación del tutorial de Ian Goodfellow en YouTube [Mirror] , que me alegró el día. Me pareció la misma idea básica, con las diferencias que actualmente entiendo descritas a continuación, y el trabajo duro que se ha hecho para que dé buenos resultados. También dio una teoría, o basó todo en una teoría, de por qué debería funcionar, mientras que yo nunca hice ningún tipo de análisis formal de mi idea. La presentación de Goodfellow respondió preguntas que había tenido y mucho más.

La GAN de Goodfellow y sus extensiones sugeridas incluyen una fuente de ruido en el generador. Nunca pensé en incluir una fuente de ruido, sino en el contexto de los datos de entrenamiento, haciendo coincidir mejor la idea con una GAN condicional (cGAN) sin una entrada de vector de ruido y con el modelo condicionado a una parte de los datos. Mi comprensión actual basada en Mathieu et al. 2016 es que no se necesita una fuente de ruido para obtener resultados útiles si hay suficiente variabilidad de entrada. La otra diferencia es que la GAN de Goodfellow minimiza la probabilidad de registro. Más tarde, se introdujo un GAN de mínimos cuadrados (LSGAN) ( Mao et al.2017) que coincide con mi sugerencia de RMSD. Entonces, mi idea coincidiría con la de una red de confrontación generativa de mínimos cuadrados condicionales (cLSGAN) sin una entrada de vector de ruido al generador y con una parte de los datos como entrada de condicionamiento. Un generador generativo toma muestras de una aproximación de la distribución de datos. Ahora sé si dudo que la entrada ruidosa del mundo real lo permita con mi idea, pero eso no quiere decir que los resultados no serían útiles si no fuera así.

Las diferencias mencionadas en lo anterior son la razón principal por la que creo que Goodfellow no sabía ni escuchó sobre mi idea. Otra es que mi blog no ha tenido otro contenido de aprendizaje automático, por lo que habría tenido una exposición muy limitada en los círculos de aprendizaje automático.

Es un conflicto de intereses cuando un revisor presiona a un autor para que cite su propio trabajo.


8
Debo decir que estoy muy impresionado. Parece que su publicación en el blog también merece crédito por la idea, a pesar de que Ian y el equipo pueden haberla descubierto de forma independiente.
user2808118

2
Si hubiera publicado su trabajo, podría haberse convertido en la persona que inspiró la revolución adversaria. ¡¡JADEAR!!
user2808118

55
@ user2808118 Eso habría requerido trabajar en ello, para producir algunos resultados para publicar, no solo pensar en ello.
Olli Niemitalo

44
Te saludo dos veces: primero por descubrirlo al menos 3 años antes de Goodfellow y segundo por tener el gran corazón de tomarlo de una manera muy positiva.
Falló el científico el

19

Una respuesta de Ian Goodfellow sobre ¿Jürgen Schmidhuber tenía razón cuando reclamó crédito por GAN en NIPS 2016? publicado en 2017-03-21:

No está reclamando crédito por GAN, exactamente. Es mas complicado.

Puede ver lo que escribió en sus propias palabras cuando fue revisor de la presentación de NIPS 2014 sobre GAN: Revisiones de exportación, discusiones, comentarios de los autores y meta-revisiones ( espejo )

Él es el revisor que nos pidió que cambiemos el nombre de las GAN a "PM inverso".

Aquí está el documento que él cree que no está siendo suficientemente reconocido: http: // ftp: //ftp.idsia.ch/pub/juergen/factorial.pdf ( espejo )

No me gusta que no haya una buena manera de resolver problemas como este. Me puse en contacto con los organizadores de NIPS y pregunté si Jürgen tiene alguna forma de presentar una queja sobre mí y que un comité de representantes de NIPS juzgue si mi publicación lo trata injustamente. Dijeron que no hay tal proceso disponible.

Personalmente, no creo que haya una conexión significativa entre la minimización de previsibilidad y las GAN. Nunca he tenido ningún problema para reconocer las conexiones entre GAN y otros algoritmos que en realidad están relacionados, como la estimación de contraste de ruido y el refuerzo auto supervisado.

Jürgen y yo tenemos la intención de escribir un documento juntos pronto describiendo las similitudes y diferencias entre PM y GAN, suponiendo que podamos acordar cuáles son.


2
Lamentablemente, no parece haber un papel entre los dos próximos. :-(
ComputerScientist

@ComputerScientist sí espera todavía, alguien más podría encargarse de lo contrario :-)
Franck Dernoncourt
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.