Neocognitron: A neural network model for a mechanism of visual - , Sei Miyake, Takayuki Ito

Vijay Veerabadran1

1Department of Cognitive Science University of California, San Diego

CSE 254 Paper Presentation, Fall 2018

1 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

2 / 40 Overview of the visual cortex

An intricate component of the animal brain, the visual cortex is at the rear part of the cerebral cortex. The visual cortex processes visual information in a hierarchical manner, and is broadly divided into the early, middle and higher visual areas.

3 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

4 / 40 Hubel and Wiesel experiment - Cat visual cortex

A neurophysiological experiment that was published in 1959, which was aimed at understanding the functional architecture of the visual cortex. A cell in the V1 area of a cat’s visual cortex was studied using a then-new single cell electrophysiology technique. A video of the experiment with sounds of the neuronal firing on YouTube: https://www.youtube.com/watch?v=8VdFf3egwfg

5 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

6 / 40 Conclusions - Simple and complex cells

7 / 40 Prior knowledge of synapses - Inhibitory, Excitatory

Figure: A Synapse in the nervous system

Figure: Excitatory synapse vs Inhibitory synapse

8 / 40 Conclusions - Simple and complex cell properties

Uncovering some of the then-unknown facts about the architecture of the visual cortex. A concrete functional architecture of the simple cells and complex cells in the early visual cortex. Shown below is an example figure from Hubel and Wiesel 1962, showing a few receptive fields of simple cells.

9 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

10 / 40 Motivation - Positional invariance

One of the key drawbacks of the then proposed visual recognition models - they were unable to learn invariance to position. As a result, these models served suboptimal during cases of deformations in the test images presented. Solution: A layered neural network model called ’The neocognitron’ that grows a tolerance to deformations systematically at each of its layers.

11 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

12 / 40 High-level description of the Neocognitron

”The neocognitron is a multilayered network consisting of a cascaded connection of many layers of cells. The information of the stimulus pattern given to the input layer is processed step by step in each stage of the multilayered network. The synapses between the cells in the network are modifiable, and the neocognitron has a function of learning.”

13 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

14 / 40 Architecture - Constituent layers

Two main types of alternating layers in the neocognitron, called the Simple cell layer (or simple cell module) and the Complex cell layer. Simple cell layer: These are the main feature extraction layers in the neocognitron. Analogous to convolutional layers in modern CNNs. Complex cell layer: Aggregates information from neighboring with like tuning from the previous simple cell layer. Builds positional invariance by functioning like an OR gate (activated when at least one of its presynapses are activated).

15 / 40 Architecture - Multi-layered structure

16 / 40 Architecture - Some relevant jargon

Simple cell layer I=1 Complex cell layer l=1 Photoreceptor Simple cell array plane k=1, l=2 Complex cell plane k=1, l=3

Receptive field

17 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

18 / 40 Feedforward pass - Simple cell output

The output (or activation) for a simple cell at position n in the kth cell plane in the lth simple cell module is given by the following equation:

Notations: n → (x,y) position in the immediate input layer κ → Index of cell planes in the previous module (complex cell) Al → Receptive field size al and bl → Excitatory and inhibitory modifiable synapse efficiency cl−1(v) → Unmodifiable synapses efficiency rl → Fixed parameter controlling inhibition (One value per layer) Non-linearity: ( x if x >= 0 φ(x) = (1) 0 if x < 0

19 / 40 Feedforward pass - Simple cell output diagram

Pictorial representation of the output of a simple cell

uCl-1(K,n+(4,4))

al(K,(4,4),K’) uSl(K’,n) UCl-1 (Kth plane)

cl-1(4) bl(K’)

vCl-1(n) USl (K’th plane)

th VCl-1 (K plane) (Local RMS of Ucl-1)

20 / 40 Figure: Pictorial version of Simple Cell output Feedforward pass - Simple cell output contd.

21 / 40 Feedforward pass - Complex cell output

The output of a complex cell at position n in the kth cell plane in the lth complex cell module is given by the following equation:

Notations: n → (x,y) position in the immediate input layer κ → Index of cell planes in the previous module (simple cell) th jl (κ, k) → Binary indicator of connection from the κ simple cell plane in the previous layer to the kth complex cell plane under computation. dl → Efficiency of the excitatory synapse from the previous simple cell module Nonlinearity: ( x if x >= 0 ψ(x) = αl +x (2) 0 if x < 0

22 / 40 Feedforward pass - Complex cell output diagram

Pictorial representation for the output of a complex cell

usl(K,n+(4,4)) dl((4,4),K’) uCl(K’,n)

th USl (K plane) UCl (K’th plane)

jl(K,K’)

23 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

24 / 40 Learning algorithm - Reinforcement of synapses

The neocognitron is trained in a supervised manner in a sequence from the distal to the deeper layers for each cell plane - meaning? The training begins with the update of cell planes in the first simple cell layer (US1). All synapses are initialized with a value of 0. For each cell plane(kˆ), layer(l): The ”teacher” presents a training pattern to the input layer and simultaneously picks a ”representative” S cell in that cell plane, say usl (ˆa, nˆ). The modifiable excitatory synapse is updated using the following amount of reinforcement: ∆al (κ, ν, kˆ) = ql .cl−1(ν).uCl−1(κ, nˆ + ν) The modifiable inhibitory synapse is updated using the following amount of reinforcement: ∆bl (kˆ) = ql .vCl−1(ˆn) All the remaining cells in this cell-plane are trained using the same update rules.

25 / 40 Learning algorithm - Simple cell update

In this part, we shall understand the intuition behind the used for Neocognitron. Without loss of generality, consider the training of a simple cell (u) in the first simple cell layer (US1). u receives its input (p(ν)) from its input layer (U0). a(ν) and b represent the modifiable excitatory and inhibitory synapses. c(ν) represents the unmodifiable excitatory synapse from the input to the local RMS map (V ).

26 / 40 Learning algorithm - Intuition

In this part, we shall see the intuition behind the neocognitron’s learning rule. As we assumed, p(ν) is the response of the cells in the receptive field of u. With this notation, the output of u can be written as,  P  1+ ν a(ν).p(ν) u = r.φ r − 1 –>(1) 1+ 1+r .b.v pP 2 v = ν c(ν).p (ν)–>(2) P ν a(ν).p(ν) Let s = b.v –>(3) Provided a(ν) and b(ν) are large, u is reduced to r+1 u = r.φ( r .s − 1) –>(4)

27 / 40 Learning algorithm - Simple cell update

Initially, all modifiable synapses are set to 0. From the learning rules, the amounts of reinforcement for a and b are given by: ∆a(ν) = q.c(ν).p(ν) ∆b = q.v Consider presenting an training pattern P, with U0 response P(ν) in the receptive field of u. According to P(ν), the synapses are set as follows: a(ν) = 0 + ∆a(ν) = q.c(ν).P(ν)–>(5) b = 0 + ∆b = q.v pP 2 = q. ν c(ν).P (ν)–>(6)

28 / 40 Learning algorithm - Simple cell update

Plugging (5) and (6) in (3), P q.c(ν).P(ν).p(ν) √ν s = P 2 q. ν c(ν).P (ν).v

We know from (2) that pP 2 v = ν c(ν).p (ν) Hence, P c(ν).P(ν).p(ν) √ ν √ s = P 2 P 2 ν c(ν).P (ν). ν c(ν).p (ν) Therefore, s is a weighted dot product of P(ν) and p(ν). r+1 We know that u = r.φ( r .s − 1) r Hence, u fires if s > r+1 for any arbitrary input pattern.

29 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

30 / 40 Response of simple and complex cells - Example

Figure: Example cell responses

31 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

32 / 40 Neocognitron for number recognition - Success case

Figure: Training pattern Figure: Distorted test pattern

33 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

34 / 40 Neocognitron for number recognition - Failure case

Figure: Test cases where Neocognitron makes mistakes

35 / 40 Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

36 / 40 Computational models of visual pattern recognition

Shown below is a comparison of three groundbreaking models of hierarchical visual pattern recognition.

Hubel and Wiesel model (1962)

Neocognitron, Fukushima (1980, 1988, 2003)

LeNet, Yann Lecun (1998)

37 / 40 Figure: Comparing models of visual processing Outline

1 Overview of the visual cortex 2 Hubel and Wiesel architecture of the visual cortex Hubel and Wiesel experiment - Cat visual cortex Conclusions from the experiment 3 The Neocognitron - Inspired by H & W Motivation High-level description of the Neocognitron Architecture of the neocognitron Feedforward pass Learning algorithm Response of simple and complex cells 4 Neocognitron for number recognition Neocognitron for number recognition - Success case Neocognitron for number recognition - Failure case 5 Computational models of visual pattern recognition 6 Acknowledgements

38 / 40 Acknowledgements

David Hubel

Kunihiko Yann Lecun Fukushima

39 / 40 Thank you

There has been a myth that the brain cannot understand itself. It is compared to a man trying to lift himself by his own bootstraps. We feel that is nonsense. The brain can be studied just as the kidney can. – Dr. David Hubel

Thank you for being a great audience! Questions?

Vijay Veerabadran, Office: SSRB 244, Email: [email protected], Dept. of Cognitive Science, UC San Diego, La Jolla

40 / 40