while True: learn()

while True: learn()

View Stats:
iGPUGamer Jun 2, 2020 @ 8:35am
Perceptron help
What is the Perceptron in this game? I can understand the decision tree, which is like a if then else routine. How is Perceptron deifferent?
< >
Showing 1-5 of 5 comments
Tiwaking! 56k NZ Jun 3, 2020 @ 1:34am 
In real life Perceptrons use a matrix and weight/probability system to identify and distinguish different data types. You use it to simplify data decision making when the input has a lot of parameters.

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 :)
iGPUGamer Jun 7, 2020 @ 6:20am 
Can you give an ingame example or point me to a tutorial on the use of the Perceptron for this game? I can sort of understand the gist of what you had written, but the way I program in real life is to just use simple commands that I can understand, like the If then Else commands or the Case command.
Tiwaking! 56k NZ Jun 7, 2020 @ 5:19pm 
Originally posted by iGPUGamer:
Can you give an ingame example or point me to a tutorial on the use of the Perceptron for this game? I can sort of understand the gist of what you had written, but the way I program in real life is to just use simple commands that I can understand, like the If then Else commands or the Case command.
If you click on the on the Perceptron component then it will display links to more information about perceptrons.

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.
Xirad Sep 4, 2022 @ 1:20pm 
The Coursera link for "intro-to-deep-learning" no longer works. I tried searching for the same text on Coursera but there are lots of results. Which one were you specifically recommending? Or if it's no longer available what would you recommend?
GospodinNoob  [developer] Sep 6, 2022 @ 1:03am 
Originally posted by Xirad:
The Coursera link for "intro-to-deep-learning" no longer works. I tried searching for the same text on Coursera but there are lots of results. Which one were you specifically recommending? Or if it's no longer available what would you recommend?
This one is ok https://www.coursera.org/learn/neural-networks-deep-learning
< >
Showing 1-5 of 5 comments
Per page: 1530 50