[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)