TensorFlow

biblioteca de software para aprendizaje automático

TensorFlow es una biblioteca de código abierto para aprendizaje automático a través de un rango de tareas, y desarrollado por Google para satisfacer sus necesidades de sistemas capaces de construir y entrenar redes neuronales para detectar y descifrar patrones y correlaciones, análogos al aprendizaje y razonamiento usados por los humanos.[1]​ Actualmente es utilizado tanto en la investigación como en los productos de Google[1]: min 0:15/2:17 [2]: p.2 [1]: 0:26/2:17  frecuentemente reemplazando el rol de su predecesor de código cerrado, DistBelief. TensorFlow fue originalmente desarrollado por el equipo de Google Brain para uso interno en Google antes de ser publicado bajo la licencia de código abierto Apache 2.0 el 9 de noviembre de 2015.[3][4]

TensorFlow
Información general
Tipo de programa Machine Learning Library
Desarrollador Google Brain Team
Lanzamiento inicial 09 de noviembre de 2015 (8 años, 5 meses y 9 días)
Descubridor
Licencia Apache 2.0 open source license
Estado actual Activo
Información técnica
Programado en Python, C++
Plataformas admitidas Linux, Mac OS X, Windows
Versiones
Última versión estable 2.0.0 ( 2019-10-01)
Última versión en pruebas Por anunciar ( Por anunciar)
Enlaces

Historia editar

DistBelief editar

Empezando en 2011, Google Brain construyó DistBelief como un sistema propietario de aprendizaje automático, basado en redes neuronales de aprendizaje profundo. Su uso creció rápidamente a través de diversas compañías de Alphabet tanto en investigación como en aplicaciones comerciales.[2][5]​ Google asignó múltiples científicos computacionales, incluyendo Jeff Dean, para simplificar y reconstruir el código base de DistBelief en una biblioteca de grado aplicación más rápida y más robusta, cuyo resultado es TensorFlow.[6]​ En 2009, el equipo, dirigido por Geoffrey Hinton, había implementado propagación hacia atrás generalizada y otras mejoras que permitieron generar redes neuronales con exactitud sustancialmente más alta, por ejemplo una reducción de 25% de errores en reconocimiento del habla.[7]

TensorFlow editar

TensorFlow es el sistema de aprendizaje automático de segunda generación de Google Brain, liberado como software de código abierto en 9 de noviembre de 2015. Mientras la implementación de referencia se ejecuta en dispositivos aislados, TensorFlow puede correr en múltiple CPUs y GPUs (con extensiones opcionales de CUDA para informática de propósito general en unidades de procesamiento gráfico).[8]​ TensorFlow está disponible para Windows, Linux, macOS, y plataformas móviles que incluyen Android e iOS.

 
Primer logo

El nombre TensorFlow deriva de las operaciones que tales redes neuronales realizan sobre arrays multidimensionales de datos. Estos arrays multidimensionales son referidos como "tensores". En una primera versión los cálculos de TensorFlow se expresaban como gráficos de flujo de datos con estado, sin embargo, con la evolución de la biblioteca la forma de codificar estas redes se ha vuelto más imperativa.[9]​ En junio de 2016, Jeff Dean de Google declaró que 1,500 repositorios en GitHub mencionaron TensorFlow, de los cuales solo 5 eran de Google.[10]

En el TensorFlow Dev Summit del 6 de marzo de 2019 se anunció la versión alfa de TensorFlow 2.0.[11]​ TensorFlow 2.0[12]​ se centra en la simplicidad y la facilidad de uso, con actualizaciones importantes como (1) el modelo de ejecución (modo eager), consolidar el uso de una API intuitivas de alto nivel (basada en Keras) y el despliegue flexible de modelos en cualquier plataforma.

Unidad de procesamiento del tensor (TPU) editar

En mayo de 2016 Google anunció su unidad de procesamiento tensorial (TPU), una construcción ASIC personalizada específicamente para aprendizaje automático y adaptada para TensorFlow. El TPU es un acelerador de IA programable diseñado para proporcionar un alto rendimiento ejecutando operaciones aritméticas de baja precisión (p. ej., 8-bits), y orientado más para ejecutar modelos que para entrenarlos. Google anunció que habían usado TPUs en sus centros de datos durante más de un año, descubriendo que para aprendizaje automático su rendimiento por vatio es un orden de magnitud mayor que los sistemas tradicionales.[13]

Características editar

TensorFlow proporciona una API de Python,[14]​ así como APIs de C++,[15]Haskell,[16]Java,[17]Go[18]​ y Rust.[19]​ También hay bibliotecas de terceros para C#,[20][21]Julia,[22]R,[23]Scala[24]​ y OCaml.[25]

Aplicaciones editar

Entre las aplicaciones para las cuales TensorFlow es la base, está el software automatizado de procesamiento de imágenes DeepDream.[26]​ Google oficialmente implementó RankBrain el 26 de octubre de 2015, respaldado por TensorFlow. RankBrain ahora maneja un número sustancial de consultas de búsqueda, reemplazando y sustituyendo el algoritmo estático tradicional basado en resultados de búsqueda.[27]

Bibliotecas relacionadas editar

Véase también editar

Referencias editar

  1. a b c "TensorFlow: Open source machine learning" "It is machine learning software being used for various kinds of perceptual and language understanding tasks" — Jeffrey Dean, minute 0:47 / 2:17 from Youtube clip
  2. a b Dean, Jeff (9 de noviembre de 2015). «TensorFlow: Large-scale machine learning on heterogeneous systems». TensorFlow.org. Google Research. Consultado el 10 de noviembre de 2015. 
  3. «Credits». TensorFlow.org. Consultado el 10 de noviembre de 2015. 
  4. Metz, Cade (9 de noviembre de 2015). «Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine». Wired. Consultado el 10 de noviembre de 2015. 
  5. Perez, Sarah (9 de noviembre de 2015). «Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More». TechCrunch. Consultado el 11 de noviembre de 2015. 
  6. Oremus, Will (11 de noviembre de 2015). «What Is TensorFlow, and Why Is Google So Excited About It?». Slate. Consultado el 11 de noviembre de 2015. 
  7. Ward-Bailey, Jeff (25 de noviembre de 2015). «Google chairman: We’re making 'real progress' on artificial intelligence». CSMonitor. Consultado el 25 de noviembre de 2015. 
  8. Metz, Cade (10 de noviembre de 2015). «TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World». Consultado el 11 de noviembre de 2015. 
  9. «Ejecución eager con Keras y TensorFlow | Modelizame». modeliza.me. Consultado el 16 de marzo de 2020. 
  10. Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05
  11. «org.tensorflow | TensorFlow». TensorFlow 2.0 Alpha (en inglés). Archivado desde el original el 7 de marzo de 2019. Consultado el 11 de marzo de 2019. 
  12. Primeros pasos en la programación de redes neuronales con TensorFlow 2.0, 11 de marzo de 2019, consultado el 11 de marzo de 2019 .
  13. Jouppi, Norm. «Google supercharges machine learning tasks with TPU custom chip». Google Cloud Platform Blog. Consultado el 19 de mayo de 2016. 
  14. «All symbols in TensorFlow | TensorFlow». TensorFlow (en inglés). Consultado el 30 de marzo de 2018. 
  15. «TensorFlow C++ Reference | TensorFlow». TensorFlow (en inglés). Consultado el 18 de febrero de 2018. 
  16. haskell: Haskell bindings for TensorFlow, tensorflow, 17 de febrero de 2018, consultado el 18 de febrero de 2018 .
  17. «org.tensorflow | TensorFlow». TensorFlow (en inglés). Consultado el 18 de febrero de 2018. 
  18. «Package tensorflow». godoc.org (en inglés). Consultado el 18 de febrero de 2018. 
  19. rust: Rust language bindings for TensorFlow, tensorflow, 17 de febrero de 2018, consultado el 18 de febrero de 2018 .
  20. Icaza, Miguel de (17 de febrero de 2018), TensorFlowSharp: TensorFlow API for .NET languages, consultado el 18 de febrero de 2018 .
  21. Chen, Haiping (11 de diciembre de 2018), TensorFlow.NET: .NET Standard bindings for TensorFlow, consultado el 11 de diciembre de 2018 .
  22. [1]
  23. tensorflow: TensorFlow for R, RStudio, 17 de febrero de 2018, consultado el 18 de febrero de 2018 .
  24. Platanios, Anthony (17 de febrero de 2018), tensorflow_scala: TensorFlow API for the Scala Programming Language, consultado el 18 de febrero de 2018 .
  25. Mazare, Laurent (16 de febrero de 2018), tensorflow-ocaml: OCaml bindings for TensorFlow, consultado el 18 de febrero de 2018 .
  26. Byrne, Michael (11 de noviembre de 2015). «Google Offers Up Its Entire Machine Learning Library as Open-Source Software». Vice. Consultado el 11 de noviembre de 2015. 
  27. Woollaston, Victoria (25 de noviembre de 2015). «Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public». DailyMail. Consultado el 25 de noviembre de 2015. 
  28. [2]

Enlaces externos editar