
Explore Python for data analytics, machine learning, and deep learning using local installation with Anaconda or cloud environments like JupyterLab, CellStrat Hub, enabling offline and browser-based Python workflows.
Explore how deep learning, a subfield of machine learning, uses artificial neural networks to automatically extract features and overcome the curse of dimensionality in high dimensional data.
Explore what artificial neural networks are and how they simulate brain neurons, processing input signals through dendrites, cell bodies, and axons with weights in a hierarchical, threshold-driven firing system.
Explore the perceptron, the simplest neural network, that combines inputs with weights and bias to produce 0 or 1 via a threshold, illustrating how weights shape outputs.
Explore how a perceptron implements and gate, or gate, and nand gate using weights and thresholds, and how training data enables a machine to set these parameters for binary processing.
Build logic gates in Python using a perceptron. Define an and gate with two inputs, weights, bias, and a threshold, then convert it to or and nand gates by adjusting parameters.
Demonstrate the limitation of a simple perceptron in representing xor. Show how a multilayer perceptron using nand, or, and gates creates non-linear boundaries.
Define neural networks and distinguish multilayer perceptrons from neural networks, explain forward propagation through layered nodes, weight-driven learning via backward propagation, and activation function differences.
Discover how activation functions enable non-linear transformations in neural networks, using step, sigmoid, tanh, and ReLU in middle layers and softmax, sigmoid, or identity in outputs for regression and classification.
explain the loss function as a measure of prediction error for regression and classification. show how models minimize it using mse, mae, and cross-entropy loss.
Train neural networks with backpropagation to minimize loss. Split data into training and test sets to evaluate generalization and avoid overfitting, using batch or mini-batch learning.
Master gradient descent, an optimization method that finds a local minimum by following the gradient of a differentiable loss function. Learn how learning rate and partial derivatives guide parameter updates.
Explore batch gradient descent, stochastic gradient descent, and mini-batch gradient descent, outlining data usage and how each method affects cost, memory, stability, and susceptibility to local minima.
Explore the chain rule and its use in backpropagation to compute gradients for neural networks by differentiating a composite function as the product of its two component derivatives.
Learn how backpropagation updates neural network parameters using gradients from the loss function and the chain rule to minimize loss with training data.
Explore the vanishing gradient problem in deep networks, where backpropagated gradients shrink with many layers, often due to the sigmoid activation, and learn how ReLU and Xavier/He initialization help.
Explore nonsaturating activation functions to avoid vanishing gradients, comparing ReLU, dying ReLU, leaky ReLU, ELU, and SELU and their impact on learning dynamics.
Explore parameter initialization to prevent vanishing gradients in deep networks; compare Xavier and He initializations and their relation to activation functions, model size, and training performance.
Build a neural network for regression with Keras, using dense layers and ReLU variants, compiled with mean squared error and mean absolute error, trained via mini-batch learning on 13-feature dataset.
Apply an artificial neural network to classification with Keras, using binary breast cancer classification with sigmoid and cross entropy, and multiclass wine classification with softmax and sparse categorical cross entropy.
Explore overfitting in deep learning: how a model fits training data too closely, harms generalizability, and why larger training data, regularization, and early stopping help prevent it.
Learn how regularization prevents overfitting by penalizing model complexity, shrinking uninformative feature weights, and applying L1 (lasso) or L2 (ridge) penalties with lambda.
Dropout regularizes neural networks by randomly removing hidden-layer neurons during training, reducing overfitting and improving generalizability with a typical dropout rate of 0.5.
Explore regularization in keras with l1 and l2 penalties, dropout, and early stopping, applied to a Boston housing regression dataset through model building, training, and evaluation.
Explore how optimizers like SGD, momentum, AdaGrad, RMSProp, and Adam minimize the loss function, adjust learning rates, and improve convergence.
Apply batch normalization to normalize layer inputs before activation, addressing distribution distortion and vanishing gradients. Standardization helps scale features, improving learning efficiency and model performance.
celebrate completing deep learning fundamentals and artificial neural networks, applied to regression and classification, and explore convolutional, recurrent networks and reinforcement learning in the deeper world of deep learning.
Explore computer vision fundamentals and how convolutional neural networks convert image data into numerical pixels to enable character recognition, image classification, and object detection.
Explore how images use RGB color model with pixel values 0 to 255, and how grayscale images and pixel positions enable deep learning models to extract patterns and color combinations.
This lecture explains what a convolutional neural network is, why it excels at image recognition, and outlines its architecture with convolutional, pooling, and fully-connected layers.
Learn how convolutional layers use filters to extract features and form feature maps from images. See how locality, multiple filters, and pooling build deep CNN architectures.
Apply padding to CNN inputs to mitigate border effect and preserve edge information, using zero-padding or neighboring-values padding, while choosing stride to balance detail and efficiency.
Pooling layers after convolutional layers reduce height and width by max or average pooling, have no trainable parameters, and improve efficiency while preserving essential features.
Explore the fully-connected layer in CNNs, including flattening feature maps into vectors, weight and bias learning, and predicting class probabilities with loss minimization.
Demonstrates the CNN training process, from feature extraction by convolutional and pooling layers to classification via fully connected and output layers with softmax probabilities.
Increase training data using image data augmentation by applying shifts, flips, rotations, and zooming, boosting CNN performance while mitigating overfitting.
Build a cnn for binary image classification of cats and dogs using Keras in Python, with an image data generator, data augmentation, and a sigmoid output for two classes.
Explore autoencoders for dimensionality reduction and image denoising, using encoding and decoding to compress and reconstruct data, with stacked autoencoders to improve training.
VGGNet presents a deeper architecture with small 3x3 filters, introducing VGG16 and VGG19, using stacked conv layers, 2x2 max pooling, and three fully connected layers before a softmax layer.
Explore GoogLeNet, a very deep cnn for image classification that uses inception modules, 1 by 1 reductions, auxiliary classifiers, and global average pooling to reduce parameters and mitigate vanishing gradients.
Learn how ResNet uses residual blocks and shortcut connections to learn residuals, avoid degradation, and build very deep networks that outperform plain CNNs.
Apply transfer learning to binary classification of cats and dogs using VGG16, GoogLeNet, and ResNet with imagenet weights, freezing base models and training fully connected layers to reach 0.910 accuracy.
Explore how RNNs capture context across sequences to predict future values, handling longitudinal data and language tasks like translation and speech recognition.
RNNs memorize the past state by feeding the previous hidden state h_{t-1} and the current input x_t into the RNN cell, producing h_t across time.
Explore how recurrent neural networks handle variable-length input for time-series and text data. Compare this with fixed-size inputs and learn how training and test data can differ in length.
Learn how an RNN uses weights w_h, w_x, and bias b to compute hidden layers from past information h_{t-1} and current input x_t, with initial memory h_0.
This lecture presents four rnn types: one-to-one, one-to-many, many-to-one, and many-to-many, explaining fixed versus sequenced inputs and outputs with examples like image captioning and translation.
Use backpropagation through time in rnns to minimize total loss via per-block losses, examine vanishing and exploding gradients, and note LSTM as a future solution.
Explore how LSTM overcomes the vanishing gradient in RNNs to handle long-term dependencies in text and time-series data, using the forget gate and cell state to retain relevant memories.
Explore the LSTM architecture, including forget, input, and output gates, and how they update and regulate the cell state with peephole connections.
Explore backpropagation through time in LSTM networks, focusing on gradient computation across time steps, the role of cell states and forget gates, and how the additive nature mitigates vanishing gradients.
Explore the gated recurrent unit (GRU), with update and reset gates, that reduces parameters and computational cost compared to LSTM while capturing long-term and short-term dependencies in sequences.
Explore RNN, LSTM, and GRU in Python to analyze Nikkei 225 time-series stock data, with normalization, train-test split, and plotting training progress and predictions.
Welcome to Deep Learning Fundamentals.
This course covers the basic theory and Python practice of artificial neural networks. This course is designed for beginners who are interested in deep learning. Having knowledge of undergraduate level mathematics is preferable, but not a must.
Artificial intelligence is a technology that makes machines imitate intelligent human behavior and human cognitive functions. Machine learning is a branch of artificial intelligence. It enables systems to learn from data automatically, that is, learn without being explicitly programmed. Deep Learning is a type of machine learning. It uses artificial neural networks to solve complex problems.
One reason why deep learning has drawn much attention is that it overcomes the limitations of traditional machine learning. The first limitation is that traditional machine learning cannot handle high dimensional data. Thus, the performance of the traditional machine learning model tends to level off as the data amount increases. The second is that, when we use traditional machine learning techniques, we need to extract features manually. Therefore, when we analyze image data or movie data, traditional machine learning techniques are not suitable because such data contains a great number of features.
Deep learning can overcome these limitations of traditional machine learning. An artificial neural network is one of the algorithms of artificial intelligence, and usually, it takes a form of a deep learning model. It simulates the network neurons that make up the human brain. The structure of an artificial neural network enables a deep learning model to solve complex problems that traditional machine learning algorithms can hardly handle.
This course has some Python tutorials for developing deep learning models. And this course uses a library named Keras, which enables us to develop deep learning models efficiently. Basic-level Python knowledge is preferable, but Python beginners are also welcome.
This course consists of three modules.
1. Artificial Neural Networks
2. Convolutional Neural Networks
3. Recurrent Neural Networks.
The first module is the basic of artificial neural network.
The second module covers convolutional neural network that is a type of network effective for handling image and movie data.
The third module covers recurrent neural network that is effective for time-series analysis and analyzing text data.
After completing this course, you will have a fundamental knowledge of deep learning.
I’m looking forward to seeing you in this course!