[HN Gopher] Simple electrical circuit learns on its own-with no ...
___________________________________________________________________
Simple electrical circuit learns on its own-with no help from a
computer
Author : rbanffy
Score : 89 points
Date : 2022-03-22 13:53 UTC (9 hours ago)
(HTM) web link (www.science.org)
(TXT) w3m dump (www.science.org)
| ladyattis wrote:
| This reminds me of the circuit used by some folks to match
| transistors at home. In this case, it utilizes a form of
| wheatstone bridge with a potentiometer to deal with non-matching
| resistors to level out the test rig (source of the circuit in
| question: https://www.youtube.com/watch?v=t--0fCMzfIo ).
| mlajtos wrote:
| Link to arXiv: https://arxiv.org/abs/2108.00275
| phkahler wrote:
| >> To train the system with a minimal amount of computing and
| memory, the researchers actually built two identical networks on
| top of each other. In the "clamped" network, they fed in the
| input voltages and fixed the output voltage to the value they
| wanted. In the "free" network, they fixed just the input voltage
| and then let all the other voltages float to whatever value they
| would, which generally gave the wrong voltage at the output.
|
| >> 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.
| mywittyname wrote:
| It sounds specifically like a linear adaptive filter.
| selimthegrim wrote:
| Can you elaborate? Is there a windowing function at all?
| L_226 wrote:
| It is a perceptron, just implemented in actual hardware. The
| Veritasium YT channel recently did a piece on analogue
| computers [0]. I didn't find his explanation too compelling,
| but it is still a good video.
|
| [0] - https://www.veritasium.com/videos/2021/12/21/the-most-
| powerf...
| supercheetah wrote:
| Ana does a better job I think of explaining some of the finer
| details, and some specific implementations[1].
|
| 1. https://youtu.be/67LXWocO9HI
| beardyw wrote:
| Except it is a computer, an analogue one.
| taneq wrote:
| By definition anything that computes is a computer, so yeah. :)
| bedast wrote:
| In fact, before the term was applied to machines, it was a
| job title.
| tux1968 wrote:
| They essentially made a simple analog computer. Veritasium just
| did a video about the future of such computers:
| https://youtu.be/GVsUOuSjvcg
| blt wrote:
| Seems like continuous-time gradient descent on something
| approximating a ReLU network would not be too terribly difficult
| to implement in analog hardware. Instead of summing gradients
| over a minibatch we could do pure SGD with only one sample at a
| time, using a latch to hold the sample constant while loading
| another one from storage. Has this been done?
| dekhn wrote:
| Isn't that the Mark I perceptron?
| https://en.wikipedia.org/wiki/Perceptron with some exceptions
| (it's single-layer, and the entire dataset is a single batch
| input).
| NotAWorkNick wrote:
| "If it's made out of electrical components then you should be
| able to scale it down to a microchip," he says. "I think that's
| where they're going with this."
|
| 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?
| FrozenVoid wrote:
| search 'memristor neural network'
| mmmBacon wrote:
| None. This is an analog computer. There are devices such as the
| field programmable analog array (FPAA) however that may be
| suitable.
|
| https://www.anadigm.com/fpaa.asp
| freemint wrote:
| https://anabrid.com/ is working on programmable analog
| computer on a chip though. So far they are only selling
| discrete hybrid calculators and an educational "cheap" analog
| computer. https://the-analog-thing.org/wiki/Main_Page
|
| Those FPAA seem just to be programmable analog filters not
| analog (or hybrid) computers.
| TheRealPomax wrote:
| I'm a little confused about this title: the circuit _is_ the
| computer. It gets help from literally being the computer
| necessary to update itself.
| oolonthegreat wrote:
| "learns on its own" makes it sound like unsupervised learning,
| but it's labeled data: the researchers also input the correct
| "output voltage" which they want the system to learn.
|
| it's still neat tho. I feel that an AGI will come out of an
| analog computer rather than a digital one.
| isaacimagine wrote:
| I feel like AGI will be an emergent property of a network of
| computers rather than an individual analog-or-digital one.
| RaisinLoaf69 wrote:
| I actually work on this project! Feel free to ask any questions.
|
| Also, here's an arxiv link to one of the papers if anyone is
| interested: https://arxiv.org/abs/2108.00275
| mlajtos wrote:
| Quite fascinating paper. How did you come up with this twin
| architecture? Can this effect be simulated in software?
| RaisinLoaf69 wrote:
| Thank you! Definitely a group effort. Two big things that
| contributed to the choice: We knew we didn't want the system
| to have to store memory on each edge so that eliminated a lot
| of our options. In our experimental learning rule we only had
| to compare voltages which is actually easier to do if we have
| two simultaneous networks.
| mlajtos wrote:
| Interesting, I haven't seen this twin approach anywhere in
| ANNs. (I know about Barlow twins and Siamese nets, but this
| is different.)
|
| How did you decide on the topology of the network/graph?
| RaisinLoaf69 wrote:
| Since we have no global processor, each edge is changing
| using only local information, a lot of stuff that makes
| sense in our network doesn't really make sense in ANNs
| and vice versa. For example, in our newest paper
| (https://arxiv.org/abs/2201.04626) we desynchronize the
| updates of our edges. Instead of changing the entire
| system all at once, we change random parts of it each
| training step. This doesn't really make sense to do in an
| ANN where you require global information for every edge
| update.
|
| 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.
| aperrien wrote:
| What type of component is an "adjustable resistor"? Looking the
| term up online only shows potentiometers, which I really don't
| think is what is being described here. Is this some sort of
| memristor?
| RaisinLoaf69 wrote:
| It is in fact just a digital potentiometer. In the experiment
| shown in the paper I linked we're using a 128 position one.
| In new work we've actually shifted to using transistors which
| are better for a number of reasons (smaller, faster,
| nonlinear, continuous).
| dekhn wrote:
| The Mark I perceptron used physical (analog) potentiometers
| that could rotate themselves.
| jareklupinski wrote:
| I picked up a couple banks of memristors to replace the pots in
| your circuit :)
|
| Hope to create a small feedback circuit across each memristor,
| essentially letting it 'train itself'
| RaisinLoaf69 wrote:
| Sweet! The basic learning comparison (Vc-Vf) can be
| implemented in tons of physical systems (memristors, springs,
| water pipes). So seeing it in other mediums would be pretty
| cool.
| detaro wrote:
| > _I picked up a couple banks of memristors_
|
| Are those now something just available off the shelf?
| dmd wrote:
| https://knowm.com/
| detaro wrote:
| thanks
| igorkraw wrote:
| On mobile so didn't have time skim the paper: is it a lienar
| layer trained with basically hebbian learning? If not, how do
| you handle backpropagation/credit assignment? How would you
| scale this to 100 million parameters if you had to?
| RaisinLoaf69 wrote:
| This is strictly not a neural network, so there is no
| backpropagation. Credit assignment is done on each edge using
| a local rule (Eg. using only its current state and the state
| of touching edges). To scale the network you just have to add
| more edges (no limit on the amount). We have a design for a
| tiny version of this network using transistors that could
| have order 10^6 edges on the size of a microchip.
| igorkraw wrote:
| I've looked over the paper now, unless I'm misunderstanding
| this seems very similar to the general trend of hebbian
| learning/STDP/local predictive coding/teacher forcing (for
| those unfamiliar, these are all distinct but the basic idea
| is always to have a signal adjust based on the difference
| with some local target. Hebbian learning is the basic "fire
| together wire together" principle, STDP is a specific
| instantiation that works with specific types of memristors,
| teacher forcing comes from RNN training and imposes the
| ground truth input on intermediate step, local predictive
| coding I can't recall the precise thing but but basically
| diffuses a local output error through a network similar to
| what is done on a single layer here [which can actually
| approximate backpropagation! It's very cool]). How would
| you differentiate yourself against this/what would you say
| is the core benefit of this approach?
| readingnews wrote:
| OK, I looked over your paper. Could I actually build this from
| your paper and your single edge node circuit? I am not sure
| yet, I did not read it three times yet (typically, have to read
| it multiple times)... but my first impression is that I could
| not reproduce the papers conclusions. I _feel_ like something
| is missing. Are you holding off until your provisional patent
| is approved, or the like? I feel like there is some connecting
| device/circuitry/something left out...
|
| As you mentioned near the end, you do NOT overcome the bias in
| the AD5220s? You just accept the error floor??
| RaisinLoaf69 wrote:
| We're not holding anything back, you should be able to
| recreate our findings from the paper. More broadly, there are
| a number of ways to recreate the network using the relatively
| simple learning rule we provide.
|
| 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.
___________________________________________________________________
(page generated 2022-03-22 23:01 UTC)