Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como IA

Hacia una inteligencia artificial general

In this work, published in Science (Open Access version), we introduce the Generative Query Network (GQN), a framework within which machines learn to perceive their surroundings by training only on data obtained by themselves as they move around scenes. Much like infants and animals, the GQN learns by trying to make sense of its observations of the world around it. In doing so, the GQN learns about plausible scenes and their geometrical properties, without any human labelling of the contents of scenes.  The GQN model is composed of two parts: a representation network and a generation network. The representation network takes the agent's observations as its input and produces a representation (a vector) which describes the underlying scene. The generation network then predicts (‘imagines’) the scene from a previously unobserved viewpoint. (Google DeepMind) Como ya es costumbre, Google DeepMind acaba de dar otro paso (o pasito si peca uno de escéptico y quiere ser conservad...

Sobre el modelo de red neuronal AlphaGo Zero (de Google DeepMind)

Previous versions of AlphaGo initially trained on thousands of human amateur and professional games to learn how to play Go. AlphaGo Zero skips this step and learns to play simply by playing games against itself, starting from completely random play. In doing so, it quickly surpassed human level of play and defeated the previously published champion-defeating version of AlphaGo by 100 games to 0. If similar techniques can be applied to other structured problems, such as protein folding, reducing energy consumption or searching for revolutionary new materials, the resulting breakthroughs have the potential to positively impact society.  (Profesor David Silver) ¡Realmente increíble las implicaciones que tiene este descubrimiento de   DeepMind ! Su modelo neuronal   AlphaGo Zero   es capaz de aprender SOLO sin necesitar de datos de ningún tipo (ya no necesita siquiera aprender de jugadas de humanos como su versión anterior); simplemente aprende jugando contra sí mismo. ...

La magnífica mejora en el sistema de traducción de Google (que ha pasado casi desapercibida)

"Alrededor de dos mil quinientos años atrás, un comerciante mesopotámico reunió arcilla, madera y juncos y cambió la humanidad para siempre. Con el tiempo, su ábaco permitiría a los comerciantes hacer un seguimiento de los bienes y reconciliar sus finanzas, permitiendo que la economía florezca. Pero ese momento de inspiración también ilumina otra asombrosa habilidad humana: nuestra capacidad de recombinar conceptos existentes e imaginar algo completamente nuevo. El inventor desconocido habría tenido que pensar en el problema que querían resolver, el artefacto que podían construir y las materias primas que podían reunir para crearlo. La arcilla se podría moldear en una tableta, un palillo se podría utilizar para rasguñar las columnas y los juncos pueden actuar como contadores. Cada componente era familiar y distinto, pero juntos en esta nueva forma, formaron algo revolucionario. Esta idea de "composicionalidad" está en el centro de las capacidades humanas como la creativi...

Computación evolutiva: Ejemplo II

Abstract Siguiendo con la serie de ejemplos prácticos -pulsa aquí para ver el ejemplo I- y disponibles con licencia GPL, de algoritmos evolutivos, voy a mostrar ahora algo que, bien entendido; se comprende es un logro importante, que debemos a dos fundamentales ramas de la IA; como son la computación evolutiva y las redes neuronales. Estoy hablando de la posibilidad de crear programas que adquieran “conocimiento” estratégico automáticamente sin necesidad de que un programador humano implemente ninguna regla heurística de aprendizaje. La idea de este ejemplo parte de Blondie24 ; un juego de damas, implementado por David B. Fogel , que; haciendo uso de Estrategias Evolutivas y una red neuronal, consiguió que el programa aprendiera, tras 8 meses de entrenamiento, a jugar bien a las damas. Y tan bien aprendió, que consiguió un rating de 2048 –un 99,6% mejor que cualquier jugador humano-. Lo increíble de Blondie24, era que el programador, en ningún momento implementó reglas heurísticas par...

Computación evolutiva: Ejemplo III

Abstract Siguiendo con la serie de ejemplos prácticos -pulsa aquí para ver el ejemplo II: Aprendizaje de estrategias no-loss en el juego 3 en raya o Tic-tac-toe- y disponibles con licencia GPL, de algoritmos evolutivos, voy a mostrar ahora otro ejemplo práctico. En esta ocasión se trata de diseñar un algoritmo capaz de aprender por si solo a jugar bien al famoso juego Conecta 4 -o cuatro en línea-. El esquema principal seguido es el mismo del ejemplo II de la serie de ejemplos evolutivos prácticos que estoy desarrollando. Es decir; se sigue la idea detrás de Blondie24 ; un juego de damas, implementado por David B. Fogel , que; haciendo uso de Estrategias Evolutivas y una red neuronal, consiguió que el programa aprendiera, tras 8 meses de entrenamiento, a jugar bien a las damas. Y tan bien aprendió, que consiguió un rating de 2048 –un 99,6% mejor que cualquier jugador humano-. Ejemplo práctico III: Proyecto Evolutivo para el juego Cuatro en Línea -o Conecta 4- El programa que os presen...

Computación evolutiva: Ejemplo IV

Abstract Siguiendo con la serie de ejemplos prácticos -pulsa aquí para ver el ejemplo III: Aprendizaje automático en el juego 4 en raya- y disponibles con licencia GPL, de algoritmos evolutivos, voy a mostrar ahora otro ejemplo práctico. En esta ocasión se trata de diseñar un algoritmo capaz de aprender a reconocer las letras de las vocales dadas en un archivo GIF. El esquema principal seguido es el mismo del ejemplo II y III de la serie de ejemplos evolutivos prácticos que estoy desarrollando. Es decir; haciendo uso de estrategias evolutivas y una red neuronal se consigue un apndizaje automático por parte de un programa. Ejemplo práctico IV: Proyecto evolutivo de reconocimiento de patrones El programa que os presento a continuación; programado en un applet de Java para que podáis probarlo de primera mano, consigue precisamente eso: aprender a reconocer los patrones de las vocales, en formato Times New Roma, y un tamaño de 8 (8 x 5 = 40 píxeles). No se usa ninguna técnica estratégica ...

Computación evolutiva: Ejemplo V

Abstract El siguiente ejemplo práctico, consiste en una revisión del ejemplo anterior donde realizamos un algoritmo capaz de reconocer las vocales mediante aprendizaje evolutivo. En esta versión, hemos introducido algo de ruido durante el entrenamiento y prueba del reconocimiento conseguido. El ruido consiste en la introducción o borrado de píxeles en la imagen de la vocal a reconocer. Ejemplo práctico V: Proyecto evolutivo de reconocimiento de patrones con ruido El programa que os presento a continuación; programado en un applet de Java para que podáis probarlo de primera mano, consigue precisamente eso: aprender a reconocer los patrones de las vocales, en formato Times New Roma, y un tamaño de 8 (8 x 5 = 40 píxeles). No se usa ninguna técnica estratégica mediante heurística, sólo una red neuronal cuyos pesos se ajustan mediante una estrategia evolutiva. El programa, al ejecutarse inicialmente el applet, sólo no tiene "conocimiento" alguno, y se limita a dar una respuesta...

Computación evolutiva: Ejemplo VI

Abstract Para el ejemplo VI de la serie práctica de algoritmos evolutivos, he implementado un OCR básico, a partir del ejemplo anterior donde realizamos un algoritmo capaz de reconocer los patrones de las vocales mediante aprendizaje evolutivo. El OCR es bastante básico, pero permite comprobar la potencia de la computación evolutiva en relación al mundo del reconocimiento de patrones. Ejemplo práctico VI: OCR básico El programa que os presento a continuación; programado en un applet de Java para que podáis probarlo de primera mano, consigue precisamente eso: aprender a reconocer los patrones de las vocales, en formato Times New Roma, y un tamaño de 8 (8 x 5 = 40 píxeles). Se utiliza una red neuronal cuyos pesos se ajustan mediante una estrategia evolutiva. El programa actua como un OCR, consiguiendo capturar la información textual dentro de una imagen (en formato GIF), y transcribiendo dicha información en una caja de texto. Para agilizar la programación necesaria, el OCR sólo recon...