publication . Conference object . Preprint . 2017

Typesafe abstractions for tensor operations (short paper)

Tongfei Chen;
Open Access
  • Published: 18 Oct 2017
  • Publisher: ACM Press
Abstract
We propose a typesafe abstraction to tensors (i.e. multidimensional arrays) exploiting the type-level programming capabilities of Scala through heterogeneous lists (HList), and showcase typesafe abstractions of common tensor operations and various neural layers such as convolution or recurrent neural networks. This abstraction could lay the foundation of future typesafe deep learning frameworks that runs on Scala/JVM.
Subjects
ACM Computing Classification System: Software_PROGRAMMINGLANGUAGES
free text keywords: Computer Science - Programming Languages, D.3.2, Tensor, Recurrent neural network, Deep learning, Theoretical computer science, Short paper, Scala, computer.programming_language, computer, Programming language, computer.software_genre, Computer science, Convolution, Artificial intelligence, business.industry, business, Abstraction
Related Organizations
17 references, page 1 of 2

Martín Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Citro, Greg S. Corrado, Andy Davis, Je rey Dean, Matthieu Devin, Sanjay Ghemawat, Ian Goodfellow, Andrew Harp, Geo rey Irving, Michael Isard, Yangqing Jia, Rafal Jozefowicz, Lukasz Kaiser, Manjunath Kudlur, Josh Levenberg, Dan Mané, Rajat Monga, Sherry Moore, Derek Murray, Chris Olah, Mike Schuster, Jonathon Shlens, Benoit Steiner, Ilya Sutskever, Kunal Talwar, Paul Tucker, Vincent Vanhoucke, Vijay Vasudevan, Fernanda Viégas, Oriol Vinyals, Pete Warden, Martin Wattenberg, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng. 2015. TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems. (2015). h p://tensorflow.org/ Software available from tensor ow.org.

Edgar F Codd. 1979. Extending the database relational model to capture more meaning. ACM Transactions on Database Systems (TODS) 4, 4 (1979), 397-434. [OpenAIRE]

Frederik Eaton. 2006. Statically typed linear algebra in Haskell. In Proceedings of the 2006 ACM SIGPLAN workshop on Haskell. ACM, 120-121.

Andreas Griewank and Andrea Walther. 2008. Evaluating derivatives: principles and techniques of algorithmic di erentiation. SIAM. [OpenAIRE]

P. R. Gri oen. 2015. Type Inference for Array Programming with Dimensioned Vector Spaces. In Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming Languages (IFL '15). ACM, New York, NY, USA, Article 4, 12 pages. h ps: //doi.org/10.1145/2897336.2897341

Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long short-term memory. Neural computation 9, 8 (1997), 1735-1780.

Andrew Kennedy and Claudio V Russo. 2005. Generalized algebraic data types and object-oriented programming. ACM SIGPLAN Notices 40, 10 (2005), 21-40.

Daphne Koller and Nir Friedman. 2009. Probabilistic graphical models: principles and techniques. MIT press.

Takayuki Muranushi and Richard A Eisenberg. 2014. Experience report: Type-checking polymorphic units for astrophysics research in Haskell. In ACM SIGPLAN Notices, Vol. 49. ACM, 31-38.

Graham Neubig, Chris Dyer, Yoav Goldberg, Austin Matthews, Waleed Ammar, Antonios Anastasopoulos, Miguel Ballesteros, David Chiang, Daniel Clothiaux, Trevor Cohn, Kevin Duh, Manaal Faruqui, Cynthia Gan, Dan Garrette, Yangfeng Ji, Lingpeng Kong, Adhiguna Kuncoro, Gaurav Kumar, Chaitanya Malaviya, Paul Michel, Yusuke Oda, Matthew Richardson, Naomi Saphra, Swabha Swayamdipta, and Pengcheng Yin. 2017. DyNet: The Dynamic Neural Network Toolkit. arXiv preprint arXiv:1701.03980 (2017).

Judea Pearl. 1982. Reverend Bayes on inference engines: A distributed hierarchical approach. Cognitive Systems Laboratory, School of Engineering and Applied Science, University of California, Los Angeles.

Tim Sheard and Leonidas Fegaras. 1993. A fold for all seasons. In Proceedings of the conference on Functional programming languages and computer architecture. ACM, 233-242.

Kai Sheng Tai, Richard Socher, and Christopher D Manning. 2015. Improved semantic representations from tree-structured long short-term memory networks. arXiv preprint arXiv:1503.00075 (2015).

Theano Development Team. 2016. Theano: A Python framework for fast computation of mathematical expressions. arXiv e-prints abs/1605.02688 (May 2016). h p://arxiv.org/abs/1605.02688

Stéfan van der Walt, S Chris Colbert, and Gael Varoquaux. 2011. The NumPy array: a structure for e cient numerical computation. Computing in Science & Engineering 13, 2 (2011), 22-30.

17 references, page 1 of 2
Any information missing or wrong?Report an Issue