Deep learning - deeper flaws?

In this post I summarise four lines of argument for why we should be skeptical about the potential of deep learning in its current form. I am fairly confident that the next breakthroughs in AI will come from some variety of neural network, but I think several of the objections below are quite a long way from being overcome.

Theoretical Impediments to Machine Learning With Seven Sparks from the Causal Revolution - Pearl, 2018

Pearl describes three levels at which you can make inferences: association, intervention, and counterfactual. The first is statistical, identifying correlations - this is the level at which deep learning operates. The intervention level is about changes to the present or future - it answers questions like "What will happen if I do y?" The counterfactual level answers questions like "What would have happened if y had occurred?" Each successive level is strictly more powerful than the previous one: you can't figure out what the effects of an action will be just on the association level, without a causal model, since we treat actions as interventions which override existing causes. Unfortunately, current machine learning systems are largely model-free.

Causal assumptions and conclusions can be encoded in the form of graphical models, where a directed arrow between two nodes represents a causal influence. Constraints on the structure of a graph can be determined by seeing which pairs of variables are independent when controlling for which other variables: sometimes controlling removes dependencies, but sometimes it introduces them. Pearl's main claim is that this sort of model-driven causal analysis is an essential step towards building human-level reasoning capabilities. He identifies several important concepts - such as counterfactuals, confounding, causation, and incomplete or biased data - which his framework is able to reason about, but which current approaches to ML cannot deal with.

Deep Learning: A Critical Appraisal - Marcus, 2018

Marcus identifies ten limitations of current deep learning systems, and argues that the whole field may be about to hit a wall. According to him, deep learning:
  1. Is data hungry - it can't learn abstractions through explicit verbal definition like humans can, but instead requires thousands of examples.
  2. Is shallow, with limited capacity for transfer. If a task is perturbed even in minor ways, deep learning breaks, demonstrating that it's not really learning the underlying concepts. Adversarial examples showcase this effect.
  3. Has no natural way to deal with hierarchical structure. Even recursive neural networks require fixed sentence trees to be precomputed. See my summary of 'Generalisation without systematicity' below.
  4. Struggles with open-ended inference, especially based on real-world knowledge.
  5. Isn't transparent, and remains essentially a "black box".
  6. Is not well-integrated with prior knowledge. We can't encode our understanding of physics into a neural network, for example.
  7. Cannot distinguish causation from correlation - see my summary of Pearl's paper above.
  8. Presumes a largely stable world, like a game, instead of one like our own in which there are large-scale changes.
  9. Is vulnerable to adversarial examples, which can be constructed quite easily.
  10. Isn't robust as a long-term engineering solution, especially on novel data.
Some of these problems seem like they can be overcome without novel insights, given enough engineering effort and compute, but others are more fundamental. One interpretation: deep learning can interpolate within the training space, but can't extrapolate to outside the training space, even in ways which seem natural to humans. One of Marcus' examples: when a neural network is trained to learn the identity function on even numbers, it rounds down on odd numbers. In this trivial case we can solve the problem by adding odd training examples or manually adjusting some weights, but in general, when there are many features, both may be prohibitively difficult even if we want to make a simple adjustment. To address this and other problems, Marcus offers three alternatives to deep learning as currently practiced:
  1. Unsupervised learning, so that systems can constantly improve - for example by predicting the next time-step and updating afterwards, or else by setting itself challenges and learning from doing them.
  2. Further development of symbolic AI. While this has in the past proved brittle, the idea of integrating symbolic representations into neural networks has great promise.
  3. Drawing inspiration from humans, in particular from cognitive and developmental psychology, how we develop commonsense knowledge, and our understanding of narrative.
Generalisation without systematicity - Lake and Baroni, 2018

Lake and Baroni identify that human language and thought feature "systematic compositionality": we are able to combine known components in novel ways to produce arbitrarily many new ideas. To test neural networks on this, they introduce SCAN, a language consisting of commands such as "jump around left twice and walk opposite right thrice". While they found that RNNs were able to generalise well on new strings similar in form to previous strings, performance dropped sharply in other cases. For example, the best result dropped from 99.9% to 20.8% when the test examples were longer than any training example, even though they were constructed using the same compositional rules. Also, when a command such as "jump" had only been seen by itself in training, RNNs were almost entirely incapable of understanding instructions such as "turn right and jump". The overall conclusion: that neural networks can't extract systematic rules from training data, and so can't generalise compositionality anything like how humans can. This is similar to the result of a project I recently carried out, in which I found that capsule networks which had been trained to recognise transformed inputs such as rotated digits and digits with negative colours still couldn't recognise rotated, negated digits: they were simply not learning general rules which could be composed together.

Deep reinforcement learning doesn't work yet - Irpan, 2018

Irpan runs through a number of reasons to be skeptical about using deep learning for RL problems. For one thing, deep RL is still very data-inefficient: DeepMind's Rainbow DQN takes around 83 hours of gameplay to reach human-level performance on an Atari game. By contrast, humans can pick them up within a minute or two. He also points out that other RL methods often work better than deep RL, particularly model-based ones which can utilise domain-specific knowledge.

Another issue with RL in general is that designing reward functions is difficult. This is a theme in AI safety - specifically when it comes to reward functions which encapsulate human values - but there are plenty of existing examples of reward hacking on much simpler tasks. One important consideration is the tradeoff is between shaped and sparse rewards. Sparse rewards only occur at the goal state, and so can be fairly precise, but are usually too difficult to reach directly. Shaped rewards give positive feedback more frequently, but are easier to hack. And even when shaped rewards are designed carefully, RL agents often find themselves in local optima. This is particularly prevalent in multi-agent systems, where each agent can overfit to the behaviour of the other.

Lastly, RL is unstable in a way that supervised learning isn't. Even successful implementations often fail to find a decent solution 20 or 30% of the time, depending on the random seed with which they are initialised. In fact, there are very few real-world success stories featuring RL. Yet achieving superhuman performance on a wide range of tasks is a matter of when, not if, and so I think Amara's law applies: we overestimate the effects RL will have in the short run, but underestimate its effects in the long run.

Comments

Popular posts from this blog

In Search of All Souls

Book review: Very Important People

Moral strategies at different capability levels