The invention is methods and apparatus for: a) performing nonlinear time warp invariant sequence recognition using a back-off procedure; and b) recognizing complex sequences, using physically embodied computer memories that represent information using a sparse distributed representational (SDR) format. Recognition of complex sequences often requires that multiple equally plausible hypotheses (multiple competing hypotheses, MCHs) can be simultaneously physically active in memory until disambiguating information arrives whereupon only hypotheses that are consistent with the new information are active. The invention is the first description of both back-off and MCH-handling methods in combination with representing information using a sparse distributed representation (SDR) format.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer implemented method for recognizing an input sequence that is a time-warped instance of any of one or more previously learned sequences stored in a memory module M, where M represents information, i.e., the items of the sequences, using a sparse distributed representation (SDR) format, the method comprising: a) for each successive item of the input sequence, activating a code in M, which represents the item in the context of the preceding items of the sequence, and b) where M consists of a plurality of Q winner-take-all competitive modules (CMs), each consisting of K representational units (RUs) and the process of activating a code is carried out by choosing a winning RU (winner) in each CM, such that the chosen (activated) code consists of Q active winners, one per CM, and c) where the process of choosing a winner in a CM involves first producing a probability distribution over the K units of the CM, and then choosing a winner either: i) as a draw from the distribution (soft max), or ii) by selecting the unit with the max probability (hard max). 2. The method of claim 1, wherein: a) one or more sources of input to M are used in determining the code for the item, whereby we mean, more specifically, that the one or more input sources are used to generate the Q probability distributions, one for each of the Q CMs, from which the winners will be picked, and b) if an input sequence is recognized as an instance of a stored sequence, S, then the code activated to represent the last item of the input sequence will be the same as or closest to the code of the last item of S, and c) where the similarity measure over code space is intersection size. 3. The method of claim 2, wherein: a) one or more of the input sources to M represents information about the current input item, referred to as the “U” source in the Detailed Description, and b) one or more of the input sources to M represents information about the history of the sequence of items processed up to the current item, where two such sources were described in the Detailed Description, i) one referred to as the “H” source, which carries information about the previous code active in M and possibly the previous codes active in additional memory modules at the same hierarchical level of an overall possibly multi-level network of memory modules, which by recursion, carries information about the history of preceding items from the start of the input sequence up to and including the previous item, and ii) one referred to as the “D” source, which carries information about previous and or currently active codes in other higher-level memory modules, which also carry information about the history of the sequence thus far, and iii) these H and D sources being instances of what is commonly referred to in the field as “recurrent” sources, and c) where there can be arbitrarily many input sources, and where any of the sources, e.g., U, H, and D, may be further partitioned into different sensory modalities, e.g., the U source might be partitioned into a 2D vector representing an image at one pixel granularity and another 2D vector representing the image at another pixel granularity, both which supply signals concurrently to M. 4. The method of claim 3, wherein the use of the input sources to determine a code is a staged, conditional process, which we call the “Back-off” process, wherein, for each successive item of the input sequence: a) a series of estimates of the familiarity, G, of the item is generated, where b) the production of each estimate of G is achieved by multiplying a subset of all available input sources to M to produce a set of Q CM distributions of support values, i.e., “support distributions”, over the cells comprising each CM, and computing G as a particular measure on that set of support distributions, where in one embodiment that measure is the average maximum support value across the Q CMs, and where c) we denote the estimate of G by subscripting it with the set of input sources used to compute it, e.g., GUD, if U and D are used, GU if only U is used, etc., and where d) the estimate is then compared to a threshold, Γ, which may be specific to the set of sources used to compute it, e.g., compare GUD to ΓUD, compare GU to ΓU, etc., and where e) if the threshold is attained, the G estimate is used to nonlinearly transform the set of Q support distributions (generated in step 4b) into a set of Q probability distributions (in Steps 9-11 of Table 1 of the Background section), from which the winners will be drawn, yielding the code, and f) if the threshold is not attained, the process is repeated for the next G estimate in the prescribed series, proceeding to the end of the series if needed, 5. The method of claim 4, wherein the prescribed series will generally proceed from the G estimate that use all available input sources (the most stringent familiarity test), and then consider subsets of progressively smaller size (progressively less stringent familiarity tests), e.g., starting with GHUD, then if necessary trying GHU and GUD, then if necessary trying GU (note that not all possible subsets need be considered and the specific set of subsets tried and the order in which they are tried are prescribed and can depend on the particular application). 6. The method of claim 5, where M uses an alternative SDR coding format in which the entire field of R representational units is treated as a Z-winner-take-all (Z-WTA) field, where the choosing of a particular code is the process of choosing Z winners from the R units, where Z is much smaller R, e.g., 0.1%, 1%, 5%, and where in one embodiment, G would be defined as the average maximum value of the top Z values of the support distribution, and the actual choosing of the code would be either: a) making Z draws w/o replacement from the single distribution over the R units comprising the field, or b) choosing the units with the top Z probability values in the distribution. 7. A non-transitory computer readable storage medium storing instructions, which when executed implement the functionality described in claims 1-6. 8. The method of claim 3, where in determining the code to activate for item, T, of an input sequence, a) for each of the Q CMs, 1 to q, the number, ζq, of units tied (or approximately tied, i.e., within a predefinable epsilon) for the maximal probability of winning in CM q, and where that maximal probability is within a threshold of 1/ζq, e.g., greater than 0.9×1/ζq (the idea being that the ζq units are tied for their chance of winning and that chance is significantly greater than the chances of any of the other K-ζq units in CM q), is computed, and where b) the average, ζ, of ζq across the Q CMs, rounded to the nearest integer, is computed. 9. The method of claim 8, wherein if ζ≧2, i.e., if in all Q CMs, there are ζ tied units that are significantly more likely to win than the rest of the units, that indicates that, upon being presented with item T of the input sequence, ζ of the sequences stored in M, S1 to Sζ, are equally and maximally likely, i.e., one of the set of ζ maximally likely units in each CM is contained in the code of S1, a different one of that set is in the code of S2, etc., which we refer to as a “multiple competing hypotheses” (MCH) condition, and which is a fundamentally ambiguous condition given M's set of learned (stored) sequences and the current input sequence up to and including item T of the input sequence. 10. The method of claim 9, wherein when an MCH condition exists in M, the process of selecting winners is expected to result in the unit that was contained in S1 being chosen (activated) in approximately 1/ζ of Q CMs, the unit that was contained in S2, being chosen in different approximately 1/ζ of the Q CMs, . . . , the unit that was contained in Sζ being chosen in a further different 1/ζ of the Q CMs; in other words, the ζ equally and maximally likely hypotheses, i.e., the hypothesis that the input sequence up to and including item T is the same as stored sequence S1, that it is the same as stored sequence S2, . . . , that it is the same as the stored sequence Sζ, are physically represented by a 1/ζ fraction of their codes being simultaneously active (modulo variances). 11. The method of claim 10, wherein outgoing signals from the active units comprising the code active in M at T are multiplied in strength by ζ. 12. The method of claim 11, where M uses an alternative SDR coding format in which the entire field of R representational units is treated as a Z-WTA field, where the choosing of a particular code is the process of choosing Z winners from the R units, where Z is much smaller R, e.g., 0.1%, 1%, 5%, and where in one embodiment, the process of choosing a code is to make Z draws w/o replacement from the single distribution over the R units, in which case, if an MCH condition exists in M, then that selection process is expected to result in the unit that was contained in S1 being chosen (activated) in approximately 1/ζ of Q CMs, the unit that was contained in S2, being chosen in different approximately 1/ζ of the Q CMs, . . . , the unit that was contained in Sζ being chosen in a further different 1/ζ of the Q CMs, and in which case, the outgoing signals from the active units comprising the code active in M at T are multiplied in strength by ζ. 13. A non-transitory computer readable storage medium storing instructions, which when executed implement the functionality described in claims 1-3 and 8-12.