First of all, you get familiar with some concepts and terms in the artificial intelligence. we hear alot about AI and machine learning and deep learning and so on. but what are they? This picture shows the difference between them.
About detail of each, we can read more on the internet. In this article, we stand on developer's perspective. So, we will work on machine learning and deep learning.
Follow by IBM: Machine learning is a branch of artificial intelligence (AI) and computer science which focuses on the use of data and algorithms to imitate the way that humans learn, gradually improving its accuracy. That's quite simple. Let's move on an example.
Some algorithms are usually used in ML: Linear Regression, K-Nearest Neighbors, K-Means, Naive Bayes, Gradient Boosting algorithms, etc. I can break down 3 main types of ML: Supervised Learning, Unsupervised Learning and Reinforcement Learning. Frequently, we use Supervised Learning and Unsupervised Learning. Reinforcement Learning is not popular for me.
Then, come to Neural network, a type of ML algorithm, are typically the foundation of algorithms used in deep learning models. Neural networks are composed of layers. The output is then passed on as input to the next layer of neurons. The output of the final layer is the output of the model.
How neural network work?
As image, each of nodes is Neurons (Nodes). Each neuron receives input, performs a computation, and produces an output Neurons are organized into layers. Neurons in a layer are connected by weighted connections. The three main types of layers are:
Input Layer: The layer that receives the initial input data.
Hidden Layers: Intermediate layers between the input and output layers. Neural networks can have multiple hidden layers.
Output Layer: The final layer that produces the network's output.
How each of neurons work?
Activation function is applied to the output of each neuron in a neural network. It transforms the summed weighted input from the node into an output value to be fed to the next hidden layer or as output. Many types of activation functions like: Sigmoid, ReLU, etc
Each input to the neuron is multiplied by a weight, and these weighted inputs are summed and plus Bias. The result then passed through an activation function to get output.
How neural network learn?
Backpropagation is supervised learning algorithm used to training. It helps neural network update the weights and bias to reduce the error and improve the ability to make accurate predictions.
Epochs define how many time training data
Types of Neural Networks:
Feedforward Neural Networks: They are the simplest type of neural networks, where data moving from the input layer to the output layer without any feedback loops.
Convolutional Neural Networks (CNN): CNNs are particularly well-suited for image and video analysis, using convolutional layers to automatically detect patterns.
Recurrent Neural Networks (RNN): These networks have connections that allow feedback loops, making them suitable for sequential data (Ex: language) and tasks that require memory.
Long Short-Term Memory Networks (LSTMs): A type of RNN that can retain information for an extended period, making them effective in tasks involving sequential data.
Generative Adversarial Networks
Deep learning is a subfield of machine learning that focuses on the use of neural networks with multiple layers (deep neural networks) to model and solve complex problems. The "deep" in here refers to a neural network with multiple hidden layers. Normally, "Deep Neural Network" (DNN) and "Neural Network" both imply the same thing.