►
From YouTube: The Biological Path Towards Strong AI by Matt Taylor from Numenta (AI Singapore Meetup)
Description
In this talk, our Open Source Community Manager Matt Taylor discusses why today’s weak AI will not produce truly intelligent machines. First, he describes the anatomy of the neocortex while explaining the layers and columns within it and highlighting the power of pyramidal neurons. He then talks about details of our Hierarchical Temporal Memory (HTM) technology, such as Sparse Distributed Representations (SDRs), Spatial Pooling, Temporal Memory, and Sensorimotor Inference Theory.
This video was posted with permission from AI Singapore (https://www.aisingapore.org/).
Slides can be accessed at: https://numenta.com/resources/papers-videos-and-more/ai-singapore-meetup/
B
Right
this
is
cool.
I
can
see
you
too
somebody
make
some
noise.
Oh
can
I
hear
you
guys,
oh
cool.
Thank
you.
Okay.
This
is
really
cool.
I've,
never
done
like
a
remote
presentation
like
this.
Okay.
Let
me
this
is
something
I
like
to
do
when
I
have
a
crowd.
Raise
your
hand
if
you
think
human
beings
are
intelligent,
everyone
should
probably
raise
their
hand.
Okay,
raise
your
hand
if
you
think
of
chimpanzees
intelligent
the
chimpanzee
is
the
chimpanzee
intelligent.
Most
people
think
that
okay,
do
you
think
a
dog
is
intelligent.
B
Raise
your
hand
if
you
would
say
a
dog
is
intelligent.
Okay,
what
about
a
mouse
is
a
mouse
intelligent!
Okay,
look
around
a
little
bit:
it's
the
hands
are
going
down
now.
How
about
a
parent?
Is
a
parent
intelligent?
Some?
Yes,
some
no
is
a
chameleon
intelligent
chameleons,
they
some
again
less
and
less
a
praying
mantis.
Does
anyone
think
a
praying
mantis
is
intelligent.
Yu-Er.
Do
you
think
a
bacteria
is
intelligence?
B
You
still
who
thinks
that
a
tree
is
intelligent.
There's
always
somebody
I
see
you
okay
cool
anyway.
That
gives
you
kind
of
an
idea
of
what
the
different
definitions
of
intelligence
mean
to
people
I
work
in
the
field
of
intelligence,
so
that
definition
is
important
to
me.
Okay.
Well,
let
me
show
you
some
of
my
slides
for
a
bit
and
then
I'll
probably
turn
it
off
and
talk
some,
but.
B
Slides
I
think
it's
my
right
screen.
A
B
Okay,
you
guys
all
see
this
first
slide.
The
biological
path
toward
strong
AI,
okay,
I'm
Matt,
Taylor
I'm,
the
community
manager
for
Numenta
I,
started
out
there.
As
a
software
engineer,
I've
worked
at
Numenta
for
six
years
over
six
years.
Now,
all
of
our
code
is
open
source,
so
I'm
not
sort
of
the
open
source
community
manager.
I
I'm,
really
passionate
about
this.
I
read
a
book
by
the
founder
of
our
company
about
intelligence
a
long
time
ago
and
and
I
just
been
intrigued
ever
since,
and
so
I'm
really
happy
to
to
be
working
here.
B
B
So
we
can't
produce
intelligence.
That's
one
of
the
things
that
I'm
positing
here.
Let
me
I'm
gonna
turn
the
screenshare
off
because
I'd
rather
you
see
my
face,
okay,
so
everything
that
you
guys
are
doing
in
AI
right
now,
probably
if
it's
deep
learning,
if
it's
an
ends,
is
I
would
consider
narrow,
AI
or
weak
AI,
and
that
and
the
main
thing
that
makes
it.
That
is
it's.
You
can't
take
one
solution
that
you've
created
for
a
target
domain
and
you
can't
easily
move
it
and
apply
it
to
another
domain.
B
That's
the
whole
general
idea
in
a
GI
or
artificial
general
intelligence.
You
want
to
build.
If
you
build
something
that
has
general
intelligence,
you
should
be
able
to
set
it
loose
in
one
target
area
and
give
it
a
problem
to
solve
and
take
that
same
thing
and
give
it
another
problem
to
solve
in
another
target
area,
and
it
should
be
able
to
solve
it.
The
what
we
have
today
is
not
there
and
I.
Don't
think
we'll
get
there
because
of
two
specific
reasons,
and
now
let
me
cherish
me
again.
B
So
what
is
missing?
There's
two
big
things
that
are
missing:
one
is
neurons
and
an
ends.
This
the
point,
neuron
and
basically
all
artificial,
neural
networks
that
are
underlying
deep
learning
systems
are
not
complex
enough.
We
need
a,
we
need,
a
neuron
that
can
represent
more
states
and
and
connect
in
different
ways
to
each
other.
B
That's
one
major
thing
that
another
major
thing
we're
moving,
and
this
is
a
harder
problem
that
we're
missing.
Excuse
me,
that
is
movement
and
I'll
bet.
No
one
in
the
audience
can
think
of
any
intelligent
thing
in
the
universe
that
does
not
move
because
I
don't
think
there
is
anything
we
we
believe
like
at
the
core
of
my
definition
of
intelligence
is
something
it
has
to
move
in
order
to
be
intelligent.
B
You
have
to
move,
and
it's
because
as
an
entity
in
reality,
you
have
to
be
able
to
test
reality
with
your
movements
and
and
test
and
know,
what's
the
difference
between
you
and
the
rest
of
the
environment.
Okay.
So,
let's,
let's
talk
about
brains,
I
hope
this
animation
is
going
to
come
through
okay,
but
this
is
the
brain.
B
This
is
your
neocortex,
it's
the
you
know
squiggly
part,
and
if
you
were
to
stretch
it
out,
you
can't
really
do
this,
but
if
you
were
to
stretch
it
out,
it
would
be
about
the
size
and
shape
of
a
dinner
napkin,
and
this
is
a
completely
like
homogeneous
structure
and
there's
this
repeating
unit
throughout
it.
We
call
this
a
cortical
column,
and
this
was
discovered,
like
in
the
80s
by
Ronan
mount
Castle.
B
He
sort
of
defined
with
this
structure
that
was
repeated
throughout
the
cortex
and
we've
also
known
that
the
cortex
has
these
layers
we've
known
this
for
over
a
hundred
years.
This
is
a
cahal
and,
and
he
drew
these
tons
of
pictures
of
these
different
layers
of
the
neocortex,
but
the
the
discovery
of
these
columns
and
what
they
might
mean
for
intelligences
is
a
bit
of
a
newer
discovery.
B
So
now
we
have
this
idea
of
layers
and
columns,
and-
and
this
is
so
we're
trying
to
kind
of
put
this
together
because
columns
contain
these
layers.
You
know
these.
These
things,
work
together
and
layers
contain
lots
and
lots
of
neurons,
so
there
could
be
up
to
like
100,000
pyramidal
neurons
inside
each
layer,
of
course,
hats,
so
we're
kind
of
getting
smaller
and
smaller.
So,
let's
talk
about
this
pyramidal
neuron.
B
This
is
sort
of
the
atomic
processing
unit
of
HTM
theory
or
the
theory
that
I'm
intelligence
that
I'm
essentially
driving
at
right
here
and-
and
this
is
basically
what
ever
is
going
to
build
upon
when
he
talks
about
anomaly
detection.
Just
to
give
you
some
context
in
the
in
the
next
talk
that
he
talks
about.
This
is
like
the
core
technology
that
he's
going
to
build
upon.
Anyway.
B
It's
based
on
the
idea
of
a
pyramidal
neuron,
having
not
only
an
inactive
state
and
an
active
state
like
it
would
in
any
current
an
end
system,
but
also
having
a
predictive
statement,
and
this
is
something
that
your
brains
doing
all
the
time
your
brain
is
like
a
prediction
engine.
It's
constantly
predicting,
what's
going
to
happen
next
right
all
the
time
and
when
something
doesn't
happen
that
you
expect
to
happen,
you're
surprised
and
you're
shocked,
because
you
were
had
predicted
certain
things
to
happen
that
were
represented
by
certain
neurons
and
those
things
didn't
happen.
B
I'm
gonna
show
you
some
examples
of
that
in
simulation
later,
but
the
important
thing
here
again
with
the
preamble
to
neuron,
aside
from
having
these
different
states
is,
it
needs
different
sort
of
integration
zone.
So
a
neuron
doesn't
just
get
stimulus
in
one
way.
A
pyramidal
neuron
in
the
cortex
can
get
stimulus
at
least
three
different
ways.
It
can
get
different
types
of
dendrites
that
it
has.
B
Proximal
is
very
close
to
the
cell
body,
distal
dendrites
or
basal
dendrites,
that
can
get
connections
from
far
out
and
then
there's
apical
dendrites
that
typically
get
feedback,
so
these
have
to
be
considered
as
well
in
a
model
of
intelligence,
I
believe
and
we're
completely
missing
this
in
the
current,
an
insistence
so
since
we're
talking
about
the
Kremlin,
neuron
and
I
said
a
layer
inside
of
of
a
column,
as
contains
all
these
parameter
ions
up
to
a
hundred
thousand
of
them.
The
idea
that
a
neuron
has
these
different
integration
zones
then
applies
to
the
layer.
B
Layers
are
like
little
compute
modules,
they're
made
up
of
all
of
these
different
neurons
and
you
can
type
driver
proximal
input
into
it
and
distal
input.
The
distal
input
provides
context
for
a
primary
driving
signal,
which
is
the
proximal
input,
and
this
is
how
it
works
in
your
cortex.
As
well,
these
pyramidal
neurons,
the
proximal
input-
that's
close
to
the
cell
body,
is
what
drives
the
cell
to
the
fire,
but
the
distal
input
provides
context
and
puts
the
cell
into
a
predictive
state.
Now,
there's
lots
of
details
that
I
have
on
this.
B
That
I'm
going
to
I'll
point
you
to
some
really
good
references
at
the
end,
but
I'm
not
going
to
go
into
detail
about
all
of
everything
here,
but
I'm
going
to
show
you
some
simulations.
So
when
I
show
you
the
simulations
real
soon,
this
is
what
a
layer
is
going
to
look
like
for
me.
So
it
doesn't
really
look
like
a
you
know,
a
cube,
but
what
this
is
is
a
grid
of
a
bunch
of
different.
B
It's
like
a
whole
bunch
of
pyramidal
neurons
in
a
structure.
You
know
just
a
3d
grid,
basically,
and
the
different
colors
are
going
to
be
different
states
of
the
neurons,
so
I
explain
them.
When
you
see
this,
this
represents
a
layer
like
I've
been
talking
about,
which
is
a
one
of
these
compute
modules.
B
Okay,
so
is
everybody
following
me:
wait
somebody
wave
your
hand.
Everything's
cool,
okay,
I,
just
want
to
make
sure
back
to
this,
so
I
I'm,
going
to
talk
about
sparse,
distributed
representations
format.
So
you
see
the
the
fiber
optics,
cable
I,
hope
that's
sort
of
my
visual
but
I'm
gonna.
Let
me
let
me
talk
about
this.
This
is
a
little
bit
easier
to
face-to-face
kaká.
Okay,
so
imagine
a
neuron
in
your
brain.
This
neuron
has
possibly
tens
of
thousands
of
synapses
across
all
of
its
dendrites
that
has
grown
out
throughout
the
space
of
the
brain.
B
If
you
took
all
the
synapses
and
sort
of
loop
them
together
and
wrap
them
up
in
a
bundle,
it
might
look
like
a
fiber
optics,
cable
like
if
you
stretched
it
along
this.
It's
a
dendrite
and-
and
indeed,
if
you
were
to
take,
be
able
to
look
at
your
spinal
cord
or
your
optic
nerve,
you
would
see
axons
and
it
would
look
like
a
fiber
optics,
cable
and
2%
essentially
of
aid
in
your
brain.
If
you
were
to
take
a
snapshot
right
now,
2%
of
your
neurons
are
currently
firing.
That's
very
sparse!
B
That's
not
very
many
in
her
honor,
but
that's
the
way
your
brain
represents
things
constantly.
B
Some
pasady
and
I'll
give
you
some
examples
that
will
probably
put
this
into
perspective.
Okay.
So
there
anybody
see
my
screen.
It's
a
big
grid,
yeah,
okay,
so
this
is
an
SDR,
this
big
grid,
and
it's
just
you
can
think
of
it
as
as
a
binary
array.
It's
it
looks
like
it's
2d,
but
it's
really
not
it's
just
one,
a
one-dimensional
array:
that's
wrapping
around!
Let's
see
I
have
my
okay,
so
we
go
so
it
starts
here
and
it
goes
down.
B
B
So
that's
pretty
high,
but-
and
it's
a
little
bit
surprising,
it's
true
that
if
you
make
it
the
higher
you,
you
make
this
the
amount
of
bits
that
you're
using
the
higher
the
capacity
goes,
but
even
at
this,
even
with
just
five
bits,
8.8
billion
ways-
that's
that's
a
pretty
high
capacity,
but
we
typically
use
STRs
that
are
in
this
range
like
around
2,000
bits
and
we'll
turn
40
of
them
on.
You
know
to
keep
it
around
2%
capacity,
and
so
now
the
capacity
is
so
astronomically
large.
B
So
so
there's
that
the
other
thing
is
with
STRs.
If
I
could
make
this
a
little
bigger
there,
we
go
so
here,
I've
got
two
random
STRs
I've
got
one
on
the
left
and
and
then
one
in
the
middle
and
I'm
just
randomly
created
these
two
STRs
and
then
on
the
right,
I'm,
comparing
them,
and
what
I'm
showing
right
now
is
the
overlap.
These
are
all
the
bits
that
are
shared
between
these
two
representations:
okay,
that
if
I,
can
also
show
the
union.
This
would
be
all
of
the
bits
from
both
of
them.
B
So
so
what
you
can
see
here
is
the
the
value
of
this
overlap.
Is
this
overlap?
Shows
you
all
the
semantically
similar
bits
between
these
two
things.
If
you
can
imagine
every
bit
having
some
semantic
meaning
or
having
some
meaning,
then
you
can
compare
two
things
and
and
tell
in
what
ways
they
might
be
similar.
The
union
also
allows
you
to
stack
things
together
and
and
compare
other
things
to
it
to
see
if
it
is
a
member
of
that
set.
B
B
Ok,
so
so
that's
like
the
the
communications
medium
of
the
brain
is
this
idea
of
sparse
distributed
representations
and
they
always
represent
neurons
and
and
whether
they
are
firing
or
not,
it
typically
pretty
much.
So
how
do
we
get
data
into
the
system?
This
is
the
hard
part.
Ok
and
our
brains
are
the
things
that
encode
reality
into
this
binary.
Sdr
space.
Are
your
senses,
your
somatic
senses,
all
your
skin,
your
ears,
your
eyes!
These
are
your
encoders.
B
These
are
the
things
that
create
that
bit
that
that
that
fiber
optics
cable
it
but
pipes
into
your
brain
now
we're
not
in
the
business
right
now
of
trying
to
recreate
and
senses
we're
trying
to
study
the
cortex,
so
we've
created
some
encoders
but
they're
not
biologically
accurate
at
all.
We
just
needed
to
create
encoders
that
work.
You
know
that
encoded
semantic
information
and
the
way
we
theorize
that
the
brain
needed
it,
and
so
that's
what
we're
doing
so.
What
I'm
trying
to
show
you
right
now
is
a
date
encoder.
B
This
is
not
a
sense
that
anyone
has.
This
would
be
like
if
you
had
a
watch
attached
to
your
brain
at
all
times,
and
you
can
constantly
pull
up
exactly
not
only
like
the
the
second
of
the
of
the
hour
and
the
second
and
the
day,
but
you
could
tell
like
whether
it
was
afternoon
or
morning
without
you
know,
looking
outside.
That's
that
sort
of
thing,
so
so
here's
how
it
works.
This
is
today
this
is
Thursday,
it's
4:20,
2
a.m.
B
here
in
California,
but
if
I
move
forward
a
week,
this
is
what
I'm
doing
I'm
jumping
forward
a
week
from
the
17th
to
the
24th.
You
can
see.
There's
a
there's
a
bit
over
here.
The
season
that's
moving
as
I
continue
to
move
through
the
year.
The
season
changes
if
I
move
through
the
day
of
the
week,
the
day
of
the
week,
representation
changes.
So
each
one
of
these.
B
These
grids
here
is
a
different
SDR,
representing
different
semantic
information
about
a
date,
a
timestamp
and
and
what
we
can
do
is
put
them
all
together
and
we
can
take
this
encoding
and
this
encoding
this
one
in
this
one
and
we
can
put
them
all
together
in
one
encoding
here.
So
as
I
move
through
time,
the
entire
encoding
is
going
to
encode
all
of
these
four
different
dimensions
of
time
semantics.
So
that's
an
example
of
how
an
encoder
might
work.
Let
me
show
you
a
little
bit
more
of
an
interactive
okay,
dot.
C
B
Was
broken,
I
might
have
to
fix
it,
but
here's
another
example
of
an
encoder.
This
debugger
off
this
is
a
scaler
encoder.
This
is
super
simple.
This
is
a
value
from
like
zero
to
100.
I
can
change
the
the
min
and
Max
I
can
change
how
how
many
bits
I
want
to
represent
the
value
I
can
change
how
thick
I
want
the
representation
to
be
this.
This
allows
me
to
make
encoders
that
will
encode,
for
example,
the
value
56
57.
Excuse
me
288
and
have
a
bunch
of
overlapping
bits
so
that
these
values
are
similar.
B
Another
way
you
can
do
the
exact
same
thing
is
to
not
have
a
continuous
bucket
but
distribute
the
bucket
through
the
space.
The
point
being,
there
is
a
ton
of
different
ways
to
encode
information.
You
could
take
the
number
3
and
encode
it
thousands
of
different
ways
into
this
this
space.
You
know
that
that's,
however,
you
use
to
encode
the
space
is
your
it's.
B
B
So
the
idea
behind
spatial
cooling
is
within
a
layer
of
all
these
neurons
neurons
are
grouped,
we
they're
grouped
in
and
many
columns.
We
call
them,
but
really
the
real
point
is
they
have
to
be
grouped,
and
within
this
group
each
group
shares
a
receptive
field
to
the
input
space.
So
each
of
these
groupings
has
the
same
view
of
the
input,
space
and
they're
all
sort
of
randomly
initialized,
and
the
whole
point
of
this
is
to
take
that
input
and
transform
it
into
another
space.
B
So
where
we
have,
we
have
control
over
the
sparsity
of
the
representation
and
the
semantics
have
to
also
be
retained.
So
I
have
another
demo
and
I'm
gonna
hope
that
it
works
here.
Input
space
overlap,
connected
synapses,
it's
one
of
these
okay
cool.
Okay.
So
do
you
guys
remember
so?
I
showed
you
that
layer
in
software
right
that
big
three-dimensional
cube
so
imagine
on
the
right
here
we're
looking
down
on
that
cube
from
above
okay.
B
So
these
are
columns
looking
downward
from
above
I'm,
going
to
click
on
a
column,
to
sort
of
set
it
and
and
what
it's
showing
over
here
is
its
potential
pool
of
connections
that
it
could
connect
to
that.
Those
are
the
orange
squares.
These
are
all
the
possible
spaces.
Are
all
the
possible
cells
in
the
input
space
that
it
might
create?
A
connection
to
the
interesting
thing
is
every
single
column
has
a
different
set
of
potential
pools
there.
None
of
them
are
going
to
have
a
representation
of
the
space.
B
Like
any
other
column,
they
all
have
a
different
representation
of
the
space.
In
addition
to
this,
they
all
have
these
permanence
values.
So
it's
not
just
a
pool
of
potential
connections.
Every
one
of
those
has
a
value
associated
with
it.
If
that
value
reaches
a
threshold-
and
this
is
a
scalar
value,
basically
from
0
to
1,
if
that
value
breaches
the
threshold,
then
you'd
say
the
connection
is
on
everything.
Ok,
I
thought
I
heard
something.
B
So
if
this
value
and
I
think
I
want
to
try
to
show
this
chart
over
here,
it's
not
showing
up.
So
all
of
these
blue
dots
here
are
connections
from
this
one
mini
column.
To
this
whole
input
space
to
a
cell
natively
space
where
the
permanence
value
or
that
synapse
is
above
a
threshold.
So
we're
going
to
call
all
of
these
connected
synapses
all
of
the
red
ones
are
potentially
connected
synapses.
They
could
connect
at
some
point.
Ok
and
every
single
one
of
these
columns.
B
These
spatial
Pooler
many
columns
is
initially
created
with
a
different
sort
of
random
spread
of
permanence,
--is
and
connections
around
a
certain
threshold.
So
for
all
Prime,
you
learn
right
away
like
their
Barrett.
All
these
connections
are
really
close
to
the
threshold
so
that
the
of
them
will
start
learning
and
forgetting
right
away
sort
of
to
prime
it
to
learn.
B
So
that's
sort
of
how
we
map
the
a
column
in
the
spatial
Pooler
to
a
input
space
that
you
might
encode
data,
so
I'm
going
to
show
you
how
the
spatial
Pooler
learns.
So
this
is
sort
of
the
same
type
of
view
here.
Okay,
but
what's
different
here,
is
I'm
actually
showing
an
input
here,
I'm,
actually
showing
what
you
know.
Some
typical
data
might
look
like
this
might
be
the
value
47,
and
this
is
on
a
Tuesday
at
7
a.m.
I,
don't
know,
but
is
there
some
semantics
in
this
data?
B
So,
given
that
we've
got
a
spatial
Pooler
and
all
of
its
columns
have
been
all
of
its
mini
columns
have
been
initialized
like
I
sort
of
just
described.
We
can
go,
look
at
each
one
of
these
columns,
each
one
and
and
say
based
on
all
of
my
connections,
how
many
overlap
the
current
input?
That's
what
I'm
looking
at
here.
These
green
connections
currently
are
overlapping.
The
current
input.
B
All
of
the
gray,
are
connections
that
don't
overlap
the
current
input
so
I'm
looking
at
this
first
column,
and
there
are
not
enough
connections
overlapping
the
input
for
it
to
become
active.
Ok.
So
now,
let
me
look
at
one
of
these
active
mini
columns.
This
one
apparently
has
46
overlapping
actions
with
the
bits
in
the
input
space.
That's
why
it's
active
so
tip.
So,
basically,
what
we're
going
to
do
is
we're
going
to
stack
rank
every
one
of
these
mini
columns
based
on
its
overlap,
score.
B
It's
its
connections
overlap
score
with
the
current
input,
and
these
are
the
columns
that
are
going
to
essentially
win
because
they're
competing
to
see
which
columns
are
going
to
represent
this
particular
input.
These
green
columns
on
the
right
are
what
the
spatial
Poehler
has
chosen
to
represent
this
spatial
input
that
we're
seeing
on
the
left
over
time.
Now
that
we
have
these
columns
that
have
learned
or
have.
B
Now,
when
they're
selective
we're
going
to
increment
the
permanence
values
for
the
connections
where
the
overlap
occurred,
this
is
heavy
and
learning
basic,
heavy
and
learning
and
we're
going
to
decrement
the
permanence
values
of
all
the
connections
that
fell
outside
of
that
input.
So
what
this
is
to
do
is
it's
going
to
have
its
going
to
have
columns
that
learn
over
time
to
select
certain
features?
Certain
spatial
features
out
of
the
input
and
sort
of
grow,
an
affinity
to
certain
spatial
features
in
the
input
so
that
this
column
might
learn
over
time
to
represent.
B
B
Think
I
got
more
slides
on
how
okay,
so
we've
been
talking
about
just
proximal
input.
This
is
all
proximal,
so
all
the
groupings
of
and
the
spatial
pooling,
but
there's
something
else
going
on
here
within
these
mini
columns
like
you're
talking
about
Kyle
many
columns
and
columns,
but
I'm,
not
explaining
why
why
those
even
exist?
Well,
you
can
have
any
number
of
cells
within
a
mini
column,
and
these
cells
make
connections
to
each
other
within
a
layer
they
make
distal
connections
to
each
other.
B
If
you'll
remember,
distal
means
these
connections
that
are
lateral,
they're,
contextual
inputs,
the
spatial
Pooler,
this
the
spatial
input,
the
sensory
input
is
proximal,
it's
driving
the
cell
to
fire,
but
the
distal
input
that
it's
getting
from
itself
gives
it
context.
So
you
might
think
about
it
this
way.
If
your
context
is
your
past,
then
you
have
a
temporal
system
and
that's
basically,
what
we're
doing
is
we're
telling
the
cells
to
connect
to
themselves
and,
as
is
the
and
their
basic,
connecting
to
a
previous
state
of
itself.
B
If
you
can
think
of
the
collection
or
population
of
cells
in
a
layer
as
having
a
state
when
when
it
learns
a
new
sequence,
it
basically
connects
to
a
previous
state
of
itself.
That's
what
temporal
memory
really
is
doing.
It
was
identifying
this
context
of
input
with
distal
segments,
and
so
now,
it's
time
to
do
yet
another
demo.
Here,
okay,
this
is
the
coolest
one,
I
have
and
I,
and
it
has
sound
I,
don't
know
if
the
sounds
going
to
come
through.
Let
me
okay,
it's
gonna
work.
B
Not
if
you
can
hear
that,
okay,
great
thanks,
okay,
hopefully
not
too
loud,
all
right,
so
I'm
running
an
HTM.
This
is
a
new
pic.
This
is
a
the
one
that
it
created
and
and
what
I'm
doing
here
and
I'm
gonna,
it's
learning
this
little
sequence
of
notes:
I'm
gonna,
pause
it
and
the
sequence
okay
here
at
letting
a
c-sharp
EA
and
a
I'll
keep
it
going.
C
B
You
I'll
just
turn
it
down
over.
Here
is
the
encoding
on
the
left.
This
green
thing,
you
can
see
the
notes
sequentially
being
encoded
in
different
blocks,
I
just
hard-coded
those,
so
these
are
just
different
ways
to
represent
these
notes.
They're
completely
different,
there's
no
overlap
at
all
over
on
the
right
here.
This
is
a
layer,
so
so
this
is
sort
of
a
layer
looking
down
on
it
from
the
top
or
up
out
from
the
bottom
and
I'm
gonna
spread
it
way
out.
B
So
you
can
see
these
yellow
columns,
sort
of
appearing
and
disappearing
in
the
layer,
I'm
going
to
pause
it
now.
So
this
is
a
mini
column
in
the
layer
it
turns
off,
but
as
you
can
see
for
so
for
this
input,
these
are
the
mini
columns
that
chosen
to
select-
and
you
can
see
them
a
little
bit
better
here,
sorry
little,
but
this
this
represents
see
shotgunner,
that
if
that
makes
sense
right
right
now
we
get
C
sharp
as
an
input.
This
set
of
active
columns
represents
the
spatial
pattern
for
C
sharp.
B
The
next
one
is
going
to
be
e.
If
I
step
forward,
here's
the
e
and
but
this
is
a
spatial
pattern
for
e,
this
is
a
little
deep
I'm
checking
in
with
it
raise
your
hand
if
anybody's,
following
along
with
me
at
all,
okay
I
got
a
few
hands.
Okay,
that's
good
enough.
Okay,
so
I'm
gonna
spread
this
back
out,
because
I
want
to
show
you
it's
really
important
how
cells
activate
within
a
mini
column,
so
there's
there's
two
ways:
a
cell
will
activate
within
a
mini
column.
B
One!
Oh!
Well!
Let
me
let
me
show
you
something.
First,
this
loop,
this
a
c-sharp
EA
loop
is
played
over
and
over
and
over,
but
at
the
end
of
the
sequence,
I
manually,
resetting
I'm,
basically
telling
the
system,
that's
the
end
of
the
sequence.
If
I
don't
do
that
it
in
a
temporal
system,
it's
and
you're
looping.
How
do
you
know
when
to
stop?
You
know?
B
How
do
you
know
when
the
is
the
sequences
over,
so
you
use
half
the
card
sort
of
tell
it
to
stop
so
when
it
sees
this
first,
a
it
always
sees
it
sort
of
out
of
context.
It
never
sees
anything
coming
before.
I'm
gonna,
my
caveat
whatever
so
I'm
gonna
show
you
what
the
active
cells
are.
Okay,
so
now
we're
at
c-sharp.
Okay,
the
these
yellow
mini
columns
are
the
spatial
representation
for
sea
shark.
B
Okay,
so
I
told
you,
there
were
two
ways
that
a
cell
and
one
of
these
columns
could
be
become
predictive
I'm,
going
to
show
you
one
way
now.
If
let's
say
we
just
get
this
input,
we
just
got
this
input
for
C
sharp.
The
first
thing
we
do
is
look
and
see
what
active
columns
came
up
and
where
any
of
those
cells
in
that
active
column
predictive
in
the
last
time
step.
So
we're
asking
ourselves.
Is
this
infant
expected
or
not?
B
All
of
these
predictive
cells
in
these
many
columns
tell
me
that
this
was
predicted,
so
the
system
says.
Oh,
then
these
cells
are
active.
Then,
since
I
saw
since
it
was
predictive
in
the
last
time
stuff,
if
they
were
all
correct,
it's
going
to
make
them
active
cells,
the
other
reason
why
a
cell
might
become
predictive.
Let
me
scoot
forward
to
a
okay,
I
told
you
the
first
time
we
see
a.
Let
me
turn
the
act
of
cells
off.
First,
if
we
see
it
out
of
context,
it's
just
a
nothing
came
before
it.
B
So
what
happens?
Is
it
gets
to
this
point
and
it's
looking
for
predictive
cells
and
we
turn
the
predictive
cells
on.
There
is
no
predictive
cells
because
nothing
has
ever
come
from
where
before
so
what
it
does.
When
there
are
no
predictive
cells
in
an
inactive
mini
column
that
has
been
activated,
it
will
activate
all
the
cells
in
the
mini
columns.
So
what
this
does?
B
Is
it
basically
to
says
that
there's
there's
a
potential
fork
in
the
sequence,
the
this
fork,
I,
don't
know
where
it's
going,
but
then,
but
something
stopped
here
and
this
could
go
in
many
different
directions.
This
is
called
bursting.
This
is
this
actually
happens
in
your
brain
and
you're.
Expecting
one
thing
to
happen
and
something
very
different
happens:
a
bunch
of
neurons
in
your
brain
fire
to
go
in
a
bunch
of
different
possible
predictive
directions
because
you
don't
know
you're
confused.
B
It
can
become
active
if
there
was
not
nothing
predictive
and
it's
one
of
those
cells
is
gonna,
burst
and
then
over
time,
as
it
sees
a
pattern
over
and
over,
it
will
select
one
of
these
cells
to
represent
that
pattern
transition
over
time,
but
for
right
now
it's
just
bursting
and
the
other
one
like
I
said
is:
if
we
are,
we
see
predictive
cells
from
the
last
time
step
in
in
the
current
space,
then
we're
gonna
make
those
active.
Okay,
I
got
one
more
neat
thing:
I'm
gonna
do
here.
B
Let
me
play
I've
been
playing
this
for
a
while,
and
let
me
ask
you
a
question:
what's
gonna
happen,
I'm
gonna,
stop
this
and
C
sharp.
So
I
can't
see
you
guys,
but
maybe
you
can.
Maybe
you
can
participate
here
and
shout
out
if
what
I'm
looking
at
here
are
the
active
cells
that
represent
what
No
does
anyone?
Can
anyone
tell
me
I'm,
hearing
c-sharp
right,
so
we're
looking
at
c-sharp?
This
is
a
spacial
input
for
c-sharp.
This
is
the
spatial
pooler's
representation
for
c-sharp
predicted.
B
These
are
the
cells
that
we're
predicting
are
going
to
come
next.
What
cells
are
we
predicting?
These
should
be
the
cells
that
correspond
to
what
note
e,
because
that's
what
we've
seen
in
the
past
right
we've
seen
a
c-sharp
e
a
bunch
of
times
in
the
past
as
I.
Just
let
it
play
so
we're
obviously
expecting
e
to
be
next.
B
What's
gonna
happen,
if
I
don't
believe,
what's
gonna
happen,
if
I
play
something,
we've
never
seen
before,
anyone
I
can't
really
hear
very
well
so
I'm,
just
gonna
keep
going
for
I'm
gonna
step
one
step
forward
and
all
of
these
predictive
cells
are
not
gonna
fire
right,
they're,
not
gonna,
fall
within
active
columns
because
we're
not
activating
we're
activating
F,
sharp
and
F
sharp
we've
never
seen
before.
So
all
of
these
columns
that
become
active
burst
because
we've
never
seen
a
C
sharp
F
sharp.
B
We
only
seen
a
C,
sharp
E
and
then
there's
this
one
column
over
here
that
just
randomly
shares
some
semantics
with
E.
Apparently
so
it
it's
a
it
fired,
but
that
doesn't
matter
I
mean
that's.
That
sort
of
stuff
gets
gets
washed
out
over
time.
I
mean
I,
didn't
mention
it,
but
I
could
add.
Noise
I
could
probably
add
50%
noise
to
this,
and
it
would
still
work
that
the
noise
tolerance
to
this
system
is
really
really
good.
B
Okay,
so
I'm
gonna,
I'm
gonna
start
playing
this.
Now
this
new
C
case
a
C
sharp
F
sharp
a
and
it's
gonna
learn
it
over
time.
After
a
while,
it's
gonna,
stop
bursting,
looks
like
it
stopped
bursting.
So
now
we're
at
C
sharp
again,
but
we're
not
bursting
anymore
looks
like
we
have
a
prediction
and
the
prediction
or
excuse
me.
So
let's
look
at
those
cells
that
dick
ting
could
be
next
right.
So
here
they
are.
B
These
are
the
predicted
cells
now
I'm
sitting
at
C
sharp,
but
if
you're
an
astute
observer,
you
might
notice
that
these
are
twice
as
many
predictive
cells
that
we
had
the
last
time
lines
at
sea
sure
why
we're
predicting
both
E
and
F
shirt
so
we're
seeing
a
combination
or
a
union
of
the
STRs
for
F,
sharp
and
E
following
C
sharp.
What
we
have
here
is
a
sequence
memory
system
that
is.
B
What
do
you
call?
It
say,
a
a
high
order,
memory
system,
a
high
order,
sequence
memory
system.
So
that's
what
I
think
is
really
impressive
about
this,
and
it's
in
it's
in
your
brain.
It's
it's
amazing!
Okay!
So
that's
my
that's!
My
primer
demo
I
need
to
probably
wrap
up
here
da,
so
you're,
probably
thinking
you
know.
I
explained
this
idea
of
a
layer
as
being
a
compute
module
and
what
I
just
described
to
you
was
the
distal
input
coming
in
to
back
into
itself.
C
B
Getting
it
from
itself,
what
makes
it
simpler,
but
you
might
imagine
this
distal
input
coming
from
somewhere
else,
other
parts
of
the
brain
or
and
representing
other
things.
So
a
big
part
of
our
sensory
motor
research
right
now
is
trying
to
figure
out
how
location
can
be
represented
and
in
the
brain,
using
grid
cells
and
and
sent
in
as
a
as
a
location
signal,
so
that
when
we
use
sensory
input
and
and
tie
it
to
a
location
in
space,
we
can
use
that
for
object
recognition.
B
So
that's
sort
of
our
current
research
direction
and
I've
got
lots
of
information
about
that
and
I.
Don't
think
I
have
time
to
actually
show
you
a
little
demo
of
it.
But
it's
what
we've
been
focusing
on
for
the
past
year
and
a
half
at
least,
and
it's
really
cool
stuff.
We
have
papers
about
it.
So,
but
let
me
give
you
some
resources
and
then
I'll
take
some
questions.
First
of
all,
all
of
our
stuff
is
open-source.
It's
called
the
Numenta
HTM
implemented.
The
official
one
is
called
new
Pig
Numenta
platform
computing.
B
All
of
our
research
code
is
also
open
source
and
all
of
our
research
papers
are
completely
accessible
and
free.
That
includes
this
one.
Why
neurons
have
thousands
of
synapses
which,
which
completely
explains
the
whole
phenomena
of
you,
know
apical
versus
distal
versus
proximal
inputs,
and
why
dendritic
spikes
are
so
important
to
our
model,
which
I
didn't
I
didn't
touch
upon
very
much,
and
the
last
thing
I
want
to
show
you
is
I.
Have
this
YouTube
channel?
B
Let
me
ask,
let
me
ask
you
guys,
raise
your
hand
if
you've
seen
any
of
my
youtube
videos
about
HTM.
Ok,
a
few
people.
Ok,
that's
good!
That's
good
to
know
I
if
you're
interested
in
this
stuff,
I
go
like
ad
nauseam
into
this
on
YouTube
I've
got
like
14.
If
your
videos,
just
about
HTM
theory,
about
how
how
important
spatial
sparse
distributed,
representations.
B
All
the
way
up
to
sequence,
memory
and
dendritic
spikes,
and
even
the
last
one
I
did
was
about
grid
cells
and
about
the
properties
of
grid
cells
that
we
we
know,
are
going
to
be
important
for
how
the
brain
represents
location.
Okay,
last
slide,
I'll
take
questions.
This
is
just
an
informational
slide,
all
the
stuff
that
Numenta
org
ornamented
calm.
You
can
see
me
on
Twitter
or
a
github
at
the
rhyolite
and
same
thing
with
Numenta
and
I
guess,
I
think
I'm
in
a
position
where
I
can
take
questions.
B
C
B
B
It's
it's
taking
all
the
bits
here
and
and
and
turning
them
into
another
set
of
active
bits
here
that
we
have
control
over
how
how
that's
represented
basically,
how
dense
we
want
that
that
semantics
to
be
represented
here
and
then
in
it.
It
learns.
It
does
heavy
and
learning
over
time.
I,
don't
know
how
close
that
is
to
I.
A
A
B
Htm
is
completely
temporal.
It
depends
on
temporal
streams
of
information.
Each
Jim
will
not
do
image.
Classification
like
like
current
deep
learning
networks
do.
That
is
all
massively
spatial
classification
and
that's
that's
not
the
way
your
brain
does
image
classification
either
the
if
you're.
If
you
were
going
to
try
and
do
that
type
of
the
type
of
classification
with
HTM,
you
would
want
a
sensor
that
could
move
through
a
space.
So
you
that
way
you
could
make
the
input
temporal.
B
Currently,
today
we
think
you
have
to
have
hierarchy
eventually,
but
but
you
also
by
definition,
if
you're
going
to
build
a
hierarchy,
you
must
understand
how
the
node
the
repeated
node
in
the
hierarchy
works.
You
can't
put
the
hierarchy
together
without
understanding
that
node
and
we
believe
that
cortical
column
is
a
key
component
of
that
node.
That's,
that
is
what
a
node
in
the
hierarchy,
how
it
shares
information
at
the
level
it's
on
and
how
it
passes,
information
up
and
down.
B
So
we're
focusing
entirely
on
that
one
note
of
the
hierarchy
and
knowing
that
you
know
it
will
put
the
hierarchy
together.
Once
we
understand
the
node
better
I
know:
I
got
a
little
bit
off-topic,
but
the
main
thing
is
temporal
versus
spatial.
Today's
most
A&N
systems
today
are
awful
at
temporal
anomaly:
detection
in
our
classification
or
our
temporal
streams.
Ll
STM
is
one
of
the
better
ones
when
we
can
still,
each
diem
can
still
beat
that
at
anomaly.
B
Detection
I
think
ever
hopefully
we'll
talk
about
this,
but
we
do
have
sort
of
a
benchmark
for
anomaly.
Detection
called
the
Numenta
anomaly
benchmark.
So
we
do
compare
this
to
other
deep
learning
systems,
or
most
of
them
are
at
most
and
we're
just
you
know,
other
methods
of
doing
streaming
analytics,
because
that's
not
something
that
deep
learning
is
great
at
right
now,
but
anyway,.
A
A
C
B
B
No
now
so
the
way
we
do
HTM
right
now
is
we
never
end
any
sequences
if
we're
doing
anomaly
detection
so
that
doesn't
seem
to
affect
it
there.
There
is
a
maximum
capacity
that
you
will
eventually
reach,
but
at
that
point
you
just
start
forgetting
old
sequences,
but
it
doesn't
matter
how
long
the
sequences
all
right
now
I
mean.
If
you
think
about
it,
you
can
jump
into
a
sequence
from
any
point.
You
don't
have
to
go
back
and
retrieve
any
of
the
past
information.