The author is extrapolating way too much. The simplest model of X is similar to the simplest model of Y, therefore the common element is deep and insightful, rather than mathematical modelers simply being rationally parsimonious.
Nice list and history of common activation units used today.
Small note though, the heaviside function used in the the perceptron is non-linear (it can tell you which side of a plane the input point lies), and a multi-layer perceptron could classify the red and blue dots in your example. But it cannot be used with back-propagation because its derivative is zero everywhere, except at f(0), where it's non-differentiable.
I think I should clarify...
A multilayer perceptron can classify the red and blue dots if it uses a non-linear activation function for some or most of its layers correct?
If its perceptrons all the way down, it will fundamentally reduce down to a linear function or single linear layer and will not be able to classify the dots.
So there's the downside of not being able to linearly separate certain datasets, and the inability to scale weights or thresholds by differences in expected and observed data (e.g. using backpropagation)
You're right that if the activation function is linear, like the identity function, then it doesn't matter how many layers you have. But with the step function two layers is enough.
We can manually derive a network that can classify the sample data using the step function:
The four nodes in the first layer define four lines, tangents to the square 0.2 < x1 < 0.8 and 0.2 < x2 < 0.8, and the step function effectively checks which side of the line the point lies. The second layer just counts the number of "successful" line checks and yields True if all four pass. If the square is too rough of a shape then we can add more lines to the first layer to approximate any convex shape.
If the regions are concave then we can split them up into convex parts and add nodes to the second layer, one for each convex region. A third layer could then check if any of the convex region neurons activate. While in theory two layers with a non-linear activation function is enough to approximate this function, its structure would be harder to interpret.
But how do you find the right parameters without back propagation? The reason we don't use the step function is because its derivative is zero.
Comments
There are a whole lot more activation functions used nowadays in NNs
https://dublog.net/blog/all-the-activations/
The author is extrapolating way too much. The simplest model of X is similar to the simplest model of Y, therefore the common element is deep and insightful, rather than mathematical modelers simply being rationally parsimonious.
Nice list and history of common activation units used today.
Small note though, the heaviside function used in the the perceptron is non-linear (it can tell you which side of a plane the input point lies), and a multi-layer perceptron could classify the red and blue dots in your example. But it cannot be used with back-propagation because its derivative is zero everywhere, except at f(0), where it's non-differentiable.
I think I should clarify... A multilayer perceptron can classify the red and blue dots if it uses a non-linear activation function for some or most of its layers correct?
If its perceptrons all the way down, it will fundamentally reduce down to a linear function or single linear layer and will not be able to classify the dots.
So there's the downside of not being able to linearly separate certain datasets, and the inability to scale weights or thresholds by differences in expected and observed data (e.g. using backpropagation)
You're right that if the activation function is linear, like the identity function, then it doesn't matter how many layers you have. But with the step function two layers is enough.
We can manually derive a network that can classify the sample data using the step function:
The four nodes in the first layer define four lines, tangents to the square 0.2 < x1 < 0.8 and 0.2 < x2 < 0.8, and the step function effectively checks which side of the line the point lies. The second layer just counts the number of "successful" line checks and yields True if all four pass. If the square is too rough of a shape then we can add more lines to the first layer to approximate any convex shape.If the regions are concave then we can split them up into convex parts and add nodes to the second layer, one for each convex region. A third layer could then check if any of the convex region neurons activate. While in theory two layers with a non-linear activation function is enough to approximate this function, its structure would be harder to interpret.
But how do you find the right parameters without back propagation? The reason we don't use the step function is because its derivative is zero.
Thanks for the clarification. I'll update the post!
Activation functions are implementation details. See appendix for the general formula.
Ok, I get what you mean now. You can build a model by plugging in any activation function into the two slots in the equation at the bottom.
There's a typo in the activation function next to "otherwise" in the "Ant Pheromone Signaling" row.