Activation Functions
Hàm kích hoạt: cái uốn cong của mạng nơ-ron
Không có hàm kích hoạt, mọi mạng đều là một đường thẳng
Hãy hình dung bạn xếp 100 lớp tuyến tính lên nhau, mỗi lớp là một phép nhân ma trận. Đầu vào đi qua lớp một, ra một véc-tơ mới, đi tiếp lớp hai, lại ra một véc-tơ mới, cứ thế suốt 100 tầng. Bạn kỳ vọng mạng càng sâu càng giỏi. Nhưng có một sự thật lạ: nhân bao nhiêu ma trận rồi cũng ra một ma trận khác. Cả 100 lớp gộp lại vẫn chỉ là một phép tính tuyến tính khổng lồ.
Tuyến tính nghĩa là bạn chỉ uốn lượn được bằng các đường thẳng. Trong khi đó, thế giới thực toàn đường cong: ảnh con mèo không nằm trên một mặt phẳng, hai nhóm khách hàng cũng không tách được bằng một nét bút. Cái cần nhỏ giải quyết việc này gọi là hàm kích hoạt. Mỗi lớp chèn thêm một đường cong nhỏ để uốn thẳng thành cong. Nhờ vậy, chỉ cần bẻ cong một chút ở mỗi tầng, mạng bỗng biểu diễn được gần như mọi thứ.
100 lớp tuyến tính = 1 lớp. Mạng chỉ kẻ được đường thẳng.
Một đường cong nhỏ xen giữa hai lớp, gọi là phi tuyến.
Mạng uốn được vô số đường cong, biểu diễn cả ảnh, âm thanh, ngôn ngữ.
Bạn đã biết cần một hàm kích hoạt phi tuyến để 'bẻ cong' sau mỗi lớp. Trong bốn hàm dưới, hàm nào KHÔNG thật sự giúp mạng học đường biên cong?
Hình minh họa
Đây là năm hàm kích hoạt phổ biến nhất. Mỗi tab cho bạn một đường cong. Hãy kéo thanh trượt bên dưới để đẩy đầu vào x chạy từ −5 đến 5 và quan sát điểm màu nhảy theo.
So sánh bốn hàm cùng một lúc
Cùng đầu vào x = 1.20Giữ thanh trượt ở trên, quan sát bốn hàm phản ứng khác nhau ra sao với cùng một x. Đây là cách nhanh nhất để cảm nhận tính cách của mỗi hàm.
Bấm từng bước để thấy vì sao chỉ một chút phi tuyến đã mở ra toàn bộ sức mạnh của mạng nơ-ron sâu.
Cấu hình xen kẽ (giống XOR)
Có bốn cụm điểm: hai cụm cam ở góc trên phải và dưới trái, hai cụm xanh ở hai góc còn lại. Nhìn mắt thường, ai cũng thấy hai màu, nhưng chúng xen kẽ. Đây là bài toán kinh điển mà mọi mô hình tuyến tính đều thất bại.
Khi bạn xếp 10 lớp sigmoid liên tiếp và cho backprop chạy ngược, gradient ở lớp đầu tiên thường gần với số nào nhất?
Nhìn tận mắt: tín hiệu co về 0,5 sau mỗi lớp sigmoid
Nếu bạn đưa đầu vào x qua sigmoid 6 lần liên tiếp, kết quả luôn nén về gần 0,5. Gradient đi ngược qua 6 lớp cũng bị nhân với một con số cực nhỏ theo.
Một mạng tuyến tính là một đường thẳng. Thêm một đường cong nhỏ vào mỗi lớp, bạn được một mạng vô cùng linh hoạt: có thể xấp xỉ mọi hàm, ôm mọi ranh giới, phân biệt mọi cấu hình dữ liệu.
Giải thích
Bạn đã thấy năm đường cong trong phần khám phá. Bên dưới là ba công thức ngắn nhất có thể, mỗi công thức đi kèm một hình minh hoạ và một câu giải thích bằng tiếng Việt. Đừng thuộc lòng; nhớ hình dáng đường cong là đủ.
ReLU cắt vuông ở 0
Bằng lời: nếu x âm, ra 0; nếu x dương, giữ nguyên. Một cái chặn ánh sáng đơn giản nhưng cực nhanh, và là hàm kích hoạt mặc định cho hầu hết các mô hình thị giác máy tính hiện đại.
Sigmoid bóp mọi số về (0, 1)
Bằng lời: dù x là bao nhiêu, sigmoid đều nén về một số giữa 0 và 1. Rất tiện cho đầu ra nhị phân (phải/trái, đúng/sai). Nhưng ở lớp ẩn của mạng sâu, nó gây triệt tiêu gradient.
Softmax biến bảng điểm thành bảng xác suất
Hãy tưởng tượng model vừa nhìn một tấm ảnh và đưa ra bốn điểm số thô (logit) cho bốn lớp. Kéo từng thanh để đổi điểm số, rồi xem softmax biến chúng thành xác suất cộng lại bằng 1 ra sao.
Bằng lời: ai điểm cao sẽ chiếm phần lớn xác suất, các lớp còn lại chia phần còn lại. Công thức trông rối nhưng ý nghĩa khá thẳng: tổng luôn bằng 1. Đây là cách chuẩn đưa mạng đa lớp về một phân phối xác suất.
Chi tiết về vì sao gradient triệt tiêu, xem tại Vanishing & Exploding Gradient. Lý thuyết về lớp perceptron một đơn vị (tổ tiên của mạng nhiều lớp) xem tại Perceptron.
- Không có hàm kích hoạt, cả một mạng nơ-ron chỉ là một phép tính tuyến tính lớn, không uốn được đường cong.
- ReLU cắt vuông ở 0: mặc định cho lớp ẩn vì nhanh và gradient không nén ở vùng dương.
- Sigmoid bóp về (0, 1): hợp cho đầu ra nhị phân, nhưng gây triệt tiêu gradient ở mạng sâu.
- Softmax dùng ở lớp cuối của phân loại đa lớp, biến điểm số thành xác suất cộng bằng 1.
- Tanh và Leaky ReLU là hai bản đối xứng hoặc sửa lỗi của sigmoid và ReLU, dùng khi gradient lệch tâm hoặc có nơ-ron chết.
Kiểm tra hiểu biết
Không có hàm kích hoạt, một mạng nơ-ron 100 lớp sẽ tương đương với điều gì?