-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to encode large vector as input to SP and HTM #782
Comments
do you mean n-dimensional vector, or 1D with that many elements? |
I have 128 elements (1D with many elements) vector as in [x1,x2,x3,............], currently, I am using TSNE dimensional reduction to 3 1D elements. as with many dimensional reductions techniques I am sure some of the original properties are lost in this reduction. I want to get your opinion on the best way forward. |
You'll need to test this for your specific task. In general. HTM's SpatialPooler should perform well in that matter. |
The way I have gone about doing this is available in my GitHub repository
FYI https://github.com/aamir-gmail/htm-vision-encoder
I have used TSNE to reduce the dimensions of 128 D vector to 3 and 4th
dimension is the norm of the 128 D vector, so we have 4 inputs to SP
encoded VIA RDSE
Cheers
Aamir
…On Sat, Apr 11, 2020 at 1:05 AM breznak ***@***.***> wrote:
Closed #782 <#782>.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#782 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJA2ECPSVDPRWQMNLE3BTUDRL4YS7ANCNFSM4LIFROQQ>
.
--
Kind Regards
Aamir Mirza
|
thanks for the heads up, Aamir!
do you have a compirasion of tSNE (or other dimensionality reduction methods, PCA) to HTM's spatial-pooler? Btw, for images, you could try a biological RetinaEncoder (as a working PR in this repo) |
Yes, I tried PCA as well as UMAP, however, TSNE worded best, please clone
the GitHub repo see for your self. However, the problem I faced with TSNE
is that it is slow and there is very much
an upper limit on TNSE on how much data can be encoded.
…On Tue, Apr 14, 2020 at 6:52 PM breznak ***@***.***> wrote:
thanks for the heads up, Aamir!
I have used TSNE to reduce the dimensions of 128 D vector to 3
do you have a compirasion of tSNE (or other dimensionality reduction
methods, PCA) to HTM's spatial-pooler?
Btw, for images, you could try a biological RetinaEncoder (as a working PR
in this repo)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#782 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJA2ECKVPSNNFSC2IIHWVVLRMQP6TANCNFSM4LIFROQQ>
.
--
Kind Regards
Aamir Mirza
|
Hi,
Along with TSNE, the 4th dimension is the norm ( magnitude ) of the 128 dim
original vectors. That is the one which makes all the difference, so the
final SDR as input to SP is,
6000 bits for the original 3D ( TSNE reduced ) vector plus 2000 bits for
the norm of the 128 bit.
Finally an SP with ( 8000,) and input at (8000,) bit SDR.
I was looking for an eye encoder I could not find in the master branch. If
you have a link with some examples on how to use it please let me know.
Cheers
Aamir
…On Tue, Apr 14, 2020 at 6:52 PM breznak ***@***.***> wrote:
thanks for the heads up, Aamir!
I have used TSNE to reduce the dimensions of 128 D vector to 3
do you have a compirasion of tSNE (or other dimensionality reduction
methods, PCA) to HTM's spatial-pooler?
Btw, for images, you could try a biological RetinaEncoder (as a working PR
in this repo)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#782 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJA2ECKVPSNNFSC2IIHWVVLRMQP6TANCNFSM4LIFROQQ>
.
--
Kind Regards
Aamir Mirza
|
the retina encoder is here, in an almost working state.
thanks for these findings! If you're interested, we could include this as an image encoder in here.
actually, I was asking if you've compared tSNE (+SP) vs raw data (+SP --meaning the SP does all the reduction, and how well it performs?) |
Hi,
I have not used the 128D raw data on the advice received that this will be
too much for the SP to handle( Numenta discourse ) please see my original
post here
https://discourse.numenta.org/t/how-many-feature-can-be-concatenated-for-input-to-spatial-poler/7224/15
.
encoding one float32 to 1000 bit SDR would require 128000-bit input to SP.
If you think SP in HTM core could handle it I am willing to give it a go.
Shall I use one RSDE encoder to the entire ( matrix ) 128 D features plus
10K image dataset, or separate RSDE per column?
If you wish to use parts or full code for the image encoder them please do
so. I have no problem.
Kind Regards
Aamir Mirza
…On Wed, Apr 15, 2020 at 12:44 AM breznak ***@***.***> wrote:
I was looking for an eye encoder I could not find in the master branch. If
you have a link with some examples on how to use it please let me know.
the retina encoder is here, in an almost working state.
#691 <#691>
Along with TSNE, the 4th dimension is the norm ( magnitude ) of the 128 dim
original vectors. That is the one which makes all the difference
thanks for these findings! If you're interested, we could include this as
an image encoder in here.
Yes, I tried PCA as well as UMAP, however, TSNE worded best,
actually, I was asking if you've compared tSNE (+SP) vs raw data (+SP
--meaning the SP does all the reduction, and how well it performs?)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#782 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJA2ECPSGVFCNGDJDMOKSKDRMRZFZANCNFSM4LIFROQQ>
.
--
Kind Regards
Aamir Mirza
|
I have a large feature vector (128, 300, 600 and 1200 D), is there a way to encode them using RSDE
for input to SP.
The text was updated successfully, but these errors were encountered: