Simon’s own little neural network

Connected Perceptrons in Processing 26 Jul 2017

This is one of Simon’s most enchanting and challenging projects so far: working on his own little AIs. As I’ve mentioned before, when it comes to discussing AI, Simon is both mesmerized and frightened.  He watches Daniel Shiffman’s neural networks tutorials twenty times in a row and practices his understanding of the mathematical concepts   underlying the code (linear regression and gradient descent) for hours. Last week, Simon built a perceptron of his own. It was based on Daniel Shiffman’s code, but Simon added his own colors and physics, and played around with the numbers and the bias. You can see Simon working on this project step by step in the six videos below.

His original plan was to build two neural networks that would be connected to each other and communicate, he has only built one perceptron so far.

 

 

 

 

 

 

Simon testing Codota

In the videos below, Simon is building a Codota demo in Java. Codota is an AI programming assistant that is looking for solutions on GitHub and other global resources and suggests them in real time, recognizing your code. At the moment, it’s only available for Java and only for three editors (here – Eclipse), so the use is very limited, but their website says that other languages will follow soon. Since Simon normally uses Processing for Java, he can’t really use Codota for most of his projects. It has been an interesting exercise though (and I was surprised at how skillful he is at writing Java in Eclipse, which is quite different from Processing), and a glimpse into the future. There’s no doubt assistants such as Codota will very soon become a common companion. Simon had Codota resolve one error for him and was very happy about that. He said Codota was his friend. He was reluctant to turn its speech functions on, however. Simon has this slight fear of full blown AI and a fascination, wanting to learn how it works, at the same time.

 

 

 

Neural Networks Coding Challenge

Simon completes the Neural Networks Coding Challenge (in Processing, Java) that he had followed in the Intelligence and Learning Livestream last Friday. In the videos below he also talks about what neural networks are and tries to add a line object (something he had suggested in the live chat).

 

Neural Networks. Perceptron and Preception Seeking in JavaScript

Simon has translated Examples 10.1 (Perceptron) and 10.2 (Perceptron Steering) from Daniel Shiffman’s Nature of Code book, Chapter 10 (Neural Networks) into JavaScript in Codepen.io. Both projects are available online, you can play with them and see the code if you go to Simon’s Neural Networks collection page at https://codepen.io/collection/DbBqJj/

Simon plans to place more JavaScript translations of neural networks examples from Daniel Shiffman’s book on the same page in the course of this week.

The first of the videos below shows Simon talking about his translation of the Perceptron. In the second video, he is showing the Perception Steering project, a combination of steering behaviours and neural network (the autonomous agent in the program get a “brain” with one “neuron” that allows him to seek the target closest to the moving circle).

 

 

DSC_0201

DSC_0211