Artificial intelligence is gaining traction in areas of social responsibility. From climate change to social polarization to epidemics, humankind has been seeking new solutions to these ever-present problems. Deep learning (DL) techniques have increased in power in recent years, with algorithms already exhibiting tremendous possibilities in domains such as scientific research, agriculture, smart cities, finance, healthcare, conservation, the environment, industry and more. Innovative ideas using appropriate DL frameworks are now actively employed for the development of and delivering a positive impact on smart cities and societies. This book highlights the importance of specific frameworks such as IoT-enabled frameworks or serverless cloud frameworks that are applying DL techniques for solving persistent societal problems. It addresses the challenges of DL implementation, computation time, and the complexity of reasoning and modelling different types of data. In particular, the book explores and emphasises techniques involved in DL such as image classification, image enhancement, word analysis, human–machine emotional interfaces and the applications of these techniques for smart cities and societal problems. To extend the theoretical description, the book is enhanced through case studies, including those implemented using tensorflow2 and relevant IoT-specific sensor/actuator frameworks. The broad coverage will be essential reading not just to advanced students and academic researchers but also to practitioners and engineers looking to deliver an improved society and global health. Part of IOP Series in Next Generation Computing.
Author(s): Shajulin Benedict
Series: IOP Series in Next Generation Computing
Publisher: IOP Publishing
Year: 2022
Language: English
Pages: 266
City: Bristol
PRELIMS.pdf
Preface
Acknowledgement
Author biography
Shajulin Benedict
CH001.pdf
Chapter 1 Deep learning for social good—an introduction
1.1 Deep learning—a subset of AI
1.2 History of deep learning
1.3 Trends—deep learning for social good
1.3.1 Increasing data; increasing machines
1.3.2 Increasing publications
1.3.3 International trends
1.4 Motivations
1.5 Deep learning for social good—a need
1.6 Intended audience
1.6.1 Students
1.6.2 Researchers
1.6.3 Practitioners/startup entrepreneurs
1.6.4 Government/smart city officials
1.7 Chapters and descriptions
1.7.1 About deep learning
1.7.2 Social-good applications
1.7.3 Computing architectures—base technologies
1.7.4 Convolutional neural network techniques
1.7.5 Object detection techniques and algorithms
1.7.6 Sentiment analysis—algorithms and frameworks
1.7.7 Autoencoders and variational autoencoders
1.7.8 Generative adversarial networks and disentangled mechanisms
1.7.9 Deep reinforcement learning architectures
1.7.10 Facial recognition and applications
1.7.11 Data security and platforms
1.7.12 Performance monitoring and analysis
1.7.13 Deep learning—future perspectives
1.8 Reading flow
References
CH002.pdf
Chapter 2 Applications for social good
2.1 Characteristics of social-good applications
2.2 Generic architecture—entities
2.2.1 User interface
2.2.2 Sensor connectivity
2.2.3 Hierarchical intelligence
2.2.4 Data security—immutability
2.2.5 Notification/visualization
2.3 Applications for social good
2.3.1 Economic forecasting
2.3.2 Personal assistants
2.3.3 Language assistance
2.3.4 Speech, text, and object recognition
2.3.5 Smart transportation
2.3.6 Wildlife conservation
2.3.7 Healthcare applications
2.4 Technologies and techniques
2.5 Technology—blockchain
2.5.1 Types of transaction
2.6 AI/machine learning/deep learning techniques
2.7 The Internet of things/sensor technology
2.7.1 The industrial IoT
2.7.2 The consumer IoT
2.7.3 The social IoT
2.7.4 The semantic IoT
2.7.5 The productization IoT
2.8 Robotic technology
2.9 Computing infrastructures—a needy technology
2.10 Security-related techniques
References
CH003.pdf
Chapter 3 Computing architectures—base technologies
3.1 History of computing
3.2 Types of computing
3.3 Hardware support for deep learning
3.3.1 CPUs versus GPUs
3.3.2 CPUs versus TPUs
3.4 Microcontrollers, microprocessors, and FPGAs
3.5 Cloud computing—an environment for deep learning
3.6 Virtualization—a base for cloud computing
3.6.1 Virtualization—an analogous example
3.6.2 Objectives of virtualization
3.6.3 VMs—comparison to physical machines
3.6.4 VMs—case studies
3.7 Hypervisors—impact on deep learning
3.7.1 Bare-metal hypervisor
3.7.2 Hosted hypervisors
3.7.3 Full virtualization
3.7.4 Paravirtualization
3.7.5 Hardware-assisted virtualization
3.8 Containers and Dockers
3.8.1 Docker instances
3.8.2 Docker building blocks
3.8.3 Docker storage characteristics
3.8.4 Docker working model
3.8.5 Docker tools
3.9 Cloud execution models
3.9.1 Serverless cloud execution model
3.9.2 Kubernetes solutions
3.9.3 DL-as-a-service
3.10 Programming deep learning tasks—libraries
3.10.1 Features of TensorFlow
3.10.2 TensorFlow components
3.11 Sensor-enabled data collection for DLs
3.11.1 Required mechanisms
3.11.2 Sensors to DL services—data connectivity
3.11.3 Application-layer protocols
3.11.4 Lower-layer protocols
3.12 Edge-level deep learning systems
3.12.1 About the ESP32
3.12.2 Programming ESP boards
References
CH004.pdf
Chapter 4 CNN techniques
4.1 CNNs—introduction
4.1.1 Analogy with human brains/eyes
4.1.2 Characteristics of the human brain
4.1.3 CNN principles—in a nutshell
4.1.4 Comparison between CNNs and ML
4.1.5 Advantages of CNNs
4.2 CNNs—nuts and bolts
4.2.1 Object recognition—the computer’s perspective
4.2.2 Neurons and CNN connections
4.2.3 CNN building blocks
4.2.4 Pooling layers
4.2.5 Fully connected layers
4.3 Social-good applications—a CNN perspective
4.4 CNN use case—climate change problem
4.4.1 Reasons for climate change
4.4.2 Ways to reduce climate change
4.4.3 Forest fire prediction
4.4.4 TensorFlow-based CNN code snippets
4.4.5 TensorFlow-based single-perceptron code snippets
4.4.6 Scikit-learn-based extra-tree classifier
4.4.7 Scikit-learn-based K-neighbors classifier
4.4.8 Scikit-learn-based support vector machine
4.4.9 Scikit-learn-based logistic regression
4.4.10 Flood prediction
4.4.11 Scikit-learn-based stochastic gradient descent
4.4.12 Scikit-learn-based linear regression
4.4.13 Scikit-learn-based Bayesian regression
4.4.14 Scikit-learn-based ridge regression
4.4.15 Scikit-learn-based lasso regression
4.4.16 Scikit-learn-based elastic net regression
4.4.17 Scikit-learn-based LARS lasso regression
4.4.18 Scikit-learn-based online one-class SVM regression
4.4.19 Scikit-learn-based random forest regression
4.4.20 Scikit-learn-based multilayer perceptron
4.5 CNN challenges
4.5.1 Insufficient data
4.5.2 Low speed
4.5.3 Hidden layers
4.5.4 Missing coordinates
4.5.5 Inaccurate datasets
4.5.6 Black-box approach
4.5.7 Overfitting/underfitting problems
References
CH005.pdf
Chapter 5 Object detection techniques and algorithms
5.1 Computer vision—taxonomy
5.2 Object detection—objectives
5.2.1 Locating targets
5.2.2 Semantic representations
5.2.3 Robust algorithms
5.3 Object detection—challenges
5.4 Object detection—major steps or processes
5.4.1 Step 1—requirement identification
5.4.2 Step 2—image processing
5.4.3 Convolutions and object detection
5.5 Object detection methods
5.5.1 R-CNN
5.5.2 Fast R-CNN
5.5.3 Faster R-CNN
5.5.4 You Only Look Once
5.5.5 YOLO variants
5.6 Applications
5.6.1 Tracking
5.6.2 Geo-classification
5.6.3 Healthcare solutions
5.6.4 E-learning solutions
5.7 Exam proctoring—YOLOv5
5.7.1 Crucial applications
5.7.2 Requirements
5.8 Proctoring system—implementation stages
5.8.1 Interface
5.8.2 Screen recording
5.8.3 Image categorization
References
CH006.pdf
Chapter 6 Sentiment analysis—algorithms and frameworks
6.1 Sentiment analysis—an introduction
6.1.1 History—sentiment analysis
6.1.2 Trends and objectives
6.2 Levels and approaches
6.2.1 Levels of sentiment analysis
6.2.2 Approaches to and techniques used for sentiment analysis
6.2.3 Processing stages
6.3 Sentiment analysis—processes
6.4 Recommendation system—sentiment analysis
6.5 Movie recommendation—a case study
6.5.1 Convolutional neural networks—sentiments
6.5.2 Recurrent neural networks—sentiments
6.5.3 Long short-term memory—sentiments
6.6 Metrics
6.7 Tools and frameworks
6.7.1 The necessity for sentiment analysis tools and frameworks
6.7.2 HubSpot tool
6.7.3 Repustate sentiment analyzer
6.7.4 Lexanalytics
6.7.5 Critical Mention
6.7.6 Brandwatch
6.7.7 Social Searcher
6.7.8 MonkeyLearn
6.8 Sentiment analysis—sarcasm detection
6.8.1 News headline data set
6.8.2 Data processing using TensorFlow
6.8.3 Training using neural networks
6.8.4 Training using long short-term memory
References
CH007.pdf
Chapter 7 Autoencoders and variational autoencoders
7.1 Introduction—autoencoders
7.1.1 Advantages of compression
7.1.2 Unsupervised learning
7.1.3 Principal component analysis versus autoencoders
7.1.4 Autoencoders—transfer learning
7.1.5 Autoencoders versus traditional compression
7.2 Autoencoder architectures
7.2.1 Training phase
7.2.2 Loss functions
7.3 Types of autoencoder
7.3.1 Convolutional autoencoders
7.3.2 Sparse autoencoders
7.3.3 Deep autoencoders
7.3.4 Contractive autoencoders
7.3.5 Denoising autoencoders
7.3.6 Undercomplete autoencoders
7.3.7 Variational autoencoders
7.4 Applications of autoencoders
7.4.1 Image reconstruction
7.4.2 Image colorization
7.4.3 High-resolution image generation
7.4.4 Recommendation systems via feature extraction
7.4.5 Image compression
7.4.6 Image segmentation
7.5 Variational autoencoders
7.5.1 Variational autoencoder vectors
7.5.2 Variational autoencoder loss functions
7.5.3 A pictorial way of understanding the variational autoencoder
7.5.4 Variational autoencoder—use cases
7.6 Autoencoder implementation—code snippet explanation
7.6.1 Importing packages
7.6.2 Initialization
7.6.3 Layer definition
7.6.4 Feature extraction
7.6.5 Modeling and testing
References
CH008.pdf
Chapter 8 GANs and disentangled mechanisms
8.1 Introduction to GANs
8.2 Concept—generative and descriptive
8.2.1 Generative models
8.2.2 Discriminative models
8.3 Major steps involved
8.3.1 Load and prepare
8.3.2 Modeling
8.3.3 Loss and optimizers
8.3.4 Training step
8.3.5 Testing step
8.4 GAN architecture
8.4.1 Generators
8.4.2 Discriminator
8.5 Types of GAN
8.5.1 DCGANs
8.5.2 CGANs
8.5.3 ESRGAN
8.5.4 GFP GANs
8.6 StyleGAN
8.7 A simple implementation of a GAN
8.7.1 Importing libraries and data sets
8.7.2 Generator models
8.7.3 Discriminator models
8.7.4 Compiling and optimizing
8.7.5 Generate images
8.8 Quality of GANs
8.9 Applications and challenges
8.9.1 Human face generation
8.9.2 Music generation
8.9.3 Translation
8.9.4 Guided generation
References
CH009.pdf
Chapter 9 Deep reinforcement learning architectures
9.1 Deep reinforcement learning—an introduction
9.2 The difference between deep reinforcement learning and machine learning
9.3 The difference between deep learning and reinforcement learning
9.4 Reinforcement learning applications
9.4.1 Autonomous driving
9.4.2 Robotics
9.4.3 Natural language processing systems
9.4.4 Games
9.5 Components of RL frameworks
9.5.1 Policy components
9.5.2 Value function components
9.5.3 Model components
9.6 Reinforcement learning techniques
9.6.1 Associative RL
9.6.2 Deep RL
9.6.3 Adversarial deep RL
9.6.4 Inverse RL
9.6.5 Safe RL
9.7 Reinforcement learning algorithms
9.7.1 Model-free RL
9.7.2 Model-based RL
9.8 Integration into real-world systems
References
CH010.pdf
Chapter 10 Facial recognition and applications
10.1 Facial recognition—a historical view
10.2 Biometrics using faces
10.3 Facial detection versus recognition
10.4 Facial recognition—processes
10.4.1 Face detection
10.4.2 Face analysis via feature extraction
10.4.3 Data conversion
10.4.4 Classification
10.5 Applications
10.5.1 Crime detection
10.5.2 Human trafficking and tracking
10.5.3 Medical assistance
10.5.4 Attendance and e-learning platforms
10.5.5 Financial industry
10.5.6 Fast-moving passengers
10.6 Emotional intelligence—a facial recognition application
10.6.1 Emotional intelligence
10.6.2 Types of emotion
10.6.3 Emotion detection approaches
10.7 Emotion detection—database creation
10.7.1 Questionnaire preparation
10.7.2 Capturing videos
10.7.3 Processing images
10.7.4 Feature extraction
10.7.5 Annotations
10.8 Challenges and future work
10.8.1 Face detection—environmental conditions
10.8.2 Pose variations
10.8.3 Occlusion
10.8.4 Ageing
References
CH011.pdf
Chapter 11 Data security and platforms
11.1 Security breaches
11.2 Security attacks
11.3 Deep-learning-related security attacks
11.4 Metrics
11.5 Execution environments
11.5.1 IoT environment
11.5.2 Cloud instances
11.5.3 Edge nodes
11.5.4 Mobile networks and deep learning
11.6 Using deep learning to enhance security
11.6.1 Cybersecurity applications
11.6.2 Deep learning for cybersecurity problems
11.6.3 Deep learning for the IoT
References
CH012.pdf
Chapter 12 Performance monitoring and analysis
12.1 Performance monitoring
12.2 The need for performance monitoring
12.3 Performance analysis methods/approaches
12.3.1 Expert opinion
12.3.2 Characterizing workloads
12.3.3 Characterizing I/O
12.3.4 Applying benchmarks
12.3.5 Applying microbenchmarks
12.3.6 Top-down performance analysis
12.3.7 Bottom-up analysis
12.3.8 Tool-based
12.3.9 Prediction-based
12.4 Performance metrics
12.4.1 Hardware-specific metrics
12.4.2 Algorithm-specific metrics
12.4.3 Prediction-related metrics
12.4.4 Security-related metrics
12.4.5 Error-related metrics
12.4.6 Economic metrics
12.5 Evaluation platforms
12.5.1 Single-node performance
12.5.2 Cluster-level performance
12.5.3 Edge-node performance
12.5.4 Federated learning environment performance
12.5.5 Serverless function-level performance
References
CH013.pdf
Chapter 13 Deep learning—future perspectives
13.1 Data diversity and generalization
13.2 Applications
13.2.1 Healthcare sector
13.2.2 Education sector
13.2.3 Agricultural sector
13.2.4 Environmental sector
13.2.5 Financial sector
13.2.6 Energy sector