Skip to content
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

Comment. Application to associative memory #106

Open
ghost opened this issue Aug 8, 2018 · 0 comments
Open

Comment. Application to associative memory #106

ghost opened this issue Aug 8, 2018 · 0 comments

Comments

@ghost
Copy link

ghost commented Aug 8, 2018

You can use such LSH algorithms to create associative memory. And actually that sort of associative memory "explains" extreme learning machines and reservoir computing:
https://github.com/S6Regen/Associative-Memory-and-Self-Organizing-Maps-Experiments.
That memory algorithm is very simple and suitable for the sort of hardware that was available in the 1980's. Instead they got bogged down with Hopfield networks. The only thing is they really didn't know about random projections at that time.
I've give you a some other points about the WHT:
1/ You don't need a multiplier circuit to do the WHT or random projections based on it.
That means you should be able to do vast numbers of random projections per second
on small chips using only patterns of addition, subtraction and barrel shift operations.
The transistor count can be very low.
2/ The out of place WHT is the simplest algorithm in computer science least known.
Go sequentially through the input array pair-wise. Put the sum sequentially in the lower half of a new array, the difference in the upper half. Repeat for a total of log base 2 n times.
3/ The intermediate calculations of the WHT are rather wavelet like and you can use them as such.
4/ You can use the WHT as an equally as fast way of generation Gaussian randoms as the ziggurat algorithm with some provisos.

I'll look at the way you did the random projections etc
http://randomprojectionai.blogspot.com/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants