Learning to ride a bike
Hey there, you know how to ride a bicycle? You probably do. Most people learn to ride a bicycle before the age of 8.
As you know, a bicycle is inherently unstable. That’s why you need a bicycle stand, or a wall, to park it. The reason why it is unstable is easy to understand if you remember the lessons about balance, or ‘equilibrium’, from the physics course you had long ago.
The points where the wheels touch the ground are the only interaction points of the system with the ‘surroundings’ (we neglect the wind force for this discussion). The ‘base’ of the bicycle is just the thin line between those points. The bicycle will only remain upright if the center of mass of the complete system (the bicycle and the person sitting on it) is positioned exactly above this line, as shown in the rear view.
How do you keep that balance?
In reality, there will always be a slight tilt in some direction. This deviation creates a lever, which on turn creates a torque from the weight force vector which goes through the center of mass. This torque makes the system tilt even more in the direction of the deviation, creating a larger lever, creating even more torque, and some moments later the system stabilizes in the ‘flat’ position, with a lot of additional points interacting with the surroundings.
But while riding, this doesn’t seem to be a problem, is it? That’s because the rider ‘does’ something all the time while riding. Do you know what the rider does?
- The rider moves his body to transfer the center of mass to the other side of the balance line, thus creating a torque in the other direction.
- The rider turns the handlebar to change the direction in which he is riding.
Most people to whom I asked this question voted for the first answer. However this will not work. You can only change the position of the center of mass of a system, by applying an external force to the system in the direction in which you want the center of mass to move. This external force can only be applied where the wheels touch the ground, but there is nothing there to create a force perpendicular to the direction in which the bike is riding. If the rider moves his upper body to the right, the bike and his lower body will move to the left, and the center of mass of the complete system just stays where it is.
Physics to the rescue
So why does changing direction works? Well, this way: the base line between rear and front wheel ‘swings’ underneath the center of mass, and as soon as it is on the other side, the torque works in the opposite direction. Bike and rider will get upright again, and even start to tilt to the other side. Time to change direction to the other side.
Note that the angles in the drawing are exaggerated to show the principle. Unless the driver drank too much beer. Then the reaction time becomes slower and he will actually follow the path as drawn.
So what’s the point of this story? Well, it helps to explain the difference between ‘understanding’ and ‘knowing’. If you would try to explain the above theory to a six year old child who is learning to ride a bicycle, it will not be interested. Too complicated! It just wants to sit on that bike and start learning to ride.
The learning starts with a first try. One of its parents will hold the bike, instruct the child to keep the handlebar straight at all times, and off they go. And the child will start turning the handlebar in all directions.
And somewhere in its brain, a neural network will start ‘learning’. It processes information from the eyes and the balance organ, feeds in the result of moving the body and turning the handlebar, and classifies ‘heavy tilting’ as undesirable and ‘keep ongoing upright’ as desirable.
And after a while, constantly ignoring the ‘keep that handlebar straight’ advice, the neural network will ‘know’ what to do. Swing that handlebar a little bit off sync with the tilting. It doesn’t need to understand such things as center of mass and torque, it just knows how to drive a bike without falling.
Science before saince!
Now, suppose you had to develop an automated system that ‘rides a bike’. Should you apply an artificial neural network? Certainly not! Although in theory it is possible to train such a system through a kind of Reinforcement deep learning network in which falling to the ground is classified as ‘undesirable’ and staying on track is classified as ‘desirable’. However it makes no sense to apply such technology in this case!
Look at a similar engineering problem and how it was solved: the Segway. The engineers who developed it, analyzed the stability of the device in a much more profound way as the analysis above. And when they ‘understood’ all details, including dynamic issues like starting, stopping and turning, they installed a gyroscope and a sophisticated, yet ‘classic’ control system to control the wheel direction and speed. They may have used a PID or fuzzy controller, or a combination of both, eventually amended with some ‘if – then – else’ logic, but no artificial neural network.
So that’s where you should make a distinction. To solve a problem that is ‘understandable’, nothing beats an old school control system. It is perfectly predictable, even provable.
A machine learning algorithm is applied when the exact physics of a problem is not understood, but lots of variables and data are available. The data are fed into the algorithm, and it will figure out a way to determine the most probable outcome for any future inputs. Most probable indeed, and that’s the drawback of machine learning. It is, and will remain, a kind of estimation. The goal of a machine learning model is to optimize a function in order to achieve a result as close as possible to the ground truth. However it will never cover that exact truth.
The sAInce.io based approach to solve any problem is first trying to understand the problem. We have a broad expertise in system analysis and process controls to master many industrial challenges.And when the old school approach fails, since we can’t rely on pure physics anymore to solve the problem at hand, we’ll investigate whether the problem can be solved through a machine learning model. We will gather or produce as many data as we can, analyze those data with the latest data science techniques, and start training various machine learning algorithms. Linear or logistic regression, SVM, decision trees, KNN, Neural networks, you name it. And new knowledge will come out. It all depends on the use case.
Want to know more?Get in Touch
I spent many years in pharmaceutical industry, holding positions in maintenance, project engineering, industrial automation and software compliance.
As a consultant in energy efficiency I helped companies in various industries to save on their energy bill.
I’ve been very successful in rolling out and maintaining continuous improvement programs.
In recent years, I became an expert in test automation and devops.
My mission: support continuous improvement with data analytics and machine learning.