Đạo Hàm Tự Động Đa Thức Bậc Hai với PyTorch Autograd
Cơ chế tự động tính đạo hàm (Automatic Differentiation hay Autograd) là động cơ cốt lõi đằng sau thuật toán lan truyền ngược (Backpropagation) trong PyTorch. Khi một tensor được th…

Autograd là trái tim cho phép PyTorch tự động tính toán đạo hàm cho hàng tỷ tham số. Khám phá cách đồ thị tính toán được tạo động và hủy sau khi lan truyền ngược.
bài tập có chấm code
Bài tập theo chuyên đề, có đề bài, ví dụ và starter code riêng.
cơ bản
Củng cố nền tảng và làm quen với kỹ thuật cốt lõi.
trung bình
Kết hợp nhiều bước suy luận để vận dụng kiến thức.
nâng cao
Thử thách tối ưu, cấu trúc dữ liệu và thuật toán chuyên sâu.
Theo dõi lịch sử phép toán và lưu trữ vector gradient trong tensor.grad.
Gọi loss.backward(), kiểm tra gradient tích lũy và reset bằng zero_grad().
Sử dụng torch.no_grad() và tensor.detach() khi đánh giá để tiết kiệm bộ nhớ GPU.
Kế thừa torch.autograd.Function để định nghĩa forward và backward tùy chỉnh.
Quên gọi optimizer.zero_grad() dẫn đến việc các gradient bị cộng dồn qua từng batch.
Thực hiện phép toán in-place trên tensor có requires_grad=True làm hỏng dữ liệu cần thiết cho backward.
Trong mỗi mức độ, bài tập được xếp từ dễ nhất đến khó nhất — hãy đi theo số bước.
Cơ chế tự động tính đạo hàm (Automatic Differentiation hay Autograd) là động cơ cốt lõi đằng sau thuật toán lan truyền ngược (Backpropagation) trong PyTorch. Khi một tensor được th…
Dùng một kỹ thuật quen thuộc: sắp xếp, tìm kiếm, đếm, ngăn xếp.
Đạo hàm theo hướng của hàm đa biến f(x) dọc theo một vector hướng v ≠ 0 được định nghĩa:
Cho hàm số hợp đa tầng dạng nơ-ron đơn giản:
Trong khóa học Stanford CS231n nổi tiếng, Andrej Karpathy đã nhấn mạnh tầm quan trọng của việc kiểm tra tính đúng đắn của Gradient giải tích (Analytic Gradient) so với Gradient số…
Autograd là trái tim của mọi thuật toán học sâu. Mọi mô hình AI từ hồi quy tuyến tính đến Transformer đều sử dụng cơ chế này để cập nhật trọng số. Việc hiểu sai cách tích lũy gradi…
Phối hợp hai kỹ thuật trong cùng một lời giải.
Trong học máy và tối ưu hóa, sai phân hữu hạn trung tâm (Centered Finite Difference) là phương pháp chuẩn để tính xấp xỉ đạo hàm số trị của hàm vô hướng khả vi f: RD…
Cho ánh xạ đa biến vector F: RN → RM biến đổi vector x = [x1, …, xN]T thành vector F(x) = [f1(x), …, fM(x)]T.
Trong lý thuyết tối ưu hóa và mạng nơ-ron, hàm mất mát (loss function) thường được biểu diễn gọn gàng qua toán tử vết ma trận (Trace tr(·)).
Thuật toán chuyên sâu: quy hoạch động, đồ thị, cây.
Theo kiến trúc động cơ Autograd kinh điển của Andrej Karpathy (Micrograd), mỗi nút trong đồ thị tính toán được đại diện bởi một lớp Value lưu trữ giá trị vô hướng (data), gradient…
GELU(x) ≈ 0.5 x (1 + tanh(√(2π)(x + 0.044715 x3)))
Ma trận Hessian H ∈ RD × D của hàm vô hướng khả vi hai lần f: RD → R chứa tất cả các đạo hàm riêng bậc 2:
Để đảm bảo một module tầng mạng nơ-ron không chứa lỗi lập trình vi phân ngầm, ta phải thực hiện Gradient Checking toàn diện trên mọi tensor tham số (W, b) và đầu vào (X).
Cấu trúc dữ liệu nâng cao và nhiều bước chứng minh.
Trong các thư viện vi phân hiện đại (như JAX, PyTorch torch.func.vjp), cốt lõi của tính toán đạo hàm tự động không phải là ma trận Jacobian mà là toán tử Vector-Jacobian Product (V…
Trong PyTorch, khi muốn viết một toán tử mới tối ưu hóa (như FlashAttention, Gated Linear Unit, hay Quantized Activation), lập trình viên kế thừa lớp torch.autograd.Function với đố…
Mọi hệ thống Autograd (PyTorch, TensorFlow, Micrograd) đều biểu diễn các phép tính dưới dạng đồ thị có hướng không chu trình (DAG).