Computation: a sequence of well-defined state changes (could be deterministic or probabilistic)
Goal: can we understand and simulate a brain as a computational device?
Class Exercise: Computer vs. Brain. What “amazing” things can each do?
|– Process Quickly
– Connect to each other
– Consistent (repetition)
– Mathematically well-defined
– Can make decisions
– Learn/Adapt with little training
– Low-power/Subconscious processing
– Motor control (movement)
– Internal thoughts
– Plan ahead
– Modifies itself
– Understands 3D world
– Extreme emotions
However, just looking at “simple” memory and processing speed:
|1015 bytes of RAM||1011 neurons
|109 flops||< 103 flops|
In terms of “simple” memory and processing speed, brains seem to be no match for computers, and this gap will only get larger and larger.
How can brains accomplish all that they do?
Module 1: Vision
A large part of the cortex is devoted to vision, and we seem to be able to just “do” it without any special training.
Example: We can recognize below letters as “A” effortlessly despite variation in shapes.
Module 2: Motor Control
Movement: walking, running, climbing, etc…
Role of feedback from environment is especially critical for motor control: humans can adapt to different environment (i.e. different type of ground surfaces) on the fly. Seems hard for robots to do that (i.e. one robot can drive on a highway, but crashes immediately in backyard)
Is the bottleneck on sensor abilities? (Human sensors vs. Robot sensors) No! Some robot sensors far exceeds the capacity of human sensors (i.e. Video cameras have better resolutions than human eyes).
Module 3: Language
Many researchers believe that humans are unique because of their language ability.
Toddlers can generate an infinite number of correct sentences with little specialized training, in the language(s) they are exposed to early in development (“universal language acquisition”).
How is it possible? The classical Chomsky theory says that we are all born with a universal grammar. However, we do not know how brains learn or process languages.
Module 4: Human Computation
What humans can/cannot compute viewed purely as input-output behavior. How limited are they compared to Turing machines?
Module 5: One Neuron
A neuron has been heavily researched and analyzed in neuroscience field. There are > 15000 different types of neurons based on their structure and response to stimuli.
What we use to model a neuron can affect the efficiency of simulations.
Module 6: Connectomics
What is the structure of neuron connectivity? How is it changing over time?
We can model it as a labeled graph where neurons are vertices and synapses are directed edges. Does this completely capture the current state of a person? How?
Module 7: Hierarchies
Why and how does brain do things in hierarchies? (i.e. visual pathway in vision) with feedforward and feedback signals?
For example, when we “parse” someone, we do it in series of saccades: parse eyes -> ears -> nose -> mouth… the senses conveying what the retina “sees” and higher layers telling the eye muscles where to focus next. Compare it to computers which could parse an image as a whole…
Hierarchy appears to be a critical element of Deep NNs.
Does the brain form hierarchies of concepts? How?
Module 8: Memory
How are memories represented? How are they created?
For example, how we store someone’s face or memorized a phone number is a mystery.
The first half of class, will typically be a lecture on a selected topic.
During second half of a class, we will have a class activity which will do the following in groups of 2 or 3:
- Read (part of) a selected paper
- Discuss and “fill in the gaps” (try explain why phenomena in a paper could be happening)
- Operationalize (create well-defined sequence of steps) and simulate using MATLAB or Julia (http://julialang.org/).
- Look for guiding principles
Grading will be based on the following:
- Each student will do above activities for 3 separate papers outside of a class. Each paper must be accompanied by a simulation (MATLAB or Julia)
- Final term report
- There will be no exams
Bruno Olshausen’s introductory lecture in his course on Neural Computation.
Paper: Receptive Fields of Single Neurones in the Cat’s Striate Cortex – Hubel and Wiesel
Summary: A cat was anesthetized and immobilized, and the authors shine a beam of light (with different angle and shapes) on the cat’s retina at different positions. Authors monitored many neurons’ activities and measured whether shining a beam of light at certain area with certain shapes resulted in a excitatory (i.e. illumination produced an increase in frequency of firing), or inhibitory (i.e. illumination suppressed an activity followed by activity when illumination was stopped) effects. The area of retina was marked excitatory or inhibitory based on the experiments, and the result was presented:
Fill in the gaps: A neuron may be acting as a function that outputs 0 or 1 based on an input (coordinates in the retina).
Operationalize: We can use different threshold functions (σ) to simulate each neuron’s behavior from this paper. For example, for neuron A, two threshold functions can be used:
- σ(a <= x OR x >= b), output 1 if TRUE, 0 if FALSE (uses x-coordinate only):
- σ(x2/a2 + y2/b2 >= 1), output 1 if TRUE, 0 if FALSE (ellipsis):
Questions: What would make a family of functions more desirable than others? How small could this family be? How did evolution arrive at particular families?