ai-cookbook / src /theory /architectures.qmd
Sébastien De Greef
chore: Update colorFrom in README.md and index.qmd
e3bf489
raw
history blame
5.49 kB
## **1. Feedforward Neural Networks (FNNs)**
* Usage: Image classification, regression, function approximation
* Description: A basic neural network architecture where data flows only in one direction, from input layer to output layer, without any feedback loops.
* Strengths: Simple to implement, computationally efficient
* Caveats: Limited capacity to model complex relationships, prone to overfitting
## **2. Convolutional Neural Networks (CNNs)**
* Usage: Image classification, object detection, image segmentation
* Description: A neural network architecture that uses convolutional and pooling layers to extract features from images.
* Strengths: Excellent performance on image-related tasks, robust to image transformations
* Caveats: Computationally expensive, require large datasets
## **3. Recurrent Neural Networks (RNNs)**
* Usage: Natural Language Processing (NLP), sequence prediction, time series forecasting
* Description: A neural network architecture that uses feedback connections to model sequential data.
* Strengths: Excellent performance on sequential data, can model long-term dependencies
* Caveats: Suffer from vanishing gradients, difficult to train
## **4. Long Short-Term Memory (LSTM) Networks**
* Usage: NLP, sequence prediction, time series forecasting
* Description: A type of RNN that uses memory cells to learn long-term dependencies.
* Strengths: Excellent performance on sequential data, can model long-term dependencies
* Caveats: Computationally expensive, require large datasets
## **5. Transformers**
* Usage: NLP, machine translation, language modeling
* Description: A neural network architecture that uses self-attention mechanisms to model relationships between input sequences.
* Strengths: Excellent performance on sequential data, parallelizable, can handle long-range dependencies
* Caveats: Computationally expensive, require large datasets
## **6. Autoencoders**
* Usage: Dimensionality reduction, anomaly detection, generative modeling
* Description: A neural network architecture that learns to compress and reconstruct input data.
* Strengths: Excellent performance on dimensionality reduction, can learn robust representations
* Caveats: May not perform well on complex data distributions
## **7. Generative Adversarial Networks (GANs)**
* Usage: Generative modeling, data augmentation, style transfer
* Description: A neural network architecture that consists of a generator and discriminator, which compete to generate realistic data.
* Strengths: Excellent performance on generative tasks, can generate realistic data
* Caveats: Training can be unstable, require careful tuning of hyperparameters
## **8. Residual Networks (ResNets)**
* Usage: Image classification, object detection
* Description: A neural network architecture that uses residual connections to ease training.
* Strengths: Excellent performance on image-related tasks, ease of training
* Caveats: May not perform well on sequential data
## **9. U-Net**
* Usage: Image segmentation, object detection
* Description: A neural network architecture that uses a encoder-decoder structure with skip connections.
* Strengths: Excellent performance on image segmentation tasks, fast training
* Caveats: May not perform well on sequential data
## **10. Attention-based Models**
* Usage: NLP, machine translation, question answering
* Description: A neural network architecture that uses attention mechanisms to focus on relevant input regions.
* Strengths: Excellent performance on sequential data, can model long-range dependencies
* Caveats: Require careful tuning of hyperparameters
## **11. Graph Neural Networks (GNNs)**
* Usage: Graph-based data, social network analysis, recommendation systems
* Description: A neural network architecture that uses graph structures to model relationships between nodes.
* Strengths: Excellent performance on graph-based data, can model complex relationships
* Caveats: Computationally expensive, require large datasets
## **12. Reinforcement Learning (RL) Architectures**
* Usage: Game playing, robotics, autonomous systems
* Description: A neural network architecture that uses reinforcement learning to learn from interactions with an environment.
* Strengths: Excellent performance on sequential decision-making tasks, can learn complex policies
* Caveats: Require large datasets, can be slow to train
## **13. Evolutionary Neural Networks**
* Usage: Neuroevolution, optimization problems
* Description: A neural network architecture that uses evolutionary principles to evolve neural networks.
* Strengths: Excellent performance on optimization problems, can learn complex policies
* Caveats: Computationally expensive, require large datasets
## **14. Spiking Neural Networks (SNNs)**
* Usage: Neuromorphic computing, edge AI
* Description: A neural network architecture that uses spiking neurons to process data.
* Strengths: Excellent performance on edge AI applications, energy-efficient
* Caveats: Limited software support, require specialized hardware
## **15. Conditional Random Fields (CRFs)**
* Usage: NLP, sequence labeling, information extraction
* Description: A probabilistic model that uses graphical models to model sequential data.
* Strengths: Excellent performance on sequential data, can model complex relationships
* Caveats: Computationally expensive, require large datasets