Skip to content

Comment. Application to associative memory #106

Description

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/

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions