Hand-coded neural networks

Here’s a JavaScript function that returns a positive value if both x and y are positive:

function bothPos(x, y) {
  const negX = Math.max(0, -x);
  const negY = Math.max(0, -y);
  return Math.max(0, 1-negX-negY);

Surprise - this function is also a neural network! Neural networks are usually drawn as

No, the neural network is not a series of neurons; it’s a JavaScript function which uses a restricted set of operations.

It approximates the function below, which is perhaps how you might naturally implement it:

function bothPos(x, y) {
  return x > 0 && y > 0 ? 1 : 0;

Hear “neural network” and you probably think “machine learning”. But it’s useful to think of neural networks independently of machine learning.

WFH on lockdown, like me? Let’s help each other out! I just released Vidrio, a free app for macOS and Windows to make your screen-sharing awesomely holographic. “Oh damn that's genius”, said some YouTuber when he saw it. But don't believe him, or the #1 on Product Hunt. Instead, believe this demo:

With Vidrio

With generic competitor

More by Jim

Tagged #programming, #machine-learning. All content copyright James Fisher 2019. This post is not associated with my employer. Found an error? Edit this page.