Share
I would like to give you some of my experience with AI projects.
Before start your machine learning project ask these questions and preparation: What is your inference hardware? specify the use case. specify model interface. how would we monitor performance after deployment? how can we approximate post-deployment monitoring before deployment? build a model and iteratively improve it. How to deploy the model at the end? monitor performance after deployment. what is your metric? How do you split your data (training and validation)?
Preparation ML Project Workflow
specify the use case
specify model interface
how would we monitor performance after deployment?
how can we approximate post-deployment monitoring before deployment?
build a model and iteratively improve it
deploy the model
monitor performance
what is your are metric?
How do you split your data?
Before Training deep learning model
using large model to train because
it is faster to train with lower overfit and faster converge due to best training
it is easier and higher compress in the final stage
model compression and acceleration: reducing parameters without significantly decreasing the model performance
Data: How to have good data for training deep learning models; How to Build and Enhance A Good Data Set For Your Deep Learning Project: using same config and data for training and inference, removing redundant (delete data which you don't need), get more data, Handle missing data, using data augmentation techniques or GAN to generate more data, re-scale/balance data, Transform your data (Change data types), Feature selection based on data-set and use case
The data you don't need: removing redundant samples
get more data
Invent more data
data augmentation
Re-scale data
balance datasets
Transform your data
Feature selection based on dataset and use case
ML-Augmented Video Object Tracking: By applying and evaluating multiple algorithmic models, enhanced ability to scale object tracking in high-density video compositions.
Training deep learning model
automated hyper-parameters
Using Hyperparameter tuning / Hyperparameter optimization tools
AutoML
genetic algorithm
population based training
bayesian optimization
You need to set some parameters and config for training
Diagnostics
Weight Initialization
Learning rate
Activation function
Network Topology
Batches and Epochs
Regularization
Optimization and Loss
Early Stopping
Continuous delivery
evolve with latest detection models
more data (no labels)
semi-supervised learning: big self-supervised models are strong semi-supervised learners
After Training deep learning model
Parameter pruning
model pruning: reducing redundant parameters which are not sensitive to the performance.
aim: remove all connections with absolute weights below a threshold
Quantization
compresses by reducing the number of bits used to represent the weights
quantization effectively constraints the number of different weights we can use inside our kernels
per-channel quantization for weights, which improves performance by model compression and latency reduction.
Low rank matrix factorization (LRMF)
there exists latent structures in the data, by uncovering which we can obtain a compressed representation of the data
LRMF factorizes the original matrix into lower rank matrices while preserving latent structures and addressing the issue of sparseness
Compact convolutional filters (Video/CNN)
designing special structural convolutional filters to save parameters
replace over parametric filters with compact filters to achieve overall speedup while maintaining comparable accuracy
Knowledge distillation
training a compact neural network with distilled knowledge of a large model
distillation (knowledge transfer) from an ensemble of big networks into a much smaller network which learns directly from the cumbersome model's outputs, that is lighter to deploy
Binarized Neural Networks (BNNs)
Apache TVM (incubating) is a compiler stack for deep learning systems
Neural Networks Compression Framework (NNCF)
Deep learning model in production
security: controls access to model(s) through secure packaging and execution
Test
auto training
using parallel processing and library such as GStreamer
Technology
Docker
AWS
Flask
Django
My Keynote (February 2021)
introduction
Machine Learning/ Deep Learning
Machine learning is an application of artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed
supervised Machine Learning
Deep Convolutional Neural Networks (DCNN) Architecture
Visualizing and Understanding Convolutional Networks
Object Detection by Deep Learning
Style Transfer
semi-supervised Machine Learning/ Deep Reinforcement learning (DRL)
unsupervised Machine Learning
Auto Encoder
Generative Adversarial Networks (GANs)
Tools
Pre trained model
Effect of Augmented Datasets to Train DCNNs
Training for more classes
Optimization
Production setup
post development
business , Gartner, Hype Cycle for emerging technologies, 2025
Advanced and practical
Inside CNN
Deep Convolutional Neural Networks Architecture
Convolution
Convolution Layer
Conv/FC Filters
Activation Functions
Layer Activations
Pooling Layer
Dropout ; L2 pooling
Why
Max-pooling is useful
How to see inside each layer and find important features
Visualizing and Understanding Convolutional Networks
Hands on python for deep learning
Fundamental deep learning
Installation: TensorFlow, PyTorch
Summary of the summit
AI Hardware Europe Summit (July 2020)
Apache TVM And Deep Learning Compilation Conference (December 2020)