Attention Is Turing Complete
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Programming Languages Shouldn't and Needn't Be Turing Complete
Programming languages shouldn't and needn't be Turing complete GABRIEL PICKARD Any algorithmic problem faced by application programmers in the wild1 can in principle be solved using a Turing incomplete programming language. [Rice 1953] suggests that Turing completeness bears a heavy price, fundamentally limiting the ability of automatic assistants to help programmers be more productive, create less bugs and write safer software. Nevertheless, no mainstream general purpose programming language is Turing incomplete, with the arguable exception of SQL. We identify historical causes for this discrepancy and argue that the current moment offers better conditions for introducing Turing incompleteness. We present an approach to eliminating Turing completeness during the language design process, with several examples suitable languages targeting application development. Designers of modern practical programming languages should strongly consider evading Turing completeness and enabling better verification, security, automated testing and distributed computing. 1 CEDING POWER TO GAIN CONTROL 1.1 Turing completeness considered harmful The history of programming language design2 has been a history of removing powers which were considered harmful (cf. [Dijkstra 1966]) and replacing them with tamer, more manageable and automated constructs, including: (1) Direct access to CPU registers and instructions ! higher level compilers (2) GOTO ! structured programming (3) Manual memory management ! garbage collection (and borrow checkers) (4) Arbitrary access ! information hiding (5) Side-effects and mutability ! pure functions and persistent data structures While not all application domains benefit from all the replacement steps above3, it appears as if removing some expressive power can often enable a new kind of programming, even a new kind of application altogether. -
Lecture 9 Recurrent Neural Networks “I’M Glad That I’M Turing Complete Now”
Lecture 9 Recurrent Neural Networks “I’m glad that I’m Turing Complete now” Xinyu Zhou Megvii (Face++) Researcher [email protected] Nov 2017 Raise your hand and ask, whenever you have questions... We have a lot to cover and DON’T BLINK Outline ● RNN Basics ● Classic RNN Architectures ○ LSTM ○ RNN with Attention ○ RNN with External Memory ■ Neural Turing Machine ■ CAVEAT: don’t fall asleep ● Applications ○ A market of RNNs RNN Basics Feedforward Neural Networks ● Feedforward neural networks can fit any bounded continuous (compact) function ● This is called Universal approximation theorem https://en.wikipedia.org/wiki/Universal_approximation_theorem Cybenko, George. "Approximation by superpositions of a sigmoidal function." Mathematics of Control, Signals, and Systems (MCSS) 2.4 (1989): 303-314. Bounded Continuous Function is NOT ENOUGH! How to solve Travelling Salesman Problem? Bounded Continuous Function is NOT ENOUGH! How to solve Travelling Salesman Problem? We Need to be Turing Complete RNN is Turing Complete Siegelmann, Hava T., and Eduardo D. Sontag. "On the computational power of neural nets." Journal of computer and system sciences 50.1 (1995): 132-150. Sequence Modeling Sequence Modeling ● How to take a variable length sequence as input? ● How to predict a variable length sequence as output? RNN RNN Diagram A lonely feedforward cell RNN Diagram Grows … with more inputs and outputs RNN Diagram … here comes a brother (x_1, x_2) comprises a length-2 sequence RNN Diagram … with shared (tied) weights x_i: inputs y_i: outputs W: all the -
Turing Machines
Basics Computability Complexity Turing Machines Bruce Merry University of Cape Town 10 May 2012 Bruce Merry Turing Machines Basics Computability Complexity Outline 1 Basics Definition Building programs Turing Completeness 2 Computability Universal Machines Languages The Halting Problem 3 Complexity Non-determinism Complexity classes Satisfiability Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness Outline 1 Basics Definition Building programs Turing Completeness 2 Computability Universal Machines Languages The Halting Problem 3 Complexity Non-determinism Complexity classes Satisfiability Bruce Merry Turing Machines Basics Definition Computability Building programs Complexity Turing Completeness What Are Turing Machines? Invented by Alan Turing Hypothetical machines Formalise “computation” Alan Turing, 1912–1954 Bruce Merry Turing Machines If in state si and tape contains qj , write qk then move left/right and change to state sm A finite set of states, including a start state A tape that is infinite in both directions, containing finitely many non-blank symbols A head which points at one position on the tape A set of transitions Basics Definition Computability Building programs Complexity Turing Completeness What Are Turing Machines? Each Turing machine consists of A finite set of symbols, including a special blank symbol () Bruce Merry Turing Machines If in state si and tape contains qj , write qk then move left/right and change to state sm A tape that is infinite in both directions, containing -
Python C/C++ Java Perl Ruby
Programming Languages Big Ideas for CS 251 • What is a PL? Theory of Programming Languages • Why are new PLs created? Principles of Programming Languages – What are they used for? – Why are there so many? • Why are certain PLs popular? • What goes into the design of a PL? CS251 Programming Languages – What features must/should it contain? Spring 2018, Lyn Turbak – What are the design dimensions? – What are design decisions that must be made? Department of Computer Science Wellesley College • Why should you take this course? What will you learn? Big ideas 2 PL is my passion! General Purpose PLs • First PL project in 1982 as intern at Xerox PARC Java Perl • Created visual PL for 1986 MIT Python masters thesis • 1994 MIT PhD on PL feature Fortran (synchronized lazy aggregates) ML JavaScript • 1996 – 2006: worked on types Racket as member of Church project Haskell • 1988 – 2008: Design Concepts in Programming Languages C/C++ Ruby • 2011 – current: lead TinkerBlocks research team at Wellesley • 2012 – current: member of App Inventor development team CommonLisp Big ideas 3 Big ideas 4 Domain Specific PLs Programming Languages: Mechanical View HTML A computer is a machine. Our aim is to make Excel CSS the machine perform some specifieD acEons. With some machines we might express our intenEons by Depressing keys, pushing OpenGL R buIons, rotaEng knobs, etc. For a computer, Matlab we construct a sequence of instrucEons (this LaTeX is a ``program'') anD present this sequence to IDL the machine. Swift PostScript! – Laurence Atkinson, Pascal Programming Big ideas 5 Big ideas 6 Programming Languages: LinguisEc View Religious Views The use of COBOL cripples the minD; its teaching shoulD, therefore, be A computer language … is a novel formal regarDeD as a criminal offense. -
Unusable for Programming
UNUSABLE FOR PROGRAMMING DANIEL TEMKIN Independent, New York, USA [email protected] 2017.xCoAx.org Lisbon Computation Communication Aesthetics & X Abstract Esolangs are programming languages designed for non-practical purposes, often as experiments, par- odies, or experiential art pieces. A common goal of esolangs is to achieve Turing Completeness: the capability of implementing algorithms of any Keywords complexity. They just go about getting to Turing Esolangs Completeness with an unusual and impractical set Programming languages of commands, or unexpected waysDraft of representing Code art code. However, there is a much smaller class of Oulipo esolangs that are entirely “Unusable for Program- Tangible Computing ming.” These languages explore the very boundary of what a programming language is; producing uns- table programs, or for which no programs can be written at all. This is a look at such languages and how they function (or fail to). Final 1. INTRODUCTION Esolangs (for “esoteric programming languages”) include languages built as thought experiments, jokes, parodies critical of language practices, and arte- facts from imagined alternate computer histories. The esolang Unlambda, for example, is both an esolang masterpiece and typical of the genre. Written by David Madore in 1999, Unlambda gives us a version of functional programming taken to its most extreme: functions can only be applied to other functions, returning more functions, all of them unnamed. It’s a cyberlinguistic puzzle intended as a challenge and an experiment at the extremes of a certain type of language design. The following is a program that calculates the Fibonacci sequence. The code is nearly opaque, with little indication of what it’s doing or how it works. -
Neural Turing Machines Arxiv:1410.5401V2 [Cs.NE]
Neural Turing Machines Alex Graves [email protected] Greg Wayne [email protected] Ivo Danihelka [email protected] Google DeepMind, London, UK Abstract We extend the capabilities of neural networks by coupling them to external memory re- sources, which they can interact with by attentional processes. The combined system is analogous to a Turing Machine or Von Neumann architecture but is differentiable end-to- end, allowing it to be efficiently trained with gradient descent. Preliminary results demon- strate that Neural Turing Machines can infer simple algorithms such as copying, sorting, and associative recall from input and output examples. 1 Introduction Computer programs make use of three fundamental mechanisms: elementary operations (e.g., arithmetic operations), logical flow control (branching), and external memory, which can be written to and read from in the course of computation (Von Neumann, 1945). De- arXiv:1410.5401v2 [cs.NE] 10 Dec 2014 spite its wide-ranging success in modelling complicated data, modern machine learning has largely neglected the use of logical flow control and external memory. Recurrent neural networks (RNNs) stand out from other machine learning methods for their ability to learn and carry out complicated transformations of data over extended periods of time. Moreover, it is known that RNNs are Turing-Complete (Siegelmann and Sontag, 1995), and therefore have the capacity to simulate arbitrary procedures, if properly wired. Yet what is possible in principle is not always what is simple in practice. We therefore enrich the capabilities of standard recurrent networks to simplify the solution of algorithmic tasks. This enrichment is primarily via a large, addressable memory, so, by analogy to Turing’s enrichment of finite-state machines by an infinite memory tape, we 1 dub our device a “Neural Turing Machine” (NTM). -
Memory Augmented Matching Networks for Few-Shot Learnings
International Journal of Machine Learning and Computing, Vol. 9, No. 6, December 2019 Memory Augmented Matching Networks for Few-Shot Learnings Kien Tran, Hiroshi Sato, and Masao Kubo broken down when they have to learn a new concept on the Abstract—Despite many successful efforts have been made in fly or to deal with the problems which information/data is one-shot/few-shot learning tasks recently, learning from few insufficient (few or even a single example). These situations data remains one of the toughest areas in machine learning. are very common in the computer vision field, such as Regarding traditional machine learning methods, the more data gathered, the more accurate the intelligent system could detecting a new object with only a few available captured perform. Hence for this kind of tasks, there must be different images. For those purposes, specialists define the approaches to guarantee systems could learn even with only one one-shot/few-shot learning algorithms that could solve a task sample per class but provide the most accurate results. Existing with only one or few known samples (e.g., less than 20 solutions are ranged from Bayesian approaches to examples per category). meta-learning approaches. With the advances in Deep learning One-shot learning/few-shot learning is a challenging field, meta-learning methods with deep networks could be domain for neural networks since gradient-based learning is better such as recurrent networks with enhanced external memory (Neural Turing Machines - NTM), metric learning often too slow to quickly cope with never-before-seen classes, with Matching Network framework, etc. -
Training Robot Policies Using External Memory Based Networks Via Imitation
Training Robot Policies using External Memory Based Networks Via Imitation Learning by Nambi Srivatsav A Thesis Presented in Partial Fulfillment of the Requirements for the Degree Master of Science Approved September 2018 by the Graduate Supervisory Committee: Heni Ben Amor, Chair Siddharth Srivastava HangHang Tong ARIZONA STATE UNIVERSITY December 2018 ABSTRACT Recent advancements in external memory based neural networks have shown promise in solving tasks that require precise storage and retrieval of past information. Re- searchers have applied these models to a wide range of tasks that have algorithmic properties but have not applied these models to real-world robotic tasks. In this thesis, we present memory-augmented neural networks that synthesize robot naviga- tion policies which a) encode long-term temporal dependencies b) make decisions in partially observed environments and c) quantify the uncertainty inherent in the task. We extract information about the temporal structure of a task via imitation learning from human demonstration and evaluate the performance of the models on control policies for a robot navigation task. Experiments are performed in partially observed environments in both simulation and the real world. i TABLE OF CONTENTS Page LIST OF FIGURES . iii CHAPTER 1 INTRODUCTION . 1 2 BACKGROUND .................................................... 4 2.1 Neural Networks . 4 2.2 LSTMs . 4 2.3 Neural Turing Machines . 5 2.3.1 Controller . 6 2.3.2 Memory . 6 3 METHODOLOGY . 7 3.1 Neural Turing Machine for Imitation Learning . 7 3.1.1 Reading . 8 3.1.2 Writing . 9 3.1.3 Addressing Memory . 10 3.2 Uncertainty Estimation . 12 4 EXPERIMENTAL RESULTS . -
Learning Operations on a Stack with Neural Turing Machines
Learning Operations on a Stack with Neural Turing Machines Anonymous Author(s) Affiliation Address email Abstract 1 Multiple extensions of Recurrent Neural Networks (RNNs) have been proposed 2 recently to address the difficulty of storing information over long time periods. In 3 this paper, we experiment with the capacity of Neural Turing Machines (NTMs) to 4 deal with these long-term dependencies on well-balanced strings of parentheses. 5 We show that not only does the NTM emulate a stack with its heads and learn an 6 algorithm to recognize such words, but it is also capable of strongly generalizing 7 to much longer sequences. 8 1 Introduction 9 Although neural networks shine at finding meaningful representations of the data, they are still limited 10 in their capacity to plan ahead, reason and store information over long time periods. Keeping track of 11 nested parentheses in a language model, for example, is a particularly challenging problem for RNNs 12 [9]. It requires the network to somehow memorize the number of unmatched open parentheses. In 13 this paper, we analyze the ability of Neural Turing Machines (NTMs) to recognize well-balanced 14 strings of parentheses. We show that even though the NTM architecture does not explicitely operate 15 on a stack, it is able to emulate this data structure with its heads. Such a behaviour was unobserved 16 on other simple algorithmic tasks [4]. 17 After a brief recall of the Neural Turing Machine architecture in Section 3, we show in Section 4 how 18 the NTM is able to learn an algorithm to recognize strings of well-balanced parentheses, called Dyck 19 words. -
Neural Shuffle-Exchange Networks
Neural Shuffle-Exchange Networks − Sequence Processing in O(n log n) Time Karlis¯ Freivalds, Em¯ıls Ozolin, š, Agris Šostaks Institute of Mathematics and Computer Science University of Latvia Raina bulvaris 29, Riga, LV-1459, Latvia {Karlis.Freivalds, Emils.Ozolins, Agris.Sostaks}@lumii.lv Abstract A key requirement in sequence to sequence processing is the modeling of long range dependencies. To this end, a vast majority of the state-of-the-art models use attention mechanism which is of O(n2) complexity that leads to slow execution for long sequences. We introduce a new Shuffle-Exchange neural network model for sequence to sequence tasks which have O(log n) depth and O(n log n) total complexity. We show that this model is powerful enough to infer efficient algorithms for common algorithmic benchmarks including sorting, addition and multiplication. We evaluate our architecture on the challenging LAMBADA question answering dataset and compare it with the state-of-the-art models which use attention. Our model achieves competitive accuracy and scales to sequences with more than a hundred thousand of elements. We are confident that the proposed model has the potential for building more efficient architectures for processing large interrelated data in language modeling, music generation and other application domains. 1 Introduction A key requirement in sequence to sequence processing is the modeling of long range dependencies. Such dependencies occur in natural language when the meaning of some word depends on other words in the same or some previous sentence. There are important cases, e.g., to resolve coreferences, when such distant information may not be disregarded. -
Advances in Neural Turing Machines
Advances in Neural Turing Machines [email protected] truyentran.github.io Truyen Tran Deakin University @truyenoz letdataspeak.blogspot.com Source: rdn consulting CafeDSL, Aug 2018 goo.gl/3jJ1O0 30/08/2018 1 https://twitter.com/nvidia/status/1010545517405835264 30/08/2018 2 (Real) Turing machine It is possible to invent a single machine which can be used to compute any computable sequence. If this machine U is supplied with the tape on the beginning of which is written the string of quintuples separated by semicolons of some computing machine M, then U will compute the same sequence as M. Wikipedia 30/08/2018 3 Can we learn from data a model that is as powerful as a Turing machine? 30/08/2018 4 Agenda Brief review of deep learning Neural Turing machine (NTM) Dual-controlling for read and write (PAKDD’18) Dual-view in sequences (KDD’18) Bringing variability in output sequences (NIPS’18 ?) Bringing relational structures into memory (IJCAI’17 WS+) 30/08/2018 5 Deep learning in a nutshell 1986 2016 http://blog.refu.co/wp-content/uploads/2009/05/mlp.png 30/08/2018 2012 6 Let’s review current offerings Feedforward nets (FFN) BUTS … Recurrent nets (RNN) Convolutional nets (CNN) No storage of intermediate results. Message-passing graph nets (MPGNN) Little choices over what to compute and what to use Universal transformer ….. Little support for complex chained reasoning Work surprisingly well on LOTS of important Little support for rapid switching of tasks problems Enter the age of differentiable programming 30/08/2018 7 Searching for better -
ELEC 576: Understanding and Visualizing Convnets & Introduction
ELEC 576: Understanding and Visualizing Convnets & Introduction to Recurrent Neural Networks Ankit B. Patel Baylor College of Medicine (Neuroscience Dept.) Rice University (ECE Dept.) 10-11-2017 Understand & Visualizing Convnets Deconvolutional Net [Zeiler and Fergus] Feature Visualization [Zeiler and Fergus] Activity Maximization [Simonyan et al.] Deep Dream Visualization • To produce human viewable images, need to • Activity maximization (gradient ascent) • L2 regularization • Gaussian blur • Clipping • Different scales Image Example [Günther Noack] Dumbbell Deep Dream AlexNet VGGNet GoogleNet Deep Dream Video Class: goldfish, Carassius auratus Texture Synthesis [Leon Gatys, Alexander Ecker, Matthias Bethge] Generated Textures [Leon Gatys, Alexander Ecker, Matthias Bethge] Deep Style [Leon Gatys, Alexander Ecker, Matthias Bethge] Deep Style [Leon Gatys, Alexander Ecker, Matthias Bethge] Introduction to Recurrent Neural Networks What Are Recurrent Neural Networks? • Recurrent Neural Networks (RNNs) are networks that have feedback • Output is feed back to the input • Sequence processing • Ideal for time-series data or sequential data History of RNNs Important RNN Architectures • Hopfield Network • Jordan and Elman Networks • Echo State Networks • Long Short Term Memory (LSTM) • Bi-Directional RNN • Gated Recurrent Unit (GRU) • Neural Turing Machine Hopfield Network [Wikipedia] Elman Networks [John McCullock] Echo State Networks [Herbert Jaeger] Definition of RNNs RNN Diagram [Richard Socher] RNN Formulation [Richard Socher] RNN Example [Andrej