Skip to content
This repository has been archived by the owner on Apr 29, 2021. It is now read-only.

psteinroe/htm.core-vs-nupic

Repository files navigation

htm.core-vs-nupic

Parameter

HTMCore Nupic CPP
Attribute Element Description Value Default Attribute Element Description Value Default
size RDSE Encoder Member "size" is the total number of bits in the encoded output SDR. 400 0
sparsity RDSE Encoder Member "sparsity" is the fraction of bits in the encoded output which this encoder will activate. This is an alternative way to specify the member "activeBits". 0.1 0
resolution RDSE Encoder Member "resolution" Two inputs separated by greater than, or equal to the resolution are guaranteed to have different representations. 0.9 0 resolution RDSE Encoder A floating point positive number denoting the resolution of the output representation. Numbers within [offset-resolution/2, offset+resolution/2] will fall into the same bucket and thus have an identical representation. Adjacent buckets will differ in one bit. resolution is a required parameter. max(0.001, (maxVal - minVal) / numBuckets) -
activeBits RDSE Encoder Member "activeBits" is the number of true bits in the encoded output SDR.
radius RDSE Encoder Member "radius" Two inputs separated by more than the radius have non-overlapping representations. Two inputs separated by less than the radius will in general overlap in at least some of their bits. You can think of this as the radius of the input.
Category RDSE Encoder Member "category" means that the inputs are enumerated categories. If true then this encoder will only encode unsigned integers, and all inputs will have unique / non-overlapping representations. FALSE
numBuckets RDSE Encoder Used to calculate resolution. 130
seed RDSE Encoder Member "seed" forces different encoders to produce different outputs, even if the inputs and all other parameters are the same. Two encoders with the same seed, parameters, and input will produce identical outputs. The seed 0 is special. Seed 0 is replaced with a random number. 0 (random) seed RDSE Encoder 42 42
w RDSE Encoder Number of bits to set in output. w must be odd to avoid centering problems. w must be large enough that spatial pooler columns will have a sufficiently large overlap to avoid false matches. A value of w=21 is typical. 21
n RDSE Encoder Number of bits in the representation (must be > w). n must be large enough such that there is enough room to select new representations as the range grows. With w=21 a value of n=400 is typical. The class enforces n > 6*w. 400
name RDSE Encoder None
offset RDSE Encoder A floating point offset used to map scalar inputs to bucket indices. The middle bucket will correspond to numbers in the range [offset - resolution/2, offset + resolution/2). If set to None, the very first input that is encoded will be used to determine the offset. None
verbosity RDSE Encoder 0
season DateTime Encoder (1, 30)
timeOfDay DateTime Encoder (1, 1) timeOfDay DateTime Encoder 21, 9.49
dayOfWeek DateTime Encoder 20 dayOfWeek DateTime Encoder null
weekend DateTime Encoder 0 weekend DateTime Encoder null
inputDimensions SP A list of integers representing the dimensions of the input vector. Format is [height, width,depth, ...], where each value represents the size of the dimension. For a topology of one dimensions with 100 inputs use [100]. For a two dimensional topology of 10x5 use [10,5]. - inputDimensions SP A sequence representing the dimensions of the input vector. Format is (height, width, depth, ...), where each value represents the size of the dimension. For a topology of one dimension with 100 inputs use 100, or (100,). For a two dimensional topology of 10x5 use (10,5).  -
columnDimensions SP A list of integers representing the dimensions of the columns in the region. Format is [height, width, depth, ...], where each value represents the size of dimension. For a topology of one dimensions with 2000 use 2000, or [2000]. For a three dimensional of 32x64x16 use [32, 64, 16]. 1024 - columnDimensions (is columnCount in params file) SP A sequence representing the dimensions of the columns in the region. Format is (height, width, depth, ...), where each value represents the size of the dimension. For a topology of one dimension with 2000 columns use 2000, or (2000,). For a three dimensional topology of 32x64x16 use (32, 64, 16).  2048 -
potentialRadius SP This parameter determines the extent of the input that each column can potentially be connected to. This can be thought of as the input bits that are visible to each column, or a 'receptive field' of the field of vision. A large enough value will result in global coverage, meaning that each column can potentially be connected to every input bit. This parameter defines a square (or hyper square) area: a column will have a max square potential pool with sides of length (2 * potentialRadius + 1). 999999 16 potentialRadius SP This parameter determines the extent of the input that each column can potentially be connected to. This can be thought of as the input bits that are visible to each column, or a ‘receptiveField’ of the field of vision. A large enough value will result in ‘global coverage’, meaning that each column can potentially be connected to every input bit. This parameter defines a square (or hyper square) area: a column will have a max square potential pool with sides of length 2 * potentialRadius + 1. Default 16. 16
potentialPct SP The percent of the inputs, within a column's potential radius, that a column can be connected to. If set to 1, the column will be connected to every input within its potential radius. This parameter is used to give each column a unique potential pool when a large potentialRadius causes overlap between the columns. At initialization time we choose ((2*potentialRadius + 1)^(# inputDimensions) * potentialPct) input bits to comprise the column's potential pool. 0.4 0.5 potentialPct SP The percent of the inputs, within a column’s potential radius, that a column can be connected to. If set to 1, the column will be connected to every input within its potential radius. This parameter is used to give each column a unique potential pool when a large potentialRadius causes overlap between the columns. At initialization time we choose ((2*potentialRadius + 1)^(# inputDimensions) * potentialPct) input bits to comprise the column’s potential pool. Default 0.5. 0.8 0.5
globalInhibition SP If true, then during inhibition phase the winning columns are selected as the most active columns from the region as a whole. Otherwise, the winning columns are selected with respect to their local neighborhoods. Global inhibition boosts performance significantly but there is no topology at the output. TRUE TRUE globalInhibition SP If true, then during inhibition phase the winning columns are selected as the most active columns from the region as a whole. Otherwise, the winning columns are selected with respect to their local neighborhoods. Using global inhibition boosts performance x60. Default False. 1 TRUE
localAreaDensity SP The desired density of active columns within a local inhibition area (the size of which is set by the internally calculated inhibitionRadius, which is in turn determined from the average size of the connected potential pools of all columns). The inhibition logic will insure that at most N columns remain ON within a local inhibition area, where N = localAreaDensity * (total number of columns in inhibition area).  0.0390625 0.05 localAreaDensity SP The desired density of active columns within a local inhibition area (the size of which is set by the internally calculated inhibitionRadius, which is in turn determined from the average size of the connected potential pools of all columns). The inhibition logic will insure that at most N columns remain ON within a local inhibition area, where N = localAreaDensity * (total number of columns in inhibition area). Default -1.0. - -1
- - - - - numActiveColumnsPerInhArea SP An alternate way to control the density of the active columns. If numActiveColumnsPerInhArea is specified then localAreaDensity must be less than 0, and vice versa. When using numActiveColumnsPerInhArea, the inhibition logic will insure that at most ‘numActiveColumnsPerInhArea’ columns remain ON within a local inhibition area (the size of which is set by the internally calculated inhibitionRadius, which is in turn determined from the average size of the connected receptive fields of all columns). When using this method, as columns learn and grow their effective receptive fields, the inhibitionRadius will grow, and hence the net density of the active columns will decrease. This is in contrast to the localAreaDensity method, which keeps the density of active columns the same regardless of the size of their receptive fields. Default 10.0. 40 10
stimulusThreshold SP This is a number specifying the minimum number of synapses that must be active in order for a column to turn ON. The purpose of this is to prevent noisy input from activating columns. 4 0 stimulusThreshold SP This is a number specifying the minimum number of synapses that must be on in order for a columns to turn ON. The purpose of this is to prevent noise input from activating columns. Specified as a percent of a fully grown synapse. Default 0. 0 0
synPermInactiveDec SP The amount by which the permanence of an inactive synapse is decremented in each learning step. 0.01 0.008 synPermInactiveDec SP The amount by which an inactive synapse is decremented in each round. Specified as a percent of a fully grown synapse. Default 0.008. 0.0005 0.008
synPermActiveInc SP The amount by which the permanence of an active synapse is incremented in each round. 0.05 0.05 synPermActiveInc SP he amount by which an active synapse is incremented in each round. Specified as a percent of a fully grown synapse. Default 0.05. 0.003 0.05
synPermConnected SP The default connected threshold. Any synapse whose permanence value is above the connected threshold is a "connected synapse", meaning it can contribute to the cell's firing. 0.5 0.1 synPermConnected SP The default connected threshold. Any synapse whose permanence value is above the connected threshold is a “connected synapse”, meaning it can contribute to the cell’s firing. Default 0.1. 0.2 0.1
boostStrength SP A number greater or equal than 0, used to control boosting strength. No boosting is applied if it is set to 0. The strength of boosting increases as a function of boostStrength. Boosting encourages columns to have similar activeDutyCycles as their neighbors, which will lead to more efficient use of columns. However, too much boosting may also lead to instability of SP outputs. 0 0 boostStrength SP A number greater or equal than 0.0, used to control the strength of boosting. No boosting is applied if it is set to 0. Boosting strength increases as a function of boostStrength. Boosting encourages columns to have similar activeDutyCycles as their neighbors, which will lead to more efficient use of columns. However, too much boosting may also lead to instability of SP outputs. Default 0.0 0 0
wrapAround SP boolean value that determines whether or not inputs at the beginning and end of an input dimension are considered neighbors for the purpose of mapping inputs to columns. TRUE TRUE wrapAround SP Determines if inputs at the beginning and end of an input dimension should be considered neighbors when mapping columns to inputs. Default True. TRUE TRUE
minPctOverlapDutyCycle SP A number between 0 and 1.0, used to set a floor on how often a column should have at least stimulusThreshold active inputs. Periodically, each column looks at the overlap duty cycle of all other column within its inhibition radius and sets its own internal minimal acceptable duty cycle to: minPctDutyCycleBeforeInh * max(other columns' duty cycles). On each iteration, any column whose overlap duty cycle falls below this computed value will get all of its permanence values boosted up by synPermActiveInc. Raising all permanences in response to a sub-par duty cycle before inhibition allows a cell to search for new inputs when either its previously learned inputs are no longer ever active, or when the vast majority of them have been "hijacked" by other columns. 0.001 0.001 minPctOverlapDutyCycle SP A number between 0 and 1.0, used to set a floor on how often a column should have at least stimulusThreshold active inputs. Periodically, each column looks at the overlap duty cycle of all other columns within its inhibition radius and sets its own internal minimal acceptable duty cycle to: minPctDutyCycleBeforeInh * max(other columns’ duty cycles). On each iteration, any column whose overlap duty cycle falls below this computed value will get all of its permanence values boosted up by synPermActiveInc. Raising all permanences in response to a sub-par duty cycle before inhibition allows a cell to search for new inputs when either its previously learned inputs are no longer ever active, or when the vast majority of them have been “hijacked” by other columns. Default 0.001. 0.001 0.001
dutyCyclePeriod SP The period used to calculate duty cycles. Higher values make it take longer to respond to changes in boost. Shorter values make it potentially more unstable and likely to oscillate. 1000 1000 dutyCyclePeriod SP The period used to calculate duty cycles. Higher values make it take longer to respond to changes in boost or synPerConnectedCell. Shorter values make it more unstable and likely to oscillate. Default 1000. 1000 1000
seed SP Seed for our random number generator. If seed is < 0 a randomly generated seed is used. The behavior of the spatial pooler is deterministic once the seed is set. 1 seed SP Seed for our own pseudo-random number generator. Default -1. 1956 1
spVerbosity SP spVerbosity level: 0, 1, 2, or 3 0 0 spVerbosity SP spVerbosity level: 0, 1, 2, or 3. Default 0. 0 0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published