Artificial neural networks are model architectures inspired by the interconnection of billions of neurons in our brains to complete numerous tasks

Artificial Neurons

Biological neurons need to have the necessary energy to reach the activation potential, a state where the energy will move from dendrites to axon terminal.

Screen Shot 2022-03-01 at 11.53.50 PM.png

A similar process occurs within artificial neurons. Input is entered as numbers from multiple different points (X1, X2, X3). Each input is multiplied with “weights” and then summed up with all the other inputs. Finally, a bias is added to the sum. [Note: Each synapses is a weight.]

45_blog_image_4.png

The final equation would look be similar to the equation below, based on the graph above:

$$ result = (x_1w_1)+(x_2w_2)+(x_3*w_3)+b $$

The result could then be used to determine whether the neuron is off or on, true or false. This can be determined using different functions, but the most popular one is the Rectifier and Sigmoid function:

Untitled

Untitled

The functions are basically graphs that indicate the y-value based on the x-value. For the Rectifier function, for instance, if the value of x, which is the result derived from the equation above, is more than 0, then the neuron will return a +1, and if its less than 0, the neuron will return 0. There are many other functions fit for different purposes, but these are the most useful ones.

Layers

Neurons do not achieve any type of task on their own, however, when they are stacked and multiplied, they are able to predict different outputs based on the input.

Untitled

Each column is called a layer, and usually, ML developers use different numbers of layers to yield different results. The first layer is the input layer, which in our case, is the pixel value of wildfire images. The output is a number that indicates a prediction.

Backpropagation

Weights (black lines in the diagram above) determine the output based on input. Neural networks, through cost function (which is the difference between experimental value and actual value) and backpropagation, which is the process of using the cost function to modify the weights to achieve higher accuracy, are able to learn and recognize patterns based on data. Based on that, we can look at backpropagation as the learning process: the algorithm creates random weights, and as it experiments with the output results, it modifies its weights to achieve higher accuracy. The goal is for the cost function to be 0.