Thuật ngữ

Độ dốc biến mất

Khám phá vấn đề biến mất độ dốc trong học sâu, tác động của nó lên mạng nơ-ron và các giải pháp hiệu quả như ReLU, ResNets, v.v.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Vanishing Gradient là một thách thức phổ biến gặp phải trong quá trình đào tạo mạng nơ-ron sâu (NN) , đặc biệt là những mạng có nhiều lớp như Mạng nơ-ron hồi quy (RNN) và mạng truyền thẳng sâu. Nó xảy ra trong quá trình truyền ngược , trong đó các gradient của hàm mất mát liên quan đến trọng số của mạng trở nên cực kỳ nhỏ khi chúng được truyền ngược từ lớp đầu ra đến các lớp trước đó. Khi các gradient này trở nên cực kỳ nhỏ, các bản cập nhật cho trọng số mô hình trong các lớp ban đầu trở nên không đáng kể, về cơ bản ngăn các lớp này học. Điều này cản trở khả năng học các mẫu phức tạp và nắm bắt các phụ thuộc tầm xa trong dữ liệu của mạng, điều này rất quan trọng đối với nhiều tác vụ học sâu (DL) .

Tại sao sự biến mất của gradient lại là vấn đề

Vấn đề cốt lõi với gradient biến mất là chúng làm đình trệ quá trình học. Các mô hình học máy (ML) học bằng cách điều chỉnh các tham số bên trong của chúng dựa trên tín hiệu lỗi (gradient) được tính toán bằng các thuật toán tối ưu hóa như Gradient Descent hoặc các biến thể của nó như Adam . Nếu gradient gần bằng 0, các bản cập nhật tham số là tối thiểu hoặc không tồn tại. Trong các mạng sâu, vấn đề này trở nên phức tạp hơn vì tín hiệu gradient được nhân nhiều lần với các số nhỏ khi nó truyền ngược trở lại qua các lớp. Do đó, các lớp gần đầu vào nhất học chậm hơn nhiều so với các lớp gần đầu ra hoặc chúng có thể không học được gì cả. Điều này ngăn mạng hội tụ thành một giải pháp tối ưu và hạn chế hiệu suất và độ chính xác tổng thể của nó. Hiểu được hiện tượng này là rất quan trọng để đào tạo mô hình hiệu quả.

Nguyên nhân và so sánh với sự bùng nổ của gradient

Sự biến mất của độ dốc thường xảy ra do:

  1. Lựa chọn hàm kích hoạt: Một số hàm kích hoạt , như tanent sigmoid hoặc hyperbolic (tanh) , có đạo hàm nhỏ hơn 1, đặc biệt là trong vùng bão hòa của chúng. Trong quá trình truyền ngược, việc nhân các đạo hàm nhỏ này qua nhiều lớp sẽ khiến gradient co lại theo cấp số nhân.
  2. Kiến trúc sâu: Độ sâu tuyệt đối của các mạng hiện đại làm tăng số lần gradient được nhân lên, khiến gradient biến mất có nhiều khả năng xảy ra hơn.
  3. Khởi tạo trọng số: Việc khởi tạo trọng số kém cũng có thể gây ra vấn đề.

Điều quan trọng là phải phân biệt gradient biến mất với vấn đề liên quan đến Gradient bùng nổ . Gradient bùng nổ xảy ra khi gradient trở nên quá lớn, dẫn đến quá trình đào tạo không ổn định và các bản cập nhật trọng số dao động lớn. Điều này thường xảy ra khi gradient được nhân nhiều lần với các số lớn hơn 1. Trong khi gradient biến mất ngăn cản việc học, gradient bùng nổ khiến việc học phân kỳ. Các kỹ thuật như cắt gradient thường được sử dụng để chống lại gradient bùng nổ.

Kỹ thuật giảm thiểu

Một số chiến lược đã được phát triển để giải quyết vấn đề mất dần độ dốc:

  • ReLU và các biến thể: Sử dụng các hàm kích hoạt như ReLU (Đơn vị tuyến tính chỉnh lưu) và các biến thể của nó ( ReLU rò rỉ , GELU , SiLU ) có ích vì đạo hàm của chúng là 1 đối với các đầu vào dương, ngăn không cho độ dốc co lại ở các vùng đó.
  • Kiến trúc chuyên biệt: Các kiến trúc như Residual Networks (ResNet) giới thiệu "skip connections" cho phép gradient bỏ qua các lớp, cung cấp đường dẫn ngắn hơn trong quá trình truyền ngược. Đối với dữ liệu tuần tự, Long Short-Term Memory (LSTM)Gated Recurrent Units (GRU) sử dụng cơ chế gating để kiểm soát luồng thông tin và duy trì gradient trên các chuỗi dài.
  • Khởi tạo trọng số: Các lược đồ khởi tạo phù hợp, chẳng hạn như khởi tạo He hoặc khởi tạo Xavier/Glorot, giúp duy trì độ lệch gradient giữa các lớp.
  • Chuẩn hóa hàng loạt: Chuẩn hóa hàng loạt giúp ổn định quá trình học bằng cách chuẩn hóa các đầu vào của lớp, có thể gián tiếp làm giảm sự biến mất (và bùng nổ) của gradient.
  • Cắt gradient: Mặc dù chủ yếu dùng cho gradient bùng nổ, việc đặt ngưỡng tối đa cho gradient đôi khi có thể giúp ngăn chúng trở nên quá nhỏ sau những dao động lớn.

Tác động thực tế và ví dụ

Việc giải quyết tình trạng gradient biến mất đóng vai trò then chốt trong những tiến bộ của AI:

  1. Xử lý ngôn ngữ tự nhiên (NLP): Các RNN ban đầu gặp khó khăn với các câu dài trong các tác vụ như dịch máy hoặc phân tích tình cảm do độ dốc biến mất. Sự phát triển của LSTMGRU cho phép các mô hình học các phụ thuộc tầm xa, cải thiện đáng kể hiệu suất. Các kiến trúc hiện đại như Transformer còn tránh được điều này hơn nữa bằng cách sử dụng các cơ chế như tự chú ý .
  2. Tầm nhìn máy tính: Việc đào tạo Mạng nơ-ron tích chập (CNN) rất sâu là một thách thức cho đến khi các kiến trúc như ResNet được giới thiệu. ResNet cho phép các mạng có hàng trăm hoặc thậm chí hàng nghìn lớp, dẫn đến những đột phá trong phân loại hình ảnh , phát hiện đối tượng (như được sử dụng trong các mô hình như Ultralytics YOLO ) và phân đoạn hình ảnh . Bạn có thể khám phá nhiều tập dữ liệu tầm nhìn máy tính khác nhau được sử dụng để đào tạo các mô hình này.

Việc hiểu và giảm thiểu sự biến mất của gradient vẫn là một khía cạnh quan trọng trong việc thiết kế và đào tạo các mô hình học sâu hiệu quả, cho phép tạo ra các ứng dụng AI mạnh mẽ mà chúng ta thấy ngày nay, thường được quản lý và triển khai bằng các nền tảng như Ultralytics HUB .

Đọc tất cả