Hace 6 años | Por --546793-- a technologyreview.es
Publicado hace 6 años por --546793-- a technologyreview.es

La retroprogramación, nacida en 1986, es la base de las redes neuronales y el aprendizaje profundo actuales, y no se ha hecho ningún avandce tan significativo desde entonces.

Comentarios

Mister_Lala

#4 O en fortran.

omegapoint

#40 o en cartulina con una aguja y pulso firme.

deverdad

#40 Será FORTRAN. Fortran sigue evolucionando como lenguaje orientado a objetos con la versión Fortran 2015 previsto para salir el año que viene.

Arganor

#4 Con tarjetas perforadas.

Karma0

#11 Así me queda mucho más claro. thx

Sadalsuud

#13 ¿Se te ha caído el emote de sarcasmo y tu tampoco has entendido nada de #11?

Karma0

#15 lol claro

D

#15 tl;dr: Backprop es sólo una parte, y de hecho no es ni la más importante. Además, no es original, es descenso de gradiente con regla de la cadena de toda la vida. Todo el resto proviene de otros campos, pero no se reconoce su aportación. Y quizá la parte más importante sea la invención de las gpu y cuida, sin la cual sería imposible usarlos.

D

#23 venga, ahora un ELI5.

D

#11 Venía a decir lo mismo que tú, así que texto que me ahorro, y me voy a la cama.

D

#11 Donde dices Convex no quieres decir Non-Convex??

D

#18 nope, los de convex fueron los que inventaron el adagrad, si no me equivoco, para entrenar svms y regresores con gradiente, cosas como el vowpal wabbit, que se usaban para entrenar modelos big data lineales. Allí invertir matrices, newton o usar métodos de dual era demasiado costoso, así que sólo quedaba el gradiente. Lamentablemente, el gradiente es lentísimo y muy sensible a escala, así que esta gente inventaron un método donde normalizaban el gradiente dividiendo por desviación o algo así, no me lo sé de memoria, para dar más peso a pequeños cambios relevantes antes que a grandes magnitudes inestables. La cuestión es que al final acabava con un paso distinto para cada columna, así que aguantaba mucho mejor datos dónde la magnitud de las columnas es distinta. Si eso pasa con modelos lineales, de una sola capa, en deep es mucho peor, así que tubo muy buenos resultados. Luego salieron las variaciones que se usan ahora, sobretodo Adam, que basicamente es lo mismo pero teniendo en cuenta varianza y media, y sin ser decreciente. Pero la idea original no vino de deep.

Tl:Dr. Las variaciones del método del gradiente que se usan hoy en día tienen su origen en la gente de convex optimization, no de deep.

D

#21 Vamos a ver no es tan complicado, basicamente existen funciones convexas y no convexas. La funcion objetivo de una Neural Network es No Convexa y se pueden usar metodos derivados de Gradient Descent (como los que tu mencionas) u otros como Genetic Algorithms, etc... Pero la funcion a optimizar sigue siendo Non-Convex da igual que la NN tenga 3 o 20 hidden layers. Esta claro que todo viene de intentar buscar el minimo (o maximo) de una funcion objetivo y que eso es un problema mucho mas antiguo que el de optimizar una Deep Neural Network.

D

#28 Lo que quería decir es que SGD es un algoritmo de optimization convexa. Si se aplica en no convexo caes en local mínima. GA sí que puede con no convexo, pero buena suerte si no tienes el clúster de Google .

m

#28 puedes decir todo lo que has dicho en el mismo idioma y es más fácil de entender. Son términos extremadamente sencillos de traducir...

D

#33 lo que quiero decir es que el descenso del gradient es un método que sólo consigue llegar a la solución para funciones con forma de U. Lo que hace es ir bajando por la U hasta llegar al mínimo. Para funciones con forma de muchas U enganchadas, es decir con muchos mínimos, algunos de los mínimos son mejores y peores, pero el descenso del gradiente eso no lo sabe, así que depènde de la U que esté más cerca cuando empiece dará una solución mejor o peor.

Otra familia de algoritmos son los genéticos, que básicamente son prueba y error. Esos al no bajar por la U no tienen esta limitación, pero son MUY lentos y costos, así que no se usan mucho excepto en problemas dónde no queda otra, como en aprendizaje por refuerzo creo.

D

#11 Entre nosotros... te has inventado la mitad de las palabras, verdad?

Mister_Lala

#36 Yo creo que habla así porque se ha mordido la lengua.

omegapoint

#41 el peso de los cojones le tira de las cuerdas vocales.

g

#36 nope, todo eso existe.

D

#11 P.D. Te conocí en Wallapop en el meetup de Tensorflow, viniste a saludar a Emilio que venía conmigo.

deverdad

#11 Para poner este artículo en contexto, también hay que señalar que los orígenes del backprop daten de los años 60 y fue redescubierto varias veces, entre ellos por Werbos en 1974 para aplicarlo a redes neuronales.

Según https://en.wikipedia.org/wiki/Backpropagation#History [ENG]:

According to various sources,[10][11][12][13][14] the basics of continuous backpropagation were derived in the context of control theory by Henry J. Kelley[15] in 1960 and by Arthur E. Bryson in 1961.[16] They used principles of dynamic programming. In 1962, Stuart Dreyfus published a simpler derivation based only on the chain rule.[17] Bryson and Ho described it as a multi-stage dynamic system optimization method in 1969.[18][19]

In 1970 Linnainmaa published the general method for automatic differentiation (AD) of discrete connected networks of nested differentiable functions.[20][21] This corresponds to backpropagation, which is efficient even for sparse networks.[13][14][22][23]

In 1973 Dreyfus used backpropagation to adapt parameters of controllers in proportion to error gradients.[24] In 1974 Werbos mentioned the possibility of applying this principle to artificial neural networks,[25] and in 1982 he applied Linnainmaa's AD method to neural networks in the way that is used today.[14][26]

In 1986 Rumelhart, Hinton and Williams showed experimentally that this method can generate useful internal representations of incoming data in hidden layers of neural networks.[3][27] In 1993, Wan was the first[13] to win an international pattern recognition contest through backpropagation.[28]

During the 2000s it fell out of favour, but returned in the 2010s, benefitting from cheap, powerful GPU-based computing systems.

In 2014, backpropagation was used to train a deep neural network for speech recognition.[29]

D

#52 básicamente a lo que me refería es que backprop es descenso del gradiente con regla de la cadena de toda la vida con otro nombre. Luego está el tema de todos los que llevan años diciendo que lo inventaron ellos, pero eso es otro tema.

D

#1 sobre todo la que vota a una organizacion criminal PP

Mister_Lala

#34 venga, toma

D

#39 metelo en tu bebedero de patos

D

#1 Alguien debería darte un premio a la mejor frase cliché sin fundamento del año.

D

Me parece tan absurdo o estúpido emplear palabras en inglés cuando existe vocabulario en español para decir lo mismo.

Acido

#30 ¿a cuáles palabras te refieres?

D

#30 Pues justo en el artículo está traducido todo, a mi me ha chocado ver aprendizaje profundo en vez de machine learning, que estoy más acostumbrado a leer

D

#37
Machines learning se traduce como aprendizaje automático. Deep learning, quizá como aprendizaje profundo.

D

#53 Quería decir deep learning, lapsus mental

g

#30 A mi normalmente tampoco me gusta, pero cuando te acostumbras a leer y escribir todo sobre una temática en inglés y sabes que sobre eso no hay prácticamente nada escrito en español, me suena muy forzado traducirlo.

Maelstrom

¿Retroprogramación o retropropagación? El propio artículo usa las dos palabras en lo que no sé si es una confusión entre dos palabras con significaciones distintas o su empleo como sinónimas, si es que lo son.

D

#5 backpropagation en inglés, retropropagación en castellano, regla de la cadena en matemáticas.

Itsallgoodman

#5 supongo que se refieren al backpropagation, que sirve para saber cuánto error aporta cada capa de la red al error total.

Serjpinski

#5 El término en inglés es gradient backpropagation, retropropagación del gradiente en castellano. Lo de retroprop es la primera vez que lo oigo decir, me suena a retropop

El artículo sigue la moda de fliparse con las redes neuronales. Sí que ha habido un boom con el tema, pero la IA actual no es sólo eso ni de lejos.

m

Creo que el articulo es un pelin pesimista. Es cierto que el algoritmo de "backward propagation" ha sido un paso de gigante en el area de machine learning, y mas especificamente en el area de las redes neuronales (por cierto, para los profanos, comentar que este es uno de esos algoritmos donde las derivadas aquellas que pensamos que no servian para nada, resulta que si que son muy muy utiles

Se han hecho grandes avances en el area de machine learning, por ejemplo las CNN (Convolutional neural networks) se planteron por primera vez (creo) en 1999 por un tipo llamado Yann LeCunn pero no ha sido hasta los ultimos anyos cuando realmente se ha comenzado a exprimir toda esa potencia, comentar que las CNNs han demostrado ser muy utiles en el campo de vision artificial.

Tambien se han hecho avanzes en otro tipo de redes neuronales como las RNN (Recurrent Neuronal Networks) y las LSTM (Long Short Term Memory), que han permitido avanzes de gigante en el procesado del lenguaje natural (de hecho creo que google translate usa RNNs a lo bestia).

Incluso en hace no poco (creo que 2014, por no estoy seguro) se introdujo el concepto de GANs (Generative Adversarial Networks) donde esencialemnte dos redes neuronales compiten entre si, haciendo una tarea cada vez mejor.

Si, es cierto que en el area matematica el backward propagation no ha tenido muchos avances desde los 80, pero es que estamos hablando de matematic, no de computacion. A veces ocurre que algunos algoritmos se describen en una epoca en que los ordenadores aun no tienen la potencia necesaria para ejecutarlos de manera eficiente (esto es lo que paso con las redes neuronales... cuando se definieron, los ordenadores no estaban listos aun).

Supongo que, guardando las distancias, es lo mismo que la transmision de video por Internet, recuerdo a mediados-finales de los noventa con RealPlayer... los protocolos estaban definidos y todo eso, pero la velocidad de las redes lo hacian imposible... hubo que esperar una decada hasta que la gente empezo a tener conexiones ADSL para poder explotar esa idea.

Posiblemente a dia de hoy haya papers que describan algoritmos interesantes, pero que no son ejecutables a efectos practicos...

En resumen: La IA es un campo tremendamente vibrante, cada anyo salen nuevas tecnicas, ninguna tan brutal como el backward propagation, pero el futuro se muestra brillante.

devil-bao

#27 Cada x tiempo en IA hay un ciclo de hype que acabará y parece ser que el actual ya se está agotando. La cuestión es que ha habido cero avances en el conocimiento del funcionamiento de la mente humana y por lo tanto nada que poder investigar y replicar.

anxosan

El investigador concluye: "Esto tiene que ser correcto sí o sí. El hecho de que no funcione es sólo una molestia temporal".

Y así se empieza una religión.

D

El hallazgo?? Pero si esto es el calculo del gradiente que se conoce desde Newton.

s

El avance es que ahora hay hardware que puede simular muchas neuronas funcionando simultáneamente.

Itsallgoodman

#3 en realidad no se simulan neuronas funcionando. Sí que hacía falta hardware, pero porque hay que andar multiplicando matrices muy grandes muchas veces.
Creo que el gran avance se debe a los gamers, que llevaron a las gráficas a ser pequeños super computadores de sobremesa.

I

#10 hay hardware especifico para redes. Imb tiene uno comercial.

Acido

#19 Supongo que te refieres a IBM... con chips como el TrueNorth,

y también Intel anunció hace poco un chip neuromórfico, el Loihi, que apareció en portada de Meneame.


Como dijo #10 no es absolutamente necesario hardware específico ya que se hacen muchas cosas con las CUDA, es decir, con las GPU de marca Nvidia, lo cual seguramente ha supuesto mayor revolución en este campo que otras cosas como harware específico ... pero, aunque no sean imprescindibles, dichos chips pueden suponer ventajas, tanto en velocidad como en consumo, etc.

I

#26 #25 Buah muchisimas gracias por el aporte, desconocia Loihi. Lo que me hace gracia de esta gente que dicen que la ia es humo, es ver como esta watson cada vez mas fuerte. No solo es una ia que gano el leoparty ese, no. Ahora se le puede contratar para centros de investigacion, para consultas de diagnosticos clinicos y si eres un emperesario paleto (como la mayoria) lo puedes contratar como consejero y decirte como llevar una empresa. Los curritos tienen miedo de la ia y la robotizacion de la produccion, pero los gerentes de empresas se van a quedar con un palmo de narices cuando los sustituya un watson o derivado.

Cosificador

La noticia es que podríamos estar en la decadencia de esa tecnología.

Yo creo todo lo contrario. A Mandelbrot también lo ningunearon durante mucho tiempo hasta que le vieron aplicación a su descubrimiento. Con la IA es ahora cuando se empiezan a hacer cosas útiles, sobre todo en el campo del reconocimiento de imágenes.

D

#20 el problema es que desde 2012 no se ha propuesto nada nuevo, es todo refinamientos. Yo creo que va por ahí.

omegapoint

#24 desde 2012.... 5 años, ajam.

Se os va la pinza, ¿que cojones de novedades asombrosas queréis en 5 años? Si es un suspiro de vuestra vida. Llevamos 80 años de computadoras y la evolución ha sido vertiginosa, hemos pasado de tubos de vacío y electrónica de valvulas a smartphones y clusters.

¿Queréis avances sorprendentes cada fin de semana? ¡Si ya es imposible seguir el ritmo!

Estamos implementando un módulo de PNL para un chatbot y han hecho mejoras 3 veces en un proyecto de 6 meses.

Que pare el mundo, que me bajo. wall

D

#50 Si estás en el campo sabrás que ciertamente es una locura, lo que se presentó el año pasado está obsoleto, quien usa lstms sin attention? Quien usa aún VGGs teniendo xception? Está claro que la cosa avanza rápido, pero también que en el fondo todo son refinamientos. No hay ninguna propuesta a nivel algorítmico o de arquitectura.

Lo que quisiera es alguien que me evitara tener que especificar a mano la arquitectura, alguien que eliminara el backprop de las narices con sus trainings de una semana, proponer algún tipo nuevo de unidad, en lugar de sólo dense y conv. Todo lo demás son ajustes, pero en el core hace años que nos quedamos sin ideas.

omegapoint

#58 pero es que el core no puede avanzar a la misma velocidad que los refinamientos.

Traslada a cualquier otra tecnología. Coches, cohetes, aviones, smartphones, lenguajes de programación, cine...

Las adaptaciones, refinamientos y perfeccionamiento de la tecnología ocurren muy rápido, pero avances en la base de la tecnología ocurren entre decadas de diferencia.

Los discos duros han aumentado velocidad y capacidad cada año a ritmo asombroso, pero hasta que llegaron los SSD (un cambio funcional de la tecnología) han pasado decadas. Lo mismo con las cintas, disquetes o cd. Del cd al dvd regrabable doble capa no se tardo nada, pero entre el disquete de 5' 1/4 y cd pasaron años.

D

#59 estoy de acuerdo, pero es que el core no avanza desde los 90. Y estamos empezando a agotarlo. Hace falta innovación aquí, pero la gente está muy ocupada subiendo milésimas en imagenet o coco porque eso es lo que da pelas a Google y Facebook.

R

Que mal suena eso de retroprogramacion y aprendizaje profundo.

R

#2 Viendo que ha llegado a portada aqui esta el original en ingles: https://www.technologyreview.com/s/608911/is-ai-riding-a-one-trick-pony/

Es mas leible, aunque tampoco es que aporte mucho para cualquiera con unos minimos conocimientos sobre el tema.

D

También hay que reconocer que Deep ha barrido toda la competencia, por lo menos si no se considera coste computacional. Y las virguerias que hacen con gans yo no las había visto nunca.

S

Decir que la inteligencia artificial ahora mismo es solo redes neuronales es de ser un poco corto de miras. Un campo tan sumamente amplio y lo limito a una sola técnica.

Mister_Lala

#35 Yo he pensado lo mismo al leer el titular. Como si los sistemas expertos o los algoritmos de exploración de estados no fuesen inteligencias artificiales, y altamente efectivas para los problemas para los que fueron diseñadas.

S

#43 Es que mucho defender a Hinton en el artículo pero al final lo único que hace es desprestigiar al resto de investigadores que han formado parte a lo largo de la historia de este campo como si el resto de procesos y técnicas no importara. Ni todo es Deep Learning, ni todo es Backpropagation.

l

A tomar por saco los árboles de decisión, los algoritmos bayesianos, los algoritmos genéticos, las máquinas de soporte vectorial, los motores de reglas, la extracción automática de reglas. Resulta que TODA la IA actual son redes neuronales. Ajá.

Arganor

#47 De hecho el café que estoy tomando lo ha generado una cafetera con un sistema interno basado en una red neuronal... o no. Las redes neuronales están sobrevaloradas. lol lol lol