Jesse A. Green / notebook

Live demo: the DocCompiler guide library as a static, read-only snapshot (October 2026). No backend, no accounts, nothing to submit.

DeepLearning-500-questions User Guide

Generated May 2026 from scutan90/DeepLearning-500-questions at 6087a06

AI-generated documentation. The library is checked by sampling (three repositories so far); this guide was not individually reviewed. Verify against the project before relying on it.

DeepLearning-500-questions (深度学习500问) is an open, community-curated study book that frames deep learning as a long sequence of short questions and short answers. Nineteen chapters walk you from linear-algebra refreshers through CNNs, RNNs, GANs, detection, segmentation, reinforcement learning, transfer learning, training tactics, optimization, hyper-parameter tuning, GPU/framework choice, NLP, model compression, backend deployment, and even Chinese software-patent procedure. The repository is a published book companion: a print edition titled 深度学习500问——AI工程师面试宝典 is available from the Chinese publisher 博文视点 (JD listing in §FAQ).

This guide tells you how to read the book, how to navigate its 500+ questions, how to render the math, how to use the partial English translation, and how to submit corrections. It does not teach deep learning — that is the book's job.

Note

The original content is written in Simplified Chinese. An English translation covers chapters 1–4 only and was produced via Google Translate plus partial human editing. If you read English exclusively, see Reading the English Version before going further.

The repository and its companion print edition serve complementary roles.

Important

The repository is the freely shared text of the project. The print book has additional editorial content. The two are not identical, and the print book carries copyright restrictions even though this repository is GPL-3.0.


1. Quick Start

You can read the book in three ways. All three work today, no installation required.

Read on GitHub

The simplest path. Every chapter is a Markdown file that GitHub renders directly.

  1. Open https://github.com/scutan90/DeepLearning-500-questions
  2. Click any folder named chXX_...
  3. Open the .md file inside that starts with 第N章_ (or ch7.md for chapter 7)

GitHub renders headings, lists, tables, and most images. It does not render LaTeX math — formulas like $\Vert{A}\Vert_2$ will appear as raw source. For math, use one of the next two paths.

Read with the docsify site

The repository ships a docsify configuration (index.html + docsify.js + _sidebar.md). Docsify is a thin client-side renderer that turns the Markdown files into a single-page site with sidebar, search, and KaTeX/MathJax math.

git clone https://github.com/scutan90/DeepLearning-500-questions.git
cd DeepLearning-500-questions
python -m http.server 3000
Serving HTTP on :: port 3000 (http://[::]:3000/) ...

Open http://localhost:3000 in a browser. The sidebar lists all 20 entries from _sidebar.md; click any chapter to render it.

Tip

Any static file server works — python -m http.server, npx serve, caddy file-server, or hosting the repo as GitHub Pages. Docsify needs no build step.

Read locally with Typora

The original authors use Typora for editing and reading. Typora renders both KaTeX-style math ($x$, $$y$$) and the inline [TOC] directive at the top of each chapter.

  1. Install Typora (free during beta; paid afterwards)
  2. File → Open any chXX_*/第N章_*.md
  3. The [TOC] directive at the top expands into a clickable table of contents

Note

Typora is the recommended editor in English version/README.md for previewing pull requests.


2. What You Get

A study companion organized as 500+ short Q&A entries grouped into chapters. The repository contents:

Item What it is
chXX_<topic>/ (× 20) 19 chapters — one folder per chapter, Chinese title in folder name
chXX_<topic>/第N章_*.md The chapter text. Headings are numbered N.x.y, content is mostly Q&A
chXX_<topic>/img/ Figures and diagrams referenced by the chapter
chXX_<topic>/readme.md Short note about chapter status (often "writing in progress")
chXX_<topic>/modify_log.txt Edit log, contributor names, dates
English version/ Partial English port of chapters 1–4
index.html + docsify.js + _sidebar.md Docsify static-site configuration
_sidebar.md Master navigation list — chapter order and titles
目录预览.md Original Chinese table of contents (preview-only)
深度学习500问-Tan-00目录.docx Print-edition table of contents (Word)
LICENSE GNU GPL-3.0

You do not get: source code to run, a Jupyter notebook, a CLI, an exam grader, or a backend API. The product is the text.

2.1 The 19 Chapters at a Glance

# Chinese English equivalent Folder Pages (approx.)
1 数学基础 Mathematical Foundations ch01_数学基础/ Linear algebra, derivatives, eigenvalues, probability distributions
2 机器学习基础 Machine Learning Foundations ch02_机器学习基础/ Supervised vs unsupervised, common algorithms, LDA/PCA, evaluation, decision trees, SVM, Bayesian, EM, clustering
3 深度学习基础 Deep Learning Foundations ch03_深度学习基础/ Forward/back propagation, hyperparameters, activations, batch size, normalization, initialization, softmax, dropout
4 经典网络 Classic Networks ch04_经典网络/ LeNet5, AlexNet, ZFNet, VGG, NIN, GoogLeNet, Inception v1–v4, ResNet variants
5 卷积神经网络 (CNN) Convolutional Neural Networks ch05_卷积神经网络(CNN)/ Convolution layers, kernel sizes, dilations, pooling, deconvolution, parameter counting
6 循环神经网络 (RNN) Recurrent Neural Networks ch06_循环神经网络(RNN)/ RNN basics, BPTT, LSTM, GRU, bidirectional/deep RNNs, ESN, CW-RNN
7 生成对抗网络 (GAN) Generative Adversarial Networks ch07_生成对抗网络(GAN)/ GAN principle, training stability, common variants
8 目标检测 Object Detection ch08_目标检测/ Sliding window, R-CNN family, R-FCN, SSD, YOLO v1–v3
9 图像分割 Image Segmentation ch09_图像分割/ FCN, U-Net, SegNet, DeepLab v1–v3+, Mask R-CNN, weakly-supervised segmentation
10 强化学习 Reinforcement Learning ch10_强化学习/ Application examples, transfer/hierarchical/memory/multi-agent deep RL
11 迁移学习 Transfer Learning ch11_迁移学习/ What is multitask learning, end-to-end DL examples
12 网络搭建及训练 Network Construction & Training ch12_网络搭建及训练/ Practical framework choice, training loop tactics
13 优化算法 Optimization Algorithms ch13_优化算法/ CPU vs GPU, gradient vanishing/explosion, weight init, loss functions, mini-batch tuning, error analysis
14 超参数调整 Hyperparameter Tuning ch14_超参数调整/ Debug processing, search ranges and strategies
15 GPU 和框架选型 Heterogeneous Computing, GPU & Framework Selection ch15_GPU和框架选型/ CUDA, cuDNN, GPU buying guide, framework comparison, multi-GPU, distributed, TPU
16 自然语言处理 (NLP) Natural Language Processing ch16_自然语言处理(NLP)/ NLP foundations and tasks
17 模型压缩、加速及移动端部署 Model Compression, Acceleration & Mobile Deployment ch17_模型压缩、加速及移动端部署/ Pruning, quantization, distillation; supplementary 17.8.1 NCNN部署.md covers Tencent NCNN
18a 后端架构选型、离线及实时计算 Backend Architecture: Offline & Real-Time Compute ch18_后端架构选型、离线及实时计算/ Offline vs real-time backends
18b 后端架构选型及应用场景 Backend Architecture: Selection & Use Cases ch18_后端架构选型及应用场景/ Different focus from 18a — read both
19 软件专利申请及权利保护 Software Patent Application & Rights Protection (China) ch19_软件专利申请及权利保护/ Chinese software-patent procedure

Note

Two folders are labeled "Chapter 18" because the project split that material into two distinct chapters during editing. Read both.

Chapter depth varies widely across the collection — some chapters have thousands of lines of detailed Q&A while others are stubs.

Warning

Chapter 16 (NLP) is the shortest chapter (~100 lines) and the least complete. Treat it as a stub. Chapters 10, 11, 14, and 19 are also lighter than the median.


3. How to Use This Book

The book is not a linear textbook. It is a Q&A reference designed for two main audiences: interview candidates preparing for AI/ML/DL job interviews in China, and self-learners filling specific gaps. Pick a path that matches your goal.

3.1 Reading Path: AI/ML Interview Preparation

The print edition's subtitle is AI工程师面试宝典 — "AI Engineer Interview Treasure Book". The book is built from interview questions the editors collected at major Chinese tech companies. Recommended order:

  1. Skim chapters 1–3 — verify you can answer every section header without reading the answer.
  2. Mark gaps — for any header where you cannot answer, read the section. Move on.
  3. Then chapters 4 (classic networks), 5 (CNN), 6 (RNN) — the network-architecture core.
  4. Pick task-specific chapters based on the role: vision (8, 9), generative (7), NLP (16), production (17, 18a, 18b), GPU/infra (15).
  5. Skim chapter 13 (optimization) the day before the interview — it is dense but high-yield for trick questions.

Tip

Each section header is itself a likely interview question. Use Ctrl+F on the _sidebar.md for fast question lookup.

3.2 Reading Path: Self-Study from Scratch

If you are learning deep learning for the first time, this book is not your textbook — it is a companion. Use it alongside a course or a textbook:

  1. Read your textbook chapter on a topic.
  2. Open the matching chapter here and answer every section header before reading the answer.
  3. Compare your answer to the book's. Note the discrepancies.
  4. Move to the next textbook chapter.

Important

The book assumes you already know undergraduate calculus and basic probability. Chapter 1 is a refresher, not a tutorial.

3.3 Reading Path: Topic Drill-Down

If you have a specific topic to learn (e.g. "I need to understand Inception v1"):

  1. Open _sidebar.md to confirm which chapter covers it.
  2. Use Ctrl+F to find the topic in the chapter file.
  3. Read the surrounding 2–3 sections — answers often build on each other within a section.

3.4 Reading Path: Translator or Editor

If you came here to improve the book:

  1. Read Section 9 (Contributing).
  2. Read Section 6 (Local rendering & math) so your previews match the published format.
  3. Open English version/README.md for the contributor agreement and the recommended Typora workflow.

4. Reading on GitHub

4.1 What works on GitHub

Element GitHub render
Headings, paragraphs, lists Yes
Tables Yes
Inline images (PNG/JPG/GIF) Yes
Code blocks Yes
[TOC] directive at top of file No — appears as literal text
LaTeX math $x^2$ / $$\sum$$ No — appears as raw source
<font>, <center> HTML Partial

Math is the big one. GitHub's Markdown renderer does not run KaTeX or MathJax on .md files in this repository's layout. Formulas show up as escaped LaTeX, e.g.

$\Vert\vec{x}\Vert_2=\sqrt{\sum_{i=1}^N{\vert{x_i}\vert}^2}$

instead of the rendered formula. If you only need an outline of a topic, GitHub is fine. If you need to read math, use docsify or Typora.

4.2 The chapter file naming convention

Most chapters use 第N章_<topic>.md (Chinese: "Chapter N"). Two exceptions:

  • Chapter 7 uses ch7.md — same content, different filename.
  • Chapter 17 has both the main 第十七章_*.md file and a supplementary 17.8.1 NCNN部署.md covering Tencent's NCNN inference framework.

The _sidebar.md already points at the correct file for each chapter.

4.3 Image paths

All chapter images live under chXX_<topic>/img/. Each chapter file uses paths like:

![Figure 2-1](./img/ch2/2-1.png)

When viewing on GitHub, paths render correctly. When viewing through docsify, the relative ../img references are rewritten to img by a hook in index.html (see §6.4).

Warning

A small number of images use non-ASCII filenames (Chinese characters in the filename) or live under img/ch2/2.40.10/1.png-style nested directories. Most renderers handle both, but some plain Markdown viewers (older Typora versions, basic IDE previews) silently drop these. If a figure is missing in your viewer, switch to GitHub or docsify and try again.


5. Reading with the Docsify Site

The repository ships a self-contained docsify configuration. Docsify renders Markdown in the browser at request time — no build, no server-side process beyond static file delivery.

5.1 Running the docsify site

git clone https://github.com/scutan90/DeepLearning-500-questions.git
cd DeepLearning-500-questions

Then start any static server. Examples:

# Python (built-in)
python -m http.server 3000
# Node.js
npx serve -p 3000 .
# Docsify CLI (optional)
npm install -g docsify-cli
docsify serve .
Listening on http://localhost:3000

Open http://localhost:3000 and the docsify-rendered site appears with sidebar, search, and math.

5.2 What docsify provides

The configuration in index.html enables:

Feature Source
Sidebar navigation loadSidebar: true reads _sidebar.md
Math rendering KaTeX 0.10.0-rc.1 + MathJax 2.7.5 fallback
Code copy button docsify-copy-code plugin
Bash + Python syntax highlighting prism-bash, prism-python
Image zoom on click zoom-image plugin
Sidebar search search plugin, depth 6
Theme color Orange (#fc7e09)

The configured site name is 深度学习500问 and the configured GitHub link points back at https://github.com/scutan90/DeepLearning-500-questions.

5.3 Hosting the site publicly

Any static host works. The simplest is GitHub Pages:

  1. Fork the repository to your GitHub account.
  2. Settings → Pages → Source: main branch, root.
  3. Wait for the build, then visit https://<your-username>.github.io/DeepLearning-500-questions/.

The repository ships .nojekyll already, so GitHub Pages serves files literally without Jekyll processing — required for docsify because Jekyll would hide _sidebar.md (any file starting with _).

Important

The .nojekyll file is required for GitHub Pages hosting. Do not delete it.

5.4 Reading offline

After cloning, you can also load index.html directly in a browser via file://. Some browsers block CORS-style fetches over file:// — if the sidebar is empty, switch to python -m http.server and open via http://localhost:.


6. Rendering Math

Most of the value of this book is in the formulas. Make sure they render before you start.

6.1 The math notation in use

Chapters use TeX/LaTeX math in three forms:

Syntax Use Example
$...$ Inline math $\vec{a}=[-5, 6, 8, -10]$
$$...$$ Display math `$$L_p=\Vert\vec{x}\Vert_p=\sqrt[p]{\sum_{i=1}^{N}
\[...\] / \(...\) Display/inline (Typora-only fallback) rare

The chapters mix Chinese-text-with-inline-math heavily. Do not be surprised by inline $x_1$ interspersed with Chinese characters — the math renderer ignores the surrounding text.

6.2 Math in docsify

Docsify is configured to use KaTeX with a MathJax fallback for symbols KaTeX does not support. From index.html:

markdown: { latexRender: katex.renderToString.bind(katex) },
plugins: [
  function(hook, vm) {
    hook.doneEach(function () {
      window.MathJax.Hub.Queue(["Typeset", MathJax.Hub, document.getElementById('app')]);
    })
  }
]

KaTeX handles most expressions (norms, sums, integrals, matrices). MathJax catches the few that KaTeX rejects.

Note

KaTeX 0.10.0-rc.1 is eight years old as of writing. It works for the formulas in this book, but if you fork and add modern macros, upgrade KaTeX in index.html first.

6.3 Math in Typora

Typora renders math natively if you enable inline math in preferences. From English version/README.md:

File → Preference
- Syntax Support
  - Inline Math
  - Subscript
  - Superscript
  - Highlight
  - Diagrams

Enable all of them. Typora is the editor recommended by the authors for contributors.

6.4 Image paths under docsify

Chapter source uses ../img/ch2/2-1.png because chapters live in subfolders. Docsify serves each Markdown file with a different base path, so a beforeEach hook in index.html rewrites those paths:

hook.beforeEach(function(content) {
  return content.replace(/..\/img/g, "img");
})

This is why images render under docsify but only because the rewriting hook is present. If you fork the repo and replace index.html, keep the hook or images will 404.

6.5 Math in plain Markdown viewers

VS Code with the "Markdown All in One" extension renders most formulas via KaTeX. Plain GitHub does not. Other Markdown viewers vary widely — test on Chapter 1 first, since it has the densest formula content.


7. Reading the English Version

A partial English translation lives under English version/. It is not complete:

Chapter English file Status
1 — Mathematical Basis ch01_MathematicalBasis/ Translated
2 — Machine Learning Foundation ch02_MachineLearningFoundation/ Translated
3 — Deep Learning Foundation ch03_DeepLearningFoundation/ Translated
4 — Classic Network ch04_ClassicNetwork/ Translated
5–19 — Not translated

From English version/README.md:

This was translated with Google Translate and partial human translation. Please help translate more of this resource to English as mentioned in the section on contributing

The implications:

  1. Mechanical-translation artifacts are present. Phrases like "twenty four" appear in the chapter 2 TOC (machine translation rendered "二十四" as English words) and "Reinforced Learning Application Examples" (literal calque from "强化学习应用举例"). Read with that in mind.
  2. Cross-references can break. A sentence in English chapter 3 might cite "see chapter 8" — but English chapter 8 does not exist. The Chinese chapter 8 does.
  3. Math notation is identical between editions. Even if you read English, the formulas are the same TeX source.

Tip

If you read English: read English chapters 1–4 here for context, then switch to the Chinese chapters 5+ with a translation tool (browser auto-translate, DeepL, the system clipboard pipeline) for the remaining material.

Be cautious with contact information found in older repository files — some dates back several years.

Warning

The English English version/README.md mentions "We Chat Client" group invitations with phone-number-style IDs. Treat any contact in those groups as unaffiliated with the project unless the response is on-repo. The repository's qun.png image and the README's WeChat references date to 2018–2020.


8. Common Tasks

8.1 Search across the entire book

The docsify search plugin handles queries across all chapters. It is enabled by default (paths: 'auto', depth 6).

If you are reading on disk, use ripgrep:

# Find every section that mentions ResNet
rg -n "ResNet" -g "ch*/*.md"
ch04_经典网络/第四章_经典网络.md:142:## 4.8 ResNet及其变体
ch04_经典网络/第四章_经典网络.md:155:### 4.8.5 ResNeXt
...

8.2 Build a single-file PDF for a chapter

The repository does not ship a PDF build pipeline (this is a long-standing user request, see §10 FAQ). The simplest workaround uses Pandoc:

# Install pandoc (https://pandoc.org/installing.html) then:
pandoc "ch01_数学基础/第一章_数学基础.md" \
  -o ch01.pdf \
  --pdf-engine=xelatex \
  --variable=mainfont:"Noto Sans CJK SC" \
  --variable=mathfont:"Latin Modern Math"

You need a CJK-aware font (Noto Sans CJK is free) for the Chinese characters and a TeX math font for the formulas. The output is reasonable for printing.

Caution

Most online "Markdown to PDF" tools strip math and break Chinese fonts. Use Pandoc with xelatex (or lualatex) and a CJK-aware font, or print from your browser after rendering with docsify.

8.3 Print from the browser

The most-reliable approach for math-heavy chapters:

  1. Run the docsify site (§5.1).
  2. Open the chapter you want.
  3. Ctrl+P → Save as PDF.

Browser print captures whatever the renderer drew, including KaTeX-rendered math. Page breaks are imperfect but readable.

8.4 Copy a single section into your notes

The chapter Markdown is plain text — copy directly out of the source file. KaTeX expressions paste cleanly into Obsidian, Typora, and Notion (Notion's $x$ rendering is similar to KaTeX). They paste as code into Discord/Slack — wrap them in fenced blocks before sharing.

8.5 Check what changed in a chapter

Each chapter folder ships a modify_log.txt recording manual edit history (contributor name, date, changes). Example excerpt format:

2018-09-15 contributor 修改 2.5 节的笔误
2019-03-22 contributor 增加 2.40.x 模型评估的新内容

For a more authoritative changelog, use git log:

git log --oneline --follow "ch02_机器学习基础/第二章_机器学习基础.md"

8.6 Cite a section in a paper or blog post

The repository has no DOI. Cite as a GitHub URL:

谈继勇 et al. (2018-2021). 深度学习500问 (DeepLearning-500-questions),
chapter <N>, section <N.x.y>. scutan90.
https://github.com/scutan90/DeepLearning-500-questions/blob/main/<file>

For the print edition, cite the JD listing publisher (博文视点) and ISBN — see §10 FAQ.


9. Contributing

The project is open and the maintainers welcome corrections, translations, and new content. From the English README's contributing section:

Contribution type How
Fix a typo Edit chXX_<topic>/第N章_<topic>.md, open a PR
Fix wrong math Same — but render the new formula in Typora before PR
Translate a section Add to English version/chXX_<topic>/, open a PR
Add a new section Discuss in an issue first; the editors prefer coordinated structure
Fix a broken image Replace under chXX_<topic>/img/, keep the same filename
Suggest reorganization Open an issue — do not refactor in a single large PR

9.1 Contributor workflow (from English version/README.md)

  1. Fork the project.
  2. Make changes — record your name and affiliation in the format Name-Affiliation (e.g. Daxie-West Lake University).
  3. Review for grammar and technical errors.
  4. Preview formatting using Typora with the recommended settings (see §6.3).
  5. Commit changes to your fork.
  6. Open a pull request, clearly stating what changes you made and why.
  7. Wait for review.

Important

The project is GPL-3.0 licensed. Your contributions inherit the license. If you fork to start a derivative work in another language (a common pattern for educational books — see clean-code-javascript's 20+ translation forks), keep the GPL-3.0 notice and credit the original.

9.2 What the maintainers want most

Looking at open issues (see https://github.com/scutan90/DeepLearning-500-questions/issues), the most requested help is:

  1. More English translation — chapters 5–19 are entirely untranslated (see open issue #548 "English translation").
  2. A PDF build — multiple users have asked for a downloadable PDF (open issues #393, #481, #376).
  3. Filling missing sections — chapter 16 (NLP) is short, and a few in-text references point to sections that were never written (#536 asks where 2.3–2.7 went; the headings exist but several sub-sections are stubs).
  4. Math/typo corrections — for instance #544 flags an error in the tanh derivative table at 3.4.3.

9.3 Reporting issues

The project's issue tracker accepts both Chinese and English bug reports. Useful conventions:

  • For typo / wrong-math reports: cite the chapter, section number, and line — ch03 §3.4.3 table row tanh.
  • For broken images: include the path of the missing image — ch07_生成对抗网络(GAN)/img/ch7/....
  • For new-content suggestions: open an issue first, do not open a multi-thousand-line PR cold.

The tracker has a noise problem common to long-running Chinese OSS repos: occasional spam (#547 "程序员必备神器:稳定快速vpn机场" is recruitment / VPN promotion, not a bug). The maintainers do not aggressively close noise — filter mentally when browsing.

9.4 Communication channels

From the English README:

  • GitHub issues — primary channel.
  • Email — [email removed].
  • WeChat group — readers who have made merged contributions can request entry. The README lists three group-admin contact handles. Contact through the project, not directly — the WeChat ecosystem is rife with imposters and the project cannot vouch for off-repo channels.

10. FAQ

Q: Is this the same content as the print book 深度学习500问?

A: Almost, but not identical. The print edition (《深度学习500问——AI工程师面试宝典》, published by 博文视点, JD listing https://item.jd.com/12785031.html) has the same chapter outline and reuses much of the same text, but the print version was edited and reorganized for publication and is shorter than the open repository in some places. The repository is the community draft; the book is the edited, paid product.

Q: Why is some content in the repository missing from the print book (or vice versa)?

A: Editorial decisions. The repository keeps chapters that the editors trimmed for print, and the print edition adds polish that has not been merged back. The two have drifted since the book went to press.

Q: Can I use this for commercial purposes?

A: The repository is GPL-3.0. You can copy, modify, and redistribute, but derivative works must also be GPL-3.0 and the original copyright must be preserved. The print book has its own commercial copyright held by the publisher — buying the book does not grant rights beyond personal use. Image rights are murky: many figures are reproductions from papers (LeNet, AlexNet, ResNet diagrams, etc.) and the repository does not license them; if you build a derivative, replace third-party images or get their authors' permission.

Q: There is no PDF. Why?

A: The repository has never shipped a PDF build pipeline. The maintainers have considered it (see issues #481, #393, #376 — all open) but the docsify-based architecture means PDFs would need a separate build (e.g. docsify-to-pdf, Puppeteer + a print stylesheet, or Pandoc per chapter). Use one of the workarounds in §8.2 or §8.3.

Q: The repository has not been updated in years. Is it abandoned?

A: The most recent commit on main is from 2021-10-14 (commit 6087a06). Active editorial work on the print edition is the likely reason. Treat the repository as a stable, completed work rather than an evolving project. Pull requests still get reviewed periodically.

Q: Some sections are very thin, especially chapter 16 (NLP). Why?

A: The book was a multi-author, multi-year community effort, and not every chapter received the same depth of contribution. Chapter 16 (~100 lines) and the second chapter 18 are the most obvious gaps. The print edition has fuller versions of some thin chapters; the repository preserves the open community draft as it stood when the print edition was finalized.

Q: Why are there two "Chapter 18" folders?

A: The editors split backend-architecture content into two distinct chapters during editing — one focused on offline vs real-time compute architecture (ch18_后端架构选型、离线及实时计算/), the other on architecture selection and use cases (ch18_后端架构选型及应用场景/). They have different content; read both.

Q: The math is not rendering on GitHub.

A: GitHub does not run KaTeX/MathJax on plain .md files in this repository's layout. Use docsify (§5) or Typora (§6.3) for math.

Q: Some images are not loading in my Markdown viewer.

A: Common causes:

  1. Non-ASCII filename — some images use Chinese characters in the filename. Most viewers handle them; some older Markdown previewers do not.
  2. Nested directory paths — figures under ch02_机器学习基础/img/ch2/2.40.10/1.png need the full path; some viewers stop at the first img/ level.
  3. Path normalization — docsify needs the beforeEach hook from index.html to rewrite ../img → img. Without it, file:// viewing breaks.

Q: I cloned the repository and the docsify site is empty.

A: Two common causes: (1) you opened index.html over file:// and your browser blocked the fetch — serve over HTTP (python -m http.server); (2) GitHub Pages is hiding _sidebar.md because Jekyll is enabled — add .nojekyll (already in the repo, so this only affects forks that delete it).

Q: I want to fork this for another language (Spanish, Korean, etc.).

A: This is the spirit of the GPL-3.0 license. Recommended steps:

  1. Fork, rename the repo to e.g. DeepLearning-500-questions-es.
  2. Translate English version/README.md (or README.md) to your language.
  3. Translate chapters at your own pace; merge upstream improvements as the original repo accepts them.
  4. Open an issue on the upstream repository announcing your fork so other language readers can find it.

Q: Some links to external papers, blogs, or papers' images are dead.

A: The repository was last updated in 2021. Many cited blog posts (especially those on Chinese tech-blog platforms like CSDN, 知乎, and 简书) have since been deleted, paywalled, or geo-blocked. When you hit a dead link, search for the paper title on Google Scholar, arXiv, or the Wayback Machine.

Q: The repository says GPL-3.0 but the README says "respect copyright" and "piracy will be investigated". Which applies?

A: Both. The text content of the repository is GPL-3.0 — you can copy and redistribute under GPL terms. The print book has separate publishing-house copyright. The README's piracy notice refers to redistribution of the print book or its scanned copies, not the repository. The image rights (figures lifted from papers) are not licensed to the repository at all and remain with their original authors.


11. Troubleshooting

Error: [TOC] appears as literal text at the top of every chapter

Cause: the [TOC] directive is a Typora-specific extension. Standard Markdown renderers (GitHub, docsify with default config) do not interpret it.

Solution:

  • On GitHub, ignore the literal [TOC] line — scroll past it.
  • In Typora, it auto-expands.
  • Under docsify, use the built-in sidebar instead — it auto-generates a TOC.

Prevention: None needed; this is by design and editors keep [TOC] for the Typora workflow.


Error: KaTeX renders most formulas but throws on \mathbf{X} or \boldsymbol{\mu}

Cause: KaTeX 0.10.0-rc.1 (the version pinned in index.html) does not support every TeX macro. Some Greek-bold and decorated-symbol macros need MathJax.

Solution: Docsify is configured to fall back to MathJax via the doneEach hook in index.html. If formulas still fail to render:

  1. Verify <script async ... src="...mathjax.js?config=TeX-AMS-MML_HTMLorMML"> is loading (check the browser's Network tab).
  2. If MathJax is blocked (some networks block CDNJS), download MathJax.js locally and update the <script> src.

Prevention: When forking and adding new content, prefer simple TeX macros that KaTeX supports natively — they render faster.


Error: Sidebar empty when opening index.html from file://

Cause: modern browsers block fetch() of local files for security. Docsify needs to fetch _sidebar.md and the chapter Markdown files.

Solution: Always serve over HTTP, even locally:

python -m http.server 3000

Open http://localhost:3000 instead of file:///....

Prevention: Bookmark the localhost:3000 URL or alias the command:

alias dl500='cd /path/to/DeepLearning-500-questions && python -m http.server 3000'

Error: GitHub Pages serves the README but not the docsify site

Cause: your fork is missing .nojekyll, or you deleted it. GitHub Pages runs Jekyll by default, which hides files starting with _ — including _sidebar.md.

Solution:

touch .nojekyll
git add .nojekyll
git commit -m "Disable Jekyll for GitHub Pages"
git push

Prevention: Never delete .nojekyll from the repository root.


Error: Images load on GitHub but break in docsify

Cause: the beforeEach hook in index.html rewrites ../img to img. If you customized index.html and removed the hook, relative image paths point one folder higher than they should.

Solution: restore the hook in index.html:

hook.beforeEach(function(content) {
  return content.replace(/..\/img/g, "img");
})

Prevention: When customizing the docsify config, keep the plugins: array intact unless you know what each entry does.


Error: A formula has a wrong derivative or wrong table cell

Multiple known cases — for example issue #544 flags a tanh-derivative table error in §3.4.3.

Solution: Cross-reference with a textbook (Goodfellow's Deep Learning, Bishop's PRML, Hands-On ML) and trust the textbook. Open an issue or PR to fix it.

Prevention: Always verify derived results against a primary source when stakes are high (e.g. preparing for an interview or writing a paper).


Error: A section heading is repeated (e.g. two 2.23 entries)

Cause: some chapter files contain duplicate or out-of-order sub-numbering — for instance chapter 2 has multiple sections starting with 2.23, 2.24, 2.25. This is a known editorial issue, see #531.

Solution: use the section title (text after the number) to disambiguate, not the number alone.

Prevention: When citing, use the title — for example "§2.25 Random vs Batch Gradient" rather than "§2.25" — to survive future re-numbering.


Error: Pull request is closed without merge

Cause: the repository has not been actively maintained since 2021. Cosmetic PRs may sit indefinitely.

Solution: Open an issue before a large PR to gauge maintainer interest. For typo fixes, post the diff inline in the issue — easier for the maintainer to merge as a one-line edit than to review a fork.

Prevention: Treat the repository as stable text, not an evolving project. Publish substantial new material as a fork (translation, derivative work) under GPL-3.0.


Error: My WeChat group request is ignored

Cause: the WeChat contact handles in the README date to 2018–2020. The original group admins may have changed phones, exited WeChat, or moved on.

Solution: comment on a recent open issue and ask whether the WeChat group is still active. Do not pursue private contact through unofficial channels.

Prevention: Treat the README's WeChat contacts as historical. Use GitHub issues for any current question.


12. Reference: Complete Chapter Index

The authoritative ordering comes from _sidebar.md. Section sub-numbers come from the chapter file headings (each heading begins with N.x.y).

# Chapter Path Approx. coverage
0 Introduction (README) README.md TOC, author bios, JD purchase link
1 数学基础 (Mathematical Foundations) ch01_数学基础/第一章_数学基础.md Vectors, matrices, tensors; norms; derivatives; eigenvalue/SVD; probability distributions; conditional/joint probability
2 机器学习基础 (Machine Learning Foundations) ch02_机器学习基础/第二章_机器学习基础.md Supervised/unsupervised, common algorithms, LDA, PCA, model evaluation, decision trees, SVM, Bayesian, EM, clustering, dimensionality
3 深度学习基础 (Deep Learning Foundations) ch03_深度学习基础/第三章_深度学习基础.md Forward/back propagation, hyperparameters, activations (ReLU, softmax), batch size, normalization, weight init, fine-tuning, dropout
4 经典网络 (Classic Networks) ch04_经典网络/第四章_经典网络.md LeNet5, AlexNet, ZFNet, VGG, NIN, GoogLeNet, Inception v1–v4, ResNet & variants (ResNeXt, DenseNet)
5 卷积神经网络 (CNN) ch05_卷积神经网络(CNN)/第五章_卷积神经网络(CNN).md Convolution layer details, kernel sizing, dilations, separable conv, pooling, deconvolution, parameter counting, 1×1 convolutions
6 循环神经网络 (RNN) ch06_循环神经网络(RNN)/第六章_循环神经网络(RNN).md Simple RNN, BPTT, LSTM, GRU, bidirectional/deep RNNs, ESN, CW-RNN
7 生成对抗网络 (GAN) ch07_生成对抗网络(GAN)/ch7.md GAN principle, training stability, common variants
8 目标检测 (Object Detection) ch08_目标检测/第八章_目标检测.md Sliding window, R-CNN, Fast/Faster R-CNN, ROI pooling, R-FCN, SSD, YOLO v1–v3
9 图像分割 (Image Segmentation) ch09_图像分割/第九章_图像分割.md FCN, U-Net, SegNet, dilated convs, RefineNet, PSPNet, DeepLab v1–v3+, Mask R-CNN, weakly-supervised
10 强化学习 (Reinforcement Learning) ch10_强化学习/第十章_强化学习.md Application examples; transfer/hierarchical/memory/multi-agent deep RL
11 迁移学习 (Transfer Learning) ch11_迁移学习/第十一章_迁移学习.md Multitask learning, end-to-end DL, applications
12 网络搭建及训练 (Network Construction & Training) ch12_网络搭建及训练/第十二章_网络搭建及训练.md Practical training tactics, framework integration
13 优化算法 (Optimization Algorithms) ch13_优化算法/第十三章_优化算法.md CPU vs GPU, sample-size issues, gradient vanishing/explosion, weight init, loss functions, mini-batch tuning, error analysis, mismatch handling
14 超参数调整 (Hyperparameter Tuning) ch14_超参数调整/第十四章_超参数调整.md Debug processing, range selection, search strategies
15 GPU 和框架选型 (GPU & Framework Selection) ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md CUDA, cuDNN, GPU buying guide, framework comparison, multi-GPU, distributed, TPU, quantum outlook
16 自然语言处理 (NLP) ch16_自然语言处理(NLP)/第十六章_NLP.md NLP foundations and tasks (stub)
17 模型压缩、加速及移动端部署 (Model Compression & Mobile Deployment) ch17_模型压缩、加速及移动端部署/第十七章_模型压缩、加速及移动端部署.md (+ 17.8.1 NCNN部署.md) Pruning, quantization, distillation, NCNN deployment guide
18 后端架构选型、离线及实时计算 (Backend: Offline & Real-Time) ch18_后端架构选型、离线及实时计算/第十八章_后端架构选型、离线及实时计算.md Offline vs real-time backends
18 (II) 后端架构选型及应用场景 (Backend: Selection & Use Cases) ch18_后端架构选型及应用场景/第十八章_后端架构选型及应用场景.md Architecture selection and applications
19 软件专利申请及权利保护 (Software Patents — China) ch19_软件专利申请及权利保护/第十九章_软件专利申请及权利保护.md Chinese software-patent application procedure

12.2 Email and contact