[image: Inline image 1] You're joking right?
You actually want to compare an entire framework containing implementations for a few different operating systems, together with tools and tests - with a simple algorithm? Answer me this, why does it take 16 thousand computers to run a convoluted "deep" network when it just takes grok 1 ? No, but seriously that is not a even comparison... ;) David On Mon, Feb 2, 2015 at 2:58 PM, Michael Klachko <[email protected]> wrote: > I haven't realized Nupic code size is so large. A convolutional network > algorithm written from scratch can fit in 1000 lines of code. Why is Nupic > source ~300MB? > > On Mon, Feb 2, 2015 at 11:47 AM, Dinesh Deshmukh <[email protected]> > wrote: > >> David thank u for the detail explanation. >> >> >> On 2 February 2015 at 13:25, cogmission1 . <[email protected]> >> wrote: >> >>> Dinesh, >>> >>> First of all when you say NuPIC, it helps to be clear about what in fact >>> that is. NuPIC had a list of components and can be accessed and utilized >>> from a few different levels of abstraction. There is the OPF (Online >>> Prediction Framework) which is the "highest" level with which to work. Then >>> there is the Network API, which allows one to combine components with >>> specific respect for the job one wants to get done. Then there is working >>> with the individual components which is the most fine grained and requires >>> the most technical know-how (most do not deal with this level). >>> >>> NuPIC is a framework that in the end delivers a prediction and a >>> confidence level of that prediction, given a *stream* of input (or sequence >>> of inputs). It consists of various lower level components. >>> >>> 1. A module that allows Swarming (an algorithmic approach to arriving at >>> (converging on) the best configuration parameters to use with NuPIC. (I >>> believe it hasn't yet been pulled out so that it can be used independent of >>> the OPF, but that is a current effort - I may be wrong or not up to date) >>> >>> 2. Encoders. Take input of various forms and normalize it across all >>> possible inputs of a given type to produce a representation which is >>> suitable for input into other NuPIC components. This input adheres to a few >>> different constraints. Some of these constraints are configurable such as >>> how many bits to use for a representation, how many bits within that are to >>> be "on" bits etc. >>> >>> 3. Spatial Pooler. This takes in an encoded bit vector and outputs an >>> SDR (Sparse Distributed Representation). This SDR is guaranteed to have >>> certain properties. It also represents other aspects being modeled in a >>> biological way. This is namely the cortical columns which contain neurons. >>> SDR's have certain properties such as consistency, resistance to noise >>> (slight differences in the resultant bit vectors don't have an enormous >>> relative effect on the semantics) etc. >>> >>> 4. Temporal Memory. This, in most cases takes an SDR processed by a >>> Spatial Pooler - but doesn't have to in all cases depending on the task >>> being accomplished. This provides the distinctions surrounding prediction >>> and sequential learning. This also outputs an SDR. >>> >>> 5. Classifier. This is used to provide statistical correlation of a >>> prediction to the input that caused it. It is in most cases added to to the >>> final layer of processing (but doesn't always have to be used). >>> >>> The site at Numenta.org has wikis and links to videos[1][2][3] which >>> explain and add knowledge about each of these components. This is just a >>> rough overview, it would help to peruse these and then come back with more >>> questions which are always welcome :) >>> >>> Hope this high level overview helps! >>> >>> Welcome aboard! >>> >>> David >>> >>> 1. http://www.numenta.org >>> 2. https://github.com/numenta >>> 3. https://github.com/numenta/nupic/wiki >>> >>> On Mon, Feb 2, 2015 at 1:15 AM, Dinesh Deshmukh <[email protected]> >>> wrote: >>> >>>> I would like to know in depth about different modules of nupic.GIve me >>>> some suggestions of any links that explains how nupic code flows. >>>> I know abstract view of what htm is but i want to understand at a >>>> programming level. >>>> >>>> What makes nupic about 600MB size? I mean what kind of features it has? >>>> >>>> Thank u all. >>>> >>> >>> >>> >>> -- >>> *We find it hard to hear what another is saying because of how loudly >>> "who one is", speaks...* >>> >> >> > -- *We find it hard to hear what another is saying because of how loudly "who one is", speaks...*
