Posts mit dem Label computer science werden angezeigt. Alle Posts anzeigen
Posts mit dem Label computer science werden angezeigt. Alle Posts anzeigen

Mittwoch, 8. Februar 2017

Abstract Neural Machines at ICLR 2017


With my recent excitement for abstract neural machines (see e.g. the related NAMPI workshop), I skimmed the long list of submission of the ICRL conference for interesting papers.
(I might have missed one or the other people [please let me know], but this is what I found.)

I will post a follow-up post as I worked my way through all the papers.

Accepted Papers


Making Neural Programming Architectures Generalize via Recursion
Abstract: Empirically, neural networks that attempt to learn programs from data have exhibited poor generalizability. Moreover, it has traditionally been difficult to reason about the behavior of these models beyond a certain level of input complexity. In order to address these issues, we propose augmenting neural architectures with a key abstraction: recursion. As an application, we implement recursion in the Neural Programmer-Interpreter framework on four tasks: grade-school addition, bubble sort, topological sort, and quicksort. We demonstrate superior generalizability and interpretability with small amounts of training data. Recursion divides the problem into smaller pieces and drastically reduces the domain of each neural network component, making it tractable to prove guarantees about the overall system’s behavior. Our experience suggests that in order for neural architectures to robustly learn program semantics, it is necessary to incorporate a concept like recursion.
Lie-Access Neural Turing Machines
Abstract:  Recent work has demonstrated the effectiveness of employing explicit external memory structures in conjunction with deep neural models for algorithmic learning (Graves et al. 2014; Weston et al. 2014). These models utilize differentiable versions of traditional discrete memory-access structures (random access, stacks, tapes) to provide the variable-length storage necessary for computational tasks. In this work, we propose an alternative model, Lie-access memory, that is explicitly designed for the neural setting. In this paradigm, memory is accessed using a continuous head in a key-space manifold. The head is moved via Lie group actions, such as shifts or rotations, generated by a controller, and soft memory access is performed by considering the distance to keys associated with each memory. We argue that Lie groups provide a natural generalization of discrete memory structures, such as Turing machines, as they provide inverse and identity operators while maintain differentiability. To experiment with this approach, we implement several simplified Lie-access neural Turing machine (LANTM) with different Lie groups. We find that this approach is able to perform well on several algorithmic experiments, and outperforms RNN-based methods.
Program Synthesis for Character Level Language Modeling
Abstract: We propose a statistical model applicable to character level language modeling and show that it is a good fit for both, program source code and English text. The model is parameterized by a program from a domain-specific language (DSL) that allows expressing non-trivial data dependencies. Learning is done in two phases: (i) we synthesize a program from the DSL, essentially learning a good representation for the data, and (ii) we learn parameters from the training data - the process is done via counting, as in simple language models such as n-gram. Our experiments show that the precision of our model is comparable to that of neural networks while sharing a number of advantages with n-gram models such as fast query time and the capability to quickly add and remove training data samples. Further, the model is parameterized by a program that can be manually inspected, understood and updated, addressing a major problem of neural networks.

From a software-engineering point of view, I feel that this approach is very promising, as it offers somewhat interpretable output in form of a domain-specific language:

Neuro-Symbolic Program Synthesis
Abstract: Recent years have seen the proposal of a number of neural architectures for the problem of Program Induction. Given a set of input-output examples, these architectures are able to learn mappings that generalize to new test inputs. While achieving impressive results, these approaches have a number of important limitations: (a) they are computationally expensive and hard to train, (b) a model has to be trained for each task (program) separately, and (c) it is hard to interpret or verify the correctness of the learnt mapping (as it is defined by a neural network). In this paper, we propose a novel technique, Neuro-Symbolic Program Synthesis, to overcome the above-mentioned problems. Once trained, our approach can automatically construct computer programs in a domain-specific language that are consistent with a set of input-output examples provided at test time. Our method is based on two novel neural modules. The first module, called the cross correlation I/O network, given a set of input-output examples, produces a continuous representation of the set of I/O examples. The second module, the Recursive-Reverse-Recursive Neural Network (R3NN), given the continuous representation of the examples, synthesizes a program by incrementally expanding partial programs. We demonstrate the effectiveness of our approach by applying it to the rich and complex domain of regular expression based string transformations. Experiments show that the R3NN model is not only able to construct programs from new input-output examples, but it is also able to construct new programs for tasks that it had never observed before during training.

Neural Program Lattices
Abstract: We propose the Neural Program Lattice (NPL), a neural network that learns a hierarchical program structure from a mixture of strong supervision and weak supervision. Our starting point is the recent work of Neural Programmer-Interpreters (NPI), which can only learn from strong supervision (full program execution traces). NPLs can additionally learn from weak supervision consisting of flat sequences of elementary operations. We demonstrate the capability of NPL to learn to perform long-hand addition and arrange blocks in a grid-world environment. Experiments show that it performs on par with NPI while using weak supervision in place of most of the strong supervision, thus indicating its ability to impute latent program abstraction structure from examples containing only weak supervision.

Rejected Papers

Getting rejected from a conference is by no means a sign that the paper doesn't have good ideas; it might just not fit the reviewers' taste, or the advances it proposes might be more on a level of engineering than conceptually. The NIPS experience also revealed a large amount of randomness in the decision-making progress.
Thanks to the open review process, everyone can see what was criticized and led to the rejection.

Abstract: In this paper, we extend neural Turing machine (NTM) into a dynamic neural Turing machine (D-NTM) by introducing a trainable memory addressing scheme. This addressing scheme maintains for each memory cell two separate vectors, content and address vectors. This allows the D-NTM to learn a wide variety of location-based addressing strategies including both linear and nonlinear ones. We implement the D-NTM with both continuous, differentiable and discrete, non-differentiable read/write mechanisms. We investigate the mechanisms and effects for learning to read and write to a memory through experiments on Facebook bAbI tasks using both a feedforward and GRU-controller. The D-NTM is evaluated on a set of Facebook bAbI tasks and shown to outperform NTM and LSTM baselines. We also provide further experimental results on sequential MNIST, associative recall and copy tasks.

Abstract: Memory networks are neural networks with an explicit memory component that can be both read and written to by the network. The memory is often addressed in a soft way using a softmax function, making end-to-end training with backpropagation possible. However, this is not computationally scalable for applications which require the network to read from extremely large memories. On the other hand, it is well known that hard attention mechanisms based on reinforcement learning are challenging to train successfully. In this paper, we explore a form of hierarchical memory network, which can be considered as a hybrid between hard and soft attention memory networks. The memory is organized in a hierarchical structure such that reading from it is done with less computation than soft attention over a flat memory, while also being easier to train than hard attention over a flat memory. Specifically, we propose to incorporate Maximum Inner Product Search (MIPS) in the training and inference procedures for our hierarchical memory network. We explore the use of various state-of-the art approximate MIPS techniques and report results on SimpleQuestions, a challenging large scale factoid question answering task.

Not about Neural Abstract Machines, but related Papers

This is not a typical neural abstract machine, but it follows the idea of using differentiable elements to make things trainable that otherwise wouldn't be:

Neural Functional Programming
Abstract: We discuss a range of modeling choices that arise when constructing an end-to-end differentiable programming language suitable for learning programs from input-output examples. Taking cues from programming languages research, we study the effect of memory allocation schemes, immutable data, type systems, and built-in control-flow structures on the success rate of learning algorithms. We build a range of models leading up to a simple differentiable functional programming language. Our empirical evaluation shows that this language allows to learn far more programs than existing baselines.

This is slightly different, but since I had quite some exposure to graph transformation and related formalisms in my undergrad, I find this fascinating, too:
Learning Graphical State Transitions
Abstract: Graph-structured data is important in modeling relationships between multiple entities, and can be used to represent states of the world as well as many data structures. Li et al. (2016) describe a model known as a Gated Graph Sequence Neural Network (GGS-NN) that produces sequences from graph-structured input. In this work I introduce the Gated Graph Transformer Neural Network (GGT-NN), an extension of GGS-NNs that uses graph-structured data as an intermediate representation. The model can learn to construct and modify graphs in sophisticated ways based on textual input, and also to use the graphs to produce a variety of outputs. For example, the model successfully learns to solve almost all of the bAbI tasks (Weston et al., 2016), and also discovers the rules governing graphical formulations of a simple cellular automaton and a family of Turing machines.

Sonntag, 15. April 2012

A bit of Computation, Math and Psychology

Freitag, 27. Januar 2012

Market Makers & Prediction Markets

A while ago I posted on the idea of futarchy and followed up with a post on implementation and issues of virtual stock markets.

I only posted links on auction markets, i.e. where one party makes an offer, another one a request and the system finds a match. That only works good for systems with high liquidity. Especially on prediction markets with combinatorical outcomes (e.g. of the form "if person A becomes the candidate for party 1, then party 2 will win the election" or even more complex constructions) this is difficult: you need to find people making similar opposite bets to match. A way around of this is to use a market maker instead of an auctioneer. It takes the trades directly instead of leading a negotiation between to parties. The price is set automatically by the system. This, of course, also has drawbacks. In a real life system, the market maker provides liquidity and thus is at risk losing some money. Moreover, the pricing of the goods depends on parameters of the market maker. Wrong values for thick or thin (i.e. markets with many/few participants) might make the price either bounce up and down or move only tiny bits.

Montag, 12. Dezember 2011

Resources on Prediction Markets

Prediction Markets might be useful in modern politics - gathering crowd information (expected outcomes) and filtering experts from the crowd (i.e. successful traders in the market).

Just a bunch of links to read on the matter:

Montag, 19. Juli 2010

Complexity Theory related surveys

Some complexity related survey-ish papers:
A CACM article from September 2009 titled "The status of the P versus NP problem" available here.

Mentioned in the above survey, two more interesting papers:
  • an article by Scott Aaronson on the independence of the P vs. NP question
  • a paper by Impagliazzo giving a personal view on the average case complexity
I did not have enough time to read more of the cited works in the CACM article, but I'll add more as I have time to read it.

Dienstag, 2. März 2010

Random Numbers and Certified Randomness

A rather recent edition of the ACM TechNews contained a short report/link on a German team which developed a hardware random number generator [1], that

uses an extra layer of randomness by making a computer memory element, a flip-flop, twitch randomly between its two states 1 or 0. Immediately prior to the switch, the flip-flop is in a "metastable state" where its behaviour cannot be predicted. At the end of the metastable state, the contents of the memory are purely random.


Whereas this device gives me more security, it does not solve the problem of someone sending me supposedly "random numbers" which he might have prepared in advance to even pass statistical tests. A neat solution is provided by quantum mechanics which allows to check randomness of numbers via the violation of the Bell inequality [2] using entangled states.


[1] "A meta-level true random number generator" in Int. J. Critical Computer-Based Systems, 2010, 1, 267-279

[2] Random Numbers Certified by Bell's Theorem

Enthusiasm for Science

I just wanted to point out to a project called 'the symphony of science', available at

http://symphonyofscience.com/videos.html


It consists of a series of music videos, aiming to

"bring scientific knowledge and philosophy to the public, in a novel way, through the medium of music. Science and music are two passions of mine that I aim to combine in a way that is intended to bring a meaningful message to listeners, while simultaneously providing an enjoyable musical experience."
I embed only one of those here:




I really like what the project is aiming for. In my opinion, there is a severe lack of easy accessible material for the general public regarding all fields of science. Publishing in journals and proceedings is good, but doesn't help the non-scientific population at all. Unfortunatelly, writing popular science books isnt' valued in the scientific community at all.

Freitag, 8. Januar 2010

Some pointers to articles

Some pointers to articles, already old:

The Ouwi writing system (http://ouwi.org/writing.html):

This describes, besides an artistic invented language, a non-linear, two-dimensional writing system. It has ten letters made up of four different atomar symbols. The only relevace for identifying a letter is the order of the atomar symbols they're made of, meaning letters can be flipped, rotated or bent at the joints. Letter cannot only be connected horizontally or vertically like in Roman, Arabic and Chinese systems, but also be intersected or be the source of radiation of letters in different directions. It reminded me of the Ilkash writing system which also uses a non-linear 2d system to add more information into symbols and the flow of text (in Ithkuil, the probably non-speakable 'predecessor' of Ilkash, even characters can morph). In contrast to the last two mentioned systems, the Ouwi system is ment to be easily learnt and remembered.


Google's go programming language (http://scienceblogs.com/goodmath/2009/11/googles_new_language_go.php) and concurrency in go (http://scienceblogs.com/goodmath/2009/11/the_go_i_forgot_concurrency_an.php)
for a quick overview, in case you don't already have an overview.

Donnerstag, 2. April 2009

Illusions

An interesting blog article named "Hallucinatory neurophysics
" can be found here: http://preposterousuniverse.blogspot.com/2005/02/hallucinatory-neurophysics.html. Unfortuntally I wasn't able to find the paper by now. (There are, by the way, some nice videos about hallucinatory drugs on youtube, and some good articles in Spektrum). And Jack Cowans appointment to math and neurology also sounds pretty interesting. Computational neuroscience seems to be a field of its own.
I came there via a blog about "imagining more than 3 dimensions" at http://blogs.discovermagazine.com/cosmicvariance/2009/03/30/why-cant-we-visualize-more-than-three-dimensions/.

That previous blog post reminded me of the "Imagining the tenth dimenson" video ( http://www.youtube.com/watch?v=XjsgoXvnStY ) which I first watched years ago. This version contains some annotations taken from the book (for which the video is supposed to be pomotional material I guess). I found them not too easy to follow and I doubt the correctness of some claims. But to discuss this I'd need the book, but one at the first glace strange thing is his integration of Everett's many-world interpretation of quantum physics.

edit: I found a paper which seems to have a similar focus: "Geometric Visual Hallucinations, Euclidean Symmetry, and the Functional Architecture of Striate Cortex" at http://www.math.utah.edu/~bresslof/publications/01-1.pdf

Sonntag, 3. August 2008

C++ Templates are Turing complete

See for a paper. It's a few years old:

http://ubiety.uwaterloo.ca/~tveldhui/papers/2003/turing.pdf