دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Mehdi Ghayoum
سری:
ISBN (شابک) : 9781032248448, 9781003281344
ناشر: CRC Press
سال نشر: 2023
تعداد صفحات: 671
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 30 مگابایت
در صورت ایرانی بودن نویسنده امکان دانلود وجود ندارد و مبلغ عودت داده خواهد شد
در صورت تبدیل فایل کتاب Generative Adversarial Networks in Practice به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب شبکه های متخاصم مولد در عمل نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Cover Half Title Title Page Copyright Page Contents Preface Acknowledgments About the Author 1. Introduction 1.1. Preface 1.2. What Is Learning? 1.3. What Is Machine Learning? 1.3.1. Supervised Learning 1.3.2. Unsupervised Learning 1.3.3. Semi-supervised Learning 1.3.4. Supervised vs. Semi-supervised vs. Unsupervised 1.3.5. Reinforcement Learning 1.3.6. Generating Learning 1.3.7. Regression 1.4. What Is Deep Learning? 1.5. Generative Adversarial Networks (GANs) 1.6. About This Book! 1.6.1. Introduction 1.6.2. Data Preprocessing 1.6.3. Model Evaluation 1.6.4. TensorFlow and Keras Fundamentals 1.6.5. Artificial Neural Networks (ANNs) 1.6.6. Deep Neural Networks (DNNs) 1.6.7. Generative Adversarial Networks (GANs) 1.6.8. Deep Convolutional Generative Adversarial Network (DCGAN) 1.6.9. Conditional Generative Adversarial Network (cGAN) 1.6.10. Cycle Generative Adversarial Network (CycleGAN) 1.6.11. Semi-supervised Generative Adversarial Network (SGAN) 1.6.12. Least Squares Generative Adversarial Network (LSGAN) 1.6.13. Wasserstein Generative Adversarial Network (WGAN) 1.6.14. Generative Adversarial Networks (GANs) for Images and Video 1.6.15. Generative Adversarial Networks (GANs) for Voice, Music, and Song 1.7. Terminology 1.7.1. Inputs 1.7.2. Weights 1.7.3. Outputs (Targets) 1.7.4. Activation Function 1.7.5. Vanishing Gradient 1.7.6. Channel 1.7.7. Embedding 1.7.8. Fine-tuning 1.7.9. Data Augmentation 1.7.10. Generalization 1.7.11. Regularization 1.7.12. L1 and L2 1.7.13. Dropout 1.7.14. End-to-end Learning 1.7.15. Error 1.7.16. Training, Testing, and Validation Sets 1.7.17. Overfitting 1.7.18. Underfitting 1.7.19. Confusion Matrix 1.7.20. Error Metrics 1.7.21. Balanced and Unbalanced Datasets 1.7.22. Standardization 1.7.23. Normalization 1.7.24. One-hot Encoding 1.7.25. Generator 1.7.26. Discriminator 1.7.27. Convolutional Layers 1.7.28. Deconvolution 1.7.29. Transposed Convolutional Layers 1.7.30. Deconvolution vs. Transposed Convolutional 1.7.31. Loss Functions 1.7.32. Optimization Functions 1.7.33. Frequency 1.7.34. Amplitude 1.7.35. Timbre 1.7.36. Pitch 1.7.37. Wavelength 1.7.38. Phase 1.7.39. Duration 1.7.40. Intensity 1.7.41. Sample Rate 1.7.42. Score (in Sound) 1.7.43. Performance (in Sound) 1.7.44. Zero-sum Game 1.8. Issues and Challenges in Machine Learning 1.8.1. Bias and Fairness 1.8.2. Overfitting 1.8.3. Data Quality and Quantity 1.8.4. Interpretability 1.8.5. Scalability 1.8.6. Privacy and Security 1.8.7. Hyperparameter Tuning 1.8.8. Transfer Learning 1.8.9. Adversarial Attacks 1.8.10. Ethics and Accountability 1.9. Issues and Challenges in Deep Learning 1.9.1. Overfitting 1.9.2. Underfitting 1.9.3. Vanishing and Exploding Gradients 1.9.4. Computational Complexity 1.9.5. Data Quality 1.9.6. Interpretability 1.9.7. Generalization 1.9.8. Ethical Considerations 1.10. Issues and Challenges in GANs 1.10.1. Mode Collapse 1.10.2. Training Instability 1.10.3. Overfitting 1.10.4. Evaluation 1.10.5. Limited Data 1.10.6. Hyperparameters 1.11. Tips in Machine Learning Implementation 1.11.1. Understand the Problem 1.11.2. Choose the Right Algorithm 1.11.3. Data Preprocessing 1.11.4. Feature Selection 1.11.5. Hyperparameter Tuning 1.11.6. Cross-validation 1.11.7. Regularization 1.11.8. Monitoring and Logging 1.11.9. Interpretability 1.11.10. Reproducibility 1.12. Tips in Deep Learning Implementation 1.12.1. Start with a Small Dataset 1.12.2. Use Pre-trained Models 1.12.3. Use Transfer Learning 1.12.4. Regularize Your Model 1.12.5. Use Early Stopping 1.12.6. Use a Graphics Processing Unit (GPU) 1.12.7. Visualize Your Results 1.12.8. Document Your Experiments 1.12.9. Use Good Coding Practices 1.12.10. Stay Up to Date 1.13. Tips in GAN Implementation 1.13.1. Use a Smaller Learning Rate 1.13.2. Normalize Input Data 1.13.3. Use Batch Normalization 1.13.4. Add Noise to Input Data 1.13.5. Use Different Activation Functions 1.13.6. Use Different Loss Functions 1.13.7. Monitor the Training Process 1.13.8. Use Early Stopping 1.13.9. Generate Samples Periodically 1.13.10. Evaluate the Model Using Multiple Metrics 1.14. Lessons Learned 1.15. Problems 2. Data Preprocessing 2.1. Preface 2.2. Data Preprocessing 2.3. Data Cleaning 2.3.1. Missing Data 2.3.2. Noisy Data 2.3.3. Other Processes 2.4. Data Transformation 2.4.1. Aggregation 2.4.2. Normalizing 2.4.3. Discretization 2.5. Balancing Data 2.5.1. Sampling Techniques 2.5.2. Ensemble Techniques 2.5.3. Combination of Undersampling and Oversampling 2.5.4. Class Weighting 2.5.5. Generating Synthetic Data 2.6. Data Augmentation 2.6.1. Padding 2.6.2. Random Rotating 2.6.3. Rescaling 2.6.4. Vertical and Horizontal Flipping 2.6.5. Translation 2.6.6. Cropping 2.6.7. Zooming 2.6.8. Darkening and Brightening/Color Modification 2.6.9. Grayscaling 2.6.10. Changing Contrast 2.6.11. Adding Noise 2.6.12. Random Erasing 2.7. Data Reduction 2.8. Dataset Partitioning 2.9. Data Preparation Steps 2.9.1. Importing Libraries 2.9.2. Reading Data 2.9.3. Data Cleaning 2.9.4. Data Splitting 2.10. Data Preprocessing Examples 2.10.1. Data-based Example 2.10.2. Project-based Example 2.11. Data Preprocessing Issues 2.11.1. Data Quality 2.11.2. Bias and Fairness 2.11.3. Data Privacy 2.11.4. Scalability 2.11.5. Interpretability 2.12. Data Preprocessing Implementation Tips 2.12.1. Understand Your Data 2.12.2. Choose Appropriate Techniques 2.12.3. Document Changes 2.12.4. Avoid Overfitting 2.12.5. Use Established Libraries 2.12.6. Continuously Monitor Data Quality 2.12.7. Start with Simple Techniques 2.12.8. Test Multiple Techniques 2.12.9. Document Your Steps 2.13. Lessons Learned 2.14. Problems 2.15. Programming Questions 3. Model Evaluation 3.1. Preface 3.2. Hyperparameter Setting 3.2.1. Learning Rate 3.2.2. Batch Size 3.2.3. Number of Epochs 3.2.4. Number of Neurons 3.2.5. Activation Functions 3.3. Optimize the Model 3.3.1. What Is the Noise? 3.3.2. What Is the Bias? 3.3.3. What Is the Variance? 3.4. Bias/Variance 3.5. Identifying Weaknesses in a Model 3.5.1. High Variance 3.5.2. High Bias 3.6. Model Evaluation 3.6.1. Inception Score (IS) 3.6.2. Frechet Inception Distance (FID) 3.6.3. Precision and Recall 3.6.4. Visual Inspection 3.6.5. Human Evaluation 3.6.6. The Hold-out Method 3.6.7. K-fold Cross-validation 3.7. Model Evaluation Issues 3.7.1. Overfitting 3.7.2. Underfitting 3.7.3. Data Bias 3.7.4. Evaluation Metrics 3.7.5. Imbalanced Data 3.7.6. Data Leakage 3.7.7. Hyperparameter Tuning 3.8. Model Evaluation Implementation Tips 3.8.1. Define Evaluation Metrics 3.8.2. Split Data into Train, Validation, and Test Sets 3.8.3. Use Cross-validation 3.8.4. Visualize Performance 3.8.5. Regularization 3.8.6. Early Stopping 3.8.7. Ensemble Models 3.8.8. Fine-tune Hyperparameters 3.9. Lessons Learned 3.10. Problems 3.11. Programming Questions 4. TensorFlow and Keras Fundamentals 4.1. Preface 4.2. How Does TensorFlow Work? 4.3. Tensors 4.4. TensorFlow 4.4.1. Define the Variable 4.4.2. Define the Computation 4.4.3. Operation Execution and Print Results 4.5. Indexing and Slicing 4.5.1. Indexing 4.5.2. Slicing 4.6. Building an NN Using TensorFlow 4.6.1. Import the Data 4.6.2. Loading and Normalizing the Data 4.6.3. Build the Model 4.6.4. Train and Evaluate the Model 4.7. Building a CNN Using TensorFlow 4.7.1. Input Layer 4.7.2. Convolutional and Pooling Layers and Dense Layer 4.7.3. Train the Model 4.7.4. Test the Model 4.8. Keras 4.8.1. Setup and Install 4.8.2. Available Modules 4.8.3. Import Libraries and Modules 4.8.4. Train and Predict the Model 4.8.5. Implement an Example Using Keras 4.9. TensorFlow Issues 4.9.1. Installation Errors 4.9.2. GPU Compatibility Issues 4.9.3. Out-of-memory Error 4.9.4. Slow Training Time 4.9.5. Overfitting 4.9.6. Underfitting 4.9.7. NaN or Infinity Values 4.9.8. Dataset Loading Errors 4.9.9. Debugging Issues 4.9.10. Performance Optimization 4.10. TensorFlow Implementation Tips 4.11. Keras Issues 4.11.1. Keras Installation Errors 4.11.2. Overfitting 4.11.3. Unbalanced Datasets 4.11.4. Gradient Vanishing/Exploding 4.11.5. Memory Issues 4.11.6. Slow Training 4.11.7. Hyperparameter Tuning 4.11.8. Debugging 4.11.9. Compatibility Issues 4.12. Keras Implementation Tips 4.12.1. Use Keras Functional API for Complex Models 4.12.2. Normalize Input Data 4.12.3. Use Early Stopping 4.12.4. Use Regularization 4.12.5. Use Data Augmentation 4.12.6. Monitor the Training Process 4.12.7. Use Transfer Learning 4.12.8. Use GPU Acceleration 4.12.9. Tune Hyperparameters 4.13. Lessons Learned 4.14. Problems 4.15. Programming Questions 5. Artificial Neural Networks Fundamentals and Architectures 5.1. Preface 5.2. Artificial Neural Networks (ANNs) 5.2.1. Biological Neuron 5.2.2. Artificial Neuron 5.3. Linear and Nonlinear Functions 5.3.1. Linear Function 5.3.2. Nonlinear Functions 5.4. ANNs Architectures 5.4.1. Feedforward Neural Networks (FFNNs) 5.4.2. Backpropagation 5.4.3. Single-layer Perceptron 5.4.4. Multi-layer Perceptron (MLP) 5.5. Artificial Neural Networks Issues 5.5.1. Overfitting 5.5.2. Underfitting 5.5.3. Gradient Vanishing/Exploding 5.5.4. Training Time 5.5.5. Data Requirements 5.5.6. Hardware Requirements 5.5.7. Interpretability 5.5.8. Robustness 5.5.9. Bias 5.5.10. Transferability 5.5.11. Architecture Selection 5.5.12. Hyperparameter Tuning 5.5.13. Scalability 5.5.14. Continual Learning 5.5.15. Cost 5.6. Artificial Neural Networks Implementation Tips 5.6.1. Normalize Input Data 5.6.2. Use Appropriate Activation Functions 5.6.3. Implement Early Stopping 5.6.4. Use Regularization 5.6.5. Use Batch Normalization 5.6.6. Implement Learning Rate Decay 5.6.7. Use a Suitable Loss Function 5.6.8. Avoid Using Too Many Layers 5.6.9. Use an Appropriate Optimizer 5.6.10. Use Dropout 5.6.11. Use Data Augmentation 5.6.12. Use Cross-validation 5.6.13. Choose Appropriate Network Architecture 5.6.14. Use Transfer Learning 5.7. Lessons Learned 5.8. Problems 5.9. Programming Questions 6. Deep Neural Networks (DNNs) Fundamentals and Architectures 6.1. Preface 6.2. Deep Neural Networks (DNNs) 6.2.1. What Is Deep Learning? 6.2.2. Deep Learning Needs 6.2.3. How to Deploy Deep Learning More Efficiently? 6.3. Deep Learning Applications 6.3.1. Computer Vision 6.3.2. Natural Language Processing 6.3.3. Robotics 6.3.4. Finance 6.3.5. Biology and Healthcare 6.3.6. Gaming 6.3.7. Agriculture 6.4. Deep Learning Algorithms and Architectures 6.4.1. Recurrent Neural Networks (RNNs) 6.4.2. Long Short-term Memory (LSTM) 6.4.3. Residual Neural Networks (ResNets) 6.4.4. Convolutional Neural Networks (CNNs) 6.4.5. Generative Adversarial Networks (GANs) 6.5. Deep Learning Issues 6.5.1. Vanishing Gradients 6.5.2. Overfitting 6.5.3. Data Preprocessing 6.5.4. Model Architecture 6.5.5. Hardware Limitations 6.5.6. Interpretability 6.5.7. Generalization 6.5.8. Labeling Data 6.5.9. Adversarial Attacks 6.5.10. Ethical Considerations 6.6. Deep Learning Implementation Tips 6.6.1. Choose the Right Framework 6.6.2. Use GPU 6.6.3. Preprocess the Data 6.6.4. Start with a Simple Model 6.6.5. Regularization 6.6.6. Use Transfer Learning 6.6.7. Monitor the Training Process 6.6.8. Hyperparameter Tuning 6.6.9. Save the Model 6.6.10. Use a Reproducible Environment 6.7. Lessons Learned 6.8. Problems 6.9. Programming Questions 7. Generative Adversarial Networks (GANs) Fundamentals and Architectures 7.1. Preface 7.2. Introducing Adversarial Learning 7.2.1. What Is Adversarial Learning? 7.3. GAN Architecture 7.3.1. Generator 7.3.2. Discriminator 7.4. Loss Functions 7.4.1. Minimax Loss 7.4.2. Wasserstein Loss 7.5. GAN Training 7.6. GAN Applications 7.6.1. Image and Video Synthesis 7.6.2. Text-to-Image Synthesis 7.6.3. Style Transfer 7.6.4. Data Augmentation 7.6.5. Medical Image Analysis 7.6.6. 3D Object Generation 7.6.7. Speech Synthesis 7.7. Most Popular GANs 7.7.1. Deep Convolutional GANs (DCGANs) 7.7.2. Conditional GANs (cGANs) 7.7.3. Cycle Generative Adversarial Networks (CycleGAN) 7.7.4. Semi-supervised Generative Adversarial Network (SGAN) 7.7.5. Least Squares Generative Adversarial Network (LSGAN) 7.7.6. Wasserstein Generative Adversarial Networks (WGAN) 7.7.7. Auxiliary Classifier Generative Adversarial Networks (AC-GAN) 7.7.8. Stacked Generative Adversarial Networks (StackGAN) 7.7.9. Progressive, Growing Generative Adversarial Networks (PGAN) 7.7.10. Big Generative Adversarial Networks (BigGAN) 7.7.11. Style-based Generative Adversarial Networks (StyleGAN) 7.8. Develop GAN Models 7.8.1. Analyze the Problem 7.8.2. Select GAN Architecture 7.8.3. Train the Discriminator on Real Dataset 7.8.4. Train Generator 7.8.5. Fake Data on the Discriminator 7.8.6. Train Generator 7.9. Issues in GAN 7.9.1. Mode Collapse 7.9.2. Training Instability 7.9.3. Evaluation of Generated Data 7.9.4. Dataset Bias 7.9.5. Computational Resources 7.9.6. Lack of Interpretability 7.9.7. Data Privacy and Security 7.9.8. Transferability 7.10. Training Approaches and Implementation Tips for GAN 7.10.1. Feature Matching 7.10.2. Normalizing the Inputs, Mini-batch, and Batch Norm 7.10.3. Use Batch Normalization 7.10.4. Use Different Learning Rates for the Generator and Discriminator 7.10.5. Use Different Loss Functions for the Generator and Discriminator 7.10.6. Use a Variety of Evaluation Metrics 7.10.7. Monitor the Gradients 7.10.8. Use Regularization Techniques 7.10.9. Use Appropriate Activation Functions 7.10.10. Use Appropriate Initialization Techniques 7.10.11. Use Early Stopping 7.10.12. Use Transfer Learning 7.10.13. Use Progressive Training 7.10.14. Use Wasserstein Distance 7.10.15. Use Label Smoothing 7.10.16. Use Noise Injections 7.10.17. Use Mini-batch Discrimination 7.11. Lessons Learned 7.12. Problems 7.13. Programming Questions 8. Deep Convolutional Generative Adversarial Networks (DCGANs) 8.1. Preface 8.2. DCGAN Architecture 8.2.1. Generator 8.2.2. Discriminator 8.3. DCGAN Applications 8.3.1. Image Generation 8.3.2. Data Augmentation 8.3.3. Style Transfer 8.3.4. Super-resolution 8.3.5. Anomaly Detection 8.4. DCGAN for CelebA 8.4.1. Import the Libraries 8.4.2. Prepare Data 8.4.3. Discriminator 8.4.4. Generator 8.4.5. Train 8.4.6. Save Generated Images and Train the Model 8.5. DCGAN for MNIST 8.5.1. Import Libraries 8.5.2. Load and Prepare the Dataset 8.5.3. Generator 8.5.4. Discriminator 8.5.5. Discriminator Loss 8.5.6. Generator Loss 8.5.7. Define the Training Loop 8.5.8. Generate and Save Images 8.6. DCGAN Issues 8.6.1. Mode Collapse 8.6.2. Instability during Training 8.6.3. Difficulty in Generating High-resolution Images 8.6.4. Sensitivity to Initialization 8.6.5. Vanishing Gradients 8.6.6. Overfitting 8.6.7. Computational Complexity 8.6.8. Hyperparameter Tuning 8.7. DCGAN Implementation Tips 8.8. Lessons Learned 8.9. Problems 8.10. Programming Questions 9. Conditional Generative Adversarial Network (cGAN) 9.1. Preface 9.2. cGAN Architecture 9.2.1. cGAN Generator 9.2.2. cGAN Discriminator 9.2.3. General Architecture 9.3. cGAN for Fashion Clothing Data 9.3.1. Data Loading 9.3.2. Show the Data Values 9.3.3. Generator 9.3.4. Discriminator 9.3.5. Load Real Sample Data 9.3.6. Select a Real Sample and Generate Data for the Generator and Labels 9.3.7. Generate Fake Sample 9.3.8. Training 9.4. CDCGAN 9.4.1. Importing Libraries 9.4.2. Load Data 9.4.3. Discriminator 9.4.4. Generator 9.4.5. Model 9.4.6. Generate Data 9.4.7. Training 9.5. Pix2Pix GAN for Image-to-Image Translation 9.5.1. Generator 9.5.2. Discriminator 9.5.3. General Model 9.5.4. Loss Function 9.6. cGAN Applications 9.6.1. Image and Video Editing 9.6.2. Data Augmentation 9.6.3. Text-to-image Synthesis 9.6.4. Face Recognition 9.6.5. Fashion and Interior Design 9.6.6. Medical Imaging 9.6.7. Speech Synthesis 9.7. Implementation Pix2Pix 9.7.1. Import Libraries 9.7.2. Load the Dataset 9.7.3. Generator 9.7.4. Generator Loss 9.7.5. Discriminator 9.7.6. Discriminator Loss 9.7.7. Optimizers 9.7.8. Image Generating 9.7.9. Training 9.8. cGAN Issues 9.8.1. Mode Collapse 9.8.2. Lack of Diversity 9.8.3. Difficulty in Training 9.8.4. Sensitivity to Input Noise 9.8.5. Overfitting 9.9. cGAN Implementation Tips 9.9.1. Choose Appropriate Dataset 9.9.2. Use One-hot Encoding 9.9.3. Normalize Inputs 9.9.4. Use Convolutional Layers 9.9.5. Use Batch Normalization 9.9.6. Use Appropriate Loss Functions 9.9.7. Use Appropriate Hyperparameters 9.9.8. Monitor the Training Process 9.9.9. Experiment with Different Architectures 9.9.10. Evaluate the Generated Images 9.10. Lessons Learned 9.11. Problems 9.12. Programming Questions 10. Cycle Generative Adversarial Network (CycleGAN) 10.1. Preface 10.2. CycleGANs 10.3. CycleGANs Applications 10.3.1. Artistic Style Transfer 10.3.2. Image-to-image Translation 10.3.3. Medical Image Analysis 10.3.4. Video Stabilization 10.3.5. Virtual Try-on 10.3.6. Colorization 10.3.7. 3D Shape Synthesis 10.3.8. Domain Adaptation 10.3.9. Style Transfer 10.3.10. Object Transfiguration 10.3.11. Season Transfer 10.3.12. Photograph Generation from Paintings 10.3.13. Photograph Enhancement 10.4. CycleGAN Implementation Using TensorFlow 10.4.1. Import Libraries and Setup 10.4.2. Import and Reuse the Pix2Pix Models 10.4.3. Loss Functions 10.4.4. Checkpoints 10.4.5. Training 10.4.6. Generate Using the Test Dataset 10.5. CycleGAN Issues 10.5.1. Lack of Diversity in Generated Images 10.5.2. Poor Image Quality 10.5.3. Unbalanced Image Domains 10.5.4. Difficulty in Choosing Hyperparameters 10.5.5. Long Training Times 10.5.6. Mode Collapse 10.5.7. Overfitting 10.5.8. Gradient Vanishing/Exploding 10.5.9. Unbalanced Data 10.5.10. Image Artifacts 10.5.11. Lack of Diversity 10.6. CycleGAN Implementation Tips 10.6.1. Preprocessing 10.6.2. Model Architecture 10.6.3. Loss Functions 10.6.4. Hyperparameters 10.6.5. Data Preparation 10.6.6. Training 10.6.7. Evaluation 10.6.8. Deployment 10.7. Lessons Learned 10.8. Problems 10.9. Programming Questions 11. Semi-Supervised Generative Adversarial Network (SGAN) 11.1. Preface 11.2. What Is the Semi-Supervised GAN? 11.3. Semi-Supervised GAN for MNIST 11.3.1. Set Up and Import Libraries 11.3.2. Preprocess the Dataset 11.3.3. Generator 11.3.4. Discriminator 11.3.5. Combined Model 11.3.6. Sample the Dataset 11.3.7. Training 11.3.8. Evaluation and Plotting 11.4. Semi-Supervised Learning GAN Applications 11.4.1. Image Classification 11.4.2. Object Detection 11.4.3. Natural Language Processing 11.4.4. Healthcare 11.4.5. Fraud Detection 11.4.6. Autonomous Vehicles 11.4.7. Recommender Systems 11.4.8. Gaming 11.4.9. Virtual Reality 11.4.10. Advertising 11.5. Semi-Supervised Learning GAN Issues 11.5.1. Lack of Labeled Data 11.5.2. Difficulty in Finding the Right Balance between Labeled and Unlabeled Data 11.5.3. Mode Collapse 11.5.4. Difficulty in Training 11.5.5. Stability Issues 11.5.6. Difficulty in Evaluating Performance 11.6. Semi-Supervised Learning GAN Implementation Tips 11.7. Lessons Learned 11.8. Problems 11.9. Programming Questions 12. Least Squares Generative Adversarial Network (LSGAN) 12.1. Preface 12.2. LSGAN Architecture 12.2.1. Regular GANs 12.2.2. LSGAN 12.2.3. Parameters Selection 12.3. LSGAN Applications 12.3.1. Some Experimental Results 12.3.2. Stability Comparison on the LSUN Dataset 12.3.3. Stability Comparison on Gaussian Mixture Distribution Dataset 12.4. Develop an LSGAN for MNIST 12.4.1. Load Libraries 12.4.2. Loading and Exploring Data 12.4.3. Preprocessing Data 12.4.4. Generator 12.4.5. Discriminator 12.4.6. Compile Discriminator 12.4.7. Combined Network and Model Summary 12.4.8. Training Model 12.5. LSGAN for Caltech_birds2011 Dataset 12.5.1. Import Libraries 12.5.2. Set the Hyperparameters 12.5.3. Load Dataset 12.5.4. Create the Model 12.5.5. Training and Testing 12.6. LSGAN Issues 12.6.1. Mode Collapse 12.6.2. Gradient Vanishing/Exploding 12.6.3. Unstable Training 12.6.4. Hyperparameter Tuning 12.6.5. Evaluation Metrics 12.6.6. Memory Usage 12.6.7. Limited Training Data 12.7. LSGAN Implementation Tips 12.8. Lessons Learned 12.9. Problems 12.10. Programming Questions 13. Wasserstein Generative Adversarial Network (WGAN) 13.1. Preface 13.2. What Is a Wasserstein GAN? 13.2.1. WGAN Algorithm 13.2.2. WGAN-GP Algorithm 13.3. Wasserstein GAN for MNIST 13.3.1. Import Libraries 13.3.2. Import Dataset 13.3.3. Generator 13.3.4. Critic 13.3.5. Loss Functions 13.3.6. Optimizer 13.3.7. Training 13.3.8. Generate Image 13.4. WGAN-GP (WGAN with Gradient Penalty (GP)) on Fashion-MNIST 13.4.1. Import Libraries 13.4.2. Prepare the Data 13.4.3. Discriminator (Critic) 13.4.4. Generator 13.4.5. WGAN-GP Model 13.4.6. Saves Images 13.4.7. Train Model 13.4.8. Generated Image 13.5. Wasserstein GAN Applications 13.5.1. Image Synthesis 13.5.2. Style Transfer 13.5.3. Super-resolution 13.5.4. Data Augmentation 13.5.5. Anomaly Detection 13.5.6. Speech Synthesis 13.5.7. Music Generation 13.5.8. Video Generation 13.6. WGAN’s Issues 13.6.1. Vanishing Gradients 13.6.2. Hyperparameter Tuning 13.6.3. Computational Resources 13.6.4. Evaluation of Results 13.6.5. Gradient Clipping 13.6.6. Mode Collapse 13.6.7. Hyperparameter Tuning 13.7. Wasserstein GAN Implementation Tips 13.8. Lessons Learned 13.9. Problems 13.10. Programming Questions 14. Generative Adversarial Networks (GANs) for Images 14.1. Preface 14.2. Architectures 14.2.1. Direct Methods 14.2.2. Hierarchical Methods 14.2.3. Iterative Methods 14.2.4. Other Methods 14.3. Image Synthesis 14.3.1. Text to Image 14.3.2. Image to Image 14.3.3. MNIST Dataset 14.3.4. CIFAR-10 Dataset 14.3.5. Generating Faces with DCGANs 14.4. Image Restoration Using SRGAN 14.4.1. Import Libraries and Install Prerequisites 14.4.2. Data Preprocessing 14.4.3. Generator and Discriminator 14.4.4. Training 14.4.5. Load and Display 14.5. Image Synthesis Using GAN Issues 14.5.1. Mode Collapse 14.5.2. Lack of Diversity 14.5.3. Training Instability 14.5.4. Limited Applicability to Specific Domains 14.5.5. Lack of Interpretability 14.5.6. Dataset Bias 14.5.7. Computational Complexity 14.5.8. Ethical Concerns 14.6. Implementation Tips for Image Synthesis Using GANs 14.6.1. Choose an Appropriate GAN Architecture for Your Task 14.6.2. Preprocess and Normalize Your Data 14.6.3. Use Data Augmentation Techniques 14.6.4. Regularize Your GAN to Prevent Mode Collapse 14.6.5. Monitor Your GAN Training 14.6.6. Use Transfer Learning to Improve Your GAN 14.6.7. Experiment with Hyperparameters 14.6.8. Consider Using a Pre-trained GAN Model 14.6.9. Evaluate the Quality of Your Generated Images 14.6.10. Use GANs Responsibly 14.7. Lessons Learned 14.8. Problems 14.9. Programming Questions 15. Generative Adversarial Networks (GANs) for Voice, Music, and Song 15.1. Preface 15.2. What Is Sound? 15.2.1. Pitch 15.2.2. Sound Duration 15.2.3. Sound Intensity 15.2.4. Timbre 15.2.5. Preparing audio Data and Feature Extraction 15.3. Audio Synthesis 15.3.1. Music Synthesis 15.3.2. MuseGAN Implementation 15.4. Human Voice Conversion 15.4.1. What Is the Human Voice? 15.4.2. Voice Conversion Approaches 15.4.3. YourTTS Approach 15.4.4. Voice Conversion Using TensorFlow 15.5. Song Conversion 15.5.1. What Is a Song? 15.5.2. Song Generation Using TensorFlow 15.6. Song Conversion Using TensorFlow 15.6.1. Data Collection 15.6.2. Data Preprocessing 15.6.3. Neural Network Architecture 15.6.4. Training the Model 15.6.5. Testing and Evaluation 15.6.6. Code Example 15.7. Issues in GANs for Voice, Music, and Song 15.7.1. Mode Collapse 15.7.2. Training Instability 15.7.3. High-quality Audio Generation 15.7.4. Real-time Generation 15.7.5. Evaluation Metrics 15.7.6. Controllability 15.8. Implementation Tips in GANs for Voice, Music, and Song 15.8.1. Choose the Right Architecture 15.8.2. Use Appropriate Input Representations 15.8.3. Preprocess the Data 15.8.4. Handle Long-range Dependencies 15.8.5. Use Conditional GANs 15.8.6. Monitor Training Progress 15.8.7. Stabilize GAN Training 15.8.8. Experiment with Different Loss Functions 15.8.9. Gradually Increase Model Complexity 15.8.10. Use Domain-specific Knowledge 15.8.11. Evaluate the Results 15.9. Lessons Learned 15.10. Problems 15.11. Programming Questions Appendix References Bibliography Index