14 Comentarios

  1. lipido /  hace 1 año

    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 /  hace 1 año

      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. xDxDxD

  2. anxosan /  hace 1 año

    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.

  3. Skalextric /  hace 1 año

    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 /  hace 1 año

      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.

      • Skalextric /  hace 1 año

        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.

  4. federico_gimeno /  hace 1 año

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

    • Acido /  hace 1 año

      ¿a cuáles palabras te refieres?

    • condemor /  hace 1 año

      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

      • federico_gimeno /  hace 1 año


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

        • condemor /  hace 1 año

          Quería decir deep learning, lapsus mental :-P

    • garred /  hace 1 año

      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.

  5. moriano /  hace 1 año

    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 /  hace 1 año

      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.

  6. Cosificador /  hace 1 año

    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.

    • Blauigris /  hace 1 año

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

      • puntoomega /  hace 1 año

        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:

        • Blauigris /  hace 1 año

          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.

          • puntoomega /  hace 1 año

            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.

            • Blauigris /  hace 1 año

              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.

  7. Simplex /  hace 1 año

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

  8. Blauigris /  hace 1 año

    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.

  9. Blauigris /  hace 1 año

    El artículo vende un poco la moto, para empezar backprop es lo mismo que la regla se la cadena de toda la vida pero con otro nombre más hypero, más descenso de gradiente que ya inventó Newton.

    Luego está el tema de todo lo demás. Con backprop sólo jamás lograrás entrenar una red decentemente. Sin SVM no hay hinge, y sin hinge no hay relu y sin relu no hay visión artificial. Sin la gente de convex optimization no hay adagrad, y sin adagrad no hay adadelta, ni Adam, ni rmsprop. El tema de las inicialitzaciones si que es más producto de la gente de deep, pero es super importante. Y finalmente todo el tema de aprendizaje lo inventaron los rusos con el vc dimensión, la empirical loss y el train test. Lo que han hecho esta gente es coger el trabajo de varios campos y colarlo como suyo.

    Finalmente, por mucho que tengas todo esto, si no fuese por Nvidia y cuda nadie usaría Deep. Usar gpu's es la única manera de entrenar estas bestias.

    • Karma0 /  hace 1 año

      Así me queda mucho más claro. thx

      • Sadalsuud /  hace 1 año

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

        • Karma0 /  hace 1 año

          xD claro

        • Blauigris /  hace 1 año

          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.

          • jimbowymbo /  hace 1 año

            venga, ahora un ELI5.

    • Fluffy /  hace 1 año

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

    • Simplex /  hace 1 año

      Donde dices Convex no quieres decir Non-Convex??

      • Blauigris /  hace 1 año

        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.

        • Simplex /  hace 1 año

          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.

          • Blauigris /  hace 1 año

            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 :-P.

          • mettro /  hace 1 año

            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...

            • Blauigris /  hace 1 año

              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.

    • condemor /  hace 1 año

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

      • Mister_Lala /  hace 1 año

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

        • puntoomega /  hace 1 año

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

      • garred /  hace 1 año

        nope, todo eso existe.

    • Fluffy /  hace 1 año

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

  10. Maelstrom /  hace 1 año

    ¿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.

    • Blauigris /  hace 1 año

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

    • LandraQueTeDeu /  hace 1 año

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

    • Serjpinski /  hace 1 año

      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 :-D

      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.

  11. permafrost /  hace 1 año

    Retropropagación. La retroprogramación es programar en Cobol.

    • Acido /  hace 1 año


      Exacto, es retropropagación.
      El artículo tiene un error y luego lo dice bien.

      En el idioma inglés original del término se dice "backpropagation" (suele escribirse junto, es una especie de 'término' o nombre propio del algoritmo) o, de forma más corta, "backprop" ... es decir, propagación hacia atrás.

      Lo que se propaga es el 'error', que es la diferencia entre el resultado esperado / deseado y el resultado / salida actual que da la red y esta diferencia, este error, sirve para modificar los pesos, que son números que hacen que la red se comporte de forma diferente.

      Lo de "hacia atrás" se refiere a que la red tiene varias capas y se empiezan modificando los pesos de la capa de salida y se va avanzando "hacia atrás", hasta la capa de entrada.

      Un ejemplo simple: quieres que una entrada de valor 2 te de como salida un 4.
      Aunque las redes neuronales son más complejas... voy a suponer que la red fuese:

      salida = entrada * peso

      El peso supongamos que vale 3.
      Entonces salida_actual = 2 * peso_actual = 2*3 = 6
      Entonces dices: ¡¡eh!! que me salido 6 pero lo que deseo es que me salga 4... Por tanto, tengo un error de 4-6 = -2
      Entonces, uso esa diferencia para modificar de alguna forma el peso. Si la diferencia fuese pequeña, lo que variaría el peso sería poco pero si fuese grande lo variaría más.

      Entonces diría algo así como : peso_siguiente = peso_actual + error * delta

      (la delta es un coeficiente / parámetro que se aplica multiplicando al error )

      peso_siguiente = 3 + (-2) * 0.25 = 3 - 0.5 = 2.5

      En este ejemplo, parece absurdo hacerlo así, porque 2*x = 4 es una ecuación simple que directamente podría calcular el valor de x como x = 4/2 = 2 ...
      Sin embargo, las redes neuronales son ecuaciones no lineales... porque si fuesen lineales no podrían hacer prácticamente nada útil. Y ahí con ecuaciones no lineales ya no es tan fácil.

      Aquí también podríamos hacer: 2*(3+k) = 4
      y de ahí decir: 6 + 2k = 4 ... entonces k = (-2)/2 = -1
      con lo cual delta = k/error = -1 / -2 = 0.5
      Es decir, si hubiésemos escogido una delta = 0.5 lo clavábamos.
      peso_siguiente = peso_actual + error * delta
      peso_siguiente = 3 + (-2)* 0.5 = 3 -1 = 2


      Pero vuelvo a repetir que en el caso real no podemos hacer eso.

      Y, por eso, lo que se hace es escoger una delta pequeña... y basta con acercarse poco a poco.


      Lo que se haría es volver a probar, cambiando el peso:

      peso_actual = peso_siguiente

      salida_actual = 2 * peso_actual = 2*2.5 = 5

      Como se puede observar, la salida se ha acercado al valor 4, antes era 6 y ahora es 5, más cerquita.

      Si se itera otra vez:

      peso_siguiente = 2.5 + (-1) * 0.25 = 2.5 - 0.25 = 2.25

      y con este peso:

      salida_actual = 2 * 2.25 = 4.5

      Estamos más cerca... y así hasta estar suficientemente cerca.
      Estábamos inicialmente en 6, luego 5, luego 4.5... quizá luego 4.25 ... quizá luego 4.125 ... y tras muchas iteraciones llegaríamos a 4.004 o menos que puede ser un error de 1 por 1000 con el que nos demos por satisfechos... O podríamos detenernos cuando ya no podamos reducir el error. Quizá llegamos a 4.2 que es un error del 5% y de ahí no podamos mejorar y nos quedemos ahí.


      cc #0 #2 #5

    • Mister_Lala /  hace 1 año

      O en fortran.

      • puntoomega /  hace 1 año

        o en cartulina con una aguja y pulso firme.

      • deverdad /  hace 1 año

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

    • Arganor /  hace 1 año

      Con tarjetas perforadas.

  12. swatieson /  hace 1 año

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

    • LandraQueTeDeu /  hace 1 año

      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.

      • Iluminacion /  hace 1 año

        hay hardware especifico para redes. Imb tiene uno comercial.

        • Acido /  hace 1 año

          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.

  13. Richal /  hace 1 año

    Que mal suena eso de retroprogramacion y aprendizaje profundo.

  14. Azucena1980 /  hace 1 año

    Confiemos en la inteligencia artificial.

    Porque la natural deja mucho que desear...

    • jackeldestripador /  hace 1 año

      sobre todo la que vota a una organizacion criminal PP

      • Mister_Lala /  hace 1 año

        :calzador: venga, toma

        • jackeldestripador /  hace 1 año

          metelo en tu bebedero de patos

    • Garrosh /  hace 1 año

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

    • puntoomega /  hace 1 año

      "la inteligencia artificial siempre será superada por la estupidez real" - T. Pratchett.

Ofertas

Loader noticialalminuto

Volver arriba

Esta web utiliza cookies, puedes ver nuestra política de cookies, aquí Si continuas navegando estás aceptándola