Upload
bogdan-manole
View
230
Download
0
Embed Size (px)
Citation preview
8/9/2019 HTM CorticalLearningAlgorithms 1
1/68
"#$%&%'"#'&( )$*+,%&( *$*,%-./0123./4
")* '567.081 (986/./4 &1456.7:;#,? @ABACD>$+)$*E$% CBDB@CC
F?2;9/78D #/0A B@CC
!"# %& '()#*+,-" "%&+.,/# ,*0 1*+#22#3+(,2 4/%4#/+56 1*32(01*7 +8# 10#," 3%*+,1*#0 1* +81"0%3()#*+6 ,/# &/## &%/ *%*93%))#/31,2 /#"#,/38 4(/4%"#": ;%/ 0#+,12"6 "##
8++4%(+9*()#*+,=213#*"1*7:484:
http://www.numenta.com/about-numenta/licensing.phphttp://www.numenta.com/about-numenta/licensing.phphttp://www.numenta.com/about-numenta/licensing.php8/9/2019 HTM CorticalLearningAlgorithms 1
2/68
" #$%&'() *+,, -).& *
!"#$ &'() *(+),-
/012 12 ) 34)5( 6&4217' 75 (012 378$%&'(9 /0&4& )4& 2&6&4): (01'.2 %1221'. (0)( ;7$
207$:3 182 4&:)(&3 (7 (0& 1%>:&%&'()(17' 75 (0&2& '&= ):.741(0%2 (0)(
313 '7( %)A& 1( 1'(7 (012 &)4:; 34)5(9
B C:(07$.0 %72( )2>&8(2 75 (0& ):.741(0%2 0)6& (17' 75 07= ;7$ =7$:3 87'6&4( 3)() 547% ) 2&'274 74 3)():&%&'( 7'B:1'& :&)4'1'. 1' 27%& 4)4&4 8)2&2 )4& '7( 3&2841:)''&3 )331(17'2 1'8:$3& ) 3128$2217' 75 (0& >47>&4(1&2 75 2>)42&
312(414&2&'()(17'2@ ) 3&2841>(17' 75 )>>:18)(17'2 )'3 &F)%>:&2@ )'381()(17'2 574 (0& )>>&'31F&29
G& )4& %)A1'. (012 378$%&'( )6)1:)47.4&229
8/9/2019 HTM CorticalLearningAlgorithms 1
3/68
" #$%&'() *+,, -).& H
)8G19 5H '5/79/7(&4 ,K L/D E6&461&= M
J0)>(&4 *K L/D J74(18): N&)4'1'. C:.741(0%2 ,O
J0)>(&4 HK P>)(1): -77:1'. ?%>:&%&'()(17' )'3 -2&$37873& HI
J0)>(&4 IK /&%>74): -77:1'. ?%>:&%&'()(17' )'3 -2&$37873& HO
C>>&'31F CK C J7%>)4127' )4127' 75 N);&42 1' (0& #&7874(&F )'3 RI
)' L/D S&.17'
T:722)4; UR
8/9/2019 HTM CorticalLearningAlgorithms 1
4/68
" #$%&'() *+,, -).& I
+69H809
/0&4& )4& %)'; (01'.2 0$%)'2 51'3 &)2; (7 37 (0)( 87%>$(&42 )4& 8$44&'(:; $'))((&4' 4&87.'1(17'@ $'3&42()'31'. 2>7A&' :)'.$).&@
4&87.'1V1'. )'3 %)'1>$:)(1'. 774): D&%74; YL/DZ 12 ) (&80'7:7.; %73&:&3 7' 07= (0& '&7874(&F >&4574%2
(0&2& 5$'8(17'29 L/D 755&42 (0& >47%12& 75 >47)80 74
&F8&&3 0$%)' :&6&: >&4574%)'8& 574 %)'; 87.'1(16& ()2A29
/012 378$%&'( 3&2841)42& 312(414&2&'()(17'2@ )'3 :&)4'1'. (1%&B(&4 * 3&284147613& >2&$37873& 574 (0&
L/D :&)4'1'. ):.741(0%2 31613&3 1' (=7 >)4(2 8)::&3 (0& 2>)(1): >77:&4 )'3 (&%>74):
>77:&49 C5(&4 4&)31'. 80)>(&42 * (047$.0 I@ &F>&41&'8&3 275(=)4& &'.1'&&42 207$:3
&5$::;@ 27%& 4&)3&42
=1:: .7 5$4(0&4 )'3 &F(&'3 7$4 =74A9
#/79/393 823.9/09
/012 378$%&'( 12 1'(&'3&3 574 ) (&80'18)::; &3$8)(&3 )$31&'8&9 G01:& =& 37'[(
)22$%& >4174 A'7=:&3.& 75 '&$47281&'8&@ =& 37 )22$%& ;7$ 8)' $'3&42()'3%)(0&%)(18): )'3 87%>$(&4 281&'8& 87'8&>(29 G&[6& =41((&' (012 378$%&'( 2$80
(0)( 1( 87$:3 $(&4 281&'8& 74 87.'1(16& 281&'8&@ 74 ) 275(=)4& 3&6&:7>&4 =07 12
1'(&4&2(&3 1' :&2
)2 (0& 0$%)'
8/9/2019 HTM CorticalLearningAlgorithms 1
5/68
" #$%&'() *+,, -).& R
%9187.5/ 75 I69J.52< 3502;9/7&42
>$3)(&3 1' (012 67:$%&9 #7(& (0)( (0& L/D :&)4'1'.):.741(0%2 3&2841:)8& 7$4 5142( .&'&4)(17' ):.741(0%2@ 8)::&3 \&() ,9 ]74 ) 2074( (1%&@
=& 8)::&3 (0& '&= ):.741(0%2 ^]1F&3B3&'21(; _12(414&2&'()(17'2`@ 74 ^]_S`@
:&2 $'3&4:;1'. L/D :&%&'( (072&>41'81>:&2 ):.741(0%18)::;9 X7$ 8)' (01'A 75 (012 378$%&'( )2 87'(1'$1'. (0& =74A
2()4(&3 1' .2 32%&4405&26&9
&G527 ?2;9/78
#$%&'()@?'89 Y===9'$%&'()987%Z =)2 574%&3 1' *++R (7 3&6&:7> L/D (&80'7:7.;
574 47.4&22 )'3 312876&41&29 G& ):27 >$&'3&'(@ )>>:18)(17'
3&6&:7>&4 87%%$'1(;9 b2& 75 #$%&'()[2 275(=)4& )'3 1'(&::&8($): >47>&4(; 12 54&&
574 4&2&)480 >$4>72&29 G& =1:: .&'&4)(& 4&6&'$& &4 >)4('&42 2$88&225$:@ )2 =&:: )2 ): )$(0742 574 &)80 2&8(17' )4& :12(&3 1' (0& 4&61217' 012(74;9
http://www.numenta.com/http://www.numenta.com/8/9/2019 HTM CorticalLearningAlgorithms 1
6/68
" #$%&'() *+,, -).& U
%9J.(&4 ,K (0& S&.17'2 2&8(17'
=)2 &31(&3 (7 8:)415; (&4%1'7:7.;@
2$80 )2 :&6&:2@ 87:$%'2 )'3 :);&42
*9 C>>&'31F CK 5142( 4&:&)2&
L)=A1'2 d
_$(&4 *K 6)417$2
8:)41518)(17'2
*9 J0)>(&4 IK $>3)(&3 :1'&4&5&4&'8&2e 873& 80)'.&2 1' :1'&2
HM )'3 HO
H9 C>>&'31F QK 5142( 4&:&)2&
L)=A1'2
C0%)3
L)=A1'2
+9*9, P&> ,*@ *+,, ,9 S&)3 /012 ]142(K S&%76&3
4&5&4&'8& (7 *+,+
*9 -4&5)8&K S&%76&3 P75(=)4&
S&:&)2& 2&8(17'
8/9/2019 HTM CorticalLearningAlgorithms 1
7/68
" #$%&'() *+,, -).& M
':8I796 CL ")* ,J96J.9M
L1&4)48018): /&%>74): D&%74; YL/DZ 12 ) %)801'& :&)4'1'. (&80'7:7.; (0)( )1%2 (7
8)>($4& (0& 2(4$8($4): )'3 ):.741(0%18 >47>&4(1&2 75 (0& '&7874(&F9
/0& '&7874(&F 12 (0& 2&)( 75 1'(&::1.&'( (07$.0( 1' (0& %)%%):1)' :)''1'. )4& ):: >&4574%&3 :&%&'( )' &f$)::; 316&42& 2$1(& 75 2>&81):1V&3 '&$4): ):.741(0%29
/012 12 '7( (0& 8)2&9 /0& '&7874(&F 312>:);2 ) 4&%)4A))72&3 (79
L/D2 8)' & 75 '&$4): '&(=74A9 Q; 3&51'1(17'@ )'; 2;2(&% (0)(
(41&2 (7 %73&: (0& )4801(&8($4): 3&()1:2 75 (0& '&7874(&F 12 ) '&$4): '&(=74A9
L7=&6&4@ 7' 1(2 7='@ (0& (&4% ^'&$4): '&(=74A` 12 '7( 6&4; $2&5$: )((&4'2
)'3 2&f$&'8&29 /0& =); 3)() 12 2(74&3 )'3 )88&22&3 12 :7.18)::; 3155&4&'( 547% (0&
2()'3)43 %73&: $2&3 47.4)%%&42 (73);9 J:)2218 87%>$(&4 %&%74; 0)2 ) 5:)(
74.)'1V)(17' )'3 37&2 '7( 0)6& )' 1'0&4&'( '7(17' 75 (1%&9 C >47.4)%%&4 8)'
1%>:&%&'( )'; A1'3 75 3)() 74.)'1V)(17' )'3 2(4$8($4& 7' (7> 75 (0& 5:)( 87%>$(&4%&%74;9 /0&; 0)6& 87'(47: 76&4 07= )'3 =0&4& 1'574%)(17' 12 2(74&39 Q; 87'(4)2(@
L/D %&%74; 12 %74& 4&2(418(16&9 L/D %&%74; 0)2 ) 01&4)48018): 74.)'1V)(17' )'3
12 1'0&4&'(:; (1%&
8/9/2019 HTM CorticalLearningAlgorithms 1
8/68
" #$%&'() *+,, -).& g
C:(07$.0 L/D '&(=74A2 )4& 2$$4>72& 87%>$(&42 (7 %73&: (0&% )2 :7'. )2 =& 1'874>74)(& (0& A&;
5$'8(17'2 75 01&4)480;@ (1%& )'3 2>)42& 312(414&2&'()(17'2 Y3&2841$4>72&B47>&4(1&2 )'3 >41'81>:&2 $21'. &F)%>:&2
34)=' 547% 0$%)' 61217'@ (7$80@ 0&)41'.@ :)'.$).&@ )'3 :&2
)4& $2&5$: &39 L7=&6&4@ 1( 12 1%>74()'( (7
A&&> 1' %1'3 (0)( L/D 8)>)$( 2(4&)%2 2$80 )2 51')'81): %)4A&( 3)()@ =&)(0&4 3)()@ G&< (4)5518
>)((&4'2@ 74 (&F(9 L/D2 )4& :&)4'1'. )'3 >4&318(17' %)801'&2 (0)( 8)' >:1&3 (7
%)'; (;>&2 75 >474&2&'(2 7'& :&6&: 1' (0& 01&4)480;9 C2 ;7$)28&'3 (0& 01&4)480; (0&4& 12 ):=);2 87'6&4.&'8&@ %$:(1>:& &:&%&'(2 1' ) 801:3
4&.17' 87'6&4.& 7'(7 )' &:&%&'( 1' ) >)4&'( 4&.17'9 L7=&6&4@ 3$& (7 5&&3&81518)::; (7 (0& 47:& 75 (0& 4&.17' =1(01' (0& 01&4)480;9Z
8/9/2019 HTM CorticalLearningAlgorithms 1
9/68
" #$%&'() *+,, -).& O
Figure 1.1: Simplified diagram of four HTM regions arranged in a four-level hierarchy,communicating information within levels, between levels, and to/from outside the hierarchy
?( 12 >7221)4)(& 9
Figure 1.2: Converging networks from different sensors
/0& 7'&'(2 2$80 )2
8$46&2 )'3 (&F($4&29 C' )48 8)' 9 /0&2& %13B:&6&: >)((&4'2 )4& 5$4(0&4 87%
8/9/2019 HTM CorticalLearningAlgorithms 1
10/68
8/9/2019 HTM CorticalLearningAlgorithms 1
11/68
" #$%&'() *+,, -).& ,,
7'& '7'B8&::$:)4 :);&4 Y(0&4& )4& ) 5&= &F8&>(17'2 412&3 75 ) 20&&( 75 01.0:; 1'(&487''&8(&3 8&::2 )44)'.&3 1'
87:$%'29 ^N);&4 H` 1' '&7874(&F 12 7'& 75 (0& >41%)4; 5&&3B574=)43 :);&42 75
'&$47'29 /0& 8&::2 1' )' L/D 4&.17' )4& 47$.0:; &f$16):&'( (7 (0& '&$47'2 1' :);&4
H 1' ) 4&.17' 75 (0& '&7874(&F9
Figure 1.3: A section of an HTM region. HTM regions are comprised of many cells. The cellsare organized in a two dimensional array of columns. This figure shows a small section of an
HTM region with four cells per column. Each column connects to a subset of the input and eachcell connects to other cells in the region (connections not shown). Note that this HTM region,including its columnar structure, is equivalent to one layer of neurons in a neocortical region.
C:(07$.0 )' L/D 4&.17' 12 &f$16):&'( (7 7':; ) >74(17' 75 ) '&7874(18): 4&.17'@ 1( 8)'
37 1'5&4&'8& )'3 >4&318(17' 7' 87%>:&F 3)() 2(4&)%2 )'3 (0&4&574& 8)' 47
8/9/2019 HTM CorticalLearningAlgorithms 1
12/68
" #$%&'() *+,, -).& ,*
]74 &F)%>:&@ ) 4&.17' %1.0( 4&8&16& *+@+++ 1'>$( &48&'().& 75 1'>$( $( 4&2&'()(17' ):27 =1::
80)'.&@ :)8&2
)' )>>:& 1' ;7$4 0)'3@ ;7$ 8)' 13&'(15; =0)( 1( 12 )5(&4 %)'1>$:)(1'. 1( 574 W$2( )
2&87'3 74 279 C2 ;7$ %76& ;7$4 51'.&42 76&4 (0& )>>:&@ ):(07$.0 (0& ()8(1:&
1'574%)(17' 12 87'2()'(:; 80)'.1'.@ (0& 7>:&@ )2 =&:: )2 ;7$4 01.0B
:&6&: >&48&>( 574 ^)>>:&` k 2();2 87'2()'(9 L7=&6&4@ 15 )' )>>:& =)2 >:)8&3 7' ;7$4
7$(2(4&(80&3 >):%@ )'3 ;7$ =&4&'[( )::7=&3 (7 %76& ;7$4 0)'3 74 51'.&42@ ;7$
=7$:3 0)6& .4&)( 315518$:(; 13&'(15;1'. 1( )2 )' )>>:& 4)(0&4 (0)' ) :&%7'9
8/9/2019 HTM CorticalLearningAlgorithms 1
13/68
" #$%&'() *+,, -).& ,H
/0& 2)%& 12 (4$& 574 0&)41'.9 C 2()(18 27$'3 87'6&;2 :1((:& %&)'1'.9 C =743 :1A&
^)>>:&@` 74 (0& 84$'801'. 27$'32 75 27%&7'& 13@ 2&f$&'(1): 80)'.&2 76&4 (1%& 75
(0& 27$'3 2>&8(4$%9
c1217'@ 1' 87'(4)2(@ 12 ) %1F&3 8)2&9 b':1A& =1(0 (7$80 )'3 0&)41'.@ 0$%)'2 )4& )7221&4(1&2 75
61217' )'3 ;&)42 75 (4)1'1'.9 /0& .&'&4): 8)2& 574 61217'@ 0&)41'.@ )'3 (7$80 12 (0)(
1'5&4&'8& 4&f$14&2 (1%&B80)'.1'. 1'>$(29
L)61'. 876&4&3 (0& .&'&4): 8)2& 75 1'5&4&'8&@ )'3 (0& 2>&81): 8)2& 75 61217' 1'5&4&'8&
75 2()(18 1%).&2@ :&([2 :77A )( :&)4'1'.9 ?' 743&4 (7 :&)4'@ ):: L/D 2;2(&%2 %$2( 72&3 (7 (1%&B80)'.1'. 1'>$(2 3$41'. (4)1'1'.9 i6&' 1' 61217'@ =0&4& 2()(18
1'5&4&'8& 12 27%&(1%&2 >7221)((&4'2
%&)' (0& 2)%& (01'. )(1): >)((&4'2 .7 (7.&(0&49
#7(& (0)( 1( 12'[( 2$55181&'( 574 2&'274; 1'>$( %&4&:; (7 80)'.&9 C 2$88&2217' 75
$'4&:)(&3 2&'274; >)((&4'2 =7$:3 7':; :&)3 (7 87'5$217'9 /0& (1%&B80)'.1'. 1'>$(2%$2( 87%& 547% ) 87%%7' 27$48& 1' (0& =74:39 #7(& ):27 (0)( ):(07$.0 =& $2&
0$%)' 2&'2&2 )2 &F)%>:&2@ (0& .&'&4): 8)2& )>>:1&2 (7 '7'B0$%)' 2&'2&2 )2 =&::9 ?5
=& =)'( (7 (4)1' )' L/D (7 4&87.'1V& >)((&4'2 547% ) >7=&4 >:)'([2 (&%>&4)($4&@
6118)::;@ )' L/D '&(=74A '&&32 (7 74):
2&f$&'8&2 547% ) 2(4&)% 75 1'>$( 3)()@ 19&9 (7 )((&4'2 57::7=
=0180 7(0&4 >)((&4'29 /012 W7< 12 315518$:( 1'. 2&f$&'8&2 788$441'. )( (0& 2)%& (1%&@
:&)4'1'. 0)2 (7 788$4 87'(1'$7$2:;@ )'3 :&)4'1'. 0)2 (7 788$4 1' (0& >4&2&'8& 75
'712&9
N&)4'1'. )'3 4&87.'1V1'. 2&f$&'8&2 12 (0& )((&4'2@ 1( 8)' >4&318( (0& :1A&:;
8/9/2019 HTM CorticalLearningAlgorithms 1
14/68
" #$%&'() *+,, -).& ,I
'&F( >)((&4'Y2Z .16&' (0& 8$44&'( 1'>$( )'3 1%%&31)(&:; >)2( 1'>$(29 -4&318(17' 12
876&4&3 1' %74& 3&()1: :)(&49
G& '7= =1:: ($4' (7 (0& 57$4 4&318(17'@
)'3 4&318(17'9 Q&0)6174@ 07=&6&4@ 12 3155&4&'(9 G& A'7= 547% :&(&'&229
(986/./4
C' L/D 4&.17' :&)4'2 ))((&4'2 1' 2&'274; 3)()9 /0& 4&.17' 37&2 '7( ^A'7=` =0)( 1(2 1'>$(2 4&>4&2&'(e 1(
=74A2 1' ) >$4&:; 2()(12(18): 4&):%9 ?( :77A2 574 87%)(1): >)((&4'29 ?( (0&' :77A2 574 07= (0&2& 2>)(1):
>)((&4'2 )>>&)4 1' 2&f$&'8& 76&4 (1%&@ =0180 =& 8):: (&%>74): >)((&4'2 74
2&f$&'8&29
?5 (0& 1'>$( (7 (0& 4&.17' 4&>4&2&'(2 &'6147'%&'(): 2&'2742 7' ) $( (7 ) 4&.17' 4&>4&2&'(&3 1'574%)(17' 4&:)(&3 (7 >$480)2&2 =1(01' ) 2(74&@(0& L/D 4&.17' %1.0( 312876&4 (0)( 8&4()1' (;>&2 75 )4(18:&2 )4& >$480)2&3 7'
=&&A&'32@ 74 (0)( =0&' (0& =&)(0&4 12 87:3 8&4()1' >418& 4)'.&2 )4& 5)674&3 1' (0&
&6&'1'.9 /0&' 1( %1.0( :&)4' (0)( 3155&4&'( 1'31613$):2 57::7= 21%1:)4 2&f$&'(1):
>)((&4'2 1' (0&14 >$480)2&29
C 21'.:& L/D 4&.17' 0)2 :1%1(&3 :&)4'1'. 8)>))(1): >)((&4'2 :&)4'&3 8)'
:&F 15 (0& )::78)(&3 %&%74; 12 1'84&)2&39 ?5 (0& :&)4'&3 2>)(1):
>)((&4'2 1' ) 4&.17' )4& 21%>:&@ (0&' ) 01&4)480; 75 4&.17'2 %); $( 547% (0& 4&(1') :&)4'2 2>)(1): >)((&4'2
574 2%):: >)4(2 75 (0& 612$): 2>)8&9 E':; )5(&4 2&6&4): :&6&:2 75 01&4)480; 37 2>)(1):
>)((&4'2 87%4&2&'( %72( 74 ):: 75 (0& 612$): 2>)8&9
8/9/2019 HTM CorticalLearningAlgorithms 1
15/68
" #$%&'() *+,, -).& ,R
N1A& ) $(9 /0&4& 12'[( ) '&&3
574 ) :&)4'1'. >0)2& 2&>)4)(& 547% )' 1'5&4&'8& >0)2&@ (07$.0 1'5&4&'8& 1%>476&2
)5(&4 )331(17'): :&)4'1'.9 C2 (0& >)((&4'2 1' (0& 1'>$( 80)'.&@ (0& L/D 4&.17' =1::
.4)3$)::; 80)'.&@ (779
C5(&4 1'1(1): (4)1'1'.@ )' L/D 8)' 87'(1'$& (7 :&)4' 74@ ):(&4')(16&:;@ :&)4'1'. 8)' >&4 :&6&:2 75 (0& 01&4)480;9 ?5 )' L/D 12 &F>72&3 (7 '&= >)((&4'2
(0)( 0)6& >4&617$2:; $'2&&' :7=B:&6&: 2(4$8($4&@ 1( =1:: ()A& :7'.&4 574 (0& L/D (7
:&)4' (0&2& '&= >)((&4'29 G& 2&& (012 (4)1( 1' 0$%)'29 N&)4'1'. '&= =7432 1' )
:)'.$).& ;7$ ):4&)3; A'7= 12 4&:)(16&:; &)2;9 L7=&6&4@ 15 ;7$ (4; (7 :&)4' '&=
=7432 547% ) 574&1.' :)'.$).& =1(0 $'5)%1:1)4 27$'32@ ;7$[:: 51'3 1( %$80 0)43&4
)((&4'2 12 ) >7(&'(1)::; 6):$)):&F 2;2(&%2@ 2$80 )2 >7=&4 .4132@ 12 6):$))(1): )'3 (&%>74): >)((&4'2 12 %72(:; ) >4&8$4274 (7 1'5&4&'8& )'3
>4&318(17'9
#/H969/09
C5(&4 )' L/D 0)2 :&)4'&3 (0& >)((&4'2 1' 1(2 =74:3@ 1( 8)' >&4574% 1'5&4&'8& 7'
'76&: 1'>$(29 G0&' )' L/D 4&8&16&2 1'>$(@ 1( =1:: %)(80 1( (7 >4&617$2:; :&)4'&3
2>)(1): )'3 (&%>74): >)((&4'29 P$88&225$::; %)(801'. '&= 1'>$(2 (7 >4&617$2:;
2(74&3 2&f$&'8&2 12 (0& &22&'8& 75 1'5&4&'8& )'3 >)((&4' %)(801'.9
/01'A )7221:18)(&3 (0)' (0& %&:73; &F)%>:& 1%>:1&2@ :& .16&2 ) 5:)674 574 07= 1( =74A29
?( %); '7(
8/9/2019 HTM CorticalLearningAlgorithms 1
16/68
" #$%&'() *+,, -).& ,U
%)((&4 =0&(0&4 (0&; )4& 7:3 74 ;7$'.@ %):& 74 5&%):&@ )4& 2>&)A1'. f$18A:; 74
2:7=:;@ 74 0)6& ) 2(47'. )88&'(9 i6&' 15 ;7$ 0)3 (0& 2)%& >&427' 2); (0& 2)%& =743
^47&2 =1(0 '76&: 1'>$( 12
(047$.0 (0& $2& 75 2>)42& 312(414&2&'()(17'29 C A&; >47>&4(; 75 2>)42&
312(414&2&'()(17'2 12 (0)( ;7$ 7':; '&&3 (7 %)(80 ) >74(17' 75 (0& >)((&4'
(7 $(@ ) 4&.17' 574%2 ) >4&318(17' ))42&
312(414&2&'()(17'29 ?' 27%& 1'2()'8&2 (0& (4)'21(17'2 8)' :77A :1A& ) :1'&)4
2&f$&'8&@ 2$80 )2 (0& '7(&2 1' ) %&:73;@ $(2 %); 4&318(&3 )( (0& 2)%& (1%&9 C' L/D 4&.17' =1:: %)A& 3155&4&'(
>4&318(17'2 )(1): >)((&4'29
]7::7=1'. )4& 27%& A&; >47>&4(1&2 75 L/D >4&318(17'9
AB C+"$(3,(21 () 321,(1424)D
G1(07$( 4&318(1'.9 L/D2 37 (0& 2)%&9
G0&' :12(&'1'. (7 ) 27'.@ ;7$ )4& >4&318(1'. (0& '&F( '7(&9 G0&' =):A1'. 37=' (0&
2()142@ ;7$ )4& >4&318(1'. =0&' ;7$4 577( =1:: (7$80 (0& '&F( 2(&>9 G0&' =)(801'. )
4&318(1'. (0)( (0& 4&318(17' )'3 1'5&4&'8& )4& ):%72( (0& 2)%& (01'.9 -4&318(17' 12
'7( ) 2&>)4)(& 2(&> 4&318(17' =1:: 788$4 )( &)80 :&6&:9 S&.17'2
=1:: %)A& >4&318(17'2 ))((&4'2 (0&; 0)6& :&)4'&39 ?' ) :)'.$).& &F)%>:&@:7=&4 :&6&: 4&.17'2 %1.0( >4&318( >72214&318( =7432 74 >04)2&29
GB C+"$(3,(21) #+" 321,"H, )"1)(,(F"D
-4&318(17'2 )4& )2(@ )2 =&:: )2 =0)( 12 788$441'.
'7=9 /0$2 )' 1'>$( =1:: >473$8& 3155&4&'( >4&318(17'2
8/9/2019 HTM CorticalLearningAlgorithms 1
17/68
" #$%&'() *+,, -).& ,M
87'(&F( 76&4 &(1(16& >04)2&2@ )'3 7'& =7$:3 '&&3 (7 $2& (0& 87'(&F( 75 ) 5)4 :7'.&4 (1%&54)%&
(7 A'7= =0&4& ;7$ )4& 1' (0& 2>&&80@ )'3 (0&4&574& =0)( 87%&2 '&F(9
IB C+"$(3,(21 ?"#$) ,2 ),#>(?(,:D
/0& 7$(>$( 75 ) 4&.17' 12 1(2 >4&318(17'9 E'& 75 (0& >47>&4(1&2 75 L/D2 12 (0)( (0&
7$(>$(2 75 4&.17'2 4&318(29 C 4&.17' 37&2'[( W$2( >4&318( =0)( =1:: 0)>>&' 1%%&31)(&:; '&F(9 ?5 1( 8)'@
1( =1:: >4&318( %$:(1>:& 2(&>2 )0&)3 1' (1%&9 N&([2 2); ) 4&.17' 8)' >4&318( 516& 2(&>2
)0&)39 G0&' ) '&= 1'>$( )4416&2@ (0& '&=:; >4&318(&3 2(&> 80)'.&2 4&617$2:; >4&318(&3 2(&>2 %1.0( '7(9 J7'2&f$&'(:;@ &6&' (07$.0 &)80 '&=1'>$( 12 87%>:&(&:; 3155&4&'(@ 7':; ) >)4( 75 (0& 7$(>$( 12 80)'.1'.@ %)A1'. 7$(>$(2
%74& 2()$(29 /012 80)4)8(&412(18 %144742 7$4 &F>&41&'8& 75 (0& 4&):
=74:3@ =0&4& 01.0 :&6&: 87'8&>(2 k 2$80 )2 (0& ')%& 75 ) 27'. k 80)'.& %74& 2:7=:;
(0)' :7= :&6&: 87'8&>(2 k (0& )8($): '7(&2 75 (0& 27'.9
JB K 4&318(2 =0)( 12 :1A&:; (7 0)>>&' '&F(@ (0& >4&318(17' 8)' 4&318(&39 ]74 &F)%>:&@ 15 )' L/D =&4& >478&221'.
2>7A&' :)'.$).&@ 1( =7$:3 >4&318( =0)( 27$'32@ =7432@ )'3 13&)2 )4& :1A&:; (7 2 (0& 2;2(&% 51:: 1' %1221'. 3)()9 ?5 )' )%4&( (0& 27$'3 1'. 1'5&4&'8& &6&' 1' (0& >4&2&'8& 75 '712&9
?' )' L/D 4&.17'@ 2&f$&'8& %&%74;@ 1'5&4&'8&@ )'3 >4&318(17' )4& 1'(1%)(&:;
1'(&.4)(&39 /0&; )4& (0& 874& 5$'8(17'2 75 ) 4&.17'9
8/9/2019 HTM CorticalLearningAlgorithms 1
18/68
" #$%&'() *+,, -).& ,g
E9:8J.56
E$4 &48&16&9 C2 =& %76& 7$4 &;&2@ 7$4 4&(1')4&8&16&2 80)'.1'. 2&'274; 1'>$(9 D761'. 7$4 :1%41%)4; %7(74 4&.17'@ =)2 =0&4& %7(74 87%%)'32 741.1')(&3 1' (0& '&7874(&F9
E6&4 (1%& 1( =)2 312876&4&3 (0)( %72( 74 ):: 4&.17'2 1' (0& '&7874(&F 0)6& ) %7(74
7$(>$(@ &6&' :7= :&6&: 2&'274; 4&.17'29 ?( )>>&)42 (0)( ):: 874(18): 4&.17'2 1'(&.4)(&
2&'274; )'3 %7(74 5$'8(17'29
G& &F>&8( (0)( ) %7(74 7$(>$( 87$:3 :&%&'()(17'2 75 L/D2 (7 3)(& 0)6& 7'&'(9
+65469
8/9/2019 HTM CorticalLearningAlgorithms 1
19/68
" #$%&'() *+,, -).& ,O
':8I796 BL ")* '567.081 (986/./4 &1456.7:;(&4 3&2841($):9
)96;./5154K
Q&574& =& .&( 2()4(&3@ ) '7(& )478&22 75 1%>:&%&'(1'. (0& ):.741(0%2 =& =&4& 87'547'(&3 =1(0 >&4574%)'8&
122$&2 )'3 (0&4&574& 7'8& =& 5&:( =& $'3&42(773 07= 27%&(01'. =74A&3 =& =7$:3:77A 574 =);2 (7 2>&&3 >478&221'.9 /012 75(&' 1'67:6&3 3&61)(1'. 547% ) 2(418(
)30&4&'8& (7 >&'31F&2 7' $( 2()(&2@ )8(16& 547% 5&&3B574=)43 1'>$(@ )8(16& 547%:)(&4): 1'>$( Y=0180 4&>4&2&'(2 ) >4&318(17'Z@ )'3 1')8(16&9 /0& 5142( 7$(>$( 2()(&
8744&2>7'32 (7 ) 2074( $(
2()(& 8744&2>7'32 (7 ) 2:7=&4@ 2(&)3; 4)(& 75 )8(17' >7(&'(1):2 1' ) '&$47'9 G& 0)6&
'7( 57$'3 ) '&&3 574 %73&:1'. 1'31613$): )8(17' >7(&'(1):2 74 &6&' 28):)4 4)(&2 75
)8(161(; :&FZ 3&'341(& %73&:9 ?'
(0&74; &)80 L/D 8&:: 0)2 7'& >47F1%): 3&'341(& 2&.%&'( )'3 ) 37V&' 74 (=7 312():
3&'341(& 2&.%&'(29 /0& >47F1%): 3&'341(& 2&.%&'( 4&8&16&2 5&&3B574=)43 1'>$( )'3(0& 312(): 3&'341(& 2&.%&'(2 4&8&16& :)(&4): 1'>$( 547% '&)4:)8&3 1( =1(0 ) 21'.:& 20)4&3 3&'341(& 2&.%&'( >&4 87:$%' 75 8&::29 /0& 2>)(1):
>77:&4 5$'8(17' Y3&284174): >77:&4 5$'8(17' 7>&4)(&2 7' 312(): 3&'341(&
2&.%&'(2@ )( (0& :&6&: 75 1'31613$): 8&::2 =1(01' 87:$%'29 /012 21%>:1518)(17'
8/9/2019 HTM CorticalLearningAlgorithms 1
20/68
" #$%&'() *+,, -).& *+
)801&6&2 (0& 2)%& 5$'8(17'):1(;@ (07$.0 1' 2&2 0)6& 2&2 0)6& 6)4;1'. =&1.0(2 )4(1)::; 2(780)2(18@ 2$..&2(1'. ) (18 =&1.0(29 /0& $2& 75 312(414&2&'()(17'2 1' L/D2 >:$2 7$4
%73&: 75 3&'341(& 7>&4)(17' )::7=2 $2 (7 )221.' 2&2
=1(0 '7 1:: &55&8(9 /7 %73&: (0& 574%1'. )'3 $'B574%1'. 75 2;')>2&2 =& $2& (=7
)331(17'): 87'8&>(2 547% '&$47281&'8& (0)( ;7$ %); '7( ( 75 ^>7(&'(1): 2;')>2&2`9 /012 4&>4&2&'(2 ):: (0& )F7'2 (0)( >)22 8:72&
&'7$.0 (7 ) 3&'341(& 2&.%&'( (0)( (0&; 87$:3 >7(&'(1)::; 574% ) 2;')>2&9 /0&
2&87'3 12 8)::&3 ^>&4%)'&'8&`9 /012 12 ) 28):)4 6):$& )221.'&3 (7 &)80 >7(&'(1):
2;')>2&9 /0& >&4%)'&'8& 75 ) 2;')>2& 4&>4&2&'(2 ) 4)'.& 75 87''&8(&3'&22
:&(&:;
$'87''&8(&3@ (7 2()4(1'. (7 574% ) 2;')>2& 2&9 /0& >&4%)'&'8& 75 )2;')>2& 12 ) 28):)4 6):$& 4)'.1'. 547% +9+ (7 ,9+9 N&)4'1'. 1'67:6&2 1'84&%&'(1'.
)'3 3&84&%&'(1'. ) 2;')>2&[2 >&4%)'&'8&9 G0&' ) 2;')>2&[2 >&4%)'&'8& 12 )$( 87'212(2 75 (07$2)'32 74 (&'2 75
(07$2)'32 75 $(h
G& ):4&)3; 0)6& 3128$22&3 (0& )'2=&4 1' 1(2 21%>:&2( 574%9 i)80 L/D 4&.17' :77A2
574 87%%7' >)((&4'2 1' 1(2 1'>$( )'3 (0&' :&)4'2 2&f$&'8&2 75 (072& >)((&4'29 ]47%
1(2 %&%74; 75 2&f$&'8&2@ &)80 4&.17' %)A&2 >4&318(17'29 /0)( 01.0 :&6&:
3&2841>(17' %)A&2 1( 27$'3 &)2;@ 2K
,Z ]74% ) 2>)42& 312(414&2&'()(17' 75 (0& 1'>$(
*Z ]74% ) 4&>4&2&'()(17' 75 (0& 1'>$( 1' (0& 87'(&F( 75 >4&617$2 1'>$(2HZ ]74% ) >4&318(17' $(2
G& =1:: 3128$22 &)80 75 (0&2& 2(&>2 1' %74& 3&()1:9
8/9/2019 HTM CorticalLearningAlgorithms 1
21/68
" #$%&'() *+,, -).& *,
AB *2+5 # )$(
$( $( %1.0( 0)6& I+j 75 1(2 4&2&'()(17' 0)2 W$2( *j 75
1(2 412&3
75 7'& 74 %74& 6&44:9 J7:$%'2 %); $( 12&'873&3 $(2 1' (0& ^7'` 2()(&@ $( >)((&4'2 Y7'&2 (0)(
0)6& ) 21.'1518)'( '$%$(2
8/9/2019 HTM CorticalLearningAlgorithms 1
22/68
" #$%&'() *+,, -).& **
&)80 87:$%' 12 87''&8(&3 (79 /0&2& 87''&8(17'2 )4& :&)4'&3 61) ) %&(073 3&28412 Y:&)4'1'. (0& 87''&8(17'2 (7 &)80 87:$%' 547% ) 2$$( (7 &)80 87:$%'@ )'3 $21'. 1'01)(1): -77:&4`9 /0& (&4% %&)'2>)((&4'2 (0)( )4& ^2>)(1)::;` 21%1:)4 Y%&)'1'. (0&; 20)4& ) :)4.& '$%&3 (7.&(0&4 1' ) 87%%7'
4&>4&2&'()(17'Z9
EB *2+5 # +"
8/9/2019 HTM CorticalLearningAlgorithms 1
23/68
" #$%&'() *+,, -).& *H
/0& .&'&4): 4$:& $2&3 &8(&3 (0&' (0& 2;2(&% 87'514%2 (0)( &F>&8()(17'
$( >)((&4' 12 $'&F>&8(&3(0&' (0& 2;2(&% )8(16)(&2 ):: 8&::2 1' (0& 87:$%' )2 15 (7 2); ^(0& 1'>$( 788$44&3
$'&F>&8(&3:; 27 ):: >7221&8(&3@ ):: (0& 8&::2 1' (0& )8(16& 87:$%' =1:: $( =& W$2( $2& (0& (&4% )8(16&`9 ?5
(0& 8&:: 12 )8(16& 3$& (7 :)(&4): 87''&8(17'2 (7 7(0&4 '&)44&318(17' 75 =0)( 12 :1A&:; (7 0)>>&' '&F(9
/0& >4&318(17' 12 *Z@ =0180 1'8:$3&2
87'(&F( 547% ):: >4&617$2 1'>$(29
8/9/2019 HTM CorticalLearningAlgorithms 1
24/68
" #$%&'() *+,, -).& *I
G0&' ) 4&.17' %)A&2 ) >4&318(17' 1( )8(16)(&2 Y1'(7 (0& >4&318(16& 2()(&Z ):: (0& 8&::2
(0)( =1:: :1A&:; $(@ ;7$ 87$:3 &F>&8(
(0)( (&' 3155&4&'( >4&318(17'2 87$:3 4&318(&3 8&::9 E4@ (=&'(; 3155&4&'( >4&318(17'2 87$:3 4&318(&3 8&::9 ?5 &)80 87:$%' 0)3 57$4 8&::2@ =1(0 7'& )8(16& )(
) (1%&@ (0&' ,+j 75 (0& 8&::2 =7$:3 )42& 312(414&2&'()(17'2 =1:: 207= (0)( &6&' (07$.0
3155&4&'( >4&318(17'2 )4& %&4.&3 (7.&(0&4@ ) 4&.17' 8)' A'7= =1(0 01.0 8&4()1'(;
=0&(0&4 ) >)4(18$:)4 1'>$( =)2 >4&318(&3 74 '7(9
L7= 37&2 ) 4&.17' %)A& ) >4&318(17'h G0&' 1'>$( >)((&4'2 80)'.& 76&4 (1%&@
3155&4&'( 2&(2 75 87:$%'2 )'3 8&::2 :18)(17'9 N)(&4@ ):: ) 8&:: '&&32 (7 37 12 (7
:77A )( (0&2& 87''&8(17'2 574 871'813&'( )8(161(;9 ?5 (0& 87''&8(17'2 4&318(16&
)8(16)(17' 75 7(0&4 2&(2 75 8&::2 (0)( (;>18)::; 57::7=9 /01'A 75 (012 )2 (0& %7%&'(
=0&' ;7$ 4&87.'1V& ) 27'. )'3 2()4( >4&318(1'. (0& '&F( '7(&29
Figure 2.3: At any point in time, some cells in an HTM region will be active due to feed-forwardinput (shown in light gray). Other cells that receive lateral input from active cells will be in a
predictive state (shown in dark gray).
?' 2$%%)4;@ =0&' ) '&= 1'>$( )4416&2@ 1( :&)32 (7 ) 2>)42& 2&( 75 )8(16& 87:$%'29
E'& 74 %74& 75 (0& 8&::2 1' &)80 87:$%' $( )4416&2@ 1( 2&:&8(2
8/9/2019 HTM CorticalLearningAlgorithms 1
25/68
" #$%&'() *+,, -).& *R
)'7(0&4 2>)42& 2&( 75 )8(16& 87:$%'29 ?5 ) '&=:; )8(16& 87:$%' 12 $'&F>&8(&3@
%&)'1'. 1( =)2 '7( >4&318(&3 4&318(&3 8&::2@ 7':; (072& 8&::2 =1::
$( 75 ) 4&.17' 12 (0& )8(161(; 75 ):: 8&::2 1' (0& 4&.17'@
1'8:$31'. (0& 8&::2 )8(16& 4&318(16& 2()(&9
C2 %&'(17'&3 &)4:1&4@ >4&318(17'2 )4& '7( W$2( 574 (0& 2&9 -4&318(17'2 1'
)' L/D 4&.17' 8)' 2 1'(7 (0& 5$($4&9 b21'. %&:731&2 )2
&F)%>:&@ )' L/D 4&.17' =7$:3 '7( W$2( >4&318( (0& '&F( '7(& 1' ) %&:73;@ 4&318( (0& '&F( 57$4 '7(&29 /012 :&)32 (7 ) 3&214)47>&4(;9 /0& 7$(>$( 75 )
4&.17' Y(0& $'17' 75 ):: (0& )8(16& )'3 >4&318(&3 8&::2 1' ) 4&.17'Z 80)'.&2 %74&
2:7=:; (0)' (0& 1'>$(9 ?%).1'& (0& 4&.17' 12 >4&318(1'. (0& '&F( 57$4 '7(&2 1' )
%&:73;9 G& =1:: 4&>4&2&'( (0& %&:73; 4&318(2 J@_@i@]9 /0& ^Q` 8&::2 )4& ):4&)3; )8(16& 27 8&::2 574 Q@J@_@i@] )4& ):: 1' 7'&
75 (0& (=7 )8(16& 2()(&29 #7= (0& 4&.17' 0&)42 (0& '&F( '7(& ^J`9 /0& 2&( 75 )8(16&)'3 >4&318(16& 8&::2 '7= 4&>4&2&'(2 ^J@_@i@]@T`9 #7(& (0)( (0& 1'>$( >)((&4' 80)'.&3
87%>:&(&:; .71'. 547% ^Q` (7 ^J`@ $( 75 )' L/D 4&.17' 12 ) 6&8(74 4&>4&2&'(1'. (0& )8(161(; 75 ):: (0&
4&.17'[2 8&::2@ (0& 7$(>$( 1' (012 &F)%>:& 12 516& (1%&2 %74& 2()$(9 ?'
) 01&4)48018): )44)'.&%&'( 75 4&.17'2@ =& =1:: 2&& )' 1'84&)2& 1' (&%>74): 2()4&318(1'.9 Q; 84&)(1'. 2:7=:; 80)'.1'. 7$(>$(2 574
2&f$&'8&2 75 >)((&4'2@ =& )4& 1' &22&'8& ^>77:1'.` (7.&(0&4 3155&4&'( >)((&4'2 (0)(57::7= &)80 7(0&4 1' (1%&9
#7= =& =1:: .7 1'(7 )'7(0&4 :&6&: 75 3&()1:9 G& 2()4( =1(0 87'8&>(2 (0)( )4& 20)4&3
)(1): >77:&4 )'3 (&%>74): >77:&49 /0&' =& 3128$22 87'8&>(2 )'3 3&()1:2
$'1f$& (7 (0& 2>)(1): >77:&4 57::7=&3 )(1): >77:&4 )'3 (&%>74): >77:&4 )4& 21%1:)49 N&)4'1'. 1' 2&2@ )(1): >77:&4
:&)4'2 5&&3B574=)43 87''&8(17'2 $(
8/9/2019 HTM CorticalLearningAlgorithms 1
26/68
" #$%&'() *+,, -).& *U
P(1#+: L"(;',)
L/D 2;')>2&2 0)6& 7':; ) + 74 , &55&8(e (0&14 ^=&1.0(` 12 2&2 )4& 574%1'. )'3 $'574%1'. 87'2()'(:; 3$41'. :&)4'1'.9 C2 %&'(17'&32& Y+9+ (7 ,9+Z (7 1'318)(& 07=
>&4%)'&'( (0& 87''&8(17' 129 G0&' ) 87''&8(17' 12 4&1'5748&3@ 1(2 >&4%)'&'8& 12
1'84&)2&39 b'3&4 7(0&4 87'31(17'2@ (0& >&4%)'&'8& 12 3&84&)2&39 G0&' (0&
>&4%)'&'8& 12 )47F1%): 3&'341(& 2&.%&'( 574%2 2;')>2&2 =1(0 5&&3B574=)43 1'>$(29 /0& )8(16&2;')>2&2 7' (012 (;>& 75 2&.%&'( )4& :1'&)4:; 2$%%&3 (7 3&(&4%1'& (0& 5&&3B
574=)43 )8(16)(17' 75 ) 87:$%'9
B C 312(): 3&'341(& 2&.%&'( 574%2 2;')>2&2 =1(0 8&::2 =1(01' (0& 4&.17'9 i6&4; 8&::
0)2 2&6&4): 312(): 3&'341(& 2&.%&'(29 ?5 (0& 2$% 75 (0& )8(16& 2;')>2&2 7' ) 312():
2&.%&'( &F8&&32 ) (04&207:3@ (0&' (0& )22781)(&3 8&:: :& 312(): 3&'341(& 2&.%&'(2 >&4 8&::@ ) 8&::[2 >4&318(16&
2()(& 12 (0& :7.18): ES 7>&4)(17' 75 2&6&4): 87'2(1($&'( (04&207:3 3&(&8(7429
C2,"1,(#? 0:1#&4%)'&'8& 6):$&2 75
>7(&'(1): 2;')>2&2 7' ) 3&'341(& 2&.%&'(9 /0& 4$:&2 $2&3 574 %)A1'. 2;')>2&2
%74& 74 :&22 >&4%)'&'( )4& 21%1:)4 (7 ^L&(18 8&:: 12 )8(16& 3$& (7 ) 3&'341(& 2&.%&'( 4&8&161'. 1'>$( )2&2 7' (0)( 2&.%&'( )4&
%73151&39 P;')>2&2 (0)( )4& )8(16&@ )'3 (0&4&574& 87'(41)(1): )'3 (&%>74):
>77:&49 /0& 3&()1:2 )4& 3&284174): >77:&4 5$'8(17'29
8/9/2019 HTM CorticalLearningAlgorithms 1
27/68
" #$%&'() *+,, -).& *M
>I87.81 I55196 05/09I7)(1): >77:&4 12 (7 87'6&4( ) 4&.17'[2 1'>$(
1'(7 ) 2>)42& >)((&4'9 /012 5$'8(17' 12 1%>74()'( 4&318(17'2 4&f$14&2 2()4(1'. =1(0 2>)42& 312(41)((&4'29
/0&4& )4& 2&6&4): 76&4:)>>1'. .7):2 574 (0& 2>)(1): >77:&4@ =0180 3&(&4%1'& 07= (0&
2>)(1): >77:&4 7>&4)(&2 )'3 :&)4'29
AB R)" #?? 32?451)
C' L/D 4&.17' 0)2 ) 51F&3 '$%4&2&'( 87%%7'
>)((&4'2 1' (0& 1'>$(9 E'& 74&2&'( 27%&(01'. $2&5$: 4&.)43:&22 75 07= %)'; 87:$%'2 ;7$ 0)6&9 G& 37'[(
=)'( 87:$%'2 (0)( )4& '&6&4 )8(16&9 /7 >4&6&'( (012 547% 0)>>&'1'.@ =& A&&> (4)8A
75 07= 75(&' ) 87:$%' 12 )8(16& 4&:)(16& (7 1(2 '&1.0$( )8(161(; :&6&: $'(1: 1( 2()4(2 (7 )4( 75 (0&
=1''1'. 2&( 75 87:$%'29 ?' &22&'8&@ ):: 87:$%'2 )4& 87%>&(1'. =1(0 (0&14 '&1.0)'( 1' 4&>4&2&'(1'. 1'>$( >)((&4'29 ?5 ) 87:$%' 12 '7( 6&4; )8(16&@ 1(
=1:: 4&2&'(1'. 2:1.0(:; 3155&4&'( 1'>$( >)((&4'29
EB S#(1,#(1 $")(+"$ $"1)(,:
C 4&.17' '&&32 (7 574% ) 2>)42& 4&>4&2&'()(17' 75 1(2 1'>$(29 J7:$%'2 =1(0 (0& %72(
1'>$( 1'01(16& 51&:32 75 (0& 87:$%'2 Y)'3 (0&4&574& 8)' 4)'.& 547% 2%):: (7
(0& 21V& 75 (0& &'(14& 4&.17'Z9 G1(01' (0& 4)31$2 75 1'01&48&'().& 75 (0& 87:$%'2 =1(0 (0& %72( )8(16& 1'>$( (7 ( 8)' (&3 (7 7(0&4 (7>7:7.1&29Z
GB KF2($ ,+(F(#?
8/9/2019 HTM CorticalLearningAlgorithms 1
28/68
" #$%&'() *+,, -).& *g
>&'):1V&3@ =& .$)4)'(&& ) 87:$%' 4&>4&2&'(2 ) :1%1(&3 '$%
8/9/2019 HTM CorticalLearningAlgorithms 1
29/68
" #$%&'() *+,, -).& *O
IZ /0& '$%2&2 ):1.'&3 =1(0 )8(16& 1'>$(
2&2 ):1.'&3 =1(0 1')8(16& 1'>$(
77:&4 :&)4'2 2&f$&'8&2 )'3 %)A&2 >4&318(17'29 /0& 41749 J&::2 8)' (0&' >4&318( =0&' (0&; =1:: )((&4'2e1'2(&)3@ %&%74; 12 312(414&2&'()(17'2 :& =); (7 37 (012 12 (7 %)A& ) :12( 75 (0& *++ )8(16& 8&::2 =& 8)4& ))((&4'9 L7=&6&4@ =0)( 15 =& %)3&
) :12( 75 7':; *+ 75 (0& *++ )8(16& 8&::2 )'3 1.'74&3 (0& 7(0&4 ,g+h G0)( =7$:3
0)>>&'h X7$ %1.0( (01'A (0)( 4&%&%:& *++ )8(16& 8&::27$( 75 ,+@+++Z@ 4&%&%4)8(18): 2;2(&% 12 &F8&&31'.:; 2%):: )'3 =& 0)6&
4&3$8&3 7$4 %&%74; '&&32 87'213&4)47>&4(;9 i)80 75 ) 8&::[2 3&'341(&
2&.%&'(2 0)2 ) 2&( 75 87''&8(17'2 (7 7(0&4 8&::2 1' (0& 4&.17'9 C 3&'341(& 2&.%&'(
574%2 (0&2& 87''&8(17'2 )2 ) %&)'2 75 4&87.'1V1'. (0& 2()(& 75 (0& '&(=74A )( 27%&
8/9/2019 HTM CorticalLearningAlgorithms 1
30/68
" #$%&'() *+,, -).& H+
>71'( 1' (1%&9 /0&4& %); )4(181>)(&2 1' %)'; 3155&4&'( 312(41)((&4'2 )'3 1' %)'; 3155&4&'(
2&f$&'8&29 C >)4(18$:)4 8&:: %1.0( )4( 75 37V&'2 74 0$'34&32 75 (&%>74):
(4)'21(17'29 /0&4&574& &6&4; 8&:: 0)2 2&6&4): 3&'341(& 2&.%&'(2@ '7( W$2( 7'&9
?3&)::; ) 8&:: =7$:3 0)6& 7'& 3&'341(& 2&.%&'( 574 &)80 >)((&4' 75 )8(161(; 1( =)'(2
(7 4&87.'1V&9 -4)8(18)::; (07$.0@ ) 3&'341(& 2&.%&'( 8)' :&)4' 87''&8(17'2 574
2&6&4): 87%>:&(&:; 3155&4&'( >)((&4'2 )'3 2(1:: =74A =&::9 ]74 &F)%>:&@ 7'& 2&.%&'(
%1.0( :&)4' *+ 87''&8(17'2 574 &)80 75 I 3155&4&'( >)((&4'2@ 574 ) (7(): 75 g+
87''&8(17'29 G& (0&' 2&( ) (04&207:3 27 (0& 3&'341(& 2&.%&'( 72217221)4(2 75 3155&4&'( >)((&4'299 L7=&6&4@ (012 A1'3 75 &4474 12 6&4; $':1A&:;@).)1' 3$& (7 (0& 2>)42&'&22 75 (0& 4&>4&2&'()(17'29
#7= =& 8)' 2&& 07= ) 8&:: =1(0 7'& 74 (=7 37V&' 3&'341(& 2&.%&'(2 )'3 ) 5&=
(07$2)'3 2;')>2&2 8)' 4&87.'1V& 0$'34&32 75 2&>)4)(& 2()(&2 75 8&:: )8(161(;9
)9;I5681 I55196 3978.14&2&'(1'. (0& 5&&3B574=)43
1'>$(9
,Z ]74 &)80 )8(16& 87:$%'@ 80&8A 574 8&::2 1' (0& 87:$%' (0)( )4& 1' ) >4&318(16& 2()(&@
)'3 )8(16)(& (0&%9 ?5 '7 8&::2 )4& 1' ) >4&318(16& 2()(&@ )8(16)(& ):: (0& 8&::2 1' (0&
87:$%'9 /0& 4&2$:(1'. 2&( 75 )8(16& 8&::2 12 (0& 4&>4&2&'()(17' 75 (0& 1'>$( 1' (0&
87'(&F( 75 >4174 1'>$(9
*Z ]74 &6&4; 3&'341(& 2&.%&'( 7' &6&4; 8&:: 1' (0& 4&.17'@ 87$'( 07= %)';
&2()$( 1' (0& >4&318(16& 2()(& $':&22 (0&; )4& ):4&)3; )8(16& 3$& (7 5&&3B
574=)43 1'>$(9 J&::2 =1(0 '7 )8(16& 3&'341(&2 )'3 '7( )8(16& 3$& (7 1'>$(
7(&'(1): 2;')>2& 7' (0& )8(16&
3&'341(& 2&.%&'(@ 1'84&)2& (0& >&4%)'&'8& 75 (072& 2;')>2&2 (0)( )4& 87''&8(&3 (7
8/9/2019 HTM CorticalLearningAlgorithms 1
31/68
" #$%&'() *+,, -).& H,
)8(16& 8&::2 )'3 3&84&%&'( (0& >&4%)'&'8& 75 (072& 2;')>2&2 87''&8(&3 (7 1')8(16&
8&::29 /0&2& 80)'.&2 (7 2;')>2& >&4%)'&'8& )4& %)4A&3 )2 (&%>74)4;9
/012 %73151&2 (0& 2;')>2&2 7' 2&.%&'(2 (0)( )4& ):4&)3; (4)1'&3 2$55181&'(:; (7 %)A&
(0& 2&.%&'( )8(16&@ )'3 (0$2 :&)3 (7 ) >4&318(17'9 L7=&6&4@ =& ):=);2 =)'( (7
&F(&'3 >4&318(17'2 5$4(0&4 4&617$2 (1%& 2(&>9 ]74 (012 2&.%&'(@
$21'. (0& 2()(& 75 (0& 2;2(&% 1' (0& >4&617$2 (1%& 2(&>@ 1'84&)2& (0& >&4%)'&'8& 75
(072& 2;')>2&2 (0)( )4& 87''&8(&3 (7 )8(16& 8&::2 )'3 3&84&%&'( (0& >&4%)'&'8& 75
(072& 2;')>2&2 87''&8(&3 (7 1')8(16& 8&::29 /0&2& 80)'.&2 (7 2;')>2& >&4%)'&'8&
)4& %)4A&3 )2 (&%>74)4;9
IZ G0&'&6&4 ) 8&:: 2=1(80&2 547% 2&2 7':; 15 (0&;
8744&8(:; >4&318(&3 (0& 5&&3B574=)43 )8(16)(17' 75 (0& 8&::9
RZ G0&' ) 8&:: 2=1(80&2 547% &1(0&4 )8(16& 2()(& (7 1')8(16&@ $'37 )'; >&4%)'&'8&
80)'.&2 %)4A&3 )2 (&%>74)4; 574 &)80 >7(&'(1): 2;')>2& 7' (012 8&::9 G& 37'[( =)'(
(7 2(4&'.(0&' (0& >&4%)'&'8& 75 2;')>2&2 (0)( 1'8744&8(:; >4&318(&3 (0& 5&&3B
574=)43 )8(16)(17' 75 ) 8&::9
#7(& (0)( 7':; 8&::2 (0)( )4& )8(16& 3$& (7 5&&3B574=)43 1'>$( >47>).)(& )8(161(;
10%"02(0& 4&.17'@ 7(0&4=12& >4&318(17'2 =7$:3 :&)3 (7 5$4(0&4 >4&318(17'29 Q$( )::
(0& )8(16& 8&::2 Y5&&3B574=)43 )'3 >4&318(16&Z 574% (0& 7$(>$( 75 ) 4&.17' )'3
>47>).)(& (7 (0& 2&&4 87:$%'h P>&81518)::;@ =0)(
0)>>&'2 15 =& 0)6& 7':; 7'& 8&:: >&4 87:$%'h
?' (0& &F)%>:& $2&3 &)4:1&4@ =& 207=&3 (0)( ) 4&>4&2&'()(17' 75 )' 1'>$( 87%>412&3
75 ,++ )8(16& 87:$%'2 =1(0 I 8&::2 >&4 87:$%' 8)' $( 8)' )>>&)4 1' ) %)'; 87'(&F(2 =1(07$( 87'5$217'9
]74 &F)%>:&@ 15 1'>$( >)((&4'2 4&>4&2&'( =7432@ (0&' ) 4&.17' 8)' 4&%&%
8/9/2019 HTM CorticalLearningAlgorithms 1
32/68
" #$%&'() *+,, -).& H*
C 6)41)4&318(17' 12 '7( >&'1'.@ :& =7$:3 1'84&)2& (7 Rn,++@ ) 0$.& 1'84&)2& 76&4
In,++9 Q$( 4)8(18): >47)81(; %1.0( '7( 4&617$2 )8(161(;9 G1(0 7'& 8&:: >&4 87:$%'@ (0& %&%74; 75 )' L/D
4&.17' 12 ) ^5142( 743&4` %&%74;e >4&318(17'2 )4& $(9
]142( 743&4 >4&318(17' 12 13&)::; 2$1(&3 574 7'& (;>& 75 >4772&3 (7 ) )((&4'2 (7 4&87.'1V&
=0)( 1( 129 c1217' 12 $2$)::; :1A& (0)(@ ;7$ $2$)::; >478&22 ) 2(4&)% 75 612$): 1%).&29
Q$( $'3&4 8&4()1' 87'31(17'2 ;7$ 8)' 4&87.'1V& )' 1%).& =1(0 ) 21'.:& &F>72$4&9
/&%>74): )'3 2()(18 4&87.'1(17' %1.0( )>>&)4 (7 4&f$14& 3155&4&'( 1'5&4&'8&
%&80)'12%29 E'& 4&f$14&2 4&87.'1V1'. 2&f$&'8&2 75 >)((&4'2 )'3 %)A1'.
>4&318(17'2 :&
8&::2 >&4 87:$%' 12 13&)::; 2$1(&3 574 4&87.'1V1'. (1%&B)(1): >)((&4'29 C(
#$%&'()@ =& 0)6& >&4574%&3 %)'; &F>&41%&'(2 $21'. 7'&B8&::B>&4B87:$%' 4&.17'2
)>>:1&3 (7 61217' >47&41%&'(2 )4& )((&4'2 :&)4'&3 )4& 21%1:)4 (7
=0)( 12 7:&@ ) 6&4(18): :1'& )( 7'& >721(17' 12 75(&' 57::7=&3 >&'2 15 =& &F>72& ) 4&.17' (7 )' 1%).& 75 ) 6&4(18): :1'& %761'. (7 (0&
41.0(h ?5 7$4 4&.17' 0)2 7':; 7'& 8&:: >&4 87:$%'@ 1( =1:: >4&318( (0& :1'& %1.0( '&F(
)>>&)4 (7 (0& :&5( 74 (7 (0& 41.0(9 ?( 8)'[( $2& (0& 87'(&F( 75 A'7=1'. =0&4& (0& :1'&
=)2 1' (0& >)2( )'3 (0&4&574& A'7= 15 1( 12 %761'. :&5( 74 41.0(9 G0)( ;7$ 51'3 12 (0)(
8/9/2019 HTM CorticalLearningAlgorithms 1
33/68
" #$%&'() *+,, -).& HH
(0&2& 7'&B8&::B>&4B87:$%' 8&::2 :&F 8&::2` 1' (0& '&7874(&F9 /0&
>4&318(16& 7$(>$( 75 2$80 ) 8&:: =1:: 47>&4(1&2 )'3 :)4.& 0741V7'(): 87''&8(161(;=1(01' (0& :);&49 G& 2>&8$:)(& (0)( &)80 :);&4 75 8&::2 1' '&7874(&F 12 >&4574%1'. )
6)41)(17' 75 (0& L/D 1'5&4&'8& )'3 :&)4'1'. 4$:&2 3&2841:); 3155&4&'( 47:&29 ]74 &F)%>:& 1( 12 A'7=' 547%
)')(7%18): 2($31&2 (0)( :);&4 U 84&)(&2 5&&3&'3&'(:;@ 19&9 7'& 8&:: >&4 87:$%'@ =0&4&)2 (0& 8&::2 1'
:);&4 H )4& )8(1'. )2 %$:(1>:& 8&::2 >&4 87:$%'9 /0$2 4&.17'2 1' (0& '&7874(&F '&)4
2&'274; 1'>$( 0)6& 7'31'. (7 :);&4 I '&$47'2Z 12 $2&5$: 1' 574%1'.
4&>4&2&'()(17'2 (0)( )4& 1'6)41)'( (7 2>)(1): 80)'.&29 /0& 6)41)4&318(17' 75 %761'. 1%).&29
?' 2$%%)4;@ =& 0;>7(0&21V& (0)( (0& ):.741(0%2 21%1:)4 (7 (072& 3&2841)(1): 1'6)41)'8&9
C( #$%&'()@ =& 0)6& &F>&41%&'(&3 =1(0 5142( 743&4 Y21'.:& 8&:: >&4 87:$%'Z L/D4&.17'2 574 1%).& 4&87.'1(17' >47&41%&'(&3 =1(0 6)41):& 8&::2 >&4 87:$%'Z L/D 4&.17'2 574 4&87.'1V1'. )'3 >4&318(1'.
6)41)$4>72&29 L7=&6&4@ =&
&4B87:$%' 4&.17'2@ &1(0&4 ):7'& 74 1' ) 01&4)480;9
8/9/2019 HTM CorticalLearningAlgorithms 1
34/68
" #$%&'() *+,, -).& HI
':8I796 PL >I87.81 +551./4 #;I19;9/787.5/ 8/3 +(&4 87'()1'2 (0& 3&()1:&3 >2&$37873& 574 ) 5142( 1%>:&%&'()(17' 75 (0&
2>)(1): >77:&4 5$'8(17'9 /0& 1'>$( (7 (012 873& 12 )' )44); 75 $(2 547% 2&'274; 3)() 74 (0& >4&617$2 :&6&:9 /0& 873& 87%>$(&2
)8(16&J7:$%'2Y(Z B (0& :12( 75 87:$%'2 (0)( =1' 3$& (7 (0& 1'>$( )( (1%& (9
/012 :12( 12 (0&' 2&'( )2 1'>$( (7 (0& (&%>74): >77:&4 47$(1'& 3&2841(&4@ 19&9 )8(16&J7:$%'2Y(Z 12 (0& 7$(>$( 75 (0& 2>)(1): >77:1'. 47$(1'&9
/0& >2&$37873& 12 2>:1( 1'(7 (04&& 312(1'8( >0)2&2 (0)( 788$4 1' 2&f$&'8&K
-0)2& ,K 87%>$(& (0& 76&4:)> =1(0 (0& 8$44&'( 1'>$( 574 &)80 87:$%'
-0)2& *K 87%>$(& (0& =1''1'. 87:$%'2 )5(&4 1'012& >&4%)'&'8& )'3 1'(&4'): 6)41))(1): >77:&4 :&)4'1'. 12 1'0&4&'(:; 7':1'&@ ;7$ 8)' ($4' 755 :&)4'1'. :; 2A1>>1'. -0)2& H9
/0& 4&2( 75 (0& 80)>(&4 87'()1'2 (0& >2&$37873& 574 &)80 75 (0& (04&& 2(&>29 /0&
6)417$2 3)() 2(4$8($4&2 )'3 2$>>74(1'. 47$(1'&2 $2&3 1' (0& 873& )4& 3&51'&3 )( (0&
&'39
/1(,(#?(U#,(21
-4174 (7 4&8&161'. )'; 1'>$(2@ (0& 4&.17' 12 1'1(1):1V&3 $(1'. ) :12( 75 1'1(1):
>7(&'(1): 2;')>2&2 574 &)80 87:$%'9 /012 87'212(2 75 ) 4)'37% 2&( 75 1'>$(2 2&:&8(&3
547% (0& 1'>$( 2>)8&9 i)80 1'>$( 12 4&>4&2&'(&3 &4%)'&'8& 6):$&9 /0& 4)'37% >&4%)'&'8& 6):$&2 )4& 8072&' =1(0 (=7
841(&41)9 ]142(@ (0& 6):$&2 )4& 8072&' (7 &4%)'&'8& 6):$& )( =0180 ) 2;')>2& 12 87'213&4&3 o87''&8(&3oZ9
/012 &')7(&'(1): 2;')>2&2 (7
8/9/2019 HTM CorticalLearningAlgorithms 1
35/68
" #$%&'() *+,, -).& HR
C'#)" A6 8F"+?# 574 &)80 87:$%' 12 21%>:; (0& '$%$(2@ %$:(1>:1&3
8/9/2019 HTM CorticalLearningAlgorithms 1
36/68
" #$%&'() *+,, -).& HU
C'#)" G6 Q"#+1(1;
/0& (0143 >0)2& >&4574%2 :&)4'1'.e 1( $>3)(&2 (0& >&4%)'&'8& 6):$&2 75 ):: 2;')>2&2
)2 '&8&22)4;@ )2 =&:: )2 (0& :&%&'(&3 1' :1'&2 *+B*U9 ]74 =1''1'. 87:$%'2@ 15 )2;')>2& 12 )8(16&@ 1(2 >&4%)'&'8& 6):$& 12 1'84&%&'(&3@ 7(0&4=12& 1( 12 3&84&%&'(&39
-&4%)'&'8& 6):$&2 )4& 87'2(4)1'&3 (7 :)8& (7 0&:> ) 87:$%' :&)4' 87''&8(17'29 ?5 ) 87:$%' 37&2 '7( =1' 75(&' &'7$.0 Y)2
%&)2$4&3 =&:: =1(0 )'; 1'>$(2
75(&' &'7$.0 Y)2 %&)2$4&3 _$(;J;8:&Z@ 1(2 >&4%)'&'8& 6):$&2 )4&
$(&3 Y:1'& HgZ9
18. forc inactiveColumns(t)
19.
20. fors inpotentialSynapses(c)
21. ifactive(s) then
22. s.permanence += permanenceInc
23. s.permanence = min(1.0, s.permanence)
24. else
25. s.permanence -= permanenceDec
26. s.permanence = max(0.0, s.permanence)
27.
28. for c incolumns:
29.
30. minDutyCycle(c) = 0.01 * maxDutyCycle(neighbors(c))
31. activeDutyCycle(c) = updateActiveDutyCycle(c)
32. boost(c) = boostFunction(activeDutyCycle(c), minDutyCycle(c))
33.
34. overlapDutyCycle(c) = updateOverlapDutyCycle(c)
35. ifoverlapDutyCycle(c) < minDutyCycle(c) then
36. increasePermanences(c, 0.1*connectedPerm)
37.38. inhibitionRadius = averageReceptiveFieldSize()
39.
8/9/2019 HTM CorticalLearningAlgorithms 1
37/68
" #$%&'() *+,, -).& HM
04$(Y(@ WZ 12 , 15 (0& Wp(0
1'>$( 12 7'9
overlap(c) /0& 2>)(1): >77:&4 76&4:)> 75 87:$%' 8 =1(0 ) >)4(18$:)4
1'>$( >)((&4'9
activeColumns(t) N12( 75 87:$%' 1'318&2 (0)( )4& =1''&42 3$& (7
1'>$(9
desiredLocalActivity C >)4)%&(&4 87'(47::1'. (0& '$%$(2 (0)( %$2( $(&3 3$41'. :&)4'1'. B
$2&3 (7 1'84&)2& (0& 76&4:)> 6):$& 574 1')8(16& 87:$%'29
synapse C 3)() 2(4$8($4& 4&>4&2&'(1'. ) 2;')>2& B 87'()1'2 )
>&4%)'&'8& 6):$& )'3 (0& 27$48& 1'>$( 1'3&F9
connectedPerm ?5 (0& >&4%)'&'8& 6):$& 574 ) 2;')>2& 12 .4&)(&4 (0)' (012
6):$&@ 1( 12 2)13 (7 7(&'(1): 2;')>2&2 )'3 (0&14 >&4%)'&'8& 6):$&29
connectedSynapses(c) C 2$7(&'(1):P;')>2&2Y8Z =0&4& (0& >&4%)'&'8&
6):$& 12 .4&)(&4 (0)' 87''&8(&3-&4%9 /0&2& )4& (0&
1'>$(2 (0)( )4& 8$44&'(:; 87''&8(&3 (7 87:$%' 89
permanenceInc C%7$'( >&4%)'&'8& 6):$&2 75 2;')>2&2 )4& 1'84&%&'(&3
3$41'. :&)4'1'.9
permanenceDec C%7$'( >&4%)'&'8& 6):$&2 75 2;')>2&2 )4& 3&84&%&'(&3
3$41'. :&)4'1'.9
activeDutyCycle(c) C 2:131'. )6&4).& 4&>4&2&'(1'. 07= 75(&' 87:$%' 8 0)2
8/9/2019 HTM CorticalLearningAlgorithms 1
38/68
" #$%&'() *+,, -).& Hg
overlapDutyCycle(c) C 2:131'. )6&4).& 4&>4&2&'(1'. 07= 75(&' 87:$%' 8 0)2 0)3
21.'1518)'( 76&4:)> Y19&9 .4&)(&4 (0)' %1'E6&4:)>Z =1(0 1(2
1'>$(2 Y&9.9 76&4 (0& :)2( ,+++ 1(&4)(17'2Z9
minDutyCycle(c) C 6)41)4&2&'(1'. (0& %1'1%$% 3&214&3 5141'. 4)(& 574
) 8&::9 ?5 ) 8&::p2 5141'. 4)(& 5)::2 .4&)(&4
(0)' %1'E6&4:)>9
averageReceptiveFieldSize()
/0& 4)31$2 75 (0& )6&4).& 87''&8(&3 4&8&>(16& 51&:3 21V& 75 ):: (0& 87:$%'29
/0& 87''&8(&3 4&8&>(16& 51&:3 21V& 75 ) 87:$%' 1'8:$3&2 7':; (0& 87''&8(&32;')>2&2 Y(072& =1(0 >&4%)'&'8& 6):$&2 qr 87''&8(&3-&4%Z9 /012 12 $2&3
(7 3&(&4%1'& (0& &F(&'( 75 :)(&4): 1'012& 1' 87:$%' 8
8/9/2019 HTM CorticalLearningAlgorithms 1
39/68
" #$%&'() *+,, -).& HO
':8I796 QL )9;I5681 +551./4 #;I19;9/787.5/ 8/3 +(&4 87'()1'2 (0& 3&()1:&3 >2&$37873& 574 ) 5142( 1%>:&%&'()(17' 75 (0&
(&%>74): >77:&4 5$'8(17'9 /0& 1'>$( (7 (012 873& 12 )8(16&J7:$%'2Y(Z@ )2 87%>$(&3)(1): >77:&49 /0& 873& 87%>$(&2 (0& )8(16& )'3 >4&318(16& 2()(& 574 &)80
8&:: )( (0& 8$44&'( (1%&2(&>@ (9 /0& 4&318(16& 2()(&2 574
&)80 8&:: 574%2 (0& 7$(>$( 75 (0& (&%>74): >77:&4 574 (0& '&F( :&6&:9
/0& >2&$37873& 12 2>:1( 1'(7 (04&& 312(1'8( >0)2&2 (0)( 788$4 1' 2&f$&'8&K
-0)2& ,K 87%>$(& (0& )8(16& 2()(&@ )8(16&P()(&Y(Z@ 574 &)80 8&::
-0)2& *K 87%>$(& (0& >4&318(&3 2()(&@ >4&318(16&P()(&Y(Z@ 574 &)80 8&::
-0)2& HK $>3)(& 2;')>2&2
-0)2& H 12 7':; 4&f$14&3 574 :&)4'1'.9 L7=&6&4@ $':1A& 2>)(1): >77:1'.@ -0)2&2 , )'3* 87'()1' 27%& :&)4'1'.B2>&81518 7>&4)(17'2 =0&' :&)4'1'. 12 ($4'&3 7'9 P1'8&
(&%>74): >77:1'. 12 21.'1518)'(:; %74& 87%>:18)(&3 (0)' 2>)(1): >77:1'.@ =& 5142( :12(
(0& 1'5&4&'8&B7':; 6&4217' 75 (0& (&%>74): >77:&4@ 57::7=&3 :&%&'()(17'
3&()1:2@ (&4%1'7:7.;@ )'3 2$>>74(1'. 47$(1'&2 )4& )( (0& &'3 75 (0& 80)>(&4@ )5(&4 (0&
>2&$37873&9
8/9/2019 HTM CorticalLearningAlgorithms 1
40/68
" #$%&'() *+,, -).& I+
)9;I5681 I55196 I4&318(16&P()(& =)2 , 3$& (7 ) 2&f$&'8& 2&.%&'( 1' (0& >4&617$2
(1%& 2(&>Z@ (0&' (072& 8&::2 $( =)2
$'&F>&8(&3 Y19&9 '7 8&::2 0)3 >4&318(16&P()(& 7$(>$( 7'Z@ (0&' &)80 8&:: 1' (0& 87:$%'
8/9/2019 HTM CorticalLearningAlgorithms 1
41/68
" #$%&'() *+,, -).& I,
)9;I5681 I55196 I&4 87:$%' )2 (0& :&)4'1'. 8&::Y:&)4'P()(&Z9 /0& :7.18 12 )2 57::7=2K 15 (0& 1'>$( =)2 >4&318(&3 4&318(&3@ (0&' ):: 8&::2 1' (0&
8/9/2019 HTM CorticalLearningAlgorithms 1
42/68
" #$%&'() *+,, -).& I*
C'#)" E
/0& 2&87'3 >0)2& 8):8$:)(&2 (0& >4&318(16& 2()(& 574 &)80 8&::9 C 8&:: =1:: ($4' 7' 1(2
>4&318(16& 2()(& 7$(>$( 15 7'& 75 1(2 2&.%&'(2 $(2 )4& 8$44&'(:; )8(16& 3$& (7 5&&3B574=)43 1'>$(9 ?' (012 8)2&@ (0& 8&::
f$&$&2 $> (0& 57::7=1'. 80)'.&2K )Z 4&1'5748&%&'( 75 (0& 8$44&'(:; )8(16& 2&.%&'(Y:1'&2 IMBIgZ@ )'3 0)2& )8($)::; 8)441&2 7$( :&)4'1'.9 ?' (012 >0)2& 2&.%&'(
$>3)(&2 (0)( 0)6& $( )'3 (0& 8&:: 12 8072&' )2 ) :&)4'1'. 8&:: Y:1'&2 RUBRMZ9 E(0&4=12&@ 15 (0&
8&:: &6&4 2(7>2 >4&318(1'. 574 )'; 4&)27'@ =& '&.)(16&:; 4&1'5748& (0& 2&.%&'(2
Y:1'&2 RgBU+Z9
54. for c, i incells
55. iflearnState(s, i, t) == 1 then
56. adaptSegments (segmentUpdateList(c, i), true)
57. segmentUpdateList(c, i).delete()
58. else ifpredictiveState(c, i, t) == 0 andpredictiveState(c, i, t-1)==1 then
59. adaptSegments (segmentUpdateList(c,i),false
)60. segmentUpdateList(c, i).delete()
61.
8/9/2019 HTM CorticalLearningAlgorithms 1
43/68
" #$%&'() *+,, -).& IH
/5
8/9/2019 HTM CorticalLearningAlgorithms 1
44/68
" #$%&'() *+,, -).& II
/0& 57::7=1'. 3)() 2(4$8($4&2 )4& $2&3 1' (0& (&%>74): >77:&4 >2&$37873&K
cell(c,i) C :12( 75 ):: 8&::2@ 1'3&F&3 $( Y(012 12 (0& 7$(>$( 75 (0& 2>)(1): >77:&4Z9
activeState(c, i, t) C $( )'3 (0& >)2( (&%>74): 87'(&F(9
)8(16&P()(&Y8@ 1@ (Z 12 (0& 87'(41$( )2 =&:: )2
)' )>>47>41)(& (&%>74): 87'(&F(9
predictiveState(c, i, t) C 4&318(17' 75 (0& 87:$%' 8 8&:: 1 )( (1%& (@ .16&' (0&
)8(161(; 75 7(0&4 87:$%'2 )'3 (0& >)2( (&%>74): 87'(&F(9
>4&318(16&P()(&Y8@ 1@ (Z 12 (0& 87'(414&318(1'. 5&&3B574=)43 1'>$( 1' (0&
8$44&'( (&%>74): 87'(&F(9
learnState(c, i, t) C 2&2 1' ) 2&.%&'( 12 .4&)(&4 (0)'
)8(16)(17'/04&207:3@ (0& 2&.%&'( 12 2)13 (7 &4%)'&'8& 6):$& 574 ) 2;')>2&9
connectedPerm ?5 (0& >&4%)'&'8& 6):$& 574 ) 2;')>2& 12 .4&)(&4 (0)' (012
6):$&@ 1( 12 2)13 (7 2&2 )33&3 (7 ) 2&.%&'( 3$41'.:&)4'1'.9
permanenceInc C%7$'( >&4%)'&'8& 6):$&2 75 2;')>2&2 )4& 1'84&%&'(&3
=0&' )8(161(;B2&2 )4& 3&84&%&'(&3
=0&' )8(161(;B
8/9/2019 HTM CorticalLearningAlgorithms 1
45/68
" #$%&'() *+,, -).& IR
segmentUpdate _)() 2(4$8($4& 07:31'. (04&& >1&8&2 75 1'574%)(17' 4&f$14&3 (7
$>3)(& ) .16&' 2&.%&'(K )Z 2&.%&'( 1'3&F YB, 15 1(p2 ) '&=
2&.%&'(Z@ 2&2@ )'3 8Z ) 5:).
1'318)(1'. =0&(0&4 (012 2&.%&'( 207$:3 2&2 7' 2&.%&'(
2 (0)( )4& )8(16& 3$& (7 (0& .16&' 2()(& )( (1%& ( 12 .4&)(&4 (0)'
)8(16)(17'/04&207:39 /0& >)4)%&(&4 2()(& 8)' 4&5&4&'8&9
getBestMatchingSegment(c, i, t)
]74 (0& .16&' 87:$%' 8 8&:: 1 )( (1%& (@ 51'3 (0& 2&.%&'( =1(0 (0& :)4.&2('$%2&2 12 )::7=&3 (7
8/9/2019 HTM CorticalLearningAlgorithms 1
46/68
" #$%&'() *+,, -).& IU
getSegmentActiveSynapses(c, i, t, s, newSynapses= false)
S&($4' ) 2&.%&'(b>3)(& 3)() 2(4$8($4& 87'()1'1'. ) :12( 75 >47>72&3
80)'.&2 (7 2&.%&'( 29 N&( )8(16&P;')>2&2 2&2
12 )' 7>(17'): )4.$%&'( (0)( 3&5)$:(2 (7 @#?)"9 ?5 '&=P;')>2&2 12 ,+4"@ (0&'
'&=P;')>2&J7$'( B 87$'(Y)8(16&P;')>2&2Z 2;')>2&2 )4& )33&3 (7
)8(16&P;')>2&29 /0&2& 2;')>2&2 )4& 4)'37%:; 8072&' 547% (0& 2&( 75 8&::2
(0)( 0)6& :&)4'P()(& 7$(>$( r , )( (1%& 2(&> (9
adaptSegments(segmentList, positiveReinforcement)
/012 5$'8(17' 1(&4)(&2 (047$.0 ) :12( 75 2&.%&'(b>3)(&p2 )'3 4&1'5748&2
&)80 2&.%&'(9 ]74 &)80 2&.%&'(b>3)(& &:&%&'(@ (0& 57::7=1'. 80)'.&2 )4&
>&4574%&39 ?5 >721(16&S&1'5748&%&'( 12 ,+4" (0&' 2;')>2&2 7' (0& )8(16&
:12( .&( (0&14 >&4%)'&'8& 87$'(2 1'84&%&'(&3 &4%)'&'8&?'89 C:: 7(0&42;')>2&2 .&( (0&14 >&4%)'&'8& 87$'(2 3&84&%&'(&3 &4%)'&'8&_&89 ?5
>721(16&S&1'5748&%&'( 12 @#?)"@ (0&' 2;')>2&2 7' (0& )8(16& :12( .&( (0&14
>&4%)'&'8& 87$'(2 3&84&%&'(&3 &4%)'&'8&_&89 C5(&4 (012 2(&>@ )';
2;')>2&2 1' 2&.%&'(b>3)(& (0)( 37 ;&( &F12( .&( )33&3 =1(0 ) >&4%)'&'8&
87$'( 75 1'1(1):-&4%9
8/9/2019 HTM CorticalLearningAlgorithms 1
47/68
" #$%&'() *+,, -).& IM
&II9/3.R &L & '5;I86.
8/9/2019 HTM CorticalLearningAlgorithms 1
48/68
" #$%&'() *+,, -).& Ig
#&$47'2 0)6& 2&6&4): >)4(29
O"?? >2$:
/0& 8&:: $( 75 (0& 8&::@
(0& )F7'@ 741.1')(&2 )( (0& 8&:: 2&2 ):1.'&3
):7'. (0& 3&'341(&2 =0180 5&&3 (7 (0& 8&:: 47F1%): 3&'341(&2 )4& %)4A&3 =1(0 .4&&' :1'&29
D$:(1>:& )8(16& 2;')>2&2 7' >47F1%): 3&'341(&2 0)6& ) 47$.0:; :1'&)4 )331(16& &55&8(
)( (0& 8&:: 2&9 ?' 87'(4)2(@ 15 )
21'.:& 2;')>2& 12 )8(16)(&3 4&>&)(&3:; 7(&'(1):2@ (0&
2&87'3@ (0143@ )'3 2$7(&'(1):2 0)6& %$80 :&22 &55&8( )( (0& 8&::
13 2>1A&2 )44161'. )( ) 21'.:& 2;')>2& =1:: 0)6& 7':; ) 2:1.0(:;
:)4.&4 &55&8( (0)' ) 21'.:& 2>1A&9
/0& 5&&3B574=)43 87''&8(17'2 (7 ) 4&.17' 75 '&7874(&F >4&5&4&'(1)::; 87''&8( (7 (0&
>47F1%): 3&'341(&29 /012 0)2 $( :);&4 75 '&$47'2 1' &)80 4&.17'9
=(),#? ="1$+(,")
/0& 3&'341(& &4(1&29 G0&' ) 21'.:& 2;')>2& 12 )8(16)(&3 7' ) 312(): 3&'341(&@ 1( 0)2 ) %1'1%):
&55&8( )( (0& 8&:: 7:)41V)(17' (0)( 788$42 :78)::; (7 (0& 2;')>2&
=&)A&'2 2&2@ =0180 )4& (0& %)W741(; 75 2;')>2&2 7' )
'&$47'@ 87$:3'[( 37 %$809
G& '7= A'7= (0)( 2&8(17'2 75 312(): 3&'341(&2 )8( )2 2&%1B1'3&>&'3&'( >478&221'.
4&.17'29 ?5 &'7$.0 2;')>2&2 2&2 =1(01' I+ $% 75 &)80
7(0&4 =1:: .&'&4)(& ) 3&'341(18 2>1A&9
8/9/2019 HTM CorticalLearningAlgorithms 1
49/68
" #$%&'() *+,, -).& IO
/0&4&574&@ =& 8)' 2); (0)( (0& 312(): 3&'341(&2 )8( :1A& ) 2&( 75 (04&207:3 871'813&'8&
3&(&8(7429
/0& 2;')>2&2 574%&3 7' 312(): 3&'341(&2 )4& >4&37%1')'(:; 547% 7(0&4 8&::2 '&)4=)432 =0180 12 8)::&3 (0&
)>18): 3&'341(&9 E'& (0&74; 2);2 (0)( (012 2(4$8($4& )::7=2 (0& '&$47' (7 :78)(&
2&6&4): 312(): 3&'341(&2 1' )' )4&) =0&4& (0&; 8)' %74& &)21:; %)A& 87''&8(17'2 (7
>)221'. )F7'29 ?' (012 1'(&4>4&()(17'@ (0& )>18): 3&'341(& )8(2 )2 )' &F(&'217' 75 (0&
8&::9
0:1#1A&@ 74 ^)8(17' >7(&'(1):`@ =0180 >47>).)(&2 ):7'. (0&
)F7'9 /0& )F7' :&)6&2 (0& 8&:: 47W&8(2 (7 7(0&4 :);&42 75 8&::2 74 &:2&=0&4& 1' (0& 1A&@ (0&4& )4& 3155&4&'( 61&=27' 07= (7 1'(&4>4&( (0129 /0& >4&37%1')'( 61&= Y&2>&81)::; 1' 4&.)432 (7 (0&
'&7874(&FZ 12 (0)( (0& 4)(& 75 2>1A&2 12 =0)( %)((&429 /0&4&574& (0& 7$(>$( 75 ) 8&::
8)'
8/9/2019 HTM CorticalLearningAlgorithms 1
50/68
" #$%&'() *+,, -).& R+
/0& )(17' 75 ) '&$47' 12 1'(&'3&3 (7 .16& ) >&'31F 207=2 ) '&$47'B:1A& &:&%&'(
$2&3 1' %)'; 8:)2218 )4(15181): '&$4): '&(=74A %73&:29 /0&2& )4(15181): '&$47'2 0)6&
) 2&( 75 2;')>2&2 &)80 =1(0 ) =&1.0(9 i)80 2;')>2& 4&8&16&2 ) 28):)4 )8(16)(17'@
=0180 12 %$:(1>:1&3 2&2 12
2$%%&3 1' ) '7'B:1'&)4 5)2017' (7 >473$8& )' 7$(>$( 75 (0& )4(15181): '&$47'9
N&)4'1'. 788$42 2&2 )'3 >&40)>2 (0& '7'B
:1'&)4 5$'8(17'9
/012 (;>& 75 )4(15181): '&$47'@ )'3 6)41)(17'2 75 1(@ 0)2 >476&' $2&5$: 1' %)';
)>>:18)(17'2 )2 ) 6):$)$()(17'): (77:9 L7=&6&4@ 1( 37&2'[( 8)>($4& %$80 75
(0& 87%>:&F1(; )'3 >478&221'. >7=&4 75 18(2 ) 8&:: $2&3 1' (0& L/D 874(18):
:&)4'1'. ):.741(0%29 C' L/D 8&:: 8)>($4&2 %)'; 75 (0& 1%>74()'( 8)>)47F1%): 3&'341(&9 C:: 5&&3B574=)43 1'>$(2 (7 (0& 8&:: )4&
%)3& 61) 2;')>2&2 Y207=' )2 .4&&' 37(2Z9 /0& )8(161(; 75 2;')>2&2 12 :1'&)4:;
2$%%&3 (7 >473$8& ) 5&&3B574=)43 )8(16)(17' 574 (0& 8&::9
G& 4&f$14& (0)( ):: 8&::2 1' ) 87:$%' 0)6& (0& 2)%& 5&&3B574=)43 4&2>7'2&9 ?' 4&):
'&$47'2 (012 =7$:3 :1A&:; 47F1%): 3&'341(&9
/7 )6713 0)61'. 8&::2 (0)( '&6&4 =1' 1' (0& 87%>&(1(17' =1(0 '&1.0&(1(17' 12 '7(
1::$2(4)(&3 1' (0& 31).4)%9
8/9/2019 HTM CorticalLearningAlgorithms 1
51/68
" #$%&'() *+,, -).& R,
]1')::;@ (0& >47F1%): 3&'341(& 0)2 )' )22781)(&3 2&( 75 >7(&'(1): 2;')>2&2 =0180 12 )
2$&4%)'&'8&` 6):$& 75 ):: (0& >7(&'(1): 2;')>2&2 7' (0& >47F1%): 3&'341(&9 E':;
(072& >7(&'(1): 2;')>2&2 (0)( )4& )2&9 G& &F(&'3
(012 87'8&>( (7 ) :)4.&4 2&( 75 >7(&'(1): 87''&8(17'2 574 )' L/D 8&::9 _&'341(&2 )'3
)F7'2 7' 7(&'(1): 2;')>2&2 12 '7( 207='9
/0& 87%&(1(17' 7(&'(1):
2;')>2&2@ )'3 7=&45$: >:)2(181(; ):27 2&&' 1' 4&2&'(2 Y61) 80)'.&2 (7 (0& 2;')>2&2 7' (0& >47F1%):
3&'341(&2Z 15 (0& 1'>$( 80)'.&2@ 74 (0& '$%2&2 7' ) 2&.%&'( )4& )8(16& )( 7'8&@
(0& 3&'341(& &4%)'&'8& 6):$& 75 ):: 1(2 >7(&'(1): 2;')>2&29
E':; (072& >7(&'(1): 2;')>2&2 (0)( )4& ):&%&'()(17'@ =& $2& ) 51F&3 '$%&4 8&::9 ?'
)'7(0&4 1%>:&%&'()(17'@ =& )33 )'3 3&:&(& 2&.%&'(2 =01:& (4)1'1'.9 Q7(0 %&(0732
8)' =74A9 ?5 =& 0)6& ) 51F&3 '$%&4 8&::@ 1( 12 >72212&2 7' (0& 2)%& 2&.%&'(9 ]74 &F)%>:&@ 2); =&
0)6& *+ 6):13 2;')>2&2 7' ) 2&.%&'( )'3 ) (04&207:3 75 ,R9 Y?' .&'&4): =& =)'( (0&
(04&207:3 (7
8/9/2019 HTM CorticalLearningAlgorithms 1
52/68
" #$%&'() *+,, -).& R*
2&.%&'( 8)' '7= 4&87.'1V& 7'& >)4(18$:)4 2()(& 75 (0& 8&::2 '&)4>&' 15 =& )33&3 )'7(0&4 *+ 2;')>2&2 (7 (0& 2)%& 2&.%&'( 4&>4&2&'(1'. )'
&'(14&:; 3155&4&'( 2()(& 75 8&::2 '&)4)((&4' )'3 M )8(16& 2;')>2&2
547% (0& 7(0&4 )'3 &41%&'()::; (0)(
$> (7 *+ 3155&4&'( >)((&4'2 8)' )4(181>)(& 1' %)';
3155&4&'( >4&318(17'29
0:1#$( Y61) (0& >47F1%): 3&'341(&Z@ )'3 *Z (0& 8&:: 12 )8(16& 3$& (7 :)(&4):
87''&8(17'2 Y61) (0& 312(): 3&'341(& 2&.%&'(2Z9 /0& 574%&4 12 8)::&3 (0& ^)8(16&
2()(&` )'3 (0& :)((&4 12 8)::&3 (0& ^>4&318(16& 2()(&`9
?' (0& &)4:1&4 31).4)%@ (0& (=7 7$(>$(2 )4& 4&>4&2&'(&3 4&318(17'2
8/9/2019 HTM CorticalLearningAlgorithms 1
53/68
" #$%&'() *+,, -).& RH
/0& 7$(>$( 75 (0& 4&.17' 12 ) 6&8(74 4&>4&2&'(1'. (0& 2()(& 75 ):: (0& 8&::29 /012
6&8(74 $( 12 (0& ES 75 (0& )8(16& )'3 >4&318(16& 2()(&29 Q; 87%&4(; 75 1'5&4&'8& 1' ) 4&.17'9
>2449>&'31F9
P($)4(@ T4&.@ P>4$2(7'@ #&:27'@ Ls$22&4@ D180)&:@ =&2;'0%&:>:&672; &;0%072
Y#&= X74AK EF5743 b'16&421(; -4&22@ *++gZ
/012 47>&4(1&2 75 3&'341(& 2&.%&'(2 $2&3 1' (0& L/D 874(18): :&)4'1'.
):.741(0%29 ?( 12 =41((&'
8/9/2019 HTM CorticalLearningAlgorithms 1
54/68
" #$%&'() *+,, -).& RI
&II9/3.R EL & '5;I86.
8/9/2019 HTM CorticalLearningAlgorithms 1
55/68
" #$%&'() *+,, -).& RR
Q#:"+)
/0& '&7874(&F 12 .&'&4)::; 2)13 (7 0)6& 21F :);&429 ]16& 75 (0& :);&42 87'()1' 8&::2
)'3 7'& :);&4 12 %72(:; 87''&8(17'29 /0& :);&42 =&4& 312876&4&3 76&4 7'& 0$'34&3;&)42 ).7 =1(0 (0& )36&'( 75 2()1'1'. (&80'1f$&29 /0& 1%).& )>47F1%)(&:; *%%9 /0& :&5(
213& 75 (0& 1%).& 1'318)(&2 (0& 21F :);&429 N);&4 ,@ )( (0& (7>@ 12 (0& '7'B8&::$:)4
:&6&:9 /0& ^GD` )( (0& :&2 75 (0& '&7874(&F@ :);&42 )'3
87:$%'29 D72( )F7'2 2>:1( 1' (=7 1%%&31)(&:; )5(&4 :&)61'. (0&
8/9/2019 HTM CorticalLearningAlgorithms 1
56/68
" #$%&'() *+,, -).& RU
1' (0& 1%).&9 ?( 0)2 )4(18$:)41%).&9 X7$ %1.0( '7(18& (0)( (0&4& )4& 27%& '&$47'2 1' :);&4 ,9 /0& '$%)4( 75 (0& 1%).& 12 ) 2()1' (0)( 207=2 (0& 4&2&'8& )'3 3&2(1')(17' 75
)>18): 3&'341(&2 12 2>&81518 (7 &)80 :);&49
?' 2074(@ (0& :);&4&3 )'3 87:$%')4 74.)'1V)(17' 75 (0& '&7874(&F &9
V#+(#,(21) 2@ ?#:"+) (1 $(@@"+"1, +";(21)
/0&4& 12 6)41)(17' 1' (0& (018A'&22 75 (0& :);&42 1' 3155&4&'( 4&.17'2 75 (0& '&7874(&F
)'3 27%& 312).4&&%&'( 76&4 (0& '$%74( (0)( (0&; 8)''7( 312(1'.$120 (0&
(=7 :);&42 1' (0& 4&.17'2 (0&; 2($3;@ 27 75(&' :);&4 * )'3 :);&4 H )4& .47$>&3
(7.&(0&4 )'3 8)::&3 ^:);&4 *lH`9 E(0&4 281&'(12(2 .7 (0& 7>>721(& 314&8(17'@ 3&51'1'.2$&)42 1' 4&.17'2 01&4)48018)::; 5)4 547% (0& 2&'274; 74.)'29
8/9/2019 HTM CorticalLearningAlgorithms 1
57/68
" #$%&'() *+,, -).& RM
O2?451)
/0& 2&87'3 %)W74 74.)'1V1'. >41'81>:& 75 (0& '&7874(&F 12 87:$%'29 P7%& 87:$%')4
74.)'1V)(17' 12 6121477'2& >47>&4(1&2 75 8&::2 1' c,@ (0& 5142(
874(18): 4&.17' (7 >478&22 1'574%)(17' 547% (0& 4&(1')9
E'& 75 (0& 5142( 312876&41&2 =)2 (0)( %72( 8&::2 1' c, 4&2>7'3 (7 :1'&2 74 &3.&2 )(
3155&4&'( 741&'()(17'2 )( 2>&81518 )4&)2 75 (0& 4&(1')9 J&::2 (0)( )4& 6&4(18)::; ):1.'&3
1' 87:$%'2 ):: 4&2>7'3 (7 &3.&2 =1(0 (0& 2)%& 741&'()(17'9 ?5 ;7$ :77A 8)4&5$::;@ ;7$
=1:: 2&& (0)( (0& 34)=1'. 207=2 ) 2&( 75 2%):: :1'&2 )( 3155&4&'( 741&'()(17'2 )44);&3
)84722 (0& (7> 75 (0& 2&8(17'9 /0&2& :1'&2 1'318)(& =0)( :1'& 741&'()(17' 8&::2 )( (0)(
:78)(17' 4&2>7'3 (79 J&::2 (0)( )4& 6&4(18)::; ):1.'&3 Y=1(01' (0& (01' 6&4(18): 2(41>&2Z
4&2>7'3 (7 (0& :1'&2 75 (0& 2)%& 741&'()(17'9
/0&4& )4& 2&6&4): 7(0&4 87:$%')4 >47>&4(1&2 2&&' 1' c,@ (=7 75 =0180 )4& 207=' 1'
(0& 34)=1'.9 /0&4& )4& ^78$:)4 37%1')'8& 87:$%'2` =0&4& 8&::2 4&2>7'3 (7 21%1:)4
87%
8/9/2019 HTM CorticalLearningAlgorithms 1
58/68
" #$%&'() *+,, -).& Rg
/0& .&'&4): 4$:& 574 '&7874(&F 12 (0)( 2&6&4): 3155&4&'( 4&2>7'2& >47>&4(1&2 )4&
76&4:)13 7' 7'& )'7(0&4@ 2$80 )2 741&'()(17' )'3 78$:)4 37%1')'8&9 C2 ;7$ %76&
0741V7'()::; )84722 (0& 874(18): 2$45)8&@ (0& 87%7'2& >47>&4(1&2
&F011&8&2 75 2>).0&((1 2()8A&3 213& )4( 75 ) '&7874(18):
2:18&9 /0& 6&4(18): 2(4$8($4& 75 %1'1B87:$%'2 12 &613&'( 1' (012 1%).&9 E' (0& 41.0( 12
) 87'8&>($): 34)=1'. 75 ) %1'1B87:$%' Y547% -&(&42 )'3 X1:%&VZ9 ?' 4&):1(; 12
2A1''1&4 (0)' (0129 #7(& (0&4& )4& %$:(1>:& '&$47'2 1' &)80 :);&4 1' (0& 87:$%'9 C::
(0& '&$47'2 1' ) %1'1B87:$%' =1:: 4&2>7'3 (7 21%1:)4 1'>$(29 ]74 &F)%>:&@ 1' (0&
34)=1'. 75 ) 2&8(17' 75 c, 207=' >4&617$2:;@ ) %1'1B87:$%' =1:: 87'()1' 8&::2 (0)(
4&2>7'3 (7 :1'&2 75 ) >)4(18$:)4 741&'()(17' =1(0 ) >)4(18$:)4 78$:)4 37%1')'8&
>4&5&4&'8&9 /0& 8&::2 1' )' )3W)8&'( %1'1B87:$%' %1.0( 4&2>7'3 (7 ) 2:1.0(:;3155&4&'( :1'& 741&'()(17' 74 3155&4&'( 78$:)4 37%1')'8& >4&5&4&'8&9
?'01:); )' &22&'(1): 47:& 12 3&51'1'. %1'1B87:$%'29 /0&; )4& '7(
61210;218): 2&>)4)(17'9 /0&
1'01
8/9/2019 HTM CorticalLearningAlgorithms 1
59/68
" #$%&'() *+,, -).& RO
/0& %1'1B87:$%' 12 (0& >47(7(;>& 574 (0& 87:$%' $2&3 1' (0& L/D 874(18): :&)4'1'.
):.741(0%9
K1 "H3"&41%&'(): )'1%): (7 ) 21%>:& 2(1%$:$29 ]74 &F)%>:&@ (0&; %1.0( 207= )' )'1%):
) 21'.:& :1'& 1' ) 2%):: >)4( 75 (0& 612$): 2>)8& (7 3&(&4%1'& (0& 4&2>7'2& >47>&4(1&2
75 8&::2 1' c,9 G0&' $21'. 21%>:& 1'>$(2@ 4&2&)480&42 51'3 (0)( 8&::2 ):=);2 =1::
4&2>7'3 (7 (0& 2)%& 1'>$(9 L7=&6&4@ 15 (0& 21%>:& 1'>$( 12 &%47>&4(1&2@ 74): 2&f$&'8&@ 7':; 7'& 75(0& 8&::2 1' )' L/D 87:$%' 4&2&'(1'. 6)41)$( =1(0 '7 87'(&F( =1:: 8)$2& ):: (0& 8&::2 1' )
87:$%' (7 $( )'3 ) 2$47>72&2 )' )'2=&49 /0& L/D 874(18): :&)4'1'.
):.741(0% 207=2 (0)( ) :);&4 75 8&::2 74.)'1V&3 1' 87:$%'2 8)' )81(;
%&%74; 75 6)41):;@ ) :);&4 75 8&::2 8)'
:&)4' ) :7( 75 2&f$&'8&29 J7:$%'2 75 8&::2 (0)( 20)4& (0& 2)%& 5&&3B574=)43
4&2>7'2& )4& (0& A&; %&80)'12% 574 :&)4'1'. 6)41)7(0&212 &F>:)1'2 =0; 87:$%'2 )4& '&8&22)4;@ 47>72& (0)( (0& 3155&4&'( :);&42 7
8/9/2019 HTM CorticalLearningAlgorithms 1
60/68
" #$%&'() *+,, -).& U+
3&2841$( 75 '&$47'2 1' (0& 3155&4&'( :);&429 /0&2& )4&
:1( 1' (=79 E'& 41%)41:; =1(01' (0& 2)%& :);&49 /0$2 ):: (0& 8&::2 1' &)80 :);&4 )4& 01.0:;
1'(&487''&8(&39 /0& '&$47'2 )'3 0741V7'(): 87''&8(17'2 )4& '7( 207=' 1' (0&
31).4)%9
/0&4& )4& (=7 5&&3B574=)43 >)(0=);2@ ) 314&8( >)(0 207=' 1' 74)'.& )'3 )' 1'314&8(
>)(0 207=' 1' .4&&'9 N);&4 I 12 (0& >41%)4; 5&&3B574=)43 1'>$( :);&4 )'3 4&8&16&2
1'>$( 547% )(0=);29 N);&4 I >47W&8(2 (7 :);&4 H9
N);&4 H 12 ):27 (0& 741.1' 75 (0& 314&8( 5&&3B574=)43 >)(0=);9 P7 (0& 314&8( 574=)43
>)(0=); 12 :1%1(&3 (7 :);&4 I )'3 :);&4 H9
P7%& 5&&3B574=)43 87''&8(17'2 2A1> :);&4 I )'3 .7 314&8(:; (7 :);&4 H9 C'3@ )2
%&'(17'&3 )>&)42 1' 4&.17'2 5)4 547% 2&'274; 1'>$(9 C( (0)(
>71'(@ (0& 314&8( 574=)43 >)(0=); 12 W$2( 547% :);&4 H (7 :);&4 H 1' (0& '&F( 4&.17'9
1
2/3
4
5
6
Thalamus
1
2/3
4
5
6
8/9/2019 HTM CorticalLearningAlgorithms 1
61/68
" #$%&'() *+,, -).& U,
/0& 2&87'3 5&&3B574=)43 >)(0=); Y207=' 1' .4&&'Z 741.1')(&2 1' :);&4 R9 N);&4 H
8&::2 %)A& ) 87''&8(17' (7 :);&4 R 8&::2 )2 (0&; >)22 7' (0&14 =); (7 (0& '&F( 4&.17'9
C5(&4 &F1(1'. (0& 874(18): 20&&(@ (0& )F7'2 547% :);&4 R 8&::2 2>:1( ).)1'9 E'& 47W&8(2 (7 ) >)4( 75 (0& 4174 1'>$(2@ (0&' 5142( 743&4 :&)4'1'.=1:: 788$49 ?' (0& '&7874(&F (012 =7$:3 :1A&:; :120&3 473$8&2
) 21%1:)4 4&2$:(9
]142( 743&4 2&f$&'8&2 )4& =0)( )4& '&&3&3 (7 574% 1'6)41)'( 4&>4&2&'()(17'2 574
2>)(1): (4)'2574%)(17'2 75 )' 1'>$(9 ?' 61217'@ 574 &F)%>:&@ FB; (4)'2:)(17'@ 28):&@ )'3
47()(17' )4& ):: 2>)(1): (4)'2574%)(17'29 G0&' )' L/D 4&.17' =1(0 5142( 743&4
%&%74; 12 (4)1'&3 7' %761'. 7)(1): >)((&4'2 )4&
&f$16):&'(9 /0& 4&2$:(1'. L/D 8&::2 =1:: :&F 8&::2`
1' (0& '&7874(&F9 /0& L/D 8&::2 =1:: 2(); )8(16& Y1' (0& >4&318(16& 2()(&Z 76&4 ) 4)'.&
75 2>)(1): (4)'2574%)(17'29
C( #$%&'() =& 0)6& 37'& 61217' &F>&41%&'(2 (0)( 6&415; (012 %&80)'12% =74A2 )2
&F>&8(&3@ )'3 (0)( 27%& 2>)(1): 1'6)41)'8& 12 )801&6&3 =1(01' &)80 :&6&:9 /0& 3&()1:2
75 (0&2& &F>&41%&'(2 )4&
8/9/2019 HTM CorticalLearningAlgorithms 1
62/68
" #$%&'() *+,, -).& U*
N&)4'1'. 5142( 743&4 2&f$&'8&2 1' :);&4 I 12 87'212(&'( =1(0 51'31'. 87%>:&F 8&::2 1'
:);&4 I@ )'3 574 &F>:)1'1'. =0; :);&4 I 312)>>&)42 1' 01.0&4 4&.17'2 75 '&7874(&F9 C2
;7$ )28&'3 (0& 01&4)480; )( 27%& >71'( 1( =1:: '7 :7'.&4 722174): 2():&F 8&::2` =0180
)4& 5142( 7( 75 (1%1'.9N);&4 H >4&318(2 ^=0)(` =1:: 0)>>&' '&F(@ >&'9 L7=&6&4@ %)'; ()2A2 4&f$14& (1%1'. 2$80 )2 4&87.'1V1'. 2>7A&' =7432 1'
=0180 (0& 4&:)(16& (1%1'. 74()'(9 D7(74 47>72&
(0)( :);&4 R '&$47'2 >4&318( (0& '&F( 2()(& 7':; )5(&4 (0& &F>&8(&3 (1%&9 /0&4& )4&
2&6&4): >74( (012 0;>7(0&2129 E'& 12 (0)( :);&4 R 12 (0&
%7(74 7$(>$( :);&4 75 (0& '&7874(&F9 C'7(0&4 12 (0)( :);&4 R 4&8&16&2 1'>$( 547%
:);&4 , (0)( 741.1')(&2 1' ) >)4( 75 (0& (0):)%$2 Y'7( 207=' 1' (0& 31).4)%Z9 G&
>47>72& (0)( (012 1'574%)(17' 12 07= (1%& 12 &'873&3 )'3 312(41$( (7 :);&4 , Y'7( 207=' 1' (0& 31).4)%Z9
/0& 2&87'3 3155&4&'8& (&4 * 37&2 (0129 ?' 87'(4)2(@ =& 7':;
=)'( :);&4 R (7 >4&318( (0& '&F( &:&%&'( Y)( ) 2>&81518 (1%&Z9 G& 0)6& '7( %73&:&3
(012 3155&4&'8& 47W&8(2 (7 2$)(0 12 .)(&3 $( 75 :);&4 R 12 27%&(1%&2 >)22&3 (7
(0& '&F( 4&.17' )'3 27%&(1%&2 1( 12 $( =1(07$(
%7(74 &81518 (1%1'.@ )((&'(17'@ )'3 %7(74 :); (7.&(0&49 /0& >71'( =& =)'( (7 %)A&
12 (0)( ) 6)41)(17' 75 (0& L/D 874(18): :&)4'1'. ):.741(0% 87$:3 &)21:; 1'874>74)(&
2>&81518 (1%1'. )'3 W$2(15; ) 2&>)4)(& :);&4 1' (0& 874(&F9
8/9/2019 HTM CorticalLearningAlgorithms 1
63/68
" #$%&'() *+,, -).& UH
@#A&' E #2; 4#A&' F
N);&4 U 12 (0& 741.1' 75 )F7'2 (0)( 5&&3 7'2& >47>&4(1&2@ 27 =&
>47>72& (0)( (0&;@ (77@ )4& 4$''1'. ) 6)41)'( 75 (0& L/D 874(18): :&)4'1'. ):.741(0%9
.'#, $2") #1 9&S +";(21 32++"):& 8&::2 >&4 87:$%' 574 6)41):& 8&::2 >&4 87:$%'Z 128:72&2( (7 :);&4 H 1' (0& '&7874(&F@ =& 0)6& 5:&F1&81518 '&7874(18): :);&429 ]74 &F)%>:&@ 1' 7$4 %73&: =& A'7= (0& 743&4 1'
=0180 2;')>2&2 )4& 574%&3 7' 3&'341(& 2&.%&'(29 G& 8)' $2& (012 1'574%)(17' (7
&F(4)8( =0)( 12 >4&318(&3 (7 0)>>&' '&F( 547% (0& %74& .&'&4): >4&318(17' 75 ):: (0&
(01'.2 (0)( =1:: 0)>>&' 1' (0& 5$($4&9 G& 8)' >47$4>72&29
G& >47>72& (0)( 5&&3B574=)43 1'>$( (7 ) '&7874(18): 4&.17'@ =0&(0&4 (7 :);&4 I 74
:);&4 H@ >47W&8(2 >4&37%1')'(:; (7 >47F1%): 3&'341(&2@ =0180 =1(0 (0& )2212()'8& 75
1'01)42& 312(414&2&'()(17' 75 (0& 1'>$(9 G&
>47>72& (0)( 8&::2 1' :);&42 *@ H@ I@ R@ )'3 U 20)4& (012 2>)42& 312(414&2&'()(17'9 /012 12 )887%>:120&3 7'3 (7 (0& 2)%& 5&&3B574=)43 1'>$(9
G& >47>72& (0)( :);&4 I 8&::2@ =0&' (0&; )4& >4&2&'(@ $2& (0& L/D 874(18): :&)4'1'.
):.741(0% (7 :&)4' 5142(B743&4 (&%>74): (4)'21(17'2 =0180 %)A& 4&>4&2&'()(17'2 (0)(
)4& 1'6)41)'( (7 2>)(1): (4)'2574%)(17'29 N);&4 H 8&::2 $2& (0& L/D 874(18): :&)4'1'.
8/9/2019 HTM CorticalLearningAlgorithms 1
64/68
" #$%&'() *+,, -).& UI
):.741(0% (7 :&)4' 6)41)74): (4)'21(17'2 )'3 574% 2()4&2&'()(17'2 (0)( )4& >)22&3 $> (0& 874(18): 01&4)480;9 N);&4 R 8&::2 :&)4'
6)41)&81518 >47>72):2 574 :);&4 *
)'3 :);&4 U9 L7=&6&4@ 3$& (7 (0& (;>18): 0741V7'(): 87''&8(161(; 1' (0&2& :);&42 1( 12
:1A&:; (0&;@ (77@ )4& :&)4'1'. 27%& 574% 75 2&f$&'8& %&%74;9
8/9/2019 HTM CorticalLearningAlgorithms 1
65/68
" #$%&'() *+,, -).& UR
U15&48&'().& 75 J7:$%'2 )8(16& 3$& (7 ]&&3B
]74=)43 1'>$( (7 ) S&.17'
,"& $&'6&2%#5& 724A #$$40&: 10%"02 # '#;08: %"#% /#'0&:?#:&; 72 %"& H#2K78% 7H H&&;KH7'1#'; 02$8%:I 3% 0: M;&:0'&;N
?&6#8:& %"& $&'6&2%#5& /#'0&: :79& ?#:&; 72 %"&
$#'%0684#' 02$8%I
8/9/2019 HTM CorticalLearningAlgorithms 1
66/68
" #$%&'() *+,, -).& UU
]&&3B]74=)43 %761'. 1' ) 314&8(17' )=); 547% )' 1'>$(@ 74 547% )
:7=&4 N&6&: (7 ) 01.0&4 N&6&: 1' ) L1&4)480; Y27%&(1%&2
8)::&3 Q7((7%Bb>Z
]&&3B_7='Z
]142( E43&4 -4&318(17' ) >4&318(17' $( )'3 '7( 7'
(0& >4174 1'>$(2 k 87%>)4& (7 c)41):18)(&2 27%& 75 (0& 2(4$8($4): )'3
):.741(0%18 5$'8(17'2 75 (0& '&7874(&F
L1&4)480; ) '&(=74A 75 87''&8(&3 &:&%&'(2 =0&4& (0& 87''&8(17'2
# '&5072 1044 "#/& 984%0$4& 4#A&':
7H 6&44:I L"&2 '&H&''&; %7 02 %"& 672%& # '&5072 9#A ?& '&H&''&; %7 #: # 4&/&4I
?'5&4&'8&