Inteligencia artificial – S3lab http://s3lab.deusto.es S3lab Security Blog Wed, 06 May 2020 12:51:35 +0000 es hourly 1 https://wordpress.org/?v=5.1.5 En lo profundo del aprendizaje automático http://s3lab.deusto.es/profundo-aprendizaje-automatico/ Wed, 25 Nov 2015 10:55:53 +0000 http://s3lab.deusto.es/?p=7536 La inteligencia artificial está de moda. Desde visiones más apocalípticas hasta la aparición de nuevas aplicaciones y frameworks que hacen más fácil a los desarrolladores este tipo de aplicaciones. Y hoy precisamente, vamos a hablar de uno de estos frameworks: TensorFlow.

The post En lo profundo del aprendizaje automático appeared first on S3lab.

]]>
La inteligencia artificial está de moda. Desde visiones más apocalípticas hasta la aparición de nuevas aplicaciones y frameworks que hacen más fácil a los desarrolladores este tipo de aplicaciones. Y hoy precisamente, vamos a hablar de uno de estos frameworks: TensorFlow. En el artículo, TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems Google nos enseña su evolución y su funcionamiento.

¿Qué es TensorFlow?

Cómo ellos mismos describen, es una biblioteca de software de código libre para la computación numérica usando grafos de flujos de datos. En el artículo, destacan cómo en 2011 empezaron a trabajar en el proyecto «Google Brain», con el objetivo de explorar el uso de las redes neuronales profundas de gran escala, tanto desde el punto de vista de investigación como desde el punto de vista de producto. TensorFlow es la evolución de la primera aproximación que realizaron en este campo, obteniendo un modelo de programación más flexible y un rendimiento significativamente mejor.

Los conceptos básicos

Dentro del framework, la computación es descrita como un grafo dirigido, compuesto por una serie de nodos. Cada uno de estos nodos puede tener múltiples entradas y múltiples salidas, siendo los tensors los valores que fluyen a través de los arcos del grafo. Por otro lado, las operaciones representan una operación abstracta (por ejemplo, una suma) mientras que los kernels es una implementación concreta de una operación que puede ser ejecutada en un dispositivo concreto (por ejemplo, una GPU). Finalmente, las sesiones es el mecanismo en el que los clientes interactúan con el sistema.

Ejemplo de código: Hola Mundo

Si estáis interesados en ver como se construyen estos sistemas han empezado a aparecer ejemplos de código. Uno de los más interesantes (además del de la propia página web de TensorFlow) es el creado por Aymeric Damien en el que se puede acceder al código de ejemplo, así como a los cuadernos de iPython para ver el código con mayor nivel de detalle. A modo de ejemplo, vamos a mostrar aquí el código correspondiente al clásico «Hola Mundo», sacado de sus ejemplos.

import tensorflow as tf
# Create a Constant op
 # The op is added as a node to the default graph.
 # The value returned by the constructor represents the output of the Constant op.
 hello = tf.constant('Hello, TensorFlow!')

# Start tf session
 sess = tf.Session()

print sess.run(hello)

Como se puede observar, crea una operación constante que almacena el string «Hello, TensorFlow!». Posteriormente genera una sesión y lanza la operación hello anteriormente creada en la sesión instanciada.

El futuro de la inteligencia artificial

TensorFlow no es más que un ejemplo del desarrollo que se está produciendo en los últimos años en esta área. Aplicaciones punteras de uso común, como Facebook, Google o Airbnb tienen buena parte de sus sistemas monitorizados con este tipo de algoritmos para recomendarnos el mejor alojamiento, la mejor búsqueda, o localizar a amigos de nuestra infancia.

Los miedos de gente tan reputada como Elon Musk o Stephen Hawking se basan en el espectacular crecimiento de este tipo de sistemas en los últimos años y, en general, en la experiencia pasada de convertir grandes avances de la humanidad en grandes peligros para nosotros mismos.

The post En lo profundo del aprendizaje automático appeared first on S3lab.

]]>