Unitary Constant Time Complexity Update of Entire Probability Distribution over Stored Spatiotemporal Hypotheses
- This animation shows results of a simulation in which three preprocessed (including temporal decimation) Weizmann snippets, a total of 40 frames, were presented once each during learning.
- The model has two internal levels. L1 had 12x18=216 macs and L2 has 6x9=54 macs.
- During that learning, L1 mac 91 became active 30 times, i.e., on 30 of those 40 frames. An SDR (code) was stored in that mac on each of those 30 occasions, i.e. a total of 30 SDRs were stored in that mac. And the majority of those codes occurred as parts of chains.
- Similarly, during that time, L2 mac 23 became active 15 time, resulting in storage of 15 codes. Note that L2 codes persist for twice as long as L1 codes, i.e., for two time steps.
- The receptive field (RF) of L1 mac 91 is shown in the input level; it's a patch of 102 pixels. In Sparsey, a mac activates if it has a criterion number of active features (for L1 macs, pixels) active in its RF. Here that criterion was that the number be from 10 to 12 active pixels.
- L2 mac 23's RF is also shown. It's direct (immediate) RF is a patch of 25 L1 macs. It's indirect (input-level) RF is the large cyan patch, which shows the union of the RFs of the 25 L1 macs comprising its direct RF. An L2 mac becomes active if a criterion number of the L1 macs comprising its direct RF are active (purple), which again may have a range.
- Shown here is a test trial that is an exact re-presentation of one of the three learning snippets.
- The yellow callout for L1 mac 91 shows the likelihood distribution over the 30 inputs that were stored (as SDRs) in that mac. Each of inputs was actually a particular, context-dependent, spatiotemporal moment. The height of a bar represents the fraction of the corresponbding input's SDR active. For example, if L1 mac codesize was Q=30 (i.e., L1 macs consist of Q WTA modules), then if 15 of the SDR's units are active, the bar will be at 50% height.
- What you see is the likelihood distribution being updated on each frame on which L1 mac 91 is active. That operation, i.e., updating the entire likelihood distribution over all stored inputs (qua hypotheses), was dubbed "Belief Update" by Judea Pearl. The callout for L2 mac 23 shows similar information. The distribution is blank on frames on which the associated mac is not active.
- In each distribution, the dark blue bar represents the code of the correct input, i.e., the input that actually occurred on that frame on the training trial. In most cases, the dark blue bar is the highest bar, which is appropriate since the replay is identical to the training trial. However, sometimes it is not. That's an error and that condition arises due to crosstalk interference. The reason the dark blue bar always steps to the right is that the stored inputs (codes) in the distribution are organized in the order in which they occurred during learning, which, again, was a single presentation of each of three sequences.
- Sparsey's core algorithm, the Code Selection Algorithm (CSA), executes independely in each mac, and executes on each frame (on which a mac is active) during learning. The CSA (more typically, a simplified variant of it) is also used on each frame during retrieval, which is what is being shown here.
- The main point underlying this animation is that on each frame during retrieval, the CSA (or its simpler variant) updates the entire probability distribution over ALL inputs stored in a mac, with a number of computational steps (thus runtime) that is fixed, i.e., does not depend on the number of stored codes. Whether the number of inputs (SDRs) stored in L1 mac 91 is 1, or 30 (as is the case here), or 500, etc., the update takes exactly the same number of steps. In other words, in practice, the CSA does "belief update" with constant time complexity.
- From the standpoint of quantum computing (QC), the CSA does unitary update of the superposition (over stored hypotheses) with constant time.