Project : Full-layer V1 using HTM insights

It took me over three days to make it through them, it was a long tiring video marathon weekend. I’m sure glad I endured it. You will too!

I ended up testing myself by adding what was shown in lesson 12 without surrounds, which still has useful signals:

'Spatially Specific Inhibition (below) is used to extract directional information from the three RGB colors.
'See page 11 of pdf in Notes folder, and online at: https://ocw.mit.edu/courses/brain-and-cognitive-sciences/9-04-sensory-systems-fall-2013/lecture-notes/MIT9_04F13_Vis12.pdf
'  also MIT OpenCourseWare, 12. Motion perception and pursuit eye movements https://www.youtube.com/watch?v=oPb9AWMN2fY&feature=youtu.be&t=1082
'Spikes are generated when light moves in a direction that does not inhibit next GanglionIn connection.
'Bipolar cells still function when connection is inhibited, spikes do not make it across junction to ganglion.
'
'Receptor  (0)      (1)      (2)      (3) RetRcp(E,N,C) for each Eye, 0=Left Eye, 1=Right Eye
'N=0 TO 3   |        |        |        |
'           |->      |->      |->      |-> To ON Bipolar circuit for
'OFF        |        |        |        |   GangOut(,,0,1) and GangOut(,,1,1)
'Bipolars  (0)      (1)      (2)      (3)
'           |        |        |        |____________________________________
'           |        |        |_______ | __________________________         |
'           |        |_______ | ______ | _________________         |        |
'           |_______ | ______ | ______ | ________         |        |        |
'           |        |        |        |         |        |        |        |
'RetInh-    |___(0)  |___(1)  |___(2)  |         |  (0)___|  (1)___|  (2)___| <- RetInh(E,N,C,1,0)
'(,N,,00) __|__   \__|__   \__|__   \__|__     __|__/   __|__/   __|__/   __|__  RetInh(E,N,C,LfRt,OffOn)
'         _____    _____    _____    _____     _____    _____    _____    _____
'           |        |        |        |         |        |        |        |
'           |________|________|________|         |________|________|________|
'           GangIn(E,N,C,0,0)          |         GangIn(E,N,C,1,0)          |
'                                      |                                    |
'                     LEFT Motion OFF (0)                 RIGHT Motion OFF (1)
'             <--------------         _|_           -------------->        _|_
'                               GangOut(E,C,0,0)                     GangOut(E,C,1,0)
'                               GangOut(E,C,LfRt,OffOn)              GangOut(E,C,LfRt,OffOn)
'
Private Sub CalcRGBSignals()
Dim E As Long
Dim C As Long
Dim OnOff As Long
Dim LfRt As Long
Dim N As Long
 For C = 0 To 2         'For each of 3 colors.
  For E = 0 To 1        'Left Eye=0, Right Eye=1
'From https://www.kenrico.com/media/bembook/28/28.htm
'Early Receptor Potential (ERP) generated by changes in photopigment molecules in photoreceptors due to light action.
'Usually causes positive R1 signal followed by negative R2 signal, followed after around 2 ms by a late receptor potential (LRP),
'which (combined with the remainder of the ERP) forms the main constituent of the a-wave,
'a corneo-negative waveform (see Figure 28.6). Both rods and cones contribute to the a-wave.
'Due to computer using RGB colors and food is always lit: critter only has cones, and does not need rods.
    For N = 0 To EyeFacetTo                         'For each Eye facet. EyeFacetTo is total-1, count starts at 0.
         RetRcpWas(E, N, C) = RetRcp(E, N, C)       'Retinal Receptor reading Was, before below change.
'Calculate amount of light now reaching photoreceptor.
         RetRcp(E, N, C) = RetRGB(E, N, C) / 255    'Fractional Retinal Receptor value from 0 to 1.
'Use the briefly stored Was value to detect intensity change since previous timestep.
         RetRcpCmp(E, N, C) = RetRcp(E, N, C) - RetRcpWas(E, N, C)   'Compare what value Was to new.
'Photoreceptor is a negative going (A-Wave) photomultiplier with an energy gain of some 10^5 times.
         RetAWave(E, N, C) = -RetRcpCmp(E, N, C) * (10 ^ 5)
'It is below assumed at least one full unit of the 10^5 is required to change the state of a bipolar cell.
'OFF bipolars are sign conserving. OFF cells respond to light decrease, ON respond to increase.
      If RetAWave(E, N, C) < 1 Then RetOnOff(E, N, C, 0) = 0 Else RetOnOff(E, N, C, 0) = 1
'ON bipolars are sign inverting. ON receptor activation leads to closing of channels, causing hyperpolarization.
      If RetAWave(E, N, C) > -1 Then RetOnOff(E, N, C, 1) = 0 Else RetOnOff(E, N, C, 1) = 1
    Next N
'Ganglion cells form fields by passing action potential spikes from multiple ON or OFF cells, in parallel.
    For OnOff = 0 To 1
      For LfRt = 0 To 1
              RetGangOut(E, C, LfRt, OnOff) = 0
        For N = 0 To EyeFacetTo
'Each ON and OFF cell here connects to two Ganglian cells, one for left and one for right.
          If RetOnOffInhbt(E, N, C, LfRt, OnOff) = 1 Then
             RetGangIn(E, N, C, LfRt, OnOff) = 0
          Else
             RetGangIn(E, N, C, LfRt, OnOff) = RetOnOff(E, N, C, OnOff)
          End If
'If any of the Retinal Ganglion Inputs are one then Ganglion Output is one.
          If RetGangIn(E, N, C, LfRt, OnOff) > 0 Then
             RetGangOut(E, C, LfRt, OnOff) = 1
          End If
        Next N
'Send action potentials to brain as Sensory to include in episodic memory.
              SnsVal(E, RetMotionN(C, LfRt, OnOff)) = RetGangOut(E, C, LfRt, OnOff)
      Next LfRt
'Inhibitory Interneurons disable a ganglion input next to it, for one timestep duration.
'Now that it was used in the above step it's state is changed, for the next time around.
      For N = 0 To EyeFacetTo
        If N < EyeFacetTo Then            'One less inhibitory interneuron than receptors.
             RetOnOffInhbt(E, N + 1, C, 0, OnOff) = RetOnOff(E, N, C, OnOff)
        End If
        If N > 0 Then
             RetOnOffInhbt(E, N - 1, C, 1, OnOff) = RetOnOff(E, N, C, OnOff)
        End If
      Next N
    Next OnOff
  Next E
 Next C
End Sub

It’s in the newest Lab, but not yet needed. Signals are shown behind the eye, where retina is located. As long as there are not too many visual sensors it’s a convenient place to show a readout for the retinal signals. It’s then harder to say whether it’s meant to be a compound eye or not.

I have been working towards a function related development environment where readings of primary variables for various parts of the body show in its shape and color, and in the case of stomach contents also its size. There are then circular paws/feet/wheels/wings for the upper level left/right and forward/reverse that can control any motor system that changes color according to speed. The right shape is then a circle, and getting fancy with articulated legs and such is all show and no go.

I’m always trying to simplify the model to basic parts and stay in 2D so that the third axis is something that can later by added by using routine math rules for going from 2D to 3D, something a mathematician with little knowledge of how a brain works could then likely accomplish. This allows focusing on 2D drawings shown in the video, where only one per direction is needed instead of whole array of them at various rotations and related code.

After considering how helpful it would be to human society to make how the deepest darkest mysteries of how our brain works easy for even a child to understand, and the invisible moving shock zone (call it a “pit”) arena environment that will fry all zombie bots including those that fake it using too repeatable to be the “real thing” and never be capable to ever really “love” someone we get Bawitdaba.