Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
For example: In a simple case a colour has three values: RGB. If you use an If Then Else routine you have to check the R value, the G value, and the B value.
Instead you can use a Perceptron to mash all the values together and output an approximately correct answer. This is much much faster than calculating each RGB value individually, but is not 100% accurate.
This is only a simple example. There are many more complicated real life examples you can explore :)
https://steamcommunity.com/sharedfiles/filedetails/?id=2123375815
The Article link takes you to Wikipedia
https://en.wikipedia.org/wiki/Perceptron
The Video link takes you to a YouTube video called "But How Does The Perceptron Actually Work?"
https://www.youtube.com/watch?v=wL2aVUjDdoo
The Course link takes you to a coursera website called "Introduction to Deep Learning"
https://www.coursera.org/learn/intro-to-deep-learning
While True: learn() greatly simplifies what a perceptron does and how it works, and it also doesnt explain how you make a perceptron. What is displayed in game as a 'perceptron' is more like a group of perceptrons instead of one single perceptron (which is what a Mark 1 Perceptron is).
The chance of anyone making and using a perceptron in real life is incredibly low, because we have programs which can do all that processing for us (notably for Text and Image recognition). But I'll try to explain in a simple way how a perceptron works and what it does.
Colour
Using RGB values, colours can be easily separated into different ...well... colours. For example, if I gave you the colour 255,0,0 you could easily write a program to determine that this is red.
if(RGB.getRed()==255)return "This is red";
else return "This is not red";
You can expand on this and determine if it is Green or Blue.
if(RGB.getGreen()==255)return "This is green";
else return "This is not green";
if(RGB.getBlue()==255)return "This is blue";
else return "This is not blue";
.....but what happens if the RGB is 255,255,0? That colour is yellow! Therefore you could add another clause to the if/then or case statement or whatever.
if(RGB.getRed()==255 && RGB.getGreen()==255)return "This is yellow";
else return "This is not yellow";
I think you should get the general idea now that this is going to get horribly complicated. And I havent even started investigating at just what RGB value 'red' is truly red (this is around 153 I think). Using a 24 bit mointor, 16.7 million colours can be displayed. You cant write an if/then or case statement for all those.
So, what else can be done? Well. You can use Hex colour codes and then map these Hex codes directly to their colours. 16.7 million colours, 16.7 million Hex codes. Easy!
How does that related to Perceptrons?
For computers to determine what a colour is, it needs to be able to able to base its decision on some kind of framework. This framework can be created by using perceptrons. The short description of colours that I gave is the learning process required to determine what different colours are. In fact, its not the only way to determine colours as there is the RGB colour model and the RYB model used in painting (https://en.wikipedia.org/wiki/RYB_color_model).
What you can do instead of hard coding if-then-else statements is to create a perceptron which takes input values, processes them in some way, and then outputs different values based on its internal weight and bias. For example: If a perceptron was sent 1 million red values, it would probably process red colours more accurately than another perceptron which had been sent 1 million blue values.
What a perceptron can do is take incoming data and determine if it is related to what the perceptron processes or not. A 'red' perceptron will output "This is probably red" or "This is probably not red" and this output can be sent to another perceptron to increase the accuracy of the perceptrons prediction.
There is one in-game example of using this system of looping perceptrons: In the mission "Error Control" you can send data from the second Red Perceptron back to the start, but it doesnt improve the speed of your algorithm at all.