Artificial Intelligence, or AI, is no doubt one of the hottest buzz words at the moment. AI has penetrated into many aspects of our lives. To know AI and to be able to use AI will bring enormous benefits to our work and life. However, to learn AI is a daunting task for many people, largely due to the complex mathematics and sophisticated coding. This book aims to demystify AI and teach readers about AI from scratch, by using simple, plain, languages and simple, illustrative, code examples. This book is divided into three parts. In part one, readers will follow an easy to read introduction about AI, including the history, the types of AI, the current status and possible future trend. It then introduces Python, A widely used programming tool for AI. In part two, we introduce Machine Learning aspect of AI, topics include classifications, regressions, and Clustering. It also includes the most popular Reinforcement Learning. In part three, it introduces Deep Learning aspect of AI, topics include Image Classifications, Transfer Learning, Recurrent Neural Network, and the latest Generative Adversarial Networks. It also includes the state of the art of GPU, TPU, cloud computing and edge computing. This book is packed with interesting and exciting examples such as pattern recognitions, image classifications, face recognition (most controversial), age and gender detection, voice/speech recognition, chatbot, natural language processing, translation, sentiment analysis, predictive maintenance, finance and stock price analysis, sales prediction, customer segmentation, biomedical data analysis and much more. Cover Title Page Copyright Page About the Author About the Technical Editors Acknowledgments Contents at a Glance Contents Preface Part I Introduction Chapter 1 Introduction to AI 1.1 What Is AI? 1.2 The History of AI 1.3 AI Hypes and AI Winters 1.4 The Types of AI 1.5 Edge AI and Cloud AI 1.6 Key Moments of AI 1.7 The State of AI 1.8 AI Resources 1.9 Summary 1.10 Chapter Review Questions Chapter 2 AI Development Tools 2.1 AI Hardware Tools 2.2 AI Software Tools 2.3 Introduction to Python 2.4 Python Development Environments 2.4 Getting Started with Python 2.5 AI Datasets 2.6 Python AI Frameworks 2.7 Summary 2.8 Chapter Review Questions Part II Machine Learning and Deep Learning Chapter 3 Machine Learning 3.1 Introduction 3.2 Supervised Learning: Classifications Scikit-Learn Datasets Support Vector Machines Naive Bayes Linear Discriminant Analysis Principal Component Analysis Decision Tree Random Forest K-Nearest Neighbors Neural Networks 3.3 Supervised Learning: Regressions 3.4 Unsupervised Learning K-means Clustering 3.5 Semi-supervised Learning 3.6 Reinforcement Learning Q-Learning 3.7 Ensemble Learning 3.8 AutoML 3.9 PyCaret 3.10 LazyPredict 3.11 Summary 3.12 Chapter Review Questions Chapter 4 Deep Learning 4.1 Introduction 4.2 Artificial Neural Networks 4.3 Convolutional Neural Networks 4.3.1 LeNet, AlexNet, GoogLeNet 4.3.2 VGG, ResNet, DenseNet, MobileNet, EffecientNet, and YOLO 4.3.3 U-Net 4.3.4 AutoEncoder 4.3.5 Siamese Neural Networks 4.3.6 Capsule Networks 4.3.7 CNN Layers Visualization 4.4 Recurrent Neural Networks 4.4.1 Vanilla RNNs 4.4.2 Long-Short Term Memory 4.4.3 Natural Language Processing and Python Natural Language Toolkit 4.5 Transformers 4.5.1 BERT and ALBERT 4.5.2 GPT-3 4.5.3 Switch Transformers 4.6 Graph Neural Networks 4.6.1 SuperGLUE 4.7 Bayesian Neural Networks 4.8 Meta Learning 4.9 Summary 4.10 Chapter Review Questions Part III AI Applications Chapter 5 Image Classification 5.1 Introduction 5.2 Classification with Pre-trained Models 5.3 Classification with Custom Trained Models: Transfer Learning 5.4 Cancer/Disease Detection 5.4.1 Skin Cancer Image Classification 5.4.2 Retinopathy Classification 5.4.3 Chest X-Ray Classification 5.4.5 Brain Tumor MRI Image Classification 5.4.5 RSNA Intracranial Hemorrhage Detection 5.5 Federated Learning for Image Classification 5.6 Web-Based Image Classification 5.6.1 Streamlit Image File Classification 5.6.2 Streamlit Webcam Image Classification 5.6.3 Streamlit from GitHub 5.6.4 Streamlit Deployment 5.7 Image Processing 5.7.1 Image Stitching 5.7.2 Image Inpainting 5.7.3 Image Coloring 5.7.4 Image Super Resolution 5.7.5 Gabor Filter 5.8 Summary 5.9 Chapter Review Questions Chapter 6 Face Detection and Face Recognition 6.1 Introduction 6.2 Face Detection and Face Landmarks 6.3 Face Recognition 6.3.1 Face Recognition with Face_Recognition 6.3.2 Face Recognition with OpenCV 6.3.3 GUI-Based Face Recognition System Other GUI Development Libraries 6.3.4 Google FaceNet 6.4 Age, Gender, and Emotion Detection 6.4.1 DeepFace 6.4.2 TCS-HumAIn-2019 6.5 Face Swap 6.5.1 Face_Recognition and OpenCV 6.5.2 Simple_Faceswap 6.5.3 DeepFaceLab 6.6 Face Detection Web Apps 6.7 How to Defeat Face Recognition 6.8 Summary 6.9 Chapter Review Questions Chapter 7 Object Detections and Image Segmentations Chapter Outline 7.1 Introduction R-CNN Family YOLO SSD 7.2 Object Detections with Pretrained Models 7.2.1 Object Detection with OpenCV 7.2.2 Object Detection with YOLO 7.2.3 Object Detection with OpenCV and Deep Learning 7.2.4 Object Detection with TensorFlow, ImageAI, Mask RNN, PixelLib, Gluon TensorFlow Object Detection ImageAI Object Detection MaskRCNN Object Detection Gluon Object Detection 7.2.5 Object Detection with Colab OpenCV 7.3 Object Detections with Custom Trained Models 7.3.1 OpenCV Step 1 Step 2 Step 3 Step 4 Step 5 7.3.2 YOLO Step 1 Step 2 Step 3 Step 4 Step 5 7.3.3 TensorFlow, Gluon, and ImageAI TensorFlow Gluon ImageAI 7.4 Object Tracking 7.4.1 Object Size and Distance Detection 7.4.2 Object Tracking with OpenCV Single Object Tracking with OpenCV Multiple Object Tracking with OpenCV 7.4.2 Object Tracking with YOLOv4 and DeepSORT 7.4.3 Object Tracking with Gluon 7.5 Image Segmentation 7.5.1 Image Semantic Segmentation and Image Instance Segmentation PexelLib Detectron2 Gluon CV 7.5.2 K-means Clustering Image Segmentation 7.5.3 Watershed Image Segmentation 7.6 Background Removal 7.6.1 Background Removal with OpenCV 7.6.2 Background Removal with PaddlePaddle 7.6.3 Background Removal with PixelLib 7.7 Depth Estimation 7.7.1 Depth Estimation from a Single Image 7.7.2 Depth Estimation from Stereo Images 7.8 Augmented Reality 7.9 Summary 7.10 Chapter Review Questions Chapter 8 Pose Detection 8.1 Introduction 8.2 Hand Gesture Detection 8.2.1 OpenCV 8.2.2 TensorFlow.js 8.3 Sign Language Detection 8.4 Body Pose Detection 8.4.1 OpenPose 8.4.2 OpenCV 8.4.3 Gluon 8.4.4 PoseNet 8.4.5 ML5JS 8.4.6 MediaPipe 8.5 Human Activity Recognition ActionAI Gluon Action Detection Accelerometer Data HAR 8.6 Summary 8.7 Chapter Review Questions Chapter 9 GAN and Neural-Style Transfer 9.1 Introduction 9.2 Generative Adversarial Network 9.2.1 CycleGAN 9.2.2 StyleGAN 9.2.3 Pix2Pix 9.2.4 PULSE 9.2.5 Image Super-Resolution 9.2.6 2D to 3D 9.3 Neural-Style Transfer 9.4 Adversarial Machine Learning 9.5 Music Generation 9.6 Summary 9.7 Chapter Review Questions Chapter 10 Natural Language Processing 10.1 Introduction 10.1.1 Natural Language Toolkit 10.1.2 spaCy 10.1.3 Gensim 10.1.4 TextBlob 10.2 Text Summarization 10.3 Text Sentiment Analysis 10.4 Text/Poem Generation 10.5.1 Text to Speech 10.5.2 Speech to Text 10.6 Machine Translation 10.7 Optical Character Recognition 10.8 QR Code 10.9 PDF and DOCX Files 10.10 Chatbots and Question Answering 10.10.1 ChatterBot 10.10.2 Transformers 10.10.3 J.A.R.V.I.S. 10.10.4 Chatbot Resources and Examples 10.11 Summary 10.12 Chapter Review Questions Chapter 11 Data Analysis 11.1 Introduction 11.2 Regression 11.2.1 Linear Regression 11.2.2 Support Vector Regression 11.2.3 Partial Least Squares Regression 11.3 Time-Series Analysis 11.3.1 Stock Price Data 11.3.2 Stock Price Prediction Streamlit Stock Price Web App 11.3.4 Seasonal Trend Analysis 11.3.5 Sound Analysis 11.4 Predictive Maintenance Analysis 11.5 Anomaly Detection and Fraud Detection 11.5.1 Numenta Anomaly Detection 11.5.2 Textile Defect Detection 11.5.3 Healthcare Fraud Detection 11.5.4 Santander Customer Transaction Prediction 11.6 COVID-19 Data Visualization and Analysis 11.7 KerasClassifier and KerasRegressor 11.7.1 KerasClassifier 11.7.2 KerasRegressor 11.8 SQL and NoSQL Databases 11.9 Immutable Database 11.9.1 Immudb 11.9.2 Amazon Quantum Ledger Database 11.10 Summary 11.11 Chapter Review Questions Chapter 12 Advanced AI Computing 12.1 Introduction 12.2 AI with Graphics Processing Unit 12.3 AI with Tensor Processing Unit 12.4 AI with Intelligence Processing Unit 12.5 AI with Cloud Computing 12.5.1 Amazon AWS 12.5.2 Microsoft Azure 12.5.3 Google Cloud Platform 12.5.4 Comparison of AWS, Azure, and GCP 12.6 Web-Based AI 12.6.1 Django 12.6.2 Flask 12.6.3 Streamlit 12.6.4 Other Libraries 12.7 Packaging the Code Pyinstaller Nbconvert Py2Exe Py2app Auto-Py-To-Exe cx_Freeze Cython Kubernetes Docker PIP 12.8 AI with Edge Computing 12.8.1 Google Coral 12.8.2 TinyML 12.8.3 Raspberry Pi 12.9 Create a Mobile AI App 12.10 Quantum AI 12.11 Summary 12.12 Chapter Review Questions Index EULA
A hands-on roadmap to using Python for artificial intelligence programming
In Practical Artificial Intelligence Programming with Python: From Zero to Hero, veteran educator and photophysicist Dr. Perry Xiao delivers a thorough introduction to one of the most exciting areas of computer science in modern history. The book demystifies artificial intelligence and teaches readers its fundamentals from scratch in simple and plain language and with illustrative code examples.
Divided into three parts, the author explains artificial intelligence generally, machine learning, and deep learning. It tackles a wide variety of useful topics, from classification and regression in machine learning to generative adversarial networks. He also includes:
- Fulsome introductions to MATLAB, Python, AI, machine learning, and deep learning
- Expansive discussions on supervised and unsupervised machine learning, as well as semi-supervised learning
- Practical AI and Python “cheat sheet” quick references
This hands-on AI programming guide is perfect for anyone with a basic knowledge of programming--including familiarity with variables, arrays, loops, if-else statements, and file input and output--who seeks to understand foundational concepts in AI and AI development.
A hands-on roadmap to using Python for artificial intelligence programming
In Practical Artificial Intelligence Programming with Python: From Zero to Hero, veteran educator and photophysicist Dr. Perry Xiao delivers a thorough introduction to one of the most exciting areas of computer science in modern history. The book demystifies artificial intelligence and teaches readers its fundamentals from scratch in simple and plain language and with illustrative code examples.
Divided into three parts, the author explains artificial intelligence generally, machine learning, and deep learning. It tackles a wide variety of useful topics, from classification and regression in machine learning to generative adversarial networks. He also includes:
- Fulsome introductions to MATLAB, Python, AI, machine learning, and deep learning
- Expansive discussions on supervised and unsupervised machine learning, as well as semi-supervised learning
- Practical AI and Python "cheat sheet" quick references
This hands-on AI programming guide is perfect for anyone with a basic knowledge of programming—including familiarity with variables, arrays, loops, if-else statements, and file input and output—who seeks to understand foundational concepts in AI and AI development.
A hands-on roadmap to using Python for artificial intelligence programming In Practical Artificial Intelligence Programming with Python: From Zero to Hero, veteran educator and photophysicist Dr. Perry Xiao delivers a thorough introduction to one of the most exciting areas of computer science in modern history. The book demystifies artificial intelligence and teaches readers its fundamentals from scratch in simple and plain language and with illustrative code examples. Divided into three parts, the author explains artificial intelligence generally, machine learning, and deep learning. It tackles a wide variety of useful topics, from classification and regression in machine learning to generative adversarial networks. He also includes: Fulsome introductions to MATLAB, Python, AI, machine learning, and deep learning Expansive discussions on supervised and unsupervised machine learning, as well as semi-supervised learning Practical AI and Python "cheat sheet" quick references This hands-on AI programming guide is perfect for anyone with a basic knowledge of programming--including familiarity with variables, arrays, loops, if-else statements, and file input and output--who seeks to understand foundational concepts in AI and AI development