📈 Độ dốc và ý nghĩa hình học của đạo hàm

By Better Wise

Đây là bài mở đầu của module, và cũng là câu hỏi mà mọi kỹ sư ML phải trả lời được: con số đạo hàm giúp model giảm lỗi bằng cách nào? Bạn đã biết đọc đồ thị hàm số và đã quen vector, ma trận cơ bản, thế là đủ. Hôm nay ta chỉ làm một việc: nhìn một đồ thị và đọc được độ dốc của nó, rồi hiểu đạo hàm chính là độ dốc đó tại một điểm.

Sau bài này, bạn có thể:

  • Đọc độ dốc của một đoạn thẳng trên đồ thị và tính nó từ hai điểm bất kỳ.
  • Viết được secant slope và hiểu vì sao cho khoảng cách tiến về 0 thì nó thành tangent slope.
  • Phát biểu đạo hàm là tốc độ thay đổi tức thời của hàm tại một điểm.
  • Nói được dấu và độ lớn của đạo hàm nghĩa là gì với loss của model.
  • Tính đạo hàm của các hàm đa thức đơn giản bằng power rule.

Đọc độ dốc trên một đồ thị

Độ dốc (slope) là tỉ lệ: khi x nhích thêm 1 đơn vị thì y thay đổi bao nhiêu. Đường càng dựng đứng thì độ dốc càng lớn về trị tuyệt đối, đường càng phẳng thì độ dốc càng gần 0. Điểm dễ sai nhất: độ dốc là tỉ lệ thay đổi, không phải giá trị của hàm. Một hàm có thể đang ở giá trị rất cao mà độ dốc bằng 0 (đỉnh đồi), hoặc giá trị rất thấp mà độ dốc rất lớn (đáy thung lũng hẹp).

Ví dụ thực tế: bạn ghi lại diện tích nhà $x$ (m²) và giá $y$ (triệu đồng). Hai căn 50 m² giá 1.500 triệu và 80 m² giá 2.400 triệu cho độ dốc $(2400 - 1500) / (80 - 50) = 30$ triệu đồng mỗi m². Con số 30 đó chính là "tốc độ thay đổi giá theo diện tích" trong khoảng dữ liệu này.

Công thức tổng quát cho hai điểm $(x_1, y_1)$ và $(x_2, y_2)$:

$$ \text{slope} = \frac{\Delta y}{\Delta x} = \frac{y_2 - y_1}{x_2 - x_1} $$

Bài tập 1. Đường loss của model đi qua hai điểm $(1,\ 9.0)$ và $(4,\ 3.0)$, trong đó trục x là số vòng lặp. Tính độ dốc và nói bằng lời nó có nghĩa gì.

Xem đáp án

$\text{slope} = (3.0 - 9.0)/(4 - 1) = -2.0$. Nghĩa là mỗi vòng lặp thêm, loss trung bình giảm 2.0 đơn vị trong khoảng từ vòng 1 đến vòng 4. Độ dốc âm: tăng x thì y giảm.

Từ secant đến tangent: đạo hàm là tốc độ thay đổi tức thời

Độ dốc ở trên tính trên một khoảng, gọi là secant slope (độ dốc của cát tuyến). Nhưng khi làm việc với model, bạn cần biết tại đúng điểm đang đứng thì loss thay đổi nhanh cỡ nào, không phải trung bình cả khoảng. Cách làm: thu nhỏ khoảng lại.

Với hàm $f$ tại điểm $x$, lấy thêm một điểm cách đó $h$:

$$ \text{secant slope} = \frac{f(x+h) - f(x)}{h} $$

Cho $h$ tiến dần về 0, secant slope tiến về một giới hạn. Giới hạn đó là đạo hàm (derivative) tại $x$, ký hiệu $f'(x)$ hay $\frac{df}{dx}$, và về hình học nó là độ dốc của tiếp tuyến (tangent) với đồ thị tại điểm đó.

flowchart TD
    A["📍<br/>Hai điểm trên đồ thị"] --> B["📏<br/>Secant slope Δy/Δx"]
    B --> C["🔍<br/>Cho h tiến về 0"]
    C --> D["📈<br/>Tangent slope tại x"]
    D --> E["🧮<br/>Đạo hàm f'(x)"]

Note: Đạo hàm là một giới hạn, không phải phép chia cho $h = 0$. Vì vậy đừng thay $h = 0$ vào công thức secant, hãy rút gọn biểu thức trước rồi mới cho $h \to 0$.

Một điểm cần nhớ: _____ chính là độ dốc của tiếp tuyến với đồ thị tại điểm đó, và nó đo _____ của hàm theo biến đầu vào.

Bài tập 2. Với $f(x) = x^2$, tính secant slope trên khoảng từ $x = 2$ đến $x = 2 + h$, rồi cho $h \to 0$.

Xem đáp án

$\dfrac{(2+h)^2 - 4}{h} = \dfrac{4 + 4h + h^2 - 4}{h} = 4 + h$. Khi $h \to 0$, kết quả là 4. Kiểm tra bằng power rule: $f'(x) = 2x$ nên $f'(2) = 4$. Khớp.

Dấu và độ lớn của đạo hàm nói gì về loss

Đây là phần trả lời câu hỏi "giúp model giảm lỗi thế nào". Xét loss $L(w)$ theo tham số $w$:

Đạo hàm tại điểm đang xét Hàm đang làm gì Muốn giảm loss thì làm gì
$L'(w) > 0$ tăng $w$ thì loss tăng giảm $w$
$L'(w) < 0$ tăng $w$ thì loss giảm tăng $w$
$L'(w) = 0$ tiếp tuyến nằm ngang, đang ở điểm dừng cần kiểm tra thêm

Độ lớn $|L'(w)|$ cho biết mặt loss dốc cỡ nào: dốc lớn thì chỉnh một chút tham số đã làm loss nhảy nhiều, dốc nhỏ thì gần đáy và nên bước nhỏ lại. Quy tắc "đi ngược dấu đạo hàm" này chính là trực giác của gradient descent, và module 2 sẽ biến nó thành thuật toán từng bước.

Đạo hàm dương nghĩa là _____, còn đạo hàm âm nghĩa là hàm _____.

Bài tập 3. Loss của bài hồi quy tuyến tính đơn giản: $L(w) = (w - 5)^2$. Tính $L'(w)$, xét dấu tại $w = 2$, và cho biết nên tăng hay giảm $w$.

Xem đáp án

Khai triển: $L(w) = w^2 - 10w + 25$, suy ra $L'(w) = 2w - 10$. Tại $w = 2$: $L'(2) = -6 < 0$, nên tăng $w$ sẽ làm loss giảm. Kiểm tra nhanh: $L(2) = 9$ và $L(2.1) = 8.41$, đúng là giảm. Đây là lý do bước cập nhật đi ngược dấu đạo hàm.

Vài đạo hàm đủ dùng cho hôm nay

Bạn không cần bảng đạo hàm dày, chỉ cần ba quy tắc và một hàm mẫu:

$f(x)$ $f'(x)$
$c$ (hằng số) $0$
$x$ $1$
$x^n$ $n x^{n-1}$
$f(x) + g(x)$ $f'(x) + g'(x)$

Mọi đa thức đều xử lý được bằng cách cộng đạo hàm từng hạng tử. Hàm hợp (ví dụ $(w-5)^2$, hay loss của mạng nơ-ron) thì cần thêm một quy tắc nữa, đó là nội dung bài kế tiếp.

Bài tập 4. Tính đạo hàm của $L(w) = 3w^2 - 6w + 2$ và cho biết tại $w = 0$ thì nên tăng hay giảm $w$.

Xem đáp án

$L'(w) = 6w - 6$. Tại $w = 0$: $L'(0) = -6 < 0$, nên tăng $w$ để loss giảm. Lưu ý điểm dừng ở $w = 1$ ($L'(1) = 0$), đó là nơi hàm phẳng ra.

Ba lỗi hay gặp khi đọc độ dốc

  • Nhầm độ dốc với giá trị hàm. Đỉnh đồi có loss rất lớn nhưng đạo hàm bằng 0. Đọc đồ thị thì nhìn cả hai thứ.
  • Quên đơn vị. Đạo hàm có đơn vị là (đơn vị của y) chia (đơn vị của x). Đổi đơn vị trục x từ m² sang nghìn m² là độ dốc đổi 1000 lần, dù hình dạng đồ thị không đổi.
  • Thấy đạo hàm bằng 0 là kết luận ngay đã tối ưu. Điểm dừng mới chỉ là ứng viên; nó có thể là cực tiểu, cực đại, hoặc saddle point. Bài 2.3 sẽ nói rõ, còn bây giờ chỉ cần nhớ: đạo hàm bằng 0 là "chưa kết luận được gì".
  • Mẹo đọc nhanh: cầm thước kẻ đặt sao cho nó chạm đồ thị đúng một điểm quanh vùng đang xét, mép thước chính là tiếp tuyến, và độ dốc của mép thước là đạo hàm.

Tóm lại và bước tiếp theo

  • Độ dốc là tỉ lệ $\Delta y / \Delta x$, đo mức thay đổi của hàm trên một khoảng.
  • Đạo hàm là giới hạn của secant slope khi khoảng tiến về 0, tức độ dốc tiếp tuyến tại một điểm.
  • Dấu của đạo hàm cho biết hướng đi để giảm loss, độ lớn cho biết nên bước dài hay ngắn.
  • Power rule và quy tắc cộng là đủ để tính đạo hàm của mọi đa thức; hàm hợp thì cần chain rule.

Front: Đạo hàm của hàm f tại điểm x đo điều gì? Back: Tốc độ thay đổi tức thời của f theo x tại điểm đó, tức độ dốc của tiếp tuyến.

Front: Công thức secant slope qua hai điểm (x1, y1) và (x2, y2)? Back: (y2 - y1) / (x2 - x1), tức Δy / Δx.

Front: Secant slope biến thành gì khi h tiến về 0? Back: Tangent slope tại điểm đó, chính là đạo hàm f'(x).

Front: Ký hiệu khác của đạo hàm f tại x? Back: f'(x) hoặc df/dx.

Front: Đạo hàm dương tại một điểm nghĩa là gì? Back: Tăng x thì f tăng, muốn giảm f thì phải giảm x.

Front: Đạo hàm âm tại một điểm nghĩa là gì? Back: Tăng x thì f giảm, nên tăng x để giảm loss.

Front: Đạo hàm bằng 0 tại một điểm cho biết gì về đồ thị? Back: Tiếp tuyến nằm ngang, đó là điểm dừng, chưa kết luận được là cực tiểu hay cực đại.

Front: Độ lớn |f'(x)| nói gì về mặt loss? Back: Mặt loss dốc cỡ nào: trị tuyệt đối lớn nghĩa là thay đổi tham số nhỏ cũng làm loss đổi nhiều.

Front: Đạo hàm của hằng số c là gì? Back: 0.

Front: Đạo hàm của x^n là gì? Back: n * x^(n-1) (power rule).

Front: Đạo hàm của tổng f + g? Back: f' + g', cộng đạo hàm từng hạng tử.

Front: Đơn vị của đạo hàm là gì? Back: Đơn vị của y chia cho đơn vị của x, nên đổi scale trục là đổi giá trị độ dốc.

Front: Vì sao đạo hàm giúp model giảm lỗi? Back: Nó chỉ hướng (dấu) và mức độ (độ lớn) thay đổi của loss khi chỉnh tham số, nên ta đi ngược dấu để loss giảm.

Bài tới là chain rule: khi loss là hàm hợp của nhiều lớp phép tính, ví dụ $(w - 5)^2$, ta sẽ dùng đạo hàm hàm hợp để vẫn tính được đạo hàm một cách gọn gàng.