Theano: new features and speed improvements

Theano: new features and speed improvements

23 Nov 2012 | Frédéric Bastien, Pascal Lamblin, Razvan Pascanu, James Bergstra, Ian Goodfellow, Arnaud Bergeron, Nicolas Bouchard, David Warde-Farley, Yoshua Bengio
Theano is a linear algebra compiler that optimizes symbolically-specified mathematical computations to produce efficient low-level implementations. This paper presents new features and efficiency improvements to Theano, along with benchmarks comparing its performance to Torch7 and RNNLM. Theano was introduced by Bergstra et al. (2010) as a CPU and GPU mathematical compiler, enabling symbolic mathematical function definitions, automatic gradient derivation, and efficient execution. It has been used to implement deep learning models. The paper outlines Theano's main features, including symbolic mathematical expressions, fast execution, GPU parallelism, and stability. It also introduces new features such as the Scan operator for symbolic loops, the R-operator for Hessian-Free optimization, lazy evaluation with CVM, and improved support for sparse matrices and CPU parallelism. The Scan operator allows for efficient computation of gradients and implicit "vector-Jacobian" products, and can be used for recurrent neural networks. The R-operator enables efficient computation of Jacobian-vector products, which is essential for Hessian-Free optimization. Lazy evaluation with CVM improves performance by reducing overhead and enabling faster execution. The paper also discusses improvements in C implementations of operations, better support for sparse matrices, and CPU parallelism via OpenMP. Benchmarks show that Theano is faster than Torch7 on deep learning tasks, especially for models with hidden layers. On recurrent neural networks, Theano performs well, although it has some overhead that can be a drawback for flexible recurrent models. The paper concludes that Theano is a powerful tool for machine learning, with recent additions making it faster than competing software in most cases. The benchmarks aim to highlight the relative strengths of existing software, helping users choose the best tool for their needs. The authors also hope that such benchmarks will help improve available tools, benefiting the research community.Theano is a linear algebra compiler that optimizes symbolically-specified mathematical computations to produce efficient low-level implementations. This paper presents new features and efficiency improvements to Theano, along with benchmarks comparing its performance to Torch7 and RNNLM. Theano was introduced by Bergstra et al. (2010) as a CPU and GPU mathematical compiler, enabling symbolic mathematical function definitions, automatic gradient derivation, and efficient execution. It has been used to implement deep learning models. The paper outlines Theano's main features, including symbolic mathematical expressions, fast execution, GPU parallelism, and stability. It also introduces new features such as the Scan operator for symbolic loops, the R-operator for Hessian-Free optimization, lazy evaluation with CVM, and improved support for sparse matrices and CPU parallelism. The Scan operator allows for efficient computation of gradients and implicit "vector-Jacobian" products, and can be used for recurrent neural networks. The R-operator enables efficient computation of Jacobian-vector products, which is essential for Hessian-Free optimization. Lazy evaluation with CVM improves performance by reducing overhead and enabling faster execution. The paper also discusses improvements in C implementations of operations, better support for sparse matrices, and CPU parallelism via OpenMP. Benchmarks show that Theano is faster than Torch7 on deep learning tasks, especially for models with hidden layers. On recurrent neural networks, Theano performs well, although it has some overhead that can be a drawback for flexible recurrent models. The paper concludes that Theano is a powerful tool for machine learning, with recent additions making it faster than competing software in most cases. The benchmarks aim to highlight the relative strengths of existing software, helping users choose the best tool for their needs. The authors also hope that such benchmarks will help improve available tools, benefiting the research community.
Reach us at info@study.space