3 ms·
Simple explanation if anyone needs it. The problem is suppose you have 4 neurons that need to understand a memory and present experience at the same time to ma
by program_whiz 5y ago
Simple explanation if anyone needs it.
The problem is suppose you have 4 neurons that need to understand a memory and present experience at the same time to make a decision (for example that you see a hot stove and memory that hot stoves hurt). The incoming neurons from memory and experience each have 4 neuron connections, which fire at some rate. Lets represent this as the firing rate of the neurons per second in a 4d vector:
experience: <1.0, 0, 0, 0> (1 pulse per sec on axis 0)
memory: <1.0, 0, 0, 0> (1 pulse per sec on axis 0)
If you "add" these together at the downstream neurons, you won't be able to tell which was a memory and which was sensation. A simplified explanation of how neurons work is by combining voltages from their incoming neurons. Example:
downstream sees: <2.0, 0, 0, 0>
upstream could be a memory with <1.0, ...> and experience <1.0, ...>, or memory <2.0, ...> experience <0.0, ....>, or memory <0.5, ....> and experience <1.5, ....>. There are many possible vectors that could "add" to produce the downstream effect, so it makes it harder for those neurons to "learn" the pattern.
As a math equivalence, if I ask "what two numbers sum to 10", there are many solutions (its impossible to disentangle the original numbers).
To make it easier to learn these patterns, what if we used only separate elements of the incoming vectors to represent this information (so the elements of memory and experience could be seperated)?
So some intermediate neurons can transform the representation. We can constructor orthogonal vectors (since the vectors above are sparse):
experience: <1.0, 0, 0, 0>
memory: <1.0, 0, 0, 0> => <0, 1.0, 0, 0>
experience + memory: <1.0, 1.0, 0, 0>
The "memory" must undergo a "rotation" which moves data into an "unused" portion that won't conflict with the experience neuron firing pattern.
Now downstream neurons can use the data from each (its effectively merging memory and experience without confusing the signal). There is only a single memory and a single experience that combined will give the firing pattern, so the pattern can be learned.
Due to the way linear algebra works, its possible to do this with more complex numbers along arbitrary axes in an n-dimensional space (instead of doing it with a single axis/neuron and all others being zero).
For a physical corollary, imagine two images super-imposed on each other. If they are very distinct, you might be able to infer what the two source images were, but if they are similar it would be difficult. Now imagine a "lenticular" image that clearly displays two images by printing them at orthogonal angles on the medium. You can easily determine what content belongs to which image, but only having a single "print" to store the data (this isn't a perfect anology, but it illustrates the idea):
https://images.app.goo.gl/3dCH7Txigh1adTd66 https://images.app.goo.gl/3dCH7Txigh1adTd66