+1

Quy Tắc Chuỗi, Giải Thích Dễ Hiểu: "Bí Quyết" Đằng Sau Deep Learning

👋 Chào bạn! Trong bài trước, chúng ta đã cùng khám phá Những Khái Niệm Căn Bản và Cốt Lõi về Neural Networks cách chúng ta mô phỏng não bộ, xử lý dữ liệu qua các lớp, và học từ lỗi sai. Nhưng có bao giờ bạn tự hỏi: "Làm sao mạng neural 'học' được? Làm thế nào nó điều chỉnh hàng triệu trọng số để dự đoán chính xác?". Câu trả lời nằm ở Quy Tắc Chuỗi (The Chain Rule) - "chìa khóa" giúp lan truyền ngược lỗi (backpropagation) và tối ưu mô hình. Hôm nay, chúng ta sẽ cùng giải mã "bí mật" này!

Quy Tắc Chuỗi Là Gì?

Quy tắc chuỗi là công thức tính đạo hàm của hàm hợp - hàm được tạo bởi hai hay nhiều hàm đơn giản kết hợp. Ví dụ:

  • Hàm g(x)g(x) nhận đầu vào xx
  • Hàm f(u)f(u) nhận đầu vào là kết quả của g(x)g(x) (gọi là uu)

Hàm hợp lúc này là h(x)=f(g(x))h(x) = f(g(x)). Quy tắc chuỗi cho biết cách thay đổi của xx ảnh hưởng đến gg, rồi đến ff, và cuối cùng là hh.

Về mặt toán học, quy tắc chuỗi được viết:

h(x)=f(g(x))g(x)h'(x) = f'(g(x)) \cdot g'(x)

Nói một cách đơn giản, đạo hàm của h(x)h(x) bằng đạo hàm của ff tại g(x)g(x), nhân với đạo hàm của gg tại xx.

Ví Dụ Cụ Thể

Giả sử:

  • g(x)=2x+3g(x) = 2x + 3
  • f(u)=u2f(u) = u^2

Hàm hợp h(x)=f(g(x))=(2x+3)2h(x) = f(g(x)) = (2x + 3)^2

Nếu không dùng quy tắc chuỗi, bạn có thể khai triển như sau:

h(x)=4x2+12x+9h(x) = 4x^2 + 12x + 9

và tính đạo hàm trực tiếp:

h(x)=8x+12h'(x) = 8x + 12

Với quy tắc chuỗi, bạn làm theo cách thông minh hơn:

  1. Tính g(x)=2g'(x) = 2
  2. Tính f(u)=2uf'(u) = 2u
  3. Thay g(x)g(x) vào ff': f(g(x))=2(2x+3)f'(g(x)) = 2(2x + 3)
  4. Nhân kết quả: h(x)=2(2x+3)2=8x+12h'(x) = 2(2x + 3) \cdot 2 = 8x + 12

Cả hai cách cho kết quả giống nhau! Quy tắc chuỗi giúp bạn "chia để trị" thay vì khai triển mọi thứ, cứu cánh cho các hàm phức tạp.

Tại Sao Quy Tắc Chuỗi Quan Trọng Trong Deep Learning?

Các mô hình deep learning (như mạng neural) thực chất là những hàm hợp khổng lồ. Mỗi lớp mạng biến đổi đầu vào (ví dụ: nhân trọng số, áp dụng hàm kích hoạt), và quy tắc chuỗi cho phép tính toán cách các điều chỉnh nhỏ ở trọng số ảnh hưởng đến đầu ra cuối (như giá trị mất mát). Quá trình này gọi là lan truyền ngược (backpropagation) xương sống của việc huấn luyện mạng neural.

Ví Dụ: Gradient Descent Trong Mạng Neural

Xét mạng neural đơn giản:

  • Đầu vào xx, trọng số ww, hàm kính hoạt sigmoid σ(z)σ(z)
  • Hàm mất mát LL là sai số bình phương giữa dự đoán và giá trị thực yy

Quá trình lan truyền tiến (forward propagation) tính:

Dự đoaˊn=σ(wx)Ma^ˊt maˊt=(σ(wx)y2)Dự \ đoán = σ(w \cdot x) \\ Mất \ mát = (σ(w \cdot x) - y^2)

Để cập nhật ww bằng gradient descent, ta cần dLdw\frac{dL}{dw} ​. Quy tắc chuỗi tỏa sáng ở đây:

dLdW=dLdσdσd(wx)d(wx)dw\frac{dL}{dW} = \frac{dL}{dσ} \cdot \frac{dσ}{d(wx)} \cdot \frac{d(wx)}{dw}

Mỗi thành phần là một "mắt xích" giúp lan truyền lỗi ngược từ hàm mất mát về trọng số ww.

Kết Luận

Vậy là bạn đã nắm được Quy Tắc Chuỗi - "trái tim" của quá trình huấn luyện mạng neural. Nó không chỉ là công thức toán học khô khan, mà là "ngôn ngữ" giúp AI hiểu được cách thay đổi từng trọng số để trở nên thông minh hơn.

Nhưng câu chuyện chưa dừng lại ở đây! Trong bài tiếp theo, chúng ta sẽ cùng "Gradient Descent" - thuật toán "dũng sĩ" dùng đạo hàm từ Quy Tắc Chuỗi để tối ưu, giảm thiểu sai số từng bước một. Bạn có tò mò: Làm sao Gradient Descent "nhìn" được đường đi? Tại sao nó lại quan trọng đến thế?

Hẹn gặp lại bạn trong bài viết tiếp theo nơi toán học và trí tuệ nhân tạo cùng nhau nhảy điệu tango! 🚀


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.