Activation Functions in AlphaGo
Hàm kích hoạt trong AlphaGo
Công ty nào đang ứng dụng Hàm kích hoạt?
Tháng 3 năm 2016, AlphaGo (chương trình AI chơi cờ vây của DeepMind, công ty thuộc Google) đánh bại Lee Sedol — một trong những kỳ thủ cờ vây mạnh nhất lịch sử — với tỉ số 4-1. Cả thế giới kinh ngạc: cờ vây có 10^170trạng thái khả dĩ, được coi là “pháo đài cuối cùng” mà AI chưa thể chinh phục.
Trái tim của AlphaGo là hai mạng nơ-ron tích chập (convolutional neural network — CNN) 13 tầng. Và ở mỗi tầng, hàm kích hoạt (activation function — hàm toán học quyết định nơ-ron có kích hoạt hay không) đóng vai trò then chốt: ReLU (Rectified Linear Unit — hàm chỉnh lưu tuyến tính) cho các tầng ẩn và tanh (hàm tang hyperbolic) cho đầu ra mạng giá trị (value network).
Vấn đề công ty cần giải quyết
Bàn cờ vây 19×19 có khoảng 2,1 × 10^170trạng thái hợp lệ — nhiều hơn số nguyên tử trong vũ trụ quan sát được. Không thể duyệt hết mọi nước đi như cờ vua. Cần mạng nơ-ron đánh giá vị trí bàn cờ và chọn nước đi tốt.
Nhưng mạng nơ-ron tuyến tính (linear network — mạng chỉ dùng phép nhân và cộng) không đủ mạnh: dù xếp bao nhiêu tầng, kết quả vẫn chỉ là một phép biến đổi tuyến tính đơn. Để mạng 13 tầng thực sự “sâu” — mỗi tầng học được đặc trưng phức tạp hơn tầng trước — cần hàm kích hoạt phi tuyến giữa các tầng.
Cách Hàm kích hoạt giải quyết vấn đề
Biểu diễn bàn cờ.Bàn cờ 19×19 được mã hóa thành tensor (mảng nhiều chiều) 19×19×48, trong đó 48 kênh chứa thông tin: vị trí quân đen/trắng, lịch sử 8 nước gần nhất, số khí (liberty — ô trống liền kề nhóm quân), và thông tin lượt đi.
Mạng chính sách (policy network) 13 tầng CNN + ReLU. Tầng đầu dùng bộ lọc 5×5 với 192 kênh, các tầng tiếp theo dùng 3×3 với 192 kênh. Sau mỗi tầng tích chập, ReLU kích hoạt: f(x) = max(0, x). ReLU loại bỏ giá trị âm, giữ nguyên giá trị dương — tạo tính phi tuyến (nonlinearity) nhưng không gây triệt tiêu gradient (vanishing gradient — gradient quá nhỏ khi lan truyền ngược) như sigmoid hay tanh ở tầng sâu. Đầu ra qua softmax cho xác suất mỗi nước đi.
Mạng giá trị (value network) dùng ReLU + tanh ở đầu ra. Kiến trúc tương tự mạng chính sách nhưng tầng cuối là một nơ-ron duy nhất với hàm tanh: f(x) = (e^x - e^{-x}) / (e^x + e^{-x}), cho giá trị từ -1 đến +1 — biểu diễn xác suất thắng của bên đang đi. Tanh phù hợp vì kết quả ván cờ là liên tục từ thua (-1) đến thắng (+1).
Kết hợp với MCTS (Monte Carlo Tree Search — tìm kiếm cây Monte Carlo). Mạng chính sách thu hẹp không gian tìm kiếm: chỉ khám phá nước đi có xác suất cao. Mạng giá trị đánh giá vị trí mà không cần mô phỏng đến cuối ván. Cả hai mạng cần hàm kích hoạt phi tuyến để học các đặc trưng bàn cờ phức tạp qua 13 tầng sâu.
Con số thật
- Mạng chính sách dự đoán nước đi chuyên gia với độ chính xác 57,0% — vượt xa mọi hệ thống trước đó [1]
- AlphaGo thắng 99,8% khi đấu với các chương trình cờ vây khác [1]
- Thắng Lee Sedol (9 đẳng) 4-1 vào tháng 3/2016 — lần đầu AI chiến thắng kỳ thủ cờ vây chuyên nghiệp [3]
- AlphaGo Zero (2017) dùng kiến trúc tương tự, tự học từ số 0, đánh bại phiên bản gốc 100-0 [2]
Nếu không có Hàm kích hoạt, app sẽ ra sao?
Nếu dùng hàm kích hoạt sigmoid thay ReLU trong 13 tầng CNN, gradient sẽ bị triệt tiêu (vanishing gradient) ở các tầng sâu — mạng không thể học được đặc trưng phức tạp của bàn cờ. Nếu không có hàm kích hoạt nào, 13 tầng sẽ sụp thành một phép biến đổi tuyến tính đơn, mất hoàn toàn khả năng biểu diễn.
Sự kết hợp ReLU (cho tầng ẩn — gradient ổn định) và tanh (cho đầu ra giá trị — phạm vi [-1, 1]) là lựa chọn thiết kế quan trọng giúp AlphaGo đạt được hiệu năng đột phá, mở ra kỷ nguyên AI chinh phục các bài toán tưởng chừng bất khả thi.