►
From YouTube: BHTMS: Describing the Minicolumn Competition
Description
I will be reviewing the current prose for the Spatial Pooling page and continuing to write about the minicolumn competition and active duty cycles.
A
A
A
A
A
So
here
we
are,
this
is
I'm
Matt
Taylor.
Thanks
for
joining
me,
we're
going
to
continue
building
HTM
systems,
we'll
be
talking
about
the
mini
column,
competition.
Today,
please
excuse
any
technical
difficulties
we
may
be
having
I
may
be.
Having
because
certainly
the
YouTube
live
thing
is
totally
new
to
me.
Twitch
was
a
lot
easier,
so
I've
got
a
lot
a
few
things
to
learn
here,
so
hopefully
not
a
big
deal.
A
A
But
we're
gonna
focus
on
the
mini
column,
competition
describing
that
and
then
maybe
get
into
learning
and
duty
cycles.
The
duty
cycles
isn't
complete:
we've
only
done
active
duty
cycles.
We
haven't
done
overlap
duty
cycles,
yet,
which
will
be
both
will
be
necessary,
I
believe
to
implement
boosting
I'm,
not
quite
sure
about
overlap,
duty
cycles,
I
I,
know
I
investigated
them
a
couple
years
ago,
but
I'm
not
certain.
Why
they're
used
it's
probably,
and
it's
probably
for
reversing-
seems
to
be
the
reason,
but.
A
We
can
do
with
the
overlap
duty
cycles
and
you
know
similar
to
the
active
duty
cycle.
It's
a
anyway
we're
not
going
to
do
any
coding
today
or
creating
diagrams
we're
just
going
to
try
and
do
pros,
but
like
last
time,
if
we
run
into
situation
where
we
need
to
update
a
diagram,
I'm,
not
afraid
to
go
into
the
code
and
update
it.
So
this
is
where
we're,
where
we've
gotten
to
so
far
and
we're
going
to
work
on
this
competition
first
off
and
so
we'll
start.
There.
A
A
If
you
don't
know
the
way
to
get
to
discord,
voice
chat,
let
me
copy
the
link
and
put
it
into
chat.
Alright.
So
let
me
let
me
know
who's
there.
We
got
five
people
watching.
It
looks
like
so
thanks
for
for
joining
in
we're
gonna
get
right
to
some
technical
stuff,
and
let
me
know
if
there's
any
issues
can.
Can
everyone
hear
me
I
just
want
to
make
sure
that
I'm
coming
through?
If
someone
could
say
something
in
chat,
if
you're
watching
on
the
YouTube
page,
the
chat
channels
like
right
near
by
the
video
and.
A
Hopefully
everything
is
going
well
because
it's
hard
for
me
to
tell
my
control
room
is
much
different
here
than
it
was
on
in
a
twitch.
So,
let's
see
I
think
I
can
see
yeah,
okay
right.
So
let's
go
to
the
screen.
I've
got
the
server
running
if
you've
been
following
along
with
me,
you
know
what
you're,
what
you're
looking.
B
A
If
not,
there's
a
github
project
that
you
can
follow
along
with
this
is
all
the
code
I'm
pushing
is
being
pushed
into
this
project,
which
you
can
see
right
there.
Even
if
you
can't
see
the
chat
down
there,
it's
called
building
HTM
systems,
and
this
is
currently
what
it
looks
like.
This
is
the
spatial
pooling
page.
This
is
going
to
be
an
interactive
tutorial
on
how
to
create
a
spatial
Pooler,
why
it
exists,
what
it's
doing,
how
it's
doing
it
and
how
it
relates
to
the
neurobiology
of
the
neocortex.
A
So
we've
already
talked
about
many
columns,
I'm
not
going
to
review
this
stuff.
We've
got
placeholders
here
for
certain
things
like
this
is
a
diagram
that
doesn't
exist
yet
I'd
love
to
make
that
happen,
but
I
haven't
gotten
there.
Yet
this
is
the
data
that
we're
that's
being
displayed
or
being
encoded
an
input
into
the
spatial
Pooler,
and
this
is
the
encoding
split
up
into
its
parts
or
all
together.
Here's
the
potential
pools
diagram.
Given
a
mini
column,
each
one
has
a
different
potential
pool
and
you
can
tweak
this
and
change
it.
A
We're
going
to
keep
it
at
85
percent.
I've
got
a
little
code
in
here
Oh.
Actually
before
we
go
move
on
to
the
mini
column,
competition
we
are
going
to.
We
are
missing
something
in
permanence
--is,
so
we
have
a
description
here
where
we're
introducing
the
term
synapses
the
first
time
we've
talked
about
synapses
in
this
document
as
scalar
permanence
values,
that's
how
we
model
synapses,
but
we
have
not
talked
about
how
initial
permanence
azar
created
what
we
barely
talked
about,
how
additional
permanence
is
created.
We
haven't
talked
about
the
mechanism
we're
using.
A
So
that's
what
this
distribution
here
is.
This
is
a
normal
distribution
around
a
center
point,
and
so
that's
that's
how
we
want
to
set
up
the
synapse
permanence
is
we
want
to
choose
a
center
point
which
I've
chosen
point
five,
which
we
can
move
around
if
we
want
and
moves
the
distribution
like
so
so
we
have
I
have
some
code.
That's
doing
this,
given
a
center
point,
it
will
create.
A
It
will
create
this
connection.
Distribution
for
each
mini
column,
as
you
can
see,
each
mini
column
has
a
slightly
that's
randomized,
so
they
all
have
different
initial
permanent
settings,
the
more
mini
columns
we
get.
The
more
sort
of
normal
this
distribution
gets
so,
for
example,
I
should
be
able
to
go
into
our
code
here
and
I.
A
Think
I
have
like
a
size
in
the
state
here,
the
SP
size,
or
do
I
I
might
not,
but
we
should
be
able
to
control
the
size
of
the
spatial
Pooler.
Here's
where
we're
creating
it
mini
column
count
so
I
have
that
set
up
as
a
just
a
global
page.
Variable
I
should
probably
pull
that
out
into
a
state
at
some
point,
but
but
I
won't,
but
I
do
want
to
show
you
that
when
I
increase
this,
if
we
increase
this,
we
probably
want
to
increase
the
winners,
but
I'm
not
going
to
worry
about
that.
A
We
should
see
this
distribution.
Oh
wait,
wait!
It's
it's!
Actually
the
input
size
that
matters
not
the
minute,
so
you
see
the
the
number
of
many
columns
increased
here.
That's
not
actually
what
I
wanted
to
do.
What
I
want
to
do
was
increase
the
size
of
the
input,
so
I
can
do
that
by
by
increasing
the
the
end
values
of
our
encoders
here.
A
So,
for
example,
I'll
just
show
I'll
just
increase
the
scalar
encoder
by
a
factor
of
10,
and
we
should
be
able
to
see
that
distribution
change
in
order
to
do
this
correctly
I'm
going
to
have.
This
is
a
little
bit
of
a
code.
Smell
I'm
gonna
have
to
go
into
the
combined
encoder
because
it
also
has
is
initializing
its
own
encoder,
but
I'm
not
too
worried
about
the
code
smell
at
the
moment.
So
this
should
store
it.
So
now
our
our
input
space
is
much
bigger.
A
As
you
can
see,
the
combined
encoding
is
much
larger
because
the
scalar
space
is
taking
the
scalar
value
is
taking
up
a
much
larger
space-
hello
Falco.
Hopefully
you
can
hear
me
so
I'm,
just
showing
this
we're
going
to
talk
about
permanence
--is
and
the
initial
distribution
of
connection
permanence
Azure,
synapse
permanence
is,
and
you
can
see
how
much
more
normal.
This
is
when
we
have
a
bigger
input.
Space
makes
processing.
Time
goes
way.
B
A
We
create
when
we
increase
the
size
of
the
input
space,
so
we
we
don't
want
to
get
too
crazy
about
this,
but
I
could
also
you
know
we
could
double
this
again
and
just
show
you
this
will
slow
things
down
quite
a
bit,
but
now
we've
got
a
nice
normal
distribution
right
around
that
center
point.
So
I
want
to
show
how
we're
doing
this
distribution
we're
using
something
called
a
random
Bates
distribution
which
and
I'll
show
and
I'll
talk
about.
A
A
So
I'm
stating
here
for
these
diagrams,
the
connections
are
initially
just
establishing
a
normal
distribution
around
a
center
point,
but
I'm
not
saying
how
I'm
sort
of
saying
why?
Because
it
ensures
that
synapses
are
prime
to
either
connect
or
disconnect
quickly
when
learning,
because
they're
close
to
the
connection
threshold.
So
let's
look
into
some
of
this
code
and
in
the
permanence
'iz
and
this
this
is
actually
going
to
be
within.
A
B
A
A
Was
trying
to
get
this
all
nice,
so
you
guys
could
actually
see
it
somewhat
it's.
What
are
my
local
changes
here
now
I
just
added
some
comments,
I'm
sure
I
can
actually
do
this.
Look
at
this
here
too.
A
We
have
an
assertion
so
from
head.
This
is
what's
most
recent
and
head.
What
have
I
done?
That's
different
assert,
so
I've
got
I've
created
this
expected
value,
and
this
is
actually
the
newer
thing.
This
is
what
I
want
I
think
right,
so
I'm
I
was
just
assuring
the
min
and
Max
were
right.
So
I
remember
doing
this
in
two
places.
Now
one
way
it
was
a
little
cleaner
than
the
other.
Actually
let
me
before
I
do
that
the.
A
Yeah
we
want
the
well
I'm
with
the
locals
change
the
one
where
I
put
it
into
an
expected
I
think
that's
cleaner.
So
that's
what
we
want
and
then
here
it's
I,
just
added
an
extra
test
to
make
sure
that
the
overlap
arrays
were
matched
which
seems
acceptable
to
me.
Now
that
we've
done
that
we
should,
we
should
run
tests
again.
A
And
make
sure
nothing
that
these
tests
don't
run
mm-hmm
and
they
they
do
they
just
take
a
little
while
and
then
we'll
go.
Look
at
our
permanent
sis
code
as
if
I
had
more
than
one
mind.
No
I,
just
am
very
forgetful.
I
mean
I,
have
I,
think
I
have
less
than
one
mind:
I'm
super
forgetful.
Okay.
So
let's,
let's
change?
What
else
do
we
have
changed?
A
A
Let's
make
this
a
little
bigger,
so
you
can
see
it
so
we'll
leave
it
at
that
now
we
should
be
back
in
a
good
state.
Okay,
so
initial
permanence
is
right.
Here
are
so
we've
got
get
permanence
--is,
but
that
doesn't
mean
that
we've
created
them.
Yet
so
here's
here's
one
of
the
things
we
need
to
talk
about
is
this
random
baits
function,
the
random
baits
function,
I'm
using
a
d3.js
version.
A
A
A
This
ensures
that
synapses
are
primed
to
either
connect
or
disk
and
I
quickly,
sharing
a
more
and
sharing
more
entropy
in
the
initial
state
of
the
system.
So
I
should
say
something
here
about
the
Bates
distribution.
I'm,
not
I,
don't
think
I
want
to
make
a
big
deal
about
it
like
I,
don't
want
to
give
it
its
own
header
heading
or
anything,
because
this
is
just
one
way
to
do
it.
This
is
not
even
the
way
nupoc.
A
Does
this
I
don't
even
know
how
nupoc
does
it
I
think
nupic
doesn't
use
a
a
distribution
it
just
sort
of
randomly
it
does.
The
important
thing
is
that
most
of
the
connections
are
close
to
this
is
the
connection
threshold
and
nupoc
I
believe
they're
sort
of
random
you
know,
is
the
base
distribution,
something
that
resembles
the
biology
I'm,
not
I'm.
Not
it
makes
sense
that
the
that
there
would
be
a
normal
distribution
I
would
think
around
this
connection
threshold.
This
is
we
have
to
think
about.
This
is
just
being
a
starting
point.
A
A
That's
the
that's
the
important
thing
yeah
and
if
the
research
comes
out
we
can
change
it,
but
but
even
if
it
does
I'm
not
sure
it's
important
as
long
as
like.
If
this
were
just
random
random,
we
could
I
mean
yeah.
If
this
were,
if
this
were
just,
if
we
just
randomly
had
all
them
around
85%
of
them
close
to
the
threshold,
it
would
work
the
fact
that
we
have
this
hill.
A
You
know
this
peak,
it's
not
that
important,
but
it's
something
something
Alex
Lavin
told
me:
it
was
probably
the
best
way
to
do
it
and
he
recently
commented
on
the
forum
about
it
too.
When
I
mentioned
him,
so
that's
what
we're
gonna
use,
we're
gonna
use
this
Bates
distribution,
so
I'm
just
gonna,
say
one.
There
are
many
ways.
A
A
A
Yeah
connection
distribution,
so
as
we
change
and
and
the
what
they
call
this
in
Bates
is
independent
variables,
as
you
increase
the
number
of
independent
variables
in
the
Bates
equation.
Is
that
the
right?
That's
just
a
distribution
bution,
the
peak
of
the
curve
becomes
more
prominent,
say
that
and
see
this
in
action
by
changing
this
value.
Here
just
want
to
see
if
this
works,
because
we
increase
increase
this
the
peak
yeah,
the
higher
we
get
the
peak
year.
A
It
is
if
we
go
down
to
like
6,
it's
gonna
be
flat
real
flat,
then
we're
gonna
have
the
two.
It's
almost
completely
flat.
One
is
0
is
like
a
flat
line:
oh
I,
don't
even
let
it
go
to
0,
so
hello,
lollie,
May,
nice,
to
see
you
as
you
can
see.
You
show
up
a
chat
right
here.
You
guys
watching
be
I'd,
be
really
happy
if
you,
if
you
gave
this
video
a
thumbs
up
and
certainly
subscribe.
If
you
subscribe,
something
will
happen
on
this
on
the
video,
your
name
and
lights.
A
So
I
got
that
idea
from
twitch
so
hit
that
subscribe
button.
If
you
haven't
subscribed
and
I'm
pretty
sure
something
like
will
pop
up
on
the
video,
a
brain,
a
brain
will
come
brains
will
come.
Ok,
so
I'm
changing
I'm
gonna
put
this
back
to
20
I!
Think
for
today.
Oh,
that's,
really
tight,
see
how
I
see
how
crazy
it
is.
Isn't
it
called
kurtosis,
kurtosis
I,
don't
know
kurtosis
I've,
never
heard
of
that
term
probability.
Theory
the
measure
of
tailored
miss,
oh
yeah,
that
makes
sense
of
a
probability.
A
A
B
A
A
A
A
Kurtosis,
that's
great
I,
love
learning
something
new
see,
also
kurtosis,
okay,
okay,
so
that's
how
we're
establishing
our
distribution,
one
of
the
things
I
want
to
show
is
the
actual
code
to
do
this.
So
I
scoot
it
down
so
the
code
and
create
permanence
is
is
right
here
in
the
spatial,
polar
and
simple
HTM.
A
So
we
do
this.
Oh
this
yeah!
This
is
right.
We
do
this
one
time
up
front
when
the
SP
is
constructed,
then
that's
those
are
our
initial
permanence
--is
from
there.
We
will
never
do
this
again
unless
a
new
spatial
Pooler
is
constructed,
so
this
has
just
done
once
and
then
those
permanence
is
changed
if
learning
is
turned
on,
if
learning
is
not
turned
on,
they
don't
change
they're,
just
that's
where
they're
at
all
the
time.
A
A
So
I
already
said
connection
established,
so
we're
gonna
put
some
code
next
and
then
we'll
show
the
distribution,
diagram,
I.
Think
that
makes
sense.
So
I'm
going
to
write
one
more
paragraph
to
explain
that
this
is
done
when
the
SP
is
created,
we're
going
to
write
the
code
that
is
executed
when
the
SP
is
created
and
then
we'll
show
the
distribution
diagram.
A
A
A
B
A
Then
let
me
put
the
link
in
alright,
so
logic
well
uses
a
d3
so
now,
let's
add
the
code
and
I'm
gonna
copy,
ok,
so
here's
here's
a
code
example
we're
going
to
have
to
create
the
code
example
in
another
file
and
keeping
the
code
examples
in
a
different
file,
and
so
we
will
throw
this
in
here.
This
is
going
to
be
code
example.
Two
code
example,
two
establishing
initial,
let's
say:
MIT
and
we'll
leave
mini
column,
mini
column,
initial
permanence
values
using
a
random
Bates
distribution.
A
A
Hold
on
I
gotta
find
out
where
I
got
them
from
code.
Examples.
Example:
spatial
point:
okay:
here
it
is
wow
that
was
a
place.
It
was
just
dense,
okay,
so
we
want
another
code.
Example:
I
might
change
the
way
this
works,
but
this
is
working
for
me
now
we're
just
going
to
create
code
example,
two
we're
going
to
create
a
string
literal
and
put
the
code
example
there
and
just
index
it
so
it'll
just
be
the
second
one,
and
now
we
got
to
go
grab
the
code
example
from
the
actual
spatial
puller.
A
So
all
of
these
code
examples
are
what's
running
behind
the
page,
so
that's
something
I'm
I'm
really
trying
to
adhere
to
so,
for
example,
this
this
is
it
get
the
permanent
first.
You
need
the
potential
pool
and-
and
I
will
explain
this
because
there's
there's
a
tricky
bit
to
this,
and
it's
that
the
arrays,
the
indices
of
the
these
arrays,
the
Rays
of
the
permanence,
is
the
originally
permanence
array
for
each
mini
column
matches
its
potential
pool.
A
So
you
can't
depend
on
using
the
index
of
the
mini
column
to
access
its
permanence
value,
because
the
permanence
values
are
matched
to
the
potential
pools
same
problem
with
the
potential
pools.
The
potential
pool
is
an
array
of
indices
of
mini
column
indices,
and
so
this
these
permanence
is
match
that
they
don't
they
don't
logically
just
count
up
and
they
don't
match
one
to
one
with
each
mini
column,
because
that's
a
bit
of
a
waste
of
space.
A
If
you've
got
a
small
potential
pool,
you
don't
want
to
store
lots
and
lots
of
it's
basically
permanence
--is
that
don't
exist.
There's
there
are
no
permanence
is
unless
that
is
a
part
of
the
index,
is
a
part
of
the
potential
pool.
Okay.
So
let's,
let's
try
this
and
just
put
this
here
and
then
clean
this
up,
so
I
think
we
can
I
think
we'll
keep
this
get
potential
pools.
Let's
just
leave,
we
won't
use
this
we'll
just
say
get
potential
pools.
A
The
baits
function.
Let
me
look
at
this
again.
If
I
go
to
this
baits
function
right,
we're
we're
essentially
establishing
it
using
a
parameter
to
the
SP.
That
is,
that
establishes
what
that
crew
ptosis
value
is
got
a
new
word.
I
love
having
a
new
word
to
use
so
I,
don't
think
I'm
going
to
highlight
this
I'm
just
going
to
essentially
say
call
this
baits,
we'll
call
it
random
baits.
A
A
A
A
So
maybe
I
will
leave
that
and
we'll
call
this
distribution
center,
because
I
think
that's
what
I
called
it.
Yeah
connection
no
center
of
distribution
here:
okay,
establish
a
mini
colonist
initial
permanence
values,
permanence
values
here
permanence
values
using
a
random
Bates
distribution.
So
that's
our
code
example.
This
is
weird
that
the
my
diagram
is
a
little
bit
off,
but
that's
okay!
Well,
we'll
deal
with
that
later.
A
Okay,
so
get
potential
pools.
So
the
thing
I
want
to
note
about
this
is
what
I've
talked
about
earlier.
Is
that
this
method
of
creating
the
permanence
--is
aligns
to
the
potential
pool
for
each
mini
column?
It's
not.
It
doesn't
give
you
an
array
back
that
matches
that
has
space
for
every
single
mini
column
or
every
single
input
cell.
Excuse
me
we're
talking
about
one
mini
column
and
how
it
maps
to
the
input.
A
So
this
function
is
not
going
to
give
you
an
array
that
that
aligns
to
the
entire
input
it's
only
going
to
align
to
the
potential
pool
that
of
this
mini
column.
To
that
input,
which
saves
space
in
the
long
run,
it
makes
the
code
a
bit
more
complicated,
I
guess
but
I
think
that's.
Okay,
so
I
need
to
explain
I,
think
I,
explained
random
baits
and
get
potential
pools.
We've
already
got
the
code
for
up
here,
so
assuming
that
this
is
how
we're
getting
potential
pools.
A
A
A
B
A
A
A
A
A
A
How
did
you
put
it
that
it
does
not
is
not
fully?
These
arrays
are
not
fully,
are
not
indexed
or
not
do
not
cover
the
complete
input
space.
Let's
say
that
these
are
raised,
do
not
cover
the
entire
input
space,
but
only
the
mini
columns,
potential
pool
and
other
words
do
not
expect
to
index
these
arrays
by
input
space
index.
A
A
A
Which
matches
the
you
think
I'm
over
complicating
it?
This
was
something
that
confused
David
when
we
were
writing
this
code,
so
I
thought
I
would
be
explicit
about
it.
I
don't
think
David's
on
line
because
we're
not
doing
real
coding
today,
he
jumps
in
when
we're
doing
coding,
not
prose
so
I.
Don't
know
that
he's
on
line,
but.
A
Well,
if
it's
over
is
maybe
there's
a
simpler
way,
I
can
say
it.
I
mean
the
the
simple
the
the
crux
of
it.
Is
you
can't
index
this
by
by
using
the
length
of
the
input
space
you
have
to
go
through
the
potential
pool
array
in
order
to
find
the
input
index
for
each
premise,
value
must
inspected
many
columns,
pinch
pool
I
mean
I,
don't
maybe
I
can
just
leave
it.
A
A
A
A
A
Don't
know
where
somewhere
down
here
now
we're
going
to
talk
about
the
mini
comp,
competition,
okay,
so
I
need
some
pros
right
under
the
mini
con
competition
to
explain
what
it
is,
and
this
is
where
we'll
talk
about
K
winners
and
introduce
the
idea
of
K
winners.
Maybe
K
winners,
maybe
there's
a
Wikipedia
page
about
it.
Yeah
winner-take-all,
that's
what
they
call
it:
winter
take-off
or
K
winners,
winner-take-all.
A
Kay
winners
takeoff
in
many
practical
cases,
there's
only
there's
not
only
a
single
neuron,
which
becomes
the
only
active
one,
but
there
are
exactly
K
neurons
which
become
active
for
a
fixed
number
of
K
yeah.
That's
exactly
we're
talking
about
winner-take-all
networks,
okay,
so
competitive
learning.
This
is
our
n
n
concept,
but.
B
A
A
A
A
A
A
A
For
each
mini
column,
if
I
select,
the
mini,
complement
so
I'm
not
sure
the
winners.
Yet
so
I'll
come
up
with
a
version
of
this
diagram
that
doesn't
show
the
winners,
but
it
shows
a
count
of
each
you
and-
and
this
is
where
a
pause
is
really
useful.
So,
let's,
let's,
let's
also
add
a
pause,
I
think
I
have
a
pause.
I
have
a
pause
command
somewhere
a
UI
element.
A
A
A
A
A
A
You
call
them
overlap
and
yeah
so,
and
this
competition
will
keep
down
here.
We
might
actually
have
a
another
one.
So
what
I'm
gonna
do
here
is
tell
it
show
competition,
false
and
then
on
this
one
will
say:
show
competition
true
and
now
we'll
go
into
the
mini.
Comic
competition
I
want
to
get
in
there
and
we'll
have
a
new
option:
I'm
not
going
to
store
it.
So
where
is
our
update
function
here?
We
go
update,
render
inputs
debase,
render
competition
so
in
the
competition.
A
A
A
A
Was
this
dot
prop
so
competition
and
we'll
just
add
that
to
the
condition,
if
show
competition
and-
and
then
this
one
same
thing,
if
show
competition
and
winners
includes,
let
me
put
the
extra
prints
here
so
now.
They
should
not
show
up
okay,
good,
not
crazy,
about
this,
but
I
can
refactor
this
later.
I'll
put
it
to
do
fix
me.
We've
refactor
out
winners
into
another.
A
Thought
there
was
something
you
can
simpler
than
that,
maybe
not
okay,
so
we
can
do
that
we'll
do
it
and
we'll
just
do
array
it's
whatever
stroke
array,
it's
from
all
right,
so
I'm
gonna
make
them
all
the
same.
So
we're
not
going
to
have
a
dynamic
or
a
stroke
array.
It's
gonna
be
two
or
just
I,
think
that'll
work
yeah
there
we
go
so
let's
make
it
even
smaller,
even
one,
maybe
one
two
and
the
stroke
width
should
be
pretty
small.
A
A
A
A
A
A
A
But
let's
do
that's
a
good
point,
so
we
could
define
what
the
overlap.
What
overlap
is
essentially
by
by
pausing
this
am
I
allowing
them
deposit,
select
a
mini
column
and
then
dynamically
show
what
the
overlap
score
is
for
that
mini
column
somewhere
by
Counting.
You
know
one,
two,
three,
four:
five:
six:
seven,
eight
nine
ten,
eleven
twelve
thirty!
Forty
two
days
ago,
Saturday
June
1920
its
twenty
four
that
one.
A
Yeah,
that's
that's
exactly
what
I'm
planning
on
doing
I'm
gonna
take
I'm
gonna,
just
I'm
gonna
tell
them
what
to
do
and
I'm
gonna
embed
the
pause
button
in
there
and
say
press
this.
Press
pause
for
the
data
now
go
click
a
mini
column
and
then
notice
the
overlap
score.
The
pops
up,
we're
gonna,
put
the
overlap
score
right
in
the
middle
here.
So
let's,
let's
do
that
right
now.
Let's
add
the
overlap
score,
so
we're
gonna
say:
if,
if
we're
not
showing
the
competition
will
show
the
overlap
score
and
then
the
next
one.
A
There's
it
would
be
great
to
have
maybe
we'll
do
that
in
like
another
diagram
down
at
the
bottom:
okay,
I'm
sort
of
brainstorming
about
the
new
diagram
that
I
want,
but
you're
right.
That
was
a
good,
a
good
presentation,
sort
of
the
stacked
you
could
see
what
I'd
like
to
be
able
to
do
is
associate
like
this
mini
column.
If
we,
let's
say
we
have
a
diagram,
so
I
have
to
think
about
this
a
bit
because
I
have
limited
screen
real
estate
here.
I'm
I
can't
make
these
any
wider
than
this,
because
I
know.
A
There's
there's
just
issues
with
I
want
this
to
be
easily
embeddable
I
want
it
to
display
on
mobile,
you
know,
and
so
I
need
to
keep
these
the
same
width.
So
whatever
I
add
needs
to
be
this
width,
so
I'm
thinking
I'll
put
something
under
it
much
in
the
same
way
that
I
put
this
under
the
others
and
I
can
show
that
stacked
diagram
that
you
said
horizontally
instead
of
vertically
right,
I.
Think.
A
A
A
This
selection
look,
look
bad,
but
I'll
deal
with
that
later.
I
want
to
display
the
overlap
score
right
here
and
we'll
do
it
for
both
of
them.
I,
don't
think
that'll
be
too
bad.
Okay,
so
back
to
the
mini
column,
competition
I
will
create
another
function,
so
we've
got
render
input,
render
potential
pools,
render
connections.
A
A
Selected
mini
column
should
be
in
here
somewhere
right,
select
a
mini
column,
no,
no
yeah.
It
should
be
prop,
so
we
got
so.
Here's
where
we
get
so
I
need
to
get
the
potential
pool
for
the
selected
mini
column,
and
that
will
give
me
the
the
permanence
--is
so
I
need
this,
for
the
permanence
is
okay,
so
that
so
there's
going
to
be
a
pools
first
and
then
perms,
okay,
so
const
pools
equals
that
constant
terms,
equal
pools.
B
A
I'm
confused
this
dot,
props
dot
permanence
is
I,
don't
need
to
get
the
pools,
I,
don't
know,
I,
don't
care
all
I
need
is
the
permanence
is
and
I'm
just
going
to
do
a
count.
Okay,
so
Holocaust
overlap
equals
zero
and
then
we're
just
going
to
loop
over
this
or
each
firm,
and
all
we
do
is
if,
if
firm,
is
greater
than
this
props
connection,
threshold
overlap,
plus
plus
so
now
we
have
the
overlap,
and
now
we
need
to
put
it
somewhere.
So.
A
A
A
A
Text
set
text,
text,
value,
change,
text,
value,
something
like
that
text
element
I
know
it's
something
simple:
I
always
have
to
look
this
type
of
stuff
up
for
all
you
need
is
to
set
the
inner
HTML
all
right,
so
so
I
thought
it
was
just
text.
I
thought
you
just
called
text
and
of
any
element
and
it
would
set
the
it
wasn't.
It
might
be.
Html.
A
A
White-Space:Nowrap
display:block,
it
should
be
black
it
doesn't.
It
doesn't
look
like
it's
showing
anything
pause,
pause
pause.
This.
A
A
A
B
A
Right
I
just
want
to
display
the
overlaps
core
work.
Work
work
before
we
Sh
before
we
talk
about
key
winners.
I
want
to
make
sure
that
it's
clear
what
an
overlap
score
is
what
we're
talking
about
a
mini
column,
so
I'm
sort
of
isolating
that
part
of
this
diagram,
but
right
now
it's
not
working,
which
is
probably
just
something
simple,
I'm
missing,
I,
don't
think
it'll
be
hard!
Oh
it's!
A
A
A
A
B
B
A
A
A
B
A
A
A
A
There
there
it
is
okay,
there's
my
watch,
so
these
are
my
parents's
and
there's
128
of
them,
which
is
it
shouldn't,
be
128
shouldn't
be
under
28.
It
should
be
less
than
128,
because
that's
the
potential
pool
is
85%
of
128.
The
permanence
is
are
what
I'm
getting
from
these
should
all
be.
There
are
different
sizes.
A
Okay,
hold
on
all
I
need
to
do
is
go
to
where
I'm,
rendering
the
connections
and
make
sure
that
I'm
I'm
using
the
same
logic,
because
obviously
I've
got
something
wrong
in
my
head:
here's
rendering
connections
where's
the
data
coming
from
we're
calling
this
stop.
Props
permanence
is
selected
mini
column,
we're
getting
selected
mini
column
from
the
stuff
processor
mini
column,
which
is
right.
A
Right
the
input
bit
has
to
be
on
the
input
bit
has
to
be
on
so
I'm,
not
I'm,
not
calculating
that
so
I'm
just
displaying
everywhere
that
there's
a
possible
connection.
So
this
isn't
an
overlap,
I'm
not
doing
the
actual
overlap.
Calculation
I'm,
just
counting
all
the,
but
all
that
all
of
the
the
connections
that
are
above
the
connection
threshold
I
obviously
have
to
also
use
the
encoding.
A
A
A
All
right,
selected,
mini
column
and
coding
potential
pools
for
the
selected
mini
column,
and
now
we
can
add
this
bit,
which
is
what
we
really
need
to
do
to
decide
whether
we're
going
to
count
it
as
an
overlap,
say
if
the
permanence
is
greater
than
the
connection
threshold
and
the
input
bit
is
on
that
should
be
it
I.
Don't
know
why
that
was
so
confusing
for
me.
That's
basically
the
calculation
we're
doing
eyes
not
defined
rights,
because
I'm
not
I.
A
A
Now
and
I'll
make
this
look
nicer
later,
I
think,
but
essentially
maybe
I
should
okay
yeah,
let's
write.
Let's
continue!
Writing
the
prose
we'll
get
there
all
right,
close
this
guy
back
to
the
prose
back
to
away
from
the
mini
column,
competition.
Where
were
we
right?
Is
they
do
this
by
comparing
their
overlap,
scores
to
emphasize
that
it's
a
new
term.
A
B
A
And
it's
funny
because
in
my
head
that's
I
mean
it
makes
total
sense
I,
just
in
the
code,
I
disconnected
and
didn't
realize.
Oh
obviously,
I
have
to
it's
not
just
the
potential
connections.
It's
the
ones
that
overlap
the
current
input.
It's
right
there
in
the
code,
an
overlap,
score
denotes
how
strongly
mini
column
matches
the
current
input
and
the
diagram
below.
A
A
A
B
A
A
B
A
That
I
want
to
say
connections.
These
are
the
connected.
Synapses
I've
already
explained
that
these
this
is
the
value
of
this
is
the
number
so
the
number
of
connected
synapses,
okay,
which
means
permanence,
is
above
the
connection
threshold,
which
has
been
explained
for
previously,
that's
yeah,
that's
what
I'm
doing
I'm,
explaining
the
overlap
score.
Definitely,
that
was
the
point
of
this
whole
thing
is
to
explain
the
overlap.
Score
is
the
number
of
connected
connected
synapses
that
overlap
the
current
input.
A
A
A
A
A
So
connected
synapses
that
do
not
overlap
the
current
input
are
not
counted
in
the
overlap
score,
obviously
right,
but
I
think
it's
okay
to
restate
this
I
want
to
I
really
want
to
fix
this.
So
I
can
embed
this.
This
pause
button
inside
of
the
text
I'm
not
sure,
if
that's
possible,
with
with
it
being
an
SVG
but
I,
wouldn't
be
against
changing
it.
A
A
A
A
So
that
would
be
the
creation
of
another
diagram,
so
I
might
put
a
placeholder
in
for
that
stack,
ranking
and
then
the
ideally,
as
you
select
one
of
these,
the
mini
columns
in
the
stack
ranking
that
becomes
the
selected
mini
column
and
all
the
other
ones
update.
So
you
can
tell
you,
can
associate
this
one
at
the
top
of
the
stack.
Is
this
mini
column?
A
A
A
A
Here
is
another
view
of
the
many
columns
they
columns,
ordered
ordered
by
their
overlap,
scores
those
with
the
those
with
higher
overlap,
scores
are
and
instead
of
being
up
and
down.
This
is
going
to
be
left
and
right,
I
think
so
we'll
say
closer
to
the
left.
So
let's
do,
let's
do
left
and
then
go
down.
We'll
have
the
the
highest
ones
are
the
highest
ones
at
the
left,
left
left
of
the
diagram
and.
A
Yeah
left
of
the
diagram
during
the
the
mini
column,
yeah
I,
should
be
clear
when
we
get
the
diagram
competition.
A
A
I'm
trying
to
say
Kay,
you
know
we
decide.
Kay
I've
talked
about
Kay
I'm
talking
about
K
winners,
yet
yeah
it'd
be
fifth
of
July
man.
The
fireworks
were
nuts
last
night
near
my
house.
There's
these
giant
signs
everywhere.
That
say
no
fireworks
thousand
dollar
fine
for
fireworks
and
there
must
have
been
50
people
shooting
off
fireworks
and
nobody
cared
okay.
So
to
choose
the
winners
of
the
competition
we
sent,
we
must
decide,
we
decide
how
many.
A
How
do
I
decide
how
many
many
columns
we
want
to
represent
the
data
and
I
mean
what
I
want
to
say?
Is
we
just
like
cut
off
the
stack
at
that
point
and
I?
Don't
maybe
it's
simply?
Maybe
that's
what
we
do.
What
we
do
we
cut
out,
their
remaining
mini
cut,
cut
the
stack
at
that
point,
and
this
should
be
clear
from
the
diagram,
because
we'll
have
first
of
all,
we'll
have
a
K,
and
so
that's
we'll
be
able
to
have
a
K
and
we
can
move
it
back
and
forth.
A
A
A
So,
let's
call
this
K
winter
account
number
value,
k,
winners,
low,
let's
at
least
at
least,
have
to
have
I,
don't
know,
10
I,
don't
know,
let's
okay,
1
and
we'll
make
the
high
I
mean
it
can't
be
bigger
than
the
imp
account.
I,
don't
even
know
what
that
is.
So,
let's
just
make
it
a
hundred
I,
don't
know
and
we'll
step
it
at
1,
which
we
don't
need
to
do
anything
for.
We
might
change
this
at
some
point
and
we'll
call
this
K
winner
account.
A
A
A
A
A
A
A
A
Oh
I
think
I
know
why.
Okay
so
I
have
to
have
a
in
in
the
component.
Did
update
I'm
not
always
initializing
the
spatial
Pooler
I'm
only
initializing
the
spatial
puller.
If
the
connection
threshold
changes
I,
don't
think
I
I,
don't
think
I
need
to
reinitialize
a
spatial
polar
if
K
changes.
All
I
really
need
to
do
is
update
the
option
so
so.
A
A
So
now
we
only
have
eight
and
they're
the
very
highest
the
highest
of
the
highest
overlaps,
but
there's
a
tiebreaking
problem
here
we
haven't
really
talked
about
tiebreaking
yet,
but
there
is
a
problem
with
tiebreaking
here,
but
I'm
not
going
to
get
into
that.
Quite
yet,
we'll
probably
talk
about
tiebreaking
well,
I
mean
we
have
to
at
some
point
I
think
it's
probably
probably
important
enough
right
now,
it's
doing
basically
random
tiebreaking,
so
I'm,
not
gonna,
mention
it
all
right.
Here's
another
view
of
the
many
columns
ordered
by
their
overlapped
scores.
A
Those
with
higher
overlap
scores
are
at
the
left
of
the
diagram
during
the
competition
main
column,
so
the
highest
overlap.
Scores
should
represent
the
input
data
to
choose
the
winners
of
the
competition.
We
decide
how
many
many
columns
we
want
to
represent
the
data
and
cut
the
stack
at
that
point
in
machine
learning
terms.
This
is
called
a
K
where's
take
all
operation.
We
can
easily
control
the
sparsity
of
the
new
representation
by
changing
a
K
all
right,
okay,
guys
I'm
gonna
wrap
it
up.
A
Now
it's
almost
three
o'clock
and
my
throat
started
hurt
from
talking.
So,
let's
start
a
review
of
this
code
and
see
what
we've
done
and
where
we're
at
so
first
of
all,
I,
don't
know
why
this
image
is
here.
So,
let's
take
it
out.
I
know
why
I
know
why
it's
there
I
just
shouldn't,
be
there
I
see
you've
mark
brown
so
on
our
spatial
pooler's
page
we've
added
a
diagram.
Stub
we've
extracted
winter
count
from
a
global
page
variable
into
a
state
page
variable.
A
A
This
is
still
the
winter
count.
We
added
a
number
scrubber
to
change
the
Kate
winter
count,
and
then
we
added
some
some
pros
here.
A
code
example
for
permanent
establishing
mini
column,
permanence
values,
yeah
permits
values,
and
then
we
started
on
the
mini
con
competition
and
broke
it
out
into
several
different
diagrams,
one
of
which
we
haven't
created
yet
so
before
we
do
before
we
go
on.
Let's
go
and
create
a
ticket
for
this,
oh
Jesus,
on
every
what
I
want
to
do.
I
accidentally
opened
every
tab
in
there.
A
Okay,
so
looking
at
our
projects,
excuse
me
figure.
Captions
right
pros
is
what
I'm
doing
still
have
to
do.
Those
don't
split
connections
on
proneness
diagram,
initially,
I
made
a
fix
that
okay,
but
let's
add
this
so
create
new
new
diagram
to
show
stack,
ranking
of
many
many
columns
by
overlaps
or
all
right
and
I'm
gonna
turn
us
directly
into
an
issue
or
it's
an
issue
stage
that
it's
an
important
thing
to
do,
and.
A
A
A
A
A
Already,
oh
spaceboy
playing
soon,
you
know
I'll,
try
it
Amaro
yeah
I'll!
Do
it
tomorrow,
I'll
be
on
twitch
tomorrow,
on
my
other
account
we'll
do
a
little
guitar
practice,
I've
been
doing
chord,
progressions,
and
so
maybe
we'll
do
some
chord
progressions
the
stuff.
Okay,
oh,
if
you
think
of
a
better
way
to
explain
the
K
winners.
This
is
all
a
draft
really
and
I'm
totally
open
to
suggestions.
A
Tour
de
France
starts
from
your
town.
Are
you
gonna
go
watch
it
that
sounds
fun.
Do
you
want
to
see
my
new
toy?
This
I
got
like
the
extra-large
stream
deck.
Look
at
all
my
icons,
so
that's
fun,
I,
just
I
just
started
setting
it
up.
It's
a
whole
lot.
Better
cuz
I
was
kept
I
kept
flipping
in
between
screens
to
do
things,
and
now
I
can
do
everything
on
one
screen.
So
that's
nice,
so.
A
A
So
we'll
see
we'll
see
what
happens,
but
the
important
thing
is
done.
Important
thing:
it's
definitely
the
cow
sound
and
once
I
get
the
sounds
hooked
up
so
I
the
chat
bot.
As
you
know,
it
doesn't
work
at
all.
It's
not
hooked
up
at
all.
It's
a
totally
different
API
than
twitch,
but
I
found
the
tutorials
to
get
it.
I
know.
I
can
get
it
working
and
have
it
do
everything
that
it
did
before
and
I
will
add
a
cow
sound.
So
you
can
do
you
know:
bang
sound
cow
anytime.
A
You
want
falco,
you
can
make
the
cow
sound
I'd
be
like
Christmas
every
day,
thanks
for
joining
everybody,
if
you're
watching,
please
like
the
video
and
subscribe
to
the
channel
I,
would
greatly
appreciate
that
and
I
will
be
back
with
a
live
stream.
Monday
research
meeting
livestream
on
Monday
in
the
meantime,
I'm
going
to
be
working
on
thumbnails.
A
So
you
look
at
the
week
the
YouTube
channel
lots
of
lots
of
new
fancy,
thumbnails
I'm,
going
to
keep
working
on
that,
because
if
people
like
to
click
on
nice-looking
thumbnails
for
sure
alright
I'm
going
to
press
this
button
on
the
stream,
deck
and
I
and
if
it
works,
the
stream
is
going
to
stop
so
we'll
see
and
I'll,
channel
and
and
everything
will
be
done
so
take
care.
Everybody
have
a
great
weekend.