Video que muestra como la inteligencia artificial de Google, DeepMind, ha aprendido a caminar, saltar, trepar, etc… Sin haberle enseñado previamente como debía hacerlo. El resultado es tan impresionante como cómico.
#2:
#1 Como comentan al final del vídeo, es posible que DeepMind (y Phoebe de "Friends") sepan algo sobre la eficiencia al correr que el resto de la humanidad desconoce.
Quizá, dentro de unos años, en los Juegos Olímpicos, todos corran así.
#21:
Vi esto en un vídeo de hace ya 5 años https://youtu.be/pgaEE27nsQw
No tiene que sortear obstáculos como la de google, solo andar recto sobre terreno plano, pero sorprende mucho la naturalidad de los modelos al andar.
#1:
Lo precoupante es pensar como ha aprendido a correr como Phoebe la de "Friends"
#20:
#11 A veces cuando leo estos comentarios me dan ganas de escribir dos hojas tratando de explicar mi razonamiento.
Luego me doy cuenta de que tendría que hacer un resumen y que eso requiere un esfuerzo mental que no sé si me compensa. Soy vago. Shit. Aún así mi niño interior quiere dar una pataleta y trataré de responder un poco.
Básicamente te diré que "la evolución" como tú la llamas es algo más que "hardware" ( unas piernas ), cuando tú te mueves no es precisamente por que tengas rodillas, si no por que quieres moverte o necesitas moverte y tienes unos recursos disponibles para hacerlo, puedes tener rodillas o patas de palo, da lo mismo. Para andar existen miles de posibilidades, y si te das cuenta en la naturaleza existen miles de "gaits" ( formas de moverse), incluso entre andar o correr existen diferencias abismales en los movimientos a realizar, programar un entorno real es complicadísimo por la cantidad de variables que hay que manejar.
Os creeis que esto es magia? si es un vídeo de marketing de Google, no muestra nada nuevo. Cualquiera que haya usado algoritmos de IA sabe que tienen muchísimas limitaciones y que no descubren oro allá por donde van, al menos no de momento ( salvo en el uso de gran cantidad de datos e información donde es más plausible ), el 99% de lo que encuentran son cosas obvias o que no sirven para nada. Seguro que en Deepmind tienen cosas impresionantes que no muestran, que algún día si llega la computación cuántica serán la rehostia, etc etc , pero esto precisamente es una tontería que existe en la robótica desde hace muchísimo.
Deberíais ser más humildes y daros cuenta de que para superar el tiempo de ventaja ( y las herramientas ) que utiliza la naturaleza, hace falta un poco más de tiempo.... Solamente pensando en los procesos químicos tan complejos que se dan dentro de tu cuerpo para hacer la digestión y lo difícil que es simularlos te caes de culo.
Bah ya no sé ni lo que he escrito, ahí queda.
#58:
Buenas, hace dos semanas estuve en New York en la conferencia de Inteligencia Artificial, y esta era una de las cosas que se presentaron. En realidad no es nada nuevo, usaron RNN con Reinforcement, y es algo que ya habían dejado entrever el año pasado en la de San Francisco.
#21 La gran diferencia entre lo que muestras tú y lo de google, es que lo de tu vídeo es simplemente la implementación de la física, pero no el aprendizaje automático. Lo de google es la implementación del motor físico, y la red neuronal para que aprenda a caminar. Ojo, no le quito mérito a la gente que hizo el producto de tu vídeo, de hecho es algo muy complejo, y la complejidad de la física del entorno de google es muy primitiva.
El motivo de que caminen así en realidad es porque todavía es una prueba de concepto a alto nivel, así que las figuras no contienen información sobre músculos, tendones, huesos... Básicamente contiene aristas, vértices, longitud y peso, y capacidad de ángulo en cada vértice. Si las agregaran ese modelo sería un monstruo complicadillo de diseñar la topología y costoso de entrenar.
Esto no es algo nuevo, de hecho hacer lo mismo en 2D es un ejercicio muy sencillo, y que podéis incluso hacer vosotros y probarlo con el OpenAI Gym: https://gym.openai.com/envs/BipedalWalker-v2 Muchas de las soluciones de la gente fallan porque dan el reward incluso cuando camina con una sola pierna y la otra pegada al suelo estática, así que aprenden a caminar así. Os recomendaría esta solución que es bastante buena y aprende en menos de 1000 epochs: https://gym.openai.com/evaluations/eval_oLCO0fFFSewn4Y1I6NyTQ
#9:
#2 Dudo mucho que en unas horas de simulación con bastantes menos variables que un ser vivo ( teniendo en cuenta la energía, eficiencia, etc etc ) supere el resultado de miles de años de evolución para algo tan básico como andar o correr que no se haya dado ya en la naturaleza....
La evolución desde mi humilde y probablemente equivocado punto de vista es simplemente un algoritmo de optimización de orden zero. Es decir, no usa ningún tipo de información más que la evaluación de una función de fitness, en el caso de la naturaleza, si el bicho la palma o no, aplicada sobre un conjunto de cantidatos generados aleatoriamente. Por otro lado las redes que usan los de Deep mind utilizan el método del gradiente, el cual te da una dirección, sólo por eso la velocidad de convergencia augmenta. Obviamente, el problema resuelto es mucho más simple ya que parte del modelo ya está escogido de antebrazo, pero no veo porqué no podría solucionar el problema entero con todos los gaits con más tiempo.
La naturaleza usa mates. Esas mates también las podemos usar nosotros. Tan sólo falta capacidad de cómputo. Pero teniendo en cuenta la suboptimalidad de la mayoría de procesos naturales quizá podamos tomar atajos.
#3:
Yo llamaría a esa forma de correr "¡Me acaba de tocar el bote de los Euromillones!".
#22:
#10 Ya te digo: cuando los Terminators controlados por la IA de Google vengan a por nosotros, su modo de correr no nos parecerá tan gracioso.
#11:
#9 Dudas? Me creo que en un par de días lo allá aprendido.
Estás confundiendo evolución y desarrollo con capacidad para aprender. Ese simulador parte con varios miles de años de ventaja porque su cuerpo ya está evolucionado y desarrollado. Solo ha tenido que aprender a usarlo y no le ha debido de llevar mucho.
#1 Como comentan al final del vídeo, es posible que DeepMind (y Phoebe de "Friends") sepan algo sobre la eficiencia al correr que el resto de la humanidad desconoce.
Quizá, dentro de unos años, en los Juegos Olímpicos, todos corran así.
#2 Dudo mucho que en unas horas de simulación con bastantes menos variables que un ser vivo ( teniendo en cuenta la energía, eficiencia, etc etc ) supere el resultado de miles de años de evolución para algo tan básico como andar o correr que no se haya dado ya en la naturaleza....
#9 Dudas? Me creo que en un par de días lo allá aprendido.
Estás confundiendo evolución y desarrollo con capacidad para aprender. Ese simulador parte con varios miles de años de ventaja porque su cuerpo ya está evolucionado y desarrollado. Solo ha tenido que aprender a usarlo y no le ha debido de llevar mucho.
#11 A veces cuando leo estos comentarios me dan ganas de escribir dos hojas tratando de explicar mi razonamiento.
Luego me doy cuenta de que tendría que hacer un resumen y que eso requiere un esfuerzo mental que no sé si me compensa. Soy vago. Shit. Aún así mi niño interior quiere dar una pataleta y trataré de responder un poco.
Básicamente te diré que "la evolución" como tú la llamas es algo más que "hardware" ( unas piernas ), cuando tú te mueves no es precisamente por que tengas rodillas, si no por que quieres moverte o necesitas moverte y tienes unos recursos disponibles para hacerlo, puedes tener rodillas o patas de palo, da lo mismo. Para andar existen miles de posibilidades, y si te das cuenta en la naturaleza existen miles de "gaits" ( formas de moverse), incluso entre andar o correr existen diferencias abismales en los movimientos a realizar, programar un entorno real es complicadísimo por la cantidad de variables que hay que manejar.
Os creeis que esto es magia? si es un vídeo de marketing de Google, no muestra nada nuevo. Cualquiera que haya usado algoritmos de IA sabe que tienen muchísimas limitaciones y que no descubren oro allá por donde van, al menos no de momento ( salvo en el uso de gran cantidad de datos e información donde es más plausible ), el 99% de lo que encuentran son cosas obvias o que no sirven para nada. Seguro que en Deepmind tienen cosas impresionantes que no muestran, que algún día si llega la computación cuántica serán la rehostia, etc etc , pero esto precisamente es una tontería que existe en la robótica desde hace muchísimo.
Deberíais ser más humildes y daros cuenta de que para superar el tiempo de ventaja ( y las herramientas ) que utiliza la naturaleza, hace falta un poco más de tiempo.... Solamente pensando en los procesos químicos tan complejos que se dan dentro de tu cuerpo para hacer la digestión y lo difícil que es simularlos te caes de culo.
#20 Para decir eso , mejor ahorra tu tiempo . #9 lo explica bien en menos de 10 palabras Estás confundiendo evolución y desarrollo con capacidad para aprender.
#24 La evolución es una ecuación de adaptación al medio.
En la naturaleza esa ecuación lleva probándose durante miles de años con diferentes variables con iteraciones prueba-error.
La ecuación que han usado para esta simulación es mucho más simple y ni de lejos les ha dado tiempo a probar tantas variables diferentes con tanta cantidad de iteraciones.
¿Ahora lo entiendes mejor?
#26 hay varias diferencias: Una IA es capaz de diferenciar si una forma de andar es un .5% mejor que otra, en cambio la evolución no es tan "fina" como la gente suele pensar, la evolución es mucho más rollo "si algo funciona no lo toques mucho"... a lo que te voy es que normalmente, que uno de los hijos sea un 1 (o un 10 o un 20)% mas rápido que sus hermanos no significa que vaya a sobrevivir, a parte de que un humano, por ejemplo, rodearía el obstáculo o usaría una cuerda antes de que la evolución "optimizase" el proceso de saltar barrancos o escalar sin usar las manos....
A parte, si me dices que quien creo que puede diseñar una forma mas optimizada de cruzar una pista con cajas y barrancos en menor tiempo posible, si la evolución en un millón de años o un ordenador en una semana, no tengo duda de que el ordenador gana por goleada, más que nada porque solo una de cada 100 vidas el tener esa habilidad concreta un 10 o 20% más rápida va a ser la diferencia entre la vida y la muerte.
PD: Lo que quería explicar lo explica mucho mejor #31, al que me gustaría poder darle mas positivos.
#43 De acuerdo en lo que dices. Yo no digo que la evolución sea la manera más rápida ni la mejor/óptima de hacer nada.
Sí que creo que andar o correr son cosas básicas en nuestro entorno y que están muy optimizadas por el tema de depredación, alimentación y adaptación a cambios externos ( que juega un papel importante en la superviviencia... ) y la naturaleza lleva muchísimas iteraciones de ventaja con un sistema mucho más complejo y que no nos va a enseñar a andar de manera óptima mágicamente... que es lo que decía el comentario al que respondía.
Seguro que habrá cientos de estudios para optimizar como se corre, se anda o lo que haga falta que arrojen mucha más luz que simplemente una IA haciendo iteraciones en un entorno super simplista. No digo que la IA no sirva para nada ( de hecho pienso que es el futuro ), solamente hacía referencia al comentario de esta noticia en concreto.
#45 El tema es que a lo mejor hay una forma mejor que la nuestra, que obviamente nuestro cuerpo está adaptado a nuestra forma, pero puede que haya una forma mejor y sea util para los robots. De todas formas, el plan no es mejorar la forma de andar humana, el plan es ver como una IA es capaz de aprender a andar, el estudio es más sobre la forma de aprender que sobre la forma de andar
#47 Yo respondía a un comentario. No a la noticia. El comentario hablaba de que quizás en unos años la gente correría así en las olimpiadas.
Luego ya en lo que se ha derivado la conversación en respuesta a mi comentario... es otra cosa.
#47 correcto. El asunto esta en que no le han dado guias ni le han dicho (programado) como se anda o corre. La ia ha aprendido a caminar, cosa q a los humanos le suele costar algun año que otro
#43 Quería añadir una cosa sobre tu comentario, lo malo es que ese 0.5% de mejora se calcula sobre un modelo irreal o incompleto. De hecho en aprendizaje existe el concepto de "overfitting" o sobre ajuste, que es básicamente cuando te ajustas excesivamente a unas condiciones especificas de aprendizaje para sacar el máximo rendimiento pero que luego en una realidad más genérica son ineficientes.
#43 no se yo cfeo que la evolucion debe ser infinitamente rrecisa, si eres un 5% mas rapido y tienes 10 hijos parecidos a ti que son.5% mas rapidos ahi ya hay una ventaja multiplicada por diez comparado con los diez hijos del otro que era un 5% mas lento sobreviran mas de tus hijos, y por mucho que bajes la vebtaja inicial si esta se arrastra a mas hijos de hijos siempre se deberia notar.
#79 pues depende. Lo primero es que lo de la ventaja multiplicada por 10 no lo entiendo, y lo segundo es que si tu hijo muere de tifus, o el lento estaba meando cuando vino el tigre, te da igual correr un 5% mas rapido. El "problema" de la evolucion como sistema de optimizacion es que funciona a lo grueso: si tus caracteristicas son suficientes como para que sobrevivas, tus genes pasan a la siguiente fase. Y la vida no es una carrera, asi que aunque seas un 5% mas rapido es muy probable que esa diferencia nunca jamas te salve la vida, que mueras por otra cosa, o que si mueres en una carrera te persiga una pantera (que es 5 veces mas rapida que tu, asi que la diferencia no se nota), aunque seas mas rapido que tu compi, la pantera no va a elegir al mas lento, le da igual. Te pongo otro ejemplo en el que se ve mas facil: la parte del video en el que el bicho sube cajas. El ser humano no esta optimizado para subir cajas porque solo una vez de cada 1000.000.000 alguien ha muerto por no subir una caja lo suficientemente rapido sin manos, normalmente subir cajas no esta en nuestra lista de habilidades de vida o muerte, asi que una IA sera muchisimo mejor optimizando la capacidad de subir cajas que la evolucion, y lo mismo (aunque en menor grado) pasara con andar. Como he dicho, la evolucion no afina tanto, la evolucion va a grosso modo, y es muy muy efectiva a largo plazo, pero porque la optimizacion al 100% no es tan importante en terminos de supervivencia (excepto quizas en "carreras armamentisticas", rollo la gacela y el guepardo, en los que ambos estan muy cerca de ese 100% de optimizacion, que no es el caso ni de broma de los humanos)
#81 multiplicado por 10 me refiero a que tu ventaja del 5% la tendran diez hijos tuyos y ese 5% diez veces porque ahora son diez indivuos tiene mas probabilidad de que sea una ventaja que visto individualmente, pienso que la evolucion hay que verla como ventaja estadisticas no como una ventaja de un individuo.
Precisamente porque la evolucion es la ventaja estadistica, y sobretodo, porque solo tiene dos "baremos", reproduccion y supervivencia, es por lo que la IA es mucho mejor optimizando: el objetivo de la IA puede comparar el mismo proceso repetido 10000000000 de veces en exactamente las mismas condiciones, con lo que puede comparar exactamente que forma es mas rápida. La evolucion no, a la evolucion se la suda la velocidad, solo es una herramienta para A) reproducirse o B) sobrevivir. Precisamente ese es el tema, esta claro que si corres el doble tienes mas oportunidades de sobrevivir, pero no tienes el doble, y puedes sobrevivir siendo mas lento pero mas listo (desviando recursos de las piernas al cerebro) y en cambio los hijos del tonto que corre mas rapido tendran menos posibilidades de sobrevivir, no te parece?
#26 No me voy a meter en el resto de la conversación sobre informática y demás, porque me resulta divertida. Pero sí aquí por "La evolución es una ecuación de adaptación al medio". Lo siento, eso es Lamarckismo, que si recuerdas del cole, es falso.
La evolución se basa en dos cosas: mutación aleatoria y selección natural. No necesariamente las mutaciones adquiridas aportan nada para adaptarse al medio, y no necesariamente dichas mutaciones son las óptimas para la adaptación al medio. Y en cuanto a la selección natural, no siempre es adaptación al medio, sino que puede ser adaptación reproductiva. Tal vez tu forma de caminar no es la óptima para el terreno, pero sí te hace menear el culo de forma que resultes más atractivo para los miembros del sexo opuesto, y por tanto tengas más probabilidades de reproducirte y por tanto fijar tu gen en las siguientes generaciones. Y si no, piensa en esos culos de tamaños superlativos que tan atractivos parecen para la gente latina, y piensa si dichos culos, que se perpetúan genéticamente (hiperlordosis) ayudan a caminar mejor.
#86 Recitar cosas de memoria del cole es lo que tiene...
Lamarck fue unos de los pioneros en sentar las bases de la evolución ( antes que Darwin ) ... y su teoría no solo no es falsa, si no que además forma parte de la teoría moderna de la evolución, que es más amplia.
La aleatoriedad puede incluirse en una fórmula perfectamente... De hecho, se utiliza en los denominados algoritmos genéticos, que son un tipo de técnica dentro de la inteligencia artificial y que coge su nombre precisamente de los genes por como se programa por genotipos/fenotipos e iteraciones/ generaciones para mejorar.
#90 ¿En serio es lo que piensas? ¿Que el lamarckismo es cierto? Del lamarckismo solamente se cogió para la teoría de la evolución la parte de la herencia de caracteres adquiridos, y se rechazó la parte de adaptación al medio, que es la que tú expones. Pero eh, a mí me la pela sobremanera lo que creas o dejes de creer. Lo mejor es tu "mansplaining" sobre algoritmos genéticos, muchas gracias maestro por explicármelos. ¿Me podrías pasar tu github para ver cómo los aplicas y cómo los usas? Gracias crack!
#91 No era mi intención picarte.
Te pido disculpas.
Respeto al Lamarckismo, no soy un experto en el tema, pero constaba de diversos puntos y no digo que todos sean ciertos, si no que parte de lo que decía Lamarck era cierto, tú afirmaste que era falsa.. Uno de los paradigmas de lamarck se basaba en el "uso y desuso" de los órganos vs Herencia de Darwin.
Si te apetece, puedes buscar más información sobre como el concepto de epigenética y como esto tiene ahora más relevancia que nunca.
Esto es, el uso y los hábitos que tengas en tu vida, se pasan a tus futuras generaciones, aunque te parezca increíble. Si eres obeso durante tu vida y tienes hijos, tu genética se ve alterada y heredada por tus hijos en parte, lo mismo si haces mucho ejercicio físico, etc. ( Creo que lo denominan Neo Lamarckista )
Te podría dar links a proyectos de SW libre en los que he trabajado y mi github, pero se asocia a mi nombre real, y no tengo ganas.
La evolución desde mi humilde y probablemente equivocado punto de vista es simplemente un algoritmo de optimización de orden zero. Es decir, no usa ningún tipo de información más que la evaluación de una función de fitness, en el caso de la naturaleza, si el bicho la palma o no, aplicada sobre un conjunto de cantidatos generados aleatoriamente. Por otro lado las redes que usan los de Deep mind utilizan el método del gradiente, el cual te da una dirección, sólo por eso la velocidad de convergencia augmenta. Obviamente, el problema resuelto es mucho más simple ya que parte del modelo ya está escogido de antebrazo, pero no veo porqué no podría solucionar el problema entero con todos los gaits con más tiempo.
La naturaleza usa mates. Esas mates también las podemos usar nosotros. Tan sólo falta capacidad de cómputo. Pero teniendo en cuenta la suboptimalidad de la mayoría de procesos naturales quizá podamos tomar atajos.
#20 hombre, técnicamente la digestión es meter ácido y haber construido un contenedor resistente al ácido, y algunas proteínas sueltas especiales para cortar. No es lo que más destacaría de lo que hace nuestro cuerpo, pero la IA tampoco es que necesite digerir muchas cosas ...
#33 Hmmm... algo me dice que para que el corrector pase de "haya" a "allá", algo malo tenía que haber en el input, y no por omisión de la H... la letra Y queda bastante lejos de la L. Es que "halla" y "aya" existen...
#11 No sabemos si ese cuerpo de IA tiene "desgaste" por mover sus músculos y tendones como los mueve en el vídeo, ni la "energía" que necesita para pegar esos espasmos.
#9 Bueno, digamos que no han hecho una masa sin forma y ya a partir de ahí ha empezado a correr sino que le han puesto dos piernas, ¿no?, y le han dicho que ande, corra, salte y demás, con lo cual resulta ya mucho menos complejo.
#2#12 Yo apostaría a que ha aprendido exactamente igual que los otros cientos/miles de sistemas de aprendizaje que ya existen, basicamente funcionan por ensayo/error con millones de repeticiones (de hecho la naturaleza hace parecido).
#12 no le han dicho que corra o ande o salte, le han dicho que mueva las patitas hasta que llegue del punto A al punto B. Ella sola ha aprendido que cuando hay un boquete, a menos que mueva la patita A de cierta forma y eche el cuerpo un poco para alante, se cae. Esa es la gracia, que no le han dicho nada, solamente "tienes qeu ir de A a B lo más rápido posible, repite 1.000.000.000 de veces hasta que te salga bien"
#2 Quizás lo contrario, no sabe algo que nosotros sí (o no tiene algo que nosotros sí): dolor. Solo hay que ver como se deja las rodillas al intentar subir esos escalones... excepto porque no tiene rodillas.
#2 Yo dudo que el modelo de realidad de la simulación tenga en cuenta todas las variables que hacen falta. Por ejemplo, cómo es el detalle de las articulaciones, flexibilidad de estas, elasticidad, etc. Puede haber aspectos cuyo efecto inmediato parece pequeño pero que influyen en el desarrollo del resultado final del aprendizaje.
#2 Voy a hacer una pregunta simplísima pero que encierra todo el meollo del asunto, que lo encierra, lo categoriza y a la vez debería explicarse: ¿Por qué se mueve?
#89 Vamos, que no se mueve. O que no es un auto-móvil. Han diseñado un muñeco con brazos y piernas que se mueven constantemente (previamente programado para ello), lo lanzan a una pantalla previamente diseñada con obstáculos y que ocurra lo que tenga que ocurrir evolutivamente. Pues no hay nada conceptualmente distinto del programa aquel de las motos con chasis y ruedas de diferentes tamaños (el chasis cambiaba forma y tamaño, pero las ruedas solo tamaño) que iba seleccionando aquellos diseños que llegaban más lejos o superaban más obstáculos.
Me gustará ver por fin un programa que realmente se mueva solo, que tenga volición. A ver...
#21 muchísimo más interesante, aparte de quitar la música cutre se puede observar la evolución entre diferentes generaciones (que para mi es lo mejor).
Buenas, hace dos semanas estuve en New York en la conferencia de Inteligencia Artificial, y esta era una de las cosas que se presentaron. En realidad no es nada nuevo, usaron RNN con Reinforcement, y es algo que ya habían dejado entrever el año pasado en la de San Francisco.
#21 La gran diferencia entre lo que muestras tú y lo de google, es que lo de tu vídeo es simplemente la implementación de la física, pero no el aprendizaje automático. Lo de google es la implementación del motor físico, y la red neuronal para que aprenda a caminar. Ojo, no le quito mérito a la gente que hizo el producto de tu vídeo, de hecho es algo muy complejo, y la complejidad de la física del entorno de google es muy primitiva.
El motivo de que caminen así en realidad es porque todavía es una prueba de concepto a alto nivel, así que las figuras no contienen información sobre músculos, tendones, huesos... Básicamente contiene aristas, vértices, longitud y peso, y capacidad de ángulo en cada vértice. Si las agregaran ese modelo sería un monstruo complicadillo de diseñar la topología y costoso de entrenar.
Esto no es algo nuevo, de hecho hacer lo mismo en 2D es un ejercicio muy sencillo, y que podéis incluso hacer vosotros y probarlo con el OpenAI Gym: https://gym.openai.com/envs/BipedalWalker-v2 Muchas de las soluciones de la gente fallan porque dan el reward incluso cuando camina con una sola pierna y la otra pegada al suelo estática, así que aprenden a caminar así. Os recomendaría esta solución que es bastante buena y aprende en menos de 1000 epochs: https://gym.openai.com/evaluations/eval_oLCO0fFFSewn4Y1I6NyTQ
#58 ¿Estás seguro de eso? En el vídeo salen ejemplos de modelos en las primeras generaciones de aprendizaje y se ven como caen al suelo. También sale un mensaje durante el vídeo que dice "Gaits are discovered automatically, no motion data is used." También he encontrado este vídeo que habla del paper:
En el paper describe cómo funcionan los modelos y cómo aplican patrones de torsión (torque patterns), que al final es definir la física correcta de cada articulación. Si miras el abstract y la categorización las categorías son "animación" y "gráficos 3D", no tienen absolutamente nada de aprendizaje. El paper en ningún momento habla de AI, ni de redes convolucionales, ni de redes recurrentes, ni de ningún término que tenga que ver con nada similar.
Hace cinco años no había Intel Nervana ni las GPUs nuevas de NVidia, así que no iban a poder entrenar ese modelo ni aunque supieran cómo. A día de hoy veo todavía complejo que se pueda, haría falta mucha GPU para entrenar algo sobre un modelo tan completo... ni siquiera me imagino en mi cabeza cómo sería la topología de las capas para ese monstruo.
La AI ha evolucionado mucho en los últimos 3 años, no tanto por evoluciones de algoritmos, sino más por evolución de GPU y de herramientas. En el año 95 en la facultad en sistemas conexionistas hacíamos con matlab computer vision para reconocer cosas en fotos (a mí me tocó reconocer jarrones) y llevaba la vida entrenar un modelo en un servidor tocho de la universidad. A día de hoy trabajo en esto, y por ejemplo un entreno con 2000 fotos de coches para saber reconocerlos y además su posición, lo consigo en una media horita.
Pero pese a esa evolución brutal está todavía muy lejos de las espectativas de la gente, acostumbradas a Skynet, Terminator, Her, 2001,... Las novelas, el cine y las series han puesto el listón muy alto, y ni de coña estamos ahí. Pero el problema con tener el listón tan alto es que la gente no reconoce fácilmente la dificultad de cada problema que se resuelve
#72 Muy interesante el paper, gracias . Sí, tienes razón. En el paper se habla de que usan una especie de algoritmo evolutivo para optimizar los parámetros del control de los músculos, pero el sistema en general es bastante específico y desde luego no es una red neuronal. Y ya voy a dejar de replicarte, que estoy muy lejos de ser un experto en el tema y está claro que tú sabes mejor que yo de lo que hablas.
Es aprendizaje por refuerzo en episodios. Dado por un lado un modelo 3D con articulaciones, actuadores, sensores y limitaciones en la libertad de movimiento de cada articulación, y por otro lado un entorno de entrenamiento con sus materiales, fuerzas, etc, se simulan diferentes secuencias de acciones, en principio aleatorias, para periodos cortos de tiempo, que se evalúan con respecto a un objetivo, y luego se corrigen (bien usando redes neuronales, o cualquier otro algoritmo de optimización, como Q-learning) hasta ir consiguiendo un resultado satisfactorio para ese periodo. Luego se pasa a simular el siguiente periodo de tiempo. Este vídeo es muy bonito, pero no dice cuántas horas se ha tirado el modelo entrenando. Pueden ser días o semanas.
#64 Hombre, cuñao!, te conozco hace tanto tiempo y ahora me entero de que te gustan estos temas. Hace 3 o 4 años usé Pybrain para entrenar un robot cuadrúpedo usando un entorno ODE con aprendizaje por refuerzo. La librería ha caído en desuso, pero trae algunos ejemplos de lo que digo. Había casos en los que la simulación encontraba 'gaits' que avanzaban más rápido de la cuenta, usando saltos y/o zancadas forzadas, pero eso no significa que en la realidad funcionaran. A menudo, se trata de errores en la definición de la física del entorno, como baja gravedad o poca fricción del suelo. Además de que resulta casi imposible construir un modelo que se comporte al 100% como el robot real.
Yo vi una vez a uno que corría así delante de un montón de avispas mientras se iba dando de hostias en la cabeza para espantarlas. Que gracioso fue verlo desde la distancia.
Aprovecho que hay tantos entendidos en el tema para pedir ¿algún recurso recomendado para iniciarse en el mundo de las redes neuronales y/o algoritmos genéticos? Siempre me ha picado el gusanillo pero no he sabido encontrar por dónde empezar
#87 Para redes neuronales y aprendizaje computacional tienes el famoso curso Machine Learning de Coursera —el profesor es uno de los fundadores de Coursera, por cierto—. Es buen curso, yo lo hice completo y lo recomiendo, también conozco profesores de universidad que se dedican al tema que también lo hicieron, incluso me ha servido para artículos de investigación. En la web de Stanford está ese mismo curso aún más completo, que se corresponde con toda la parte de contenidos libres de la asignatura presencial que imparten allí —es decir, el curso de Stanford es una parte de la asignatura de esa universidad, y el de Coursera es una parte algo más reducida que la de la web—.
En la misma Coursera tienes otros cursos sobre redes neuronales, también recomendables.
En cuanto a algoritmos genéticos... ahí ya sólo conozco la asignatura de Sistemas Inteligentes del Grado de Ingeniería Informática, que bien sugiere #93. Aun así no dudes en buscar sobre el asunto si te interesa, los algoritmos genéticos están bastante chulos.
Cuando veo al render ese corriendo agitando los brazos en alto no puedo dejar de imaginarmelo chillando "a lo locoh" y me da la risa tonta.
Por otra parte tambien me acojona un poco lo que da de si la IA.
esa sera la mejor forma de correr dado el modelo dinamico que hayan utilizado y la funcion de coste. Con un modelo dinamico mas complejo o con otra funcion de coste puede salir otra cosa.
Comentarios
Lo precoupante es pensar como ha aprendido a correr como Phoebe la de "Friends"
#1 Como comentan al final del vídeo, es posible que DeepMind (y Phoebe de "Friends") sepan algo sobre la eficiencia al correr que el resto de la humanidad desconoce.
Quizá, dentro de unos años, en los Juegos Olímpicos, todos corran así.
#2 o es posible q no hayan aprendido lo suficiente...
#2 También podríamos aprender de MAGGIE GRACE en VENGANZA
#8 hahaha! es verdad, andan igual!
#2 Dudo mucho que en unas horas de simulación con bastantes menos variables que un ser vivo ( teniendo en cuenta la energía, eficiencia, etc etc ) supere el resultado de miles de años de evolución para algo tan básico como andar o correr que no se haya dado ya en la naturaleza....
Pero nice try
#9 Dudas? Me creo que en un par de días lo allá aprendido.
Estás confundiendo evolución y desarrollo con capacidad para aprender. Ese simulador parte con varios miles de años de ventaja porque su cuerpo ya está evolucionado y desarrollado. Solo ha tenido que aprender a usarlo y no le ha debido de llevar mucho.
#11 A veces cuando leo estos comentarios me dan ganas de escribir dos hojas tratando de explicar mi razonamiento.
Luego me doy cuenta de que tendría que hacer un resumen y que eso requiere un esfuerzo mental que no sé si me compensa. Soy vago. Shit. Aún así mi niño interior quiere dar una pataleta y trataré de responder un poco.
Básicamente te diré que "la evolución" como tú la llamas es algo más que "hardware" ( unas piernas ), cuando tú te mueves no es precisamente por que tengas rodillas, si no por que quieres moverte o necesitas moverte y tienes unos recursos disponibles para hacerlo, puedes tener rodillas o patas de palo, da lo mismo. Para andar existen miles de posibilidades, y si te das cuenta en la naturaleza existen miles de "gaits" ( formas de moverse), incluso entre andar o correr existen diferencias abismales en los movimientos a realizar, programar un entorno real es complicadísimo por la cantidad de variables que hay que manejar.
Os creeis que esto es magia? si es un vídeo de marketing de Google, no muestra nada nuevo. Cualquiera que haya usado algoritmos de IA sabe que tienen muchísimas limitaciones y que no descubren oro allá por donde van, al menos no de momento ( salvo en el uso de gran cantidad de datos e información donde es más plausible ), el 99% de lo que encuentran son cosas obvias o que no sirven para nada. Seguro que en Deepmind tienen cosas impresionantes que no muestran, que algún día si llega la computación cuántica serán la rehostia, etc etc , pero esto precisamente es una tontería que existe en la robótica desde hace muchísimo.
Deberíais ser más humildes y daros cuenta de que para superar el tiempo de ventaja ( y las herramientas ) que utiliza la naturaleza, hace falta un poco más de tiempo.... Solamente pensando en los procesos químicos tan complejos que se dan dentro de tu cuerpo para hacer la digestión y lo difícil que es simularlos te caes de culo.
Bah ya no sé ni lo que he escrito, ahí queda.
#20 Para decir eso , mejor ahorra tu tiempo . #9 lo explica bien en menos de 10 palabras Estás confundiendo evolución y desarrollo con capacidad para aprender.
#24 La evolución es una ecuación de adaptación al medio.
En la naturaleza esa ecuación lleva probándose durante miles de años con diferentes variables con iteraciones prueba-error.
La ecuación que han usado para esta simulación es mucho más simple y ni de lejos les ha dado tiempo a probar tantas variables diferentes con tanta cantidad de iteraciones.
¿Ahora lo entiendes mejor?
#31 Eso mismo he dicho en #26
#26 hay varias diferencias: Una IA es capaz de diferenciar si una forma de andar es un .5% mejor que otra, en cambio la evolución no es tan "fina" como la gente suele pensar, la evolución es mucho más rollo "si algo funciona no lo toques mucho"... a lo que te voy es que normalmente, que uno de los hijos sea un 1 (o un 10 o un 20)% mas rápido que sus hermanos no significa que vaya a sobrevivir, a parte de que un humano, por ejemplo, rodearía el obstáculo o usaría una cuerda antes de que la evolución "optimizase" el proceso de saltar barrancos o escalar sin usar las manos....
A parte, si me dices que quien creo que puede diseñar una forma mas optimizada de cruzar una pista con cajas y barrancos en menor tiempo posible, si la evolución en un millón de años o un ordenador en una semana, no tengo duda de que el ordenador gana por goleada, más que nada porque solo una de cada 100 vidas el tener esa habilidad concreta un 10 o 20% más rápida va a ser la diferencia entre la vida y la muerte.
PD: Lo que quería explicar lo explica mucho mejor #31, al que me gustaría poder darle mas positivos.
#43 De acuerdo en lo que dices. Yo no digo que la evolución sea la manera más rápida ni la mejor/óptima de hacer nada.
Sí que creo que andar o correr son cosas básicas en nuestro entorno y que están muy optimizadas por el tema de depredación, alimentación y adaptación a cambios externos ( que juega un papel importante en la superviviencia... ) y la naturaleza lleva muchísimas iteraciones de ventaja con un sistema mucho más complejo y que no nos va a enseñar a andar de manera óptima mágicamente... que es lo que decía el comentario al que respondía.
Seguro que habrá cientos de estudios para optimizar como se corre, se anda o lo que haga falta que arrojen mucha más luz que simplemente una IA haciendo iteraciones en un entorno super simplista. No digo que la IA no sirva para nada ( de hecho pienso que es el futuro ), solamente hacía referencia al comentario de esta noticia en concreto.
#45 El tema es que a lo mejor hay una forma mejor que la nuestra, que obviamente nuestro cuerpo está adaptado a nuestra forma, pero puede que haya una forma mejor y sea util para los robots. De todas formas, el plan no es mejorar la forma de andar humana, el plan es ver como una IA es capaz de aprender a andar, el estudio es más sobre la forma de aprender que sobre la forma de andar
#47 Yo respondía a un comentario. No a la noticia. El comentario hablaba de que quizás en unos años la gente correría así en las olimpiadas.
Luego ya en lo que se ha derivado la conversación en respuesta a mi comentario... es otra cosa.
#50 Ah, ok, perdona, me he liado yo
#47 correcto. El asunto esta en que no le han dado guias ni le han dicho (programado) como se anda o corre. La ia ha aprendido a caminar, cosa q a los humanos le suele costar algun año que otro
#43 Quería añadir una cosa sobre tu comentario, lo malo es que ese 0.5% de mejora se calcula sobre un modelo irreal o incompleto. De hecho en aprendizaje existe el concepto de "overfitting" o sobre ajuste, que es básicamente cuando te ajustas excesivamente a unas condiciones especificas de aprendizaje para sacar el máximo rendimiento pero que luego en una realidad más genérica son ineficientes.
#54 Totalmente de acuerdo, una IA siempre va a calcular en un mundo mas simplificado que el real, es inevitable.
#56 una IA siempre va a calcular en un mundo mas simplificado que el real, es inevitable.
Esto también es aplicable a la inteligencia no artificial!
#43 no se yo cfeo que la evolucion debe ser infinitamente rrecisa, si eres un 5% mas rapido y tienes 10 hijos parecidos a ti que son.5% mas rapidos ahi ya hay una ventaja multiplicada por diez comparado con los diez hijos del otro que era un 5% mas lento sobreviran mas de tus hijos, y por mucho que bajes la vebtaja inicial si esta se arrastra a mas hijos de hijos siempre se deberia notar.
#79 pues depende. Lo primero es que lo de la ventaja multiplicada por 10 no lo entiendo, y lo segundo es que si tu hijo muere de tifus, o el lento estaba meando cuando vino el tigre, te da igual correr un 5% mas rapido. El "problema" de la evolucion como sistema de optimizacion es que funciona a lo grueso: si tus caracteristicas son suficientes como para que sobrevivas, tus genes pasan a la siguiente fase. Y la vida no es una carrera, asi que aunque seas un 5% mas rapido es muy probable que esa diferencia nunca jamas te salve la vida, que mueras por otra cosa, o que si mueres en una carrera te persiga una pantera (que es 5 veces mas rapida que tu, asi que la diferencia no se nota), aunque seas mas rapido que tu compi, la pantera no va a elegir al mas lento, le da igual. Te pongo otro ejemplo en el que se ve mas facil: la parte del video en el que el bicho sube cajas. El ser humano no esta optimizado para subir cajas porque solo una vez de cada 1000.000.000 alguien ha muerto por no subir una caja lo suficientemente rapido sin manos, normalmente subir cajas no esta en nuestra lista de habilidades de vida o muerte, asi que una IA sera muchisimo mejor optimizando la capacidad de subir cajas que la evolucion, y lo mismo (aunque en menor grado) pasara con andar. Como he dicho, la evolucion no afina tanto, la evolucion va a grosso modo, y es muy muy efectiva a largo plazo, pero porque la optimizacion al 100% no es tan importante en terminos de supervivencia (excepto quizas en "carreras armamentisticas", rollo la gacela y el guepardo, en los que ambos estan muy cerca de ese 100% de optimizacion, que no es el caso ni de broma de los humanos)
#81 multiplicado por 10 me refiero a que tu ventaja del 5% la tendran diez hijos tuyos y ese 5% diez veces porque ahora son diez indivuos tiene mas probabilidad de que sea una ventaja que visto individualmente, pienso que la evolucion hay que verla como ventaja estadisticas no como una ventaja de un individuo.
#94 Bueno, ahora se te ha entendido mejor.
Precisamente porque la evolucion es la ventaja estadistica, y sobretodo, porque solo tiene dos "baremos", reproduccion y supervivencia, es por lo que la IA es mucho mejor optimizando: el objetivo de la IA puede comparar el mismo proceso repetido 10000000000 de veces en exactamente las mismas condiciones, con lo que puede comparar exactamente que forma es mas rápida. La evolucion no, a la evolucion se la suda la velocidad, solo es una herramienta para A) reproducirse o B) sobrevivir. Precisamente ese es el tema, esta claro que si corres el doble tienes mas oportunidades de sobrevivir, pero no tienes el doble, y puedes sobrevivir siendo mas lento pero mas listo (desviando recursos de las piernas al cerebro) y en cambio los hijos del tonto que corre mas rapido tendran menos posibilidades de sobrevivir, no te parece?
#26 A mi, como programador, este es el comentario que me ha ayudado a entender tu punto de vista.
#26 yo, sin hablar por él, la verdad que no entiendo a dónde quiered llegar....
#26 No me voy a meter en el resto de la conversación sobre informática y demás, porque me resulta divertida. Pero sí aquí por "La evolución es una ecuación de adaptación al medio". Lo siento, eso es Lamarckismo, que si recuerdas del cole, es falso.
La evolución se basa en dos cosas: mutación aleatoria y selección natural. No necesariamente las mutaciones adquiridas aportan nada para adaptarse al medio, y no necesariamente dichas mutaciones son las óptimas para la adaptación al medio. Y en cuanto a la selección natural, no siempre es adaptación al medio, sino que puede ser adaptación reproductiva. Tal vez tu forma de caminar no es la óptima para el terreno, pero sí te hace menear el culo de forma que resultes más atractivo para los miembros del sexo opuesto, y por tanto tengas más probabilidades de reproducirte y por tanto fijar tu gen en las siguientes generaciones. Y si no, piensa en esos culos de tamaños superlativos que tan atractivos parecen para la gente latina, y piensa si dichos culos, que se perpetúan genéticamente (hiperlordosis) ayudan a caminar mejor.
#86 Recitar cosas de memoria del cole es lo que tiene...
Lamarck fue unos de los pioneros en sentar las bases de la evolución ( antes que Darwin ) ... y su teoría no solo no es falsa, si no que además forma parte de la teoría moderna de la evolución, que es más amplia.
La aleatoriedad puede incluirse en una fórmula perfectamente... De hecho, se utiliza en los denominados algoritmos genéticos, que son un tipo de técnica dentro de la inteligencia artificial y que coge su nombre precisamente de los genes por como se programa por genotipos/fenotipos e iteraciones/ generaciones para mejorar.
#90 ¿En serio es lo que piensas? ¿Que el lamarckismo es cierto? Del lamarckismo solamente se cogió para la teoría de la evolución la parte de la herencia de caracteres adquiridos, y se rechazó la parte de adaptación al medio, que es la que tú expones. Pero eh, a mí me la pela sobremanera lo que creas o dejes de creer. Lo mejor es tu "mansplaining" sobre algoritmos genéticos, muchas gracias maestro por explicármelos. ¿Me podrías pasar tu github para ver cómo los aplicas y cómo los usas? Gracias crack!
#91 No era mi intención picarte.
Te pido disculpas.
Respeto al Lamarckismo, no soy un experto en el tema, pero constaba de diversos puntos y no digo que todos sean ciertos, si no que parte de lo que decía Lamarck era cierto, tú afirmaste que era falsa.. Uno de los paradigmas de lamarck se basaba en el "uso y desuso" de los órganos vs Herencia de Darwin.
Si te apetece, puedes buscar más información sobre como el concepto de epigenética y como esto tiene ahora más relevancia que nunca.
Esto es, el uso y los hábitos que tengas en tu vida, se pasan a tus futuras generaciones, aunque te parezca increíble. Si eres obeso durante tu vida y tienes hijos, tu genética se ve alterada y heredada por tus hijos en parte, lo mismo si haces mucho ejercicio físico, etc. ( Creo que lo denominan Neo Lamarckista )
Te podría dar links a proyectos de SW libre en los que he trabajado y mi github, pero se asocia a mi nombre real, y no tengo ganas.
Un saludo,
#20 LOL
La evolución desde mi humilde y probablemente equivocado punto de vista es simplemente un algoritmo de optimización de orden zero. Es decir, no usa ningún tipo de información más que la evaluación de una función de fitness, en el caso de la naturaleza, si el bicho la palma o no, aplicada sobre un conjunto de cantidatos generados aleatoriamente. Por otro lado las redes que usan los de Deep mind utilizan el método del gradiente, el cual te da una dirección, sólo por eso la velocidad de convergencia augmenta. Obviamente, el problema resuelto es mucho más simple ya que parte del modelo ya está escogido de antebrazo, pero no veo porqué no podría solucionar el problema entero con todos los gaits con más tiempo.
La naturaleza usa mates. Esas mates también las podemos usar nosotros. Tan sólo falta capacidad de cómputo. Pero teniendo en cuenta la suboptimalidad de la mayoría de procesos naturales quizá podamos tomar atajos.
#20 Muchas palabras para seguir errando en lo mismo.
Insisto en que estas confundiendo evolución y desarrollo con capacidad para aprender.
Analízalo de nuevo.
#20 "Deberíais ser más humildes"
#20 hombre, técnicamente la digestión es meter ácido y haber construido un contenedor resistente al ácido, y algunas proteínas sueltas especiales para cortar. No es lo que más destacaría de lo que hace nuestro cuerpo, pero la IA tampoco es que necesite digerir muchas cosas ...
#20 No eres vago, todo lo contrario. You are very smart
#11 Allá aprendido? Haya HAYA.
Escribe en la pizarra 1000 veces haya aprendido hasta que te quede grabado en sangre .
#27 Puto corrector movil
#33 Hmmm... algo me dice que para que el corrector pase de "haya" a "allá", algo malo tenía que haber en el input, y no por omisión de la H... la letra Y queda bastante lejos de la L. Es que "halla" y "aya" existen...
PD: Sí, soy un capullo
#68 Es la IA del corrector de android, que falla .
#27 O en su defecto, hasta que lo allá aprendido.
#11 No sabemos si ese cuerpo de IA tiene "desgaste" por mover sus músculos y tendones como los mueve en el vídeo, ni la "energía" que necesita para pegar esos espasmos.
#11 SIn animo de ofender: http://www.rae.es/consultas/halla-haya-aya
#9 Bueno, digamos que no han hecho una masa sin forma y ya a partir de ahí ha empezado a correr sino que le han puesto dos piernas, ¿no?, y le han dicho que ande, corra, salte y demás, con lo cual resulta ya mucho menos complejo.
De todos modos, sorprende.
#2 #12 Yo apostaría a que ha aprendido exactamente igual que los otros cientos/miles de sistemas de aprendizaje que ya existen, basicamente funcionan por ensayo/error con millones de repeticiones (de hecho la naturaleza hace parecido).
Pero claro, este es de Google...
#15 Bueno, los otros no los hemos visto el resto de mortales; aquí al menos han tenido el detalle de ponérnoslo (o no fue noticia relevante)
#17 El de jugar al mario sí se ha visto, y relativas a automóviles (con ruedas) hay muchísimas noticias.
Unas piernas es algo más complejo, pero entonces diría que lo unico que aporta Google es la capacidad de computación para realizar las simulaciones.
#12 no le han dicho que corra o ande o salte, le han dicho que mueva las patitas hasta que llegue del punto A al punto B. Ella sola ha aprendido que cuando hay un boquete, a menos que mueva la patita A de cierta forma y eche el cuerpo un poco para alante, se cae. Esa es la gracia, que no le han dicho nada, solamente "tienes qeu ir de A a B lo más rápido posible, repite 1.000.000.000 de veces hasta que te salga bien"
#44 La letra con sangre entra, versión IA.
#9 Justo estaba pensando que no correrían de esa forma si se cansasen. Si tuvieran que ahorrar energía se lo tomarían con más calma.
#2 no te creas, siempre pueden prohibir correr de una forma, como le pasó a cierto español lanzando la jabalina...
#28 ¿A qué te refieres? Me pica la curiosidad.
#55 Creo que se refiere a
Cuando Miguel de la Quadra-Salcedo pulverizó el récord del mundo de jabalina lanzando al “estilo vasco”
Cuando Miguel de la Quadra-Salcedo pulverizó el ré...
blogs.publico.esCreo que no le aceptaron el record por usar un método 'no aprobado' ...
#55 ah, pensaba que era de dominio público:
http://blogs.publico.es/strambotic/2016/05/delaquadra-plusmarquista/
#61 No me acordaba de esa anecdota de Miguel. Ahora los chistes de vascos tienen mas sentido
#2 Tal vez con una botella de ron corran todos asi.
#2 no premian la eficiencia, solo la distancia recorrida
#2 Hombre, a lo mejor ganas un 1% en estabilidad subiendo y bajando el brazo, pero no creo que el coste energético compense, la verdad....
#2 Quizás lo contrario, no sabe algo que nosotros sí (o no tiene algo que nosotros sí): dolor. Solo hay que ver como se deja las rodillas al intentar subir esos escalones... excepto porque no tiene rodillas.
#2 Yo dudo que el modelo de realidad de la simulación tenga en cuenta todas las variables que hacen falta. Por ejemplo, cómo es el detalle de las articulaciones, flexibilidad de estas, elasticidad, etc. Puede haber aspectos cuyo efecto inmediato parece pequeño pero que influyen en el desarrollo del resultado final del aprendizaje.
#2 Voy a hacer una pregunta simplísima pero que encierra todo el meollo del asunto, que lo encierra, lo categoriza y a la vez debería explicarse: ¿Por qué se mueve?
#83 Porque le han dicho que tiene que ir de A a B, le han dotado de capacidad de movimiento, y le han pedido que lo haga lo mejor posible.
#89 Vamos, que no se mueve. O que no es un auto-móvil. Han diseñado un muñeco con brazos y piernas que se mueven constantemente (previamente programado para ello), lo lanzan a una pantalla previamente diseñada con obstáculos y que ocurra lo que tenga que ocurrir evolutivamente. Pues no hay nada conceptualmente distinto del programa aquel de las motos con chasis y ruedas de diferentes tamaños (el chasis cambiaba forma y tamaño, pero las ruedas solo tamaño) que iba seleccionando aquellos diseños que llegaban más lejos o superaban más obstáculos.
Me gustará ver por fin un programa que realmente se mueva solo, que tenga volición. A ver...
Me parece increible que esté hecho solo con IA, estaría interesante saber más detalles internos.
#1 He pensado exactamente lo mismo cuando empieza a correr jajajaj Lo que no imaginaba es que se diría en el primer comentario.
Vi esto en un vídeo de hace ya 5 años
No tiene que sortear obstáculos como la de google, solo andar recto sobre terreno plano, pero sorprende mucho la naturalidad de los modelos al andar.
#21 muchísimo más interesante, aparte de quitar la música cutre se puede observar la evolución entre diferentes generaciones (que para mi es lo mejor).
#25 pues si, me sorprende la naturalidad que consiguen en solo 1000 iteraciones
Buenas, hace dos semanas estuve en New York en la conferencia de Inteligencia Artificial, y esta era una de las cosas que se presentaron. En realidad no es nada nuevo, usaron RNN con Reinforcement, y es algo que ya habían dejado entrever el año pasado en la de San Francisco.
#21 La gran diferencia entre lo que muestras tú y lo de google, es que lo de tu vídeo es simplemente la implementación de la física, pero no el aprendizaje automático. Lo de google es la implementación del motor físico, y la red neuronal para que aprenda a caminar. Ojo, no le quito mérito a la gente que hizo el producto de tu vídeo, de hecho es algo muy complejo, y la complejidad de la física del entorno de google es muy primitiva.
El motivo de que caminen así en realidad es porque todavía es una prueba de concepto a alto nivel, así que las figuras no contienen información sobre músculos, tendones, huesos... Básicamente contiene aristas, vértices, longitud y peso, y capacidad de ángulo en cada vértice. Si las agregaran ese modelo sería un monstruo complicadillo de diseñar la topología y costoso de entrenar.
Esto no es algo nuevo, de hecho hacer lo mismo en 2D es un ejercicio muy sencillo, y que podéis incluso hacer vosotros y probarlo con el OpenAI Gym: https://gym.openai.com/envs/BipedalWalker-v2 Muchas de las soluciones de la gente fallan porque dan el reward incluso cuando camina con una sola pierna y la otra pegada al suelo estática, así que aprenden a caminar así. Os recomendaría esta solución que es bastante buena y aprende en menos de 1000 epochs: https://gym.openai.com/evaluations/eval_oLCO0fFFSewn4Y1I6NyTQ
#58 ¿Estás seguro de eso? En el vídeo salen ejemplos de modelos en las primeras generaciones de aprendizaje y se ven como caen al suelo. También sale un mensaje durante el vídeo que dice "Gaits are discovered automatically, no motion data is used." También he encontrado este vídeo que habla del paper:
#69 Pues bastante seguro, porque este es el paper completo: http://www.goatstream.com/research/papers/SA2013/SA2013.pdf
En el paper describe cómo funcionan los modelos y cómo aplican patrones de torsión (torque patterns), que al final es definir la física correcta de cada articulación. Si miras el abstract y la categorización las categorías son "animación" y "gráficos 3D", no tienen absolutamente nada de aprendizaje. El paper en ningún momento habla de AI, ni de redes convolucionales, ni de redes recurrentes, ni de ningún término que tenga que ver con nada similar.
Hace cinco años no había Intel Nervana ni las GPUs nuevas de NVidia, así que no iban a poder entrenar ese modelo ni aunque supieran cómo. A día de hoy veo todavía complejo que se pueda, haría falta mucha GPU para entrenar algo sobre un modelo tan completo... ni siquiera me imagino en mi cabeza cómo sería la topología de las capas para ese monstruo.
La AI ha evolucionado mucho en los últimos 3 años, no tanto por evoluciones de algoritmos, sino más por evolución de GPU y de herramientas. En el año 95 en la facultad en sistemas conexionistas hacíamos con matlab computer vision para reconocer cosas en fotos (a mí me tocó reconocer jarrones) y llevaba la vida entrenar un modelo en un servidor tocho de la universidad. A día de hoy trabajo en esto, y por ejemplo un entreno con 2000 fotos de coches para saber reconocerlos y además su posición, lo consigo en una media horita.
Pero pese a esa evolución brutal está todavía muy lejos de las espectativas de la gente, acostumbradas a Skynet, Terminator, Her, 2001,... Las novelas, el cine y las series han puesto el listón muy alto, y ni de coña estamos ahí. Pero el problema con tener el listón tan alto es que la gente no reconoce fácilmente la dificultad de cada problema que se resuelve
#72 Muy interesante el paper, gracias . Sí, tienes razón. En el paper se habla de que usan una especie de algoritmo evolutivo para optimizar los parámetros del control de los músculos, pero el sistema en general es bastante específico y desde luego no es una red neuronal. Y ya voy a dejar de replicarte, que estoy muy lejos de ser un experto en el tema y está claro que tú sabes mejor que yo de lo que hablas.
Yo llamaría a esa forma de correr "¡Me acaba de tocar el bote de los Euromillones!".
Esto ya lo hacían los framsticks desde 1996 http://www.framsticks.com/
(y nadar, reptar, saltar...)
Así salgo yo del pub de los viernes después de la oficina.
Es aprendizaje por refuerzo en episodios. Dado por un lado un modelo 3D con articulaciones, actuadores, sensores y limitaciones en la libertad de movimiento de cada articulación, y por otro lado un entorno de entrenamiento con sus materiales, fuerzas, etc, se simulan diferentes secuencias de acciones, en principio aleatorias, para periodos cortos de tiempo, que se evalúan con respecto a un objetivo, y luego se corrigen (bien usando redes neuronales, o cualquier otro algoritmo de optimización, como Q-learning) hasta ir consiguiendo un resultado satisfactorio para ese periodo. Luego se pasa a simular el siguiente periodo de tiempo. Este vídeo es muy bonito, pero no dice cuántas horas se ha tirado el modelo entrenando. Pueden ser días o semanas.
#19 O miles de años, si tenemos en cuenta que no tiene porque entrenar a tiempo real y que puede hacerlo muchas veces en paralelo.
#19 hola cuñao! que dice tu hermana que si eso ya lo de comer para otro finde.
#64 Hombre, cuñao!, te conozco hace tanto tiempo y ahora me entero de que te gustan estos temas. Hace 3 o 4 años usé Pybrain para entrenar un robot cuadrúpedo usando un entorno ODE con aprendizaje por refuerzo. La librería ha caído en desuso, pero trae algunos ejemplos de lo que digo. Había casos en los que la simulación encontraba 'gaits' que avanzaban más rápido de la cuenta, usando saltos y/o zancadas forzadas, pero eso no significa que en la realidad funcionaran. A menudo, se trata de errores en la definición de la física del entorno, como baja gravedad o poca fricción del suelo. Además de que resulta casi imposible construir un modelo que se comporte al 100% como el robot real.
#80 anonadado me dejas cuñao
Yo vi una vez a uno que corría así delante de un montón de avispas mientras se iba dando de hostias en la cabeza para espantarlas. Que gracioso fue verlo desde la distancia.
#7 La esencia de la comedia
#7 Sí, esas cosas se aprecian mucho mejor desde la distancia.
#0 Sería "Cómo aprendió a caminar la inteligencia artificial de Google, sin guía previa"
Pobre IA. Ya al final se ve que se ha hecho un esguince y va cojeando.
me ha encantado! una aproximacion mucho mas que aproximada, anda raro, pero anda y se equilibra
Cómo no está esto en OYOYOY?
Y ahí, hijo mío, puedes ver como acabamos con los humanos, mientras ellos se descojonaban.
#10 Ya te digo: cuando los Terminators controlados por la IA de Google vengan a por nosotros, su modo de correr no nos parecerá tan gracioso.
Imáginate a Mr. Smith, de Matrix, caminando así.
Para mí que se está cagando vivo
¿Esa IA esta tiene algo que ver con Attack on Titan?
Aprovecho que hay tantos entendidos en el tema para pedir ¿algún recurso recomendado para iniciarse en el mundo de las redes neuronales y/o algoritmos genéticos? Siempre me ha picado el gusanillo pero no he sabido encontrar por dónde empezar
#87 Se empieza en Grado en Ingeniería Informática.
El tercer año ya te dejan tocar el tema
http://www.ia.urjc.es/grupo/docencia/fia/material/temario_FIA_tema1.pdf
#87 Para redes neuronales y aprendizaje computacional tienes el famoso curso Machine Learning de Coursera —el profesor es uno de los fundadores de Coursera, por cierto—. Es buen curso, yo lo hice completo y lo recomiendo, también conozco profesores de universidad que se dedican al tema que también lo hicieron, incluso me ha servido para artículos de investigación. En la web de Stanford está ese mismo curso aún más completo, que se corresponde con toda la parte de contenidos libres de la asignatura presencial que imparten allí —es decir, el curso de Stanford es una parte de la asignatura de esa universidad, y el de Coursera es una parte algo más reducida que la de la web—.
En la misma Coursera tienes otros cursos sobre redes neuronales, también recomendables.
En cuanto a algoritmos genéticos... ahí ya sólo conozco la asignatura de Sistemas Inteligentes del Grado de Ingeniería Informática, que bien sugiere #93. Aun así no dudes en buscar sobre el asunto si te interesa, los algoritmos genéticos están bastante chulos.
#97 #93 ¡Muchas gracias a ambos!
Cuando veo al render ese corriendo agitando los brazos en alto no puedo dejar de imaginarmelo chillando "a lo locoh" y me da la risa tonta.
Por otra parte tambien me acojona un poco lo que da de si la IA.
esa sera la mejor forma de correr dado el modelo dinamico que hayan utilizado y la funcion de coste. Con un modelo dinamico mas complejo o con otra funcion de coste puede salir otra cosa.
Eso les pasa por darle unos controles tipo QWOP
#0 Cómo, con tilde.