5 mar. 2017

TensorFlow - Charla por Martin Abadi

La siguiente nota es sobre algunas ideas expuestas en la charla impartida por Martin Abadi sobre TensorFlow en la Universidad de Buenos Aires (UBA) el 11 noviembre 2016 (detalle publicado AQUI)Esta nota no expresa lo expuesto en la charla. Para detalles, ver video de misma charla impartida en japon y publicada AQUI



DEEP LEARNING
La base del deep learning son redes neuronales, que están inspiradas vagamente en el cerebro. Estas redes son construidas por una simple función "entrenambles" que tienen como base teorías matemáticas del siglo XVII, es decir, las derivadas.


Una red neuronal moderna, o deep learning se veria así:















Una característica del algoritmo de redes neuronales es la independencia del calculo de las neuronas. Esta independencia permite concebir la paralelización en su mínima unidad de calculo, lo que hace posible aumentar considerablemente el tamaño de la red, haciéndola cada vez mas profunda y logrando las técnicas ahora llamadas Deep Learning. Otras características podrían ser estas:
-Es aplicable sobre distintos dominios (audio, imagen, video, datos), logrando buenos resultados.
-Cuando la cantidad de datos es abundante, el entrenamiento puede tolerar datos inconsistentes.
-La explicacion formal de los resultados de los algoritmos de deep learning es incompleta.


TensorFlow
TensorFlow es un software para machine learning, que hace énfasis en algoritmos de deep learning.
Actualmente existen dos interface para usar tensorflow C++ y Python, siendo esta ultima la mas utilizada. El uso de Tensorflow es exponencial, cada vez mas departamentos y áreas lo utilizan, lo que puede ser aval de su éxito. Otro indicador del exito es la cantidad de copias realizadas del repositorio de TensorFlow en GitHub, como se ve en esta grafica:

TPU
Google esté desarrollando un hardware para machine learning: Tensor Processing Unit (TPU). Es un circuito integrado que permite mayor velocidad en el proceso de calculo de las redes neuronales. (ver Ref 1). Fue usado en el proyecto AlphaGo, que es un jugador artificial del juego de mesa GO que venció por primera vez a un humano (ver Ref. 2)

Tensorflow tambien es usado en modelado de agente. (ver Ref. 3). Otro uso curioso de tensorflow es el desarrollo de un clasificador de pepinos en una granja domestica (ver Ref. 4). Para el paper de TensorFlow, ver Ref. 5


1. TPU
a) https://drive.google.com/file/d/0Bx4hafXDDq2EMzRNcy1vSUxtcEk/view
b) https://en.wikipedia.org/wiki/Tensor_processing_unit
c) https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html
d) http://www.techradar.com/news/computing-components/processors/google-s-tensor-processing-unit-explained-this-is-what-the-future-of-computing-looks-like-1326915

2. AlphaGo
http://www.techradar.com/news/internet/google-just-built-a-genius-ai-game-master-1313873

3. Eva y Bob: modelado de agentes
http://arstechnica.com/information-technology/2016/10/google-ai-neural-network-cryptography/

4. Clasificador de pepinos
https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow

5. TensorFlow paper
https://pdfs.semanticscholar.org/caa5/d77a9a5de8dd518375daf2e63fd15f422769.pdf


No hay comentarios:

Publicar un comentario