Vit y Tom dan grandes razones prácticas. Solo me gustaría agregar a la respuesta de Matthew Lai sobre la filosofía de separar la especificación del modelo y la computación.
Esta es una de las características más importantes de Tensorflow. Es la idea de que la parte del código que especifica las operaciones matemáticas previstas (declaración del modelo) está completamente separada de la parte del código que realiza el cálculo sobre los datos reales (ejecución). Es por eso que Tensorflow tiene sus propias versiones de agregar o multiplicar , porque la operación lleva una semántica diferente: tensorflow.add es simplemente la declaración de la función de suma, en realidad no hace ninguna adición. Esto sucede más tarde después de la creación de instancias y la ejecución en una sesión de TensorFlow (piense en el entorno de ejecución).
Como Jeremy Howard argumenta en su excelente video, esta podría ser una nueva forma de pensar sobre la computación en sí misma, al igual que la introducción de C en la programación de procedimientos. En ese sentido, Tensorflow tiene menos que ver con las redes neuronales y más con una forma general de computación u optimización sobre los datos, que a menudo son matrices o tensores.
- Máquinas de factorización: ¿cómo hacen los FM para hacer predicciones y aprender?
- ¿Qué significa 'Bagging reduce la varianza mientras se conserva el sesgo'?
- ¿Qué significa "tomar la media geométrica de la distribución predictiva producida por las redes de abandono exponencialmente numerosas" en redes neuronales profundas?
- ¿Cuáles son las funcionalidades clave que debe tener una biblioteca NLP mínima?
- ¿Qué significa la afluencia de IA y Machine Learning en productos tecnológicos para los diseñadores de UX?