Abstract
The popular library TensorFlow (TF) has familiarised the mainstream of machine-learning community with programming language concepts such as data-flow computing and automatic differentiation. Additionally, it has introduced some genuinely new syntactic and semantic programming concepts. In this paper we study one such new concept, the ability to extract and manipulate the state of a computation graph. THis feature allows the convenient specification of parameterised models by freeing the programmer of the bureaucracy of parameter management, while still permitting the use of generic, model-independent, search and optimisation algorithms. We study this new language feature, which we call ‘graph abstraction’ in the context of the call-by-value lambda calculus, using the recently developed Dynamic Geometry of Interaction formalism. We give a simple type system guaranteeing the safety of graph abstraction, and we also show the safety of critical language properties such as garbage collection and the beta law. The semantic model suggests that the feature could be implemented in a general-purpose functional language reasonably efficiently.
Original language | English |
---|---|
Title of host publication | Proceedings of LICS ’18: 33rd Annual ACM/IEEE Symposium on Logic in Computer Science |
Number of pages | 24 |
DOIs | |
Publication status | Published - 12 Jul 2018 |
Event | Thirty-Third Annual ACM/IEEE Symposium on Logic in Computer Science (LICS) - Oxford, United Kingdom Duration: 9 Jul 2018 → 12 Jul 2018 |
Conference
Conference | Thirty-Third Annual ACM/IEEE Symposium on Logic in Computer Science (LICS) |
---|---|
Country/Territory | United Kingdom |
City | Oxford |
Period | 9/07/18 → 12/07/18 |
Keywords
- Geometry of Interaction
- semantics of programming languages
- TensorFlow