Simple electrical circuit learns on its own–with no help from a computer
science.org
science.org
Also, here’s an arxiv link to one of the papers if anyone is interested: https://arxiv.org/abs/2108.00275
How did you decide on the topology of the network/graph?
The shape of the network is actually inspired by jamming solids (we're a soft matter lab), but is completely arbitrary. We've done a ton of different shapes and sizes in simulation.
https://www.digikey.com/en/products/detail/microchip-technol...
https://en.wikipedia.org/wiki/Perceptron
https://americanhistory.si.edu/collections/search/object/nma...
Hope to create a small feedback circuit across each memristor, essentially letting it 'train itself'
Are those now something just available off the shelf?
As you mentioned near the end, you do NOT overcome the bias in the AD5220s? You just accept the error floor??
In theory, this learning rule will continue to decrease your error forever (in our simulations our error goes down to machine precision). However, with any physical learning network you’re always gonna hit an error floor based on the precision of your components. With our current variable resistors and network size that floor is around 10^-3. With more precise components (like we mention at the end of the paper), that floor will go down significantly.
>> The system then adjusted resistances in the two networks according to a simple rule that depended on whether the voltage difference across a resistor in the clamped network was bigger or smaller than the voltage difference across the corresponding resistor in the free network. After several iterations, those adjustments brought all voltages at all the nodes in the two networks into agreement and trained both networks to give the right output for a given input.
How is this not just a perceptron? I'm also curious about the rule for adjusting resistances in both networks.
[0] - https://www.veritasium.com/videos/2021/12/21/the-most-powerf...
I know this is the done thing in machine learning and I don't hold it against the authors, I just hold it up as an example of the broken training regime that is the golden standard throughout machine learning: a test set is said to be "held out" only because it is not used to directly adjust the parameters of a model. In truth, it is not held out, because it is used to control when training has achieved its goal and the inner loop can stop adjusting the model's parameters.
In the paper, the device is nominally trained on "30 flowers" but in practice "the entire test set of 120 flowers is run through the network" between training steps. In other words, there is an "inner" learning loop performed on the "30 flowers" but this inner loop is dominated by an outer loop on another 120 flowers. At the end of each inner-outer loop pair, the system has seen all the data. Training ends only once the performance on the 120 flowers has stopped changing. Then it's asked to classify the 120 flowers again. What a surprise, it performs very well. But we have learned nothing of its ability to classify _truly_ unseen data that was not used in either its inner or outer training loop.
So from that point of view, I'm sorry to say (and with apologies to the authors who are probably monitoring this thread) but nothing new has been done. The same old bad practices have been encoded in hardware.
The pragmatic reason for that is that if a team spends a month and a few thousand dollars developing and tuning a system, and then they find that the first time they test it on their held-out test set it doesn't work, there is no way that they'll just drop it and accept that all their effort and funds got to waste. They'll just keep trying until their system retruns the best results on the test set. At which point they've overfitted their system to the test set.
It's rare that this is described as clearly as in the paper I quote from but I think that's because the authors of the paper are not machine learnig people. In most machine learning papers you really have to squint between the lines to be sure what's been done.
Edit: btw, this is the paper I quoted from, linked by the author upthread:
https://arxiv.org/abs/2108.00275
I should have posted my comment under theirs but I got distracted and posted it on top instead.
it's still neat tho. I feel that an AGI will come out of an analog computer rather than a digital one.
Mind.Blown. This could be a very interesting development.
Which would be best for this - ASIC,FPGA,VLSI? Something else? for a rapid prototype setup?
Those FPAA seem just to be programmable analog filters not analog (or hybrid) computers.
The FPAA is a matrix of switched capacitors. Such a matrix can be used to design an analog computer. There’s a pretty huge body of literature on this subject.
I’d bet that the OP could have implemented this using FPAA.
Randomly picked a paper https://ieeexplore.ieee.org/document/7027875
Anadigm is a bit shy about numbers one would care about as analog programmer. How many multipliers with constants, summers, multipliers of two signals and integrators are available on the chip? Resource on that would be welcome.