Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

27
Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky

Transcript of Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Page 1: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Brain-like software architecture

Confessions of an ex-neuroscientist

Bill Softky

Page 2: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Which comes first: the problem or the solution?

• Reverse engineering starts with hardware, works backward

• Usually only succeeds if problem is understood

• “Forward” software engineering starts with the problem, and saves hardware for last

Page 3: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

“Forward” software engineering

Question UPS example e*Trade example

1 What is the “truth” out there?

Package en route John Doe, investor

2 How does input data approximate the truth?

Tracking #, destination Customer #portfolio ownedtrades made

3 What do we want to do with the data?

Deliver to next station; display web tracking page

Log in, display net worth, trade stocks

4 What architecture? Client-server, relational DB

Distributed serversseparate web front-end

5 What implementation? Oracle, C++, cgi-script web, Solaris machines

MySQL, Java server pages, Linux/Intel clusters

Page 4: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

“Reverse” engineeringQuestion Neocortex vision Neocortex audio

? What is the “truth” out there?

Moving objects Speech

? How does input data approximate the truth?

Retinal “pixels”: contours, color, correlation, disparity

Sound pressure waveforms: frequencies, stereo, echoes

? What do we want to do with the data?

Find what and where an object is

Figure who/where is talking, what they're saying, what they mean

1-2 What architecture? Cortical columns, attractors, spikes, associative

1-2 What implementation? Hebbian synapses, integrate-and-fire, shunting inhibition

From an engineering perspective, this is nuts!

Page 5: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Initial goals here

• Input: we need a generic description of sensory input (at least audio & visual)

• Processing: speculate on generic, modular processing “API” which can untangle those correlations

• No neurons, synapses, spikes…yet.

Page 6: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Simple “truth” tangled inputs

Hypothesis: each entangling transformation is fairly simple

Page 7: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Stepwise decorr untangled truth

Hypothesis: a sequence of similar compressions will yield useful representation

Page 8: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

First toy problem: cocktail party with echoes

• Multiple independent speakers• Multiple “ears” (mics)• Multiple echoes/amplitudes for each speaker/mic

combo• Echo patterns constrained (3-D) and unchanging

Try to remove echoes and separate speakers (our brains can do this...)

Page 9: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Echo kernels = location info

M-a

S 1

S 2

M-c

M-b=

M-a

M-b

M-c

“pure signals” Echo kernels, transfer

functions, “maps”

“entangled signals”

3 x 10kHz(x,y,z) static2 x 10kHz+

+

+

Page 10: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Second toy problem: video

•Moving “objects” (simple shapes)

•Constant velocity

•Spatiotemporal pixel pattern is just echoes from t=0 at center

Page 11: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Echo kernels = location/shape/velocity

(0,0)

(4,4)

(0,1)=

“Time at center”

Spatio-temporal Pixel responses

“entangled signals”

100 x 1 kHz{v, } semi-static

1 kHz

+

.

.

.

(0,0)

(0,1)

(4,4)

+

+

Page 12: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Generic entanglement

=

Very few independent pure signals

to track

Echo kernels in low-dim

subspace give persistent structure

many entangled, correlated,

high-bw signals as

inputs

.

.

. .

.

.

. .

Page 13: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Recap: echo-entanglement as a generic perceptual problem

• Very similar to early vision

• Just like audio echo-removal

• Structured “echoes” carry near-static info

• Associative memory and vector quantization are special cases

Page 14: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

How to dis-entangle?

• Want to reveal original signals and structures

• Problem is hard (unsolved!)So…– Skip the mere algorithms– Skip the neurons and biology– Focus on a module’s inputs & outputs– Try to make modules work together

Page 15: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

What would one disentangling module do?

• Note separate timescales:– Many channels of high-BW input– 1-3 indep channels med-BW output (time blurring)– Many channels near-static output & input

• Learn correlations (echoes) in input• Find low-dim subspace for echos (e.g. {x,y,z}, or

{v, })• Reconstruct inputs all at once (batch)• Minimize reconstruction error

(Assume typically 1 pure signal max during learning)

Page 16: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Basic disentangling module

T=-500 +100, coarseFloat outputs

Float inputs

Decorrelation &vector quantization

Reconstruction &prediction

x,y,z Pure signal

T=-500 +100, fine

e.g. for cocktail-party decorrelation

“mics”

“now”

“now”

Page 17: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Add multiple, independent outputs

• Multiple speakers/objects multiple outputs

• Each output represents one object (max 3)

• Output streams and mappings are independent

• An even harder disentangling task

• (complications too!....)

Page 18: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Module with multiple outputs

X1,y1,z1

X2,y2,z2

X3,y3,z3

Speaker 1

Speaker 2

Speaker 3

Page 19: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Add confidence estimates (sigmas)

• Disentangling is already a statistical-estimation task

• Confidence estimates come for free during reconstruction

• Propagate inputs’ sigmas forward

• Create output sigmas based on input sigmas and reconstruction error

Page 20: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Module with sigmas

Page 21: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Add layers

• Pure signal outputs become inputs to next layer• Many modules below feed each module above• Maybe, modules below can feed more than one

above• Whole upper layer uses longer and coarser

timescale• Stackable indefinitely• Top layers have huge input range, long memory,

broad abstractions

Page 22: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Modules in layers

T=-1000200

-500100

Page 23: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Add feedback

• Upper layer reconstructions provide estimates to lower modules (might help, can’t hurt)

• Near-static channels provide cheap “prediction” of input interrelations

• Update all estimates frequently

• Predicted pure signals could help reconstruction below

Page 24: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Feedback between modules

Page 25: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Open problems

• How do do the decompression?– Iterative? Monte Carlo? Low-dim subspace?

• Multiple objects/pure signals:– Deciding how many objects from a module– “binding” problem across modules– Which goes with which?– Layers 2-N need “clones,” one clone per extra

object

Page 26: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Summary: generic sensory model

• Assume inputs result from cascading a simple entangling transformation

• Entangling transformation is cocktail-party with echoes

=

Page 27: Brain-like software architecture Confessions of an ex-neuroscientist Bill Softky.

Summary: stackable disentangling modules

• Assume one layer of disentangling can be learned and done somehow

• Separate time-series from static echo-kernel structure• Disentangle time-series in batches• Use reconstructions for error-checking and feedback• Propose “API” by which such modules can interact to

solve multi-scale, multi-sensory problems