{
  "source_file": "0930",
  "source_platform": "Dev.to",
  "author": "Javier Aguirre",
  "title_listed": "Deep Learning for Beginners: A Complete Guide",
  "keywords": "",
  "domain": "文本处理",
  "content_type": "技术教程",
  "is_paid_flag": "否",
  "url": "https://dev.to/javiagu13/deep-learning-for-beginners-a-complete-guide-2h54",
  "publish_date": "2026-05-29",
  "corpus_stage": "",
  "notes": "",
  "id": "01f816d9151f",
  "collected_at": "2026-10-02T13:54:19",
  "title": "Deep Learning for Beginners: A Complete Guide - DEV Community",
  "body_markdown": "You've heard the words. Neural networks. Deep learning AI. Transformers. Maybe you've even heard that deep learning is what powers ChatGPT, image generators, voice assistants, and self-driving cars. And now you're wondering: what actually\nis\nit?\nThis guide is the honest, comprehensive answer. Not watered down. Not padded with fluff. Just the core ideas, the key architectures, and the intuition you need to actually understand what's going on under the hood, explained clearly enough that a beginner can follow it, and thoroughly enough that it stays useful as you go deeper.\nIf you haven't read our post on\nmachine learning basics\nyet, I'd recommend starting there. Deep learning builds directly on top of machine learning, and a few concepts from that post will make this one click much faster. That said, let's get into it.\nWhat Is Deep Learning?\nDeep learning is a branch of machine learning that uses\nartificial neural networks\n(systems loosely inspired by the structure of the human brain) to learn patterns from data.\nThe word \"deep\" refers to\ndepth\n: the number of layers stacked inside the network. A shallow network might have one or two layers. A deep network might have dozens, hundreds, or in the case of modern large language models, thousands. Each layer transforms the data slightly, learning increasingly abstract representations as you move through the stack.\nHere's the key insight that separates deep learning from classical machine learning: traditional ML algorithms need humans to engineer features manually. You decide what inputs matter. In deep learning, the network learns its own features directly from raw data, pixels, waveforms, text characters, without being told what to look for.\nThat's what makes it so powerful. And that's what makes it so data-hungry.\n\"Deep learning is not magic. It's a very large function with millions of parameters, trained on enormous amounts of data, that has learned to approximate patterns no human could write by hand.\"\nWhat Is Deep Learning vs Machine Learning?\nIt's a nested relationship, not a competition. All deep learning is machine learning, but not all machine learning is deep learning.\nClassical machine learning (decision trees, random forests, gradient boosting) works well on structured, tabular data. It's interpretable, efficient, and still dominant across most real-world business applications.\nDeep learning takes over when the data is\nunstructured\n: images, audio, video, raw text. These formats have too many dimensions and too much complexity for traditional algorithms to handle well. Neural networks, with their layered feature learning, are built exactly for this.\nUse classical ML\nfor credit scoring, demand forecasting, fraud detection, churn prediction: structured tables, interpretability required\nUse deep learning\nfor image recognition, speech, language understanding, video: unstructured data, pattern complexity at scale\nThe honest take: deep learning is not always better. It requires significantly more data and compute. When you have a clean tabular dataset and a clear prediction task, XGBoost will often beat a neural network and train in seconds rather than hours.\nNeural Network Basics\nBefore we get into specific architectures, you need to understand the building blocks. Every deep learning model, regardless of how complex, is built from the same core components.\nNeurons, Layers, and Activation Functions\nA\nneuron\nis the basic unit. It takes a set of inputs, multiplies each by a learned weight, sums everything up, and passes the result through an\nactivation function\n. That output feeds into the next layer.\nHere I attach an image of the comparison of a real neural network and an artificial one (on the right). You do not need to understand the formula, but just understand the following: 3 weights are coming to the neuron (these are the values of the previous neurons of a neural network). Inside there is a scary formula. However, trust me, is not that scary, it is basically is a fancy way of saying... Let's sum them all up! and just a little thing more I will describe soon, which is, we add an activation function to it.\nThat's all!\nSo... what is an activation function? the activation function is what gives neural networks their power. Without it, stacking layers would be mathematically equivalent to having just one layer: you'd just be doing linear transformations. Activation functions introduce\nnon-linearity\n, which is what allows the network to learn complex patterns. If you did not completely get it, it is okay, this is the biggest mathematical part of the explanation!\nThe three you'll see everywhere:\nReLU (Rectified Linear Unit):\noutputs zero for negative inputs, passes positive inputs through unchanged. Simple, fast, and the default choice for hidden layers in most networks. The fact that something this simple works so well is one of the quiet surprises of deep learning.\nSigmoid:\nsquashes output to a value between 0 and 1. Used in binary classification output layers where you want a probability.\nSoftmax:\nextends sigmoid to multiple classes. Takes a vector of raw scores and converts them into probabilities that sum to 1. Used in the final layer of any multi-class classifier.\nSo basically, you can see the activation functions as a filter to decide what value will the neuron have after we summed up previous neurons values. And we can do it in different ways. If you want to understand it a bit deeper here is a deconstruction on how it exactly works:\nFeedforward Networks: How Information Flows\nNow you know how an artificial neural netwok works, great! The next step is stacking them up and we would get a neural network. Feedforward neural networks are the simplest neural network, information travels in one direction only: input → hidden layers → output. No loops, no memory, no feedback. Each layer is\nfully connected\nto the next, every neuron in layer N connects to every neuron in layer N+1.\nThis is called a\nfeedforward network\n, and it's the foundation that every other architecture builds on top of or departs from. (yes, including chatGPT, Claude and other transformer based models, here is where it all starts.)\nBackpropagation: How the Network Actually Learns\nTraining a neural network means finding the right weights. You do this by:\nMaking a prediction with the current weights\nMeasuring how wrong it was (the\nloss\n,\nremember this term\n)\nComputing how much each weight contributed to that error\nNudging every weight slightly in the direction that reduces the loss\nStep 3 is backpropagation, the algorithm that efficiently computes the gradient of the loss with respect to every weight in the network, propagating the error signal backward from the output layer to the input. Step 4 is\ngradient descent\n, the optimiser that uses those gradients to update the weights.\nThis loop (forward pass, compute loss, backward pass, update weights) repeats for millions or billions of iterations during training. That's how a network goes from random noise to something that can recognise faces, translate languages, or generate code.\nImportant note:\nHow the neuron, backpropagation, gradient descent, losses work is important to understand. You will not need to perform any math in practice but this theory can help you grasp what you are doing better. Do not get stuck on it, but if you can learn it, I highly recommend it.\nI decided to write it in this blog so you know it exists but this part and the next two (weight initialisation and batch normalization) could be skipped since they are not that much oriented towards the practice but more towards foundational knowledge.\nGive it a quick read, if you do not fully get it, keep on going and dont worry!\nWeight Initialisation\nHow you set the initial weights before training matters more than most tutorials admit. Start them all at zero and the network won't learn: every neuron computes the same thing and the gradients are identical. Start them too large and training becomes unstable. Smart initialisation schemes (Xavier, He initialisation) are designed to keep signal flowing cleanly through the network from the start.\nBatch Normalisation\nAs networks get deeper, a problem emerges: the distribution of activations shifts during training, making learning unstable and slow. Batch normalisation addresses this by normalising the inputs to each layer across a mini-batch, keeping activations in a stable range. It's one of those techniques that felt like a trick when it was introduced and turned out to be foundational, it's now standard in almost every deep architecture.\nKey Architectures\nNow for the interesting part. If you made it till here, congratulations! now its the fun part, so, keep on reading!\nDeep learning is not one thing, it's a family of architectures, each designed for a different kind of data and a different kind of problem. Here are the ones worth knowing.\nFeedforward Neural Networks (FFNN)\nThe simplest deep network. Fully connected layers, information flows in one direction, no special structure. This is the architecture that introduces every concept (neurons, activations, backpropagation) in its clearest form.\nIn practice, pure FFNNs are rarely used for complex tasks. Images have spatial structure that FFNNs ignore. Sequences have temporal dependencies that FFNNs can't capture. But understanding the FFNN deeply is non-negotiable before moving to anything else.\nWhen you'd use it:\ntabular data, simple classification and regression tasks, as a component inside larger architectures.\nConvolutional Neural Networks (CNNs)\nCNNs are the architecture that put deep learning on the map. In 2012, a CNN called AlexNet won the ImageNet competition by a margin so large it ended the debate about whether deep learning worked. It did.\nThe key idea: instead of connecting every neuron to every pixel (computationally insane for large images), CNNs apply small\nfilters\nthat slide across the input, detecting local patterns. Early layers learn to detect edges and textures. Later layers combine those into shapes, objects, faces.\nThis design is efficient, spatially aware, and extraordinarily effective on anything that has grid-like structure: images, video frames, certain kinds of audio.\nWhen you'd use it:\nimage classification, object detection, medical imaging, video analysis, any problem where spatial patterns matter.\nRecurrent Neural Networks (RNNs) and LSTMs\nWhat if your data is a\nsequence\n(a sentence, a time series, an audio clip) where the order of elements matters?\nFFNNs and CNNs don't have memory. They process each input independently. RNNs fix this by feeding the hidden state from the previous step into the current step, giving the network a form of short-term memory.\nIn theory, this lets RNNs capture long-range dependencies. In practice, they struggle: gradients either explode or vanish as they travel through many time steps, making it hard to learn patterns that span long sequences.\nLSTMs (Long Short-Term Memory networks)\nsolve this with a more sophisticated memory mechanism, gates that control what information to keep, what to forget, and what to output. LSTMs were the state of the art for language and sequence tasks for years before Transformers arrived.\nThe following is a illustration of its internal construction, this is how one LSTM cell looks like:\nDo not worry as you will never have implement this from scratch :)\nAgain, is just good to know this exists for the future usage.\nThey're not obsolete, they're still used in production systems where efficiency matters and sequences are modest in length. But for most language tasks, Transformers have superseded them.\nThe following is an illustration of how an entire LSTM looks like:\nWhen you'd use them:\ntime series forecasting, speech recognition (in resource-constrained settings), sensor data, any ordered sequence where Transformers would be overkill.\nAutoencoders and VAEs\nAn\nautoencoder\nis trained to compress an input into a smaller representation (the\nlatent space\n) and then reconstruct it back to the original. The bottleneck forces the network to learn the most essential features of the data.\nVariational Autoencoders (VAEs)\nextend this by learning a\nprobability distribution\nover the latent space rather than a fixed point. This makes the latent space continuous and structured, which means you can sample from it to generate new data, not just reconstruct existing inputs.\nVAEs were an early serious approach to generative modelling and introduced ideas (latent space, encoder-decoder structure) that appear throughout modern AI.\nWhen you'd use them:\nanomaly detection, data compression, generative modelling, representation learning, synthetic data generation.\nGANs (Generative Adversarial Networks)\nGANs are one of the most creative ideas in all of deep learning. The setup: two networks trained in opposition.\nThe\ngenerator\nproduces fake data (images, audio, whatever the domain). The\ndiscriminator\ntries to tell real from fake. As training progresses, the generator gets better at fooling the discriminator, and the discriminator gets better at detecting fakes. Each improves in response to the other.\nWhen it works, GANs produce extraordinarily realistic outputs. They dominated image synthesis for years and the photorealistic faces you may have seen on sites like \"This Person Does Not Exist\" are GAN-generated.\nThey're notoriously difficult to train, mode collapse, training instability, and sensitivity to hyperparameters make them frustrating in practice. Diffusion models have largely superseded them for image generation, but the adversarial training concept remains influential.\nWhen you'd use them:\nimage synthesis, data augmentation, style transfer, domain adaptation.\nDiffusion Models\nDiffusion models are the architecture behind Stable Diffusion, DALL-E, and most of the state-of-the-art image generators you've seen. The idea is elegant and counterintuitive.\nTraining: take real images and gradually add Gaussian noise until they're pure static. Teach the network to\nreverse\nthis process, to predict and remove the noise at each step.\nGeneration: start with pure random noise and run the learned denoising process repeatedly until a coherent image emerges.\nDiffusion models produce higher quality, more diverse outputs than GANs and train more stably. They're computationally heavier at inference time (many denoising steps required), but the quality improvement has made the trade-off worth it for most applications.\nWhen you'd use them:\nimage generation, video generation, audio synthesis, any high-quality generative task.\nPersonal Note\nThe latest three (VAEs, GANs and Difussion Models) are great for generative related tasks including synthetic data generation. Currently diffusion models have taken the space due to their high accuracy, efficiency and deployability.\nWe published in 2023 a research between Samsung Advanced Institute of Health Science and Technology (SAIHST), Samsung Medical Center (SMC), Yonsei Severance Hospital and Google Cloud (USA) comparing the use of the three of them for synthetic data generation on healthcare settings. If you are interested in the topic\nclick here\n.\nThe Transformer\nEverything changed in 2017 when a Google paper titled\n\"Attention Is All You Need\"\nintroduced the Transformer architecture. GPT, BERT, DALL-E, Whisper, Stable Diffusion, every major model of the last several years is built on top of it or derives from it directly.\nThe core innovation:\nself-attention\n. Instead of processing a sequence step by step (like an RNN), the Transformer processes all positions simultaneously and lets each position directly attend to every other position. This solves the long-range dependency problem completely, and critically, allows full parallelisation during training.\nSelf-Attention and Multi-Head Attention\nSelf-attention allows the model to weigh how relevant each word (or token) is to every other word when building a representation. In the sentence \"The bank by the river was steep,\" the word \"bank\" needs to attend strongly to \"river\" to resolve its meaning correctly. Self-attention learns to do this.\nMulti-head attention\nruns several self-attention operations in parallel, each learning to attend to different kinds of relationships simultaneously. One head might track syntactic structure; another might track semantic similarity. The outputs are combined and projected forward.\nPositional Encoding\nTransformers have no built-in sense of order, self-attention is permutation-invariant. Positional encoding fixes this by adding information about each token's position in the sequence before it enters the network. The model learns to use this position signal to understand order, proximity, and structure.\nEncoder vs. Decoder vs. Encoder-Decoder\nNot all Transformers are the same. There are three architectural variants:\nEncoder-only (e.g. BERT):\nreads the full sequence bidirectionally, building rich contextual representations. Best for tasks that require understanding: classification, named entity recognition, semantic search.\nDecoder-only (e.g. GPT):\ngenerates tokens one at a time, each attending only to previous tokens. Best for generation: writing, code, conversation.\nEncoder-decoder (e.g. T5, original Transformer):\nencodes an input sequence, then decodes an output sequence. Best for transformation tasks: translation, summarisation, question answering.\nUnderstanding which variant you're working with (and why it was chosen) is one of the most practically useful things you can know when working with modern AI.\nWhat Comes Next\nYou now have a map of the deep learning landscape: the building blocks, the key architectures, when to use each, and why they exist. That's the conceptual foundation.\nThe practical path from here:\nGet hands-on with PyTorch or TensorFlow:\nimplement a simple FFNN, then a CNN on image data. Seeing the training loop in code cements everything.\nWork through a sequence task:\nbuild or use an LSTM on a real time series dataset.\nStudy the Transformer in depth:\nread\n\"Attention Is All You Need\"\nafter you've built intuition. It will make sense now in a way it wouldn't have before.\nExplore modern applications:\nfine-tune a pretrained model, experiment with diffusion pipelines, build something that uses what you've learned.\nIf you're wondering where deep learning fits in the bigger picture (how it relates to machine learning and where Generative AI comes in) check out our\nAI learning roadmap\nfor the full view.\nThe architecture names will start feeling familiar quickly. Build things. Break them. Figure out why. That's the actual learning.\nIf you want to learn more, we have more content in our\nblog here\n!",
  "metadata": {
    "title": "Deep Learning for Beginners: A Complete Guide - DEV Community",
    "description": "You've heard the words. Neural networks. Deep learning AI. Transformers. Maybe you've even heard... Tagged with ai, beginners, deeplearning, machinelearning.",
    "keywords": "ai, beginners, deeplearning, machinelearning, software, coding, development, engineering, inclusive, community",
    "author": null,
    "og:type": "article",
    "og:url": "https://dev.to/javiagu13/deep-learning-for-beginners-a-complete-guide-2h54",
    "og:title": "Deep Learning for Beginners: A Complete Guide",
    "og:description": "You've heard the words. Neural networks. Deep learning AI. Transformers. Maybe you've even heard...",
    "og:site_name": "DEV Community",
    "og:image": "https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2t1ltxcde04acgdw3jl.png",
    "twitter:site": "@thepracticaldev",
    "twitter:creator": "@",
    "twitter:title": "Deep Learning for Beginners: A Complete Guide",
    "twitter:description": "You've heard the words. Neural networks. Deep learning AI. Transformers. Maybe you've even heard...",
    "twitter:card": "summary_large_image",
    "twitter:widgets:new-embed-design": "on",
    "twitter:image:src": "https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2t1ltxcde04acgdw3jl.png"
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 200,
    "error": ""
  },
  "code_blocks": [],
  "images": [
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4ueowvyl0c7ld9hghfw.jpg",
      "bytes": 144268,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/001.jpg",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4ueowvyl0c7ld9hghfw.jpg",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh62io11386ze8z3259ty.png",
      "bytes": 85010,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/002.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh62io11386ze8z3259ty.png",
      "alt": "real neural network vs artificial neural network",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftth9i4w8o7uu0zh4om5h.png",
      "bytes": 129346,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/003.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftth9i4w8o7uu0zh4om5h.png",
      "alt": "artificial neuron - deconstructed",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwic3xwcta571u1eh9nm.png",
      "bytes": 169994,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/004.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwic3xwcta571u1eh9nm.png",
      "alt": "feed forward neural network ffnn",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpnp253lb0w54dz6awsea.png",
      "bytes": 112560,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/005.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpnp253lb0w54dz6awsea.png",
      "alt": "convolutional neural network - CNN",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fttk4w8n35tv5cv0so8f5.png",
      "bytes": 88744,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/006.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fttk4w8n35tv5cv0so8f5.png",
      "alt": "LSTM cell",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgb2ksqfagvypp5xpyt7g.png",
      "bytes": 149628,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/007.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgb2ksqfagvypp5xpyt7g.png",
      "alt": "long short term memory neural network lstm nn",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4mmumrxsstjn2m1t9bkp.png",
      "bytes": 120760,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/008.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4mmumrxsstjn2m1t9bkp.png",
      "alt": "variational autoencoder diagram - VAE diagram",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiv0xrxghwv4sh1dnn2sh.png",
      "bytes": 156992,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/009.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiv0xrxghwv4sh1dnn2sh.png",
      "alt": "generative adversarial networks - GANs",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0r6xpggi3ff5y7fr06q.png",
      "bytes": 197224,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/010.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0r6xpggi3ff5y7fr06q.png",
      "alt": "Diffusion Model",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fytp521iq0feknpc3o2kd.png",
      "bytes": 97062,
      "reused": true,
      "local_path": "attachments/01f816d9151f/images/011.png",
      "src": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fytp521iq0feknpc3o2kd.png",
      "alt": "transformer model",
      "downloaded": true
    }
  ],
  "audio": [],
  "videos": [],
  "links": [
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4ueowvyl0c7ld9hghfw.jpg",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh62io11386ze8z3259ty.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftth9i4w8o7uu0zh4om5h.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwic3xwcta571u1eh9nm.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpnp253lb0w54dz6awsea.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fttk4w8n35tv5cv0so8f5.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgb2ksqfagvypp5xpyt7g.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4mmumrxsstjn2m1t9bkp.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiv0xrxghwv4sh1dnn2sh.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0r6xpggi3ff5y7fr06q.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://pfmjournal.org/journal/view.php?number=171",
      "label": "click here",
      "type": "a"
    },
    {
      "href": "https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fytp521iq0feknpc3o2kd.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://fondralabs.com/blog/ai-foundation-roadmaps/ai-learning-roadmap-where-to-start-if-you-re-a-complete-beginner.html",
      "label": "AI learning roadmap",
      "type": "a"
    },
    {
      "href": "https://fondralabs.com/",
      "label": "blog here",
      "type": "a"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-14T10:48:56Z",
  "source_url": "https://dev.to/javiagu13/deep-learning-for-beginners-a-complete-guide-2h54",
  "papers": [],
  "actual_video_files": [],
  "body_chars": 18658,
  "expected_body_images": 11,
  "discovery_status": "ok",
  "delivery_status": "ok",
  "missing_reason": "",
  "raw_html": "attachments/01f816d9151f/pages/source.html",
  "local_html": "attachments/01f816d9151f/pages/article.html",
  "body_base_path": "attachments/01f816d9151f/pages/",
  "body_markdown_path": "attachments/01f816d9151f/pages/article.md"
}