Article from Issue 222/2019

This month Graham looks at Neuronify, Undervolt GUI, Entropy Piano Tuner, Gnome Internet Radio Locator, Hatari, and more!

Neural network simulator


This may be the first time we've ever looked at a piece of software that attempts to simplify neural networks. It may even be the first time we've looked at any software dealing with neural networks. This is because neural networks are complex, and without academic imperative, they're not something you can easily understand. But that's exactly what Neuronify is trying to do – help beginners explore and begin to understand neural networks. A neural network (in the computing sense) models the behavior of neurons in the brain in an attempt to learn things from datasets that would ordinarily be difficult to discover without specific and exhaustive analysis. Thanks to big datasets being created by companies like Google and Amazon, neural networks have become a huge field of research in software engineering and could hold the key to the future of vital services, such as health care and transportation.

Neuronify makes a bold claim – it wants to make it possible for you to work on neural simulations without prior computational experience. It does this by allowing you to build "circuits" in a graphical interface that are always live and running, much like an electrical circuit. These circuits produce feedback for you to see exactly what's happening. When you launch the application, easily installed from a snap, there's a simple tutorial to guide you through the key elements. Each stage of the tutorial is itself a working circuit that's active so you can see what's happening. This starts with the nodes you'll be using in the circuit: a current source, a "leaky neuron" that fires a signal when its potential passes a threshold, and a voltmeter that displays the value of that potential.

The application itself works much like a software modular synthesizer. You add elements from the palette on the left and connect these together using nodes. It's easy to work with but difficult to interpret any results without further study. Fortunately, there are many brilliant examples included that go much further than the simple tutorial. Because they're all annotated, you can learn a great deal simply by reading the accompanying text and studying the output. Also check out the button hidden at the top of the toolbar labelled community. Click on this, and you'll be able to explore simulations created and shared by other Neuronify users. There are currently only a handful, but they're often complex and show where that application is being used and studied.

Thanks to the beautifully implemented user interface (UI) and animation, it's fascinating to watch and play with the speed controls or the connections, even when you have no greater context or understanding. That may be the whole motivation behind making it so easy to get into neural networks: Because even when you're playing, you're reinforcing the ideas and patterns in your brain, so you can have a better sense of what neural networks are and how they might be implemented.

Project Website

1. File operations: Load networks, including many examples, or start a new project. 2. Community: Other users have shared their creations, which can be opened from here. 3. Account: Create an account to join the community and upload your own networks. 4. Stimulus: Every network has a stimulus, much like every circuit has a power source. 5. Signal: Watch the signal travel from the stimulus and through the exciters and inhibitors in your network. 6. Annotations: Help others understand your network (and research) by adding text. 7. Voltmeter: Measure the potential value as signals are received from the network. 8. Playback: You can adjust the speed of forward playback. 9. Tools palette: Create your network from these components.

CPU tinkering

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • FOSSPicks

    Graham looks at Graphite, retrogram~rtlsdr, Piano Forte, OneTrick SIMIAN, The Command Line Murders, and more!

  • Kodi 18.0 and LibreELEC 9.0

    Thanks to Kodi 18.0, LibreELEC 9.0 now supports the DRM encryption used by many streaming services. However, integrating Netflix, Amazon, and other streaming services does involve some manual work.

  • FOSSPicks

    This month Graham fires up MuseScore 3.0, hexyl, weborf, Chrono, and several other useful Linux tools.

  • Doghouse: Player Piano Rolls

    maddog finds out that copyright prevents preserving paper player piano rolls.

  • Neural Networks

    3, 4, 8, 11… ? A neural network can complete this series without knowledge of the underlying algorithm – by a kind of virtual gut feeling. We’ll show you how neural networks solve problems by simulating the behavior of a human brain.

comments powered by Disqus