ReLU Diagram
Sơ đồ ASCII Tổng hợp: Từ Điểm Dữ liệu đến Kích hoạt ReLU¶
Sơ đồ này sẽ theo dõi một điểm dữ liệu duy nhất O(0.5, 1.0)
qua toàn bộ quá trình: Lớp Dense 1 -> Hàm kích hoạt ReLU 1.
Text Only
╔══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ SƠ ĐỒ DÒNG CHẢY HOÀN CHỈNH: BIẾN ĐỔI TUYẾN TÍNH & KÍCH HOẠT PHI TUYẾN (RELU) ║
╚══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
(BƯỚC 1: ĐẦU VÀO)
Một điểm dữ liệu trong không gian 2D
┌─────────────────────────┐
│ Input: O(x, y) │
│ [0.5, 1.0] │
└───────────┬─────────────┘
│
▼
╔══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ (BƯỚC 2: PHÉP BIẾN ĐỔI TUYẾN TÍNH - LỚP DENSE 1) - `output = v · W + b` ║
║ Mục tiêu: Chiếu điểm O từ không gian 2D sang không gian 3D mới. ║
╚══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────┴──────────────────────────────────────────┐
│ │
▼ (2a: Phép nhân Dot Product) ▼ (Thông số của Lớp)
┌───────────┐ ┌─────────────────────────┐ ┌─────────────────────────┐
│ [0.5, 1.0]│ │ Weights: W │ │ Biases: b │
└─────┬─────┘ │ (Ma trận 2x3) │ │ (Vector 1x3) │
│ │ [[ 0.2, 0.8,-0.5], │ │ [[2.0, 3.0, 0.5]] │
└───────────┐ │ [-0.9, 0.2, 0.4]] │ └─────────────┬─────────────┘
│ └─────────────────────────┘ │
▼ │
┌─────────────────┴──────────────────────────────────────────────────────────────────────┐ │
│ TÍNH TOÁN CHI TIẾT CHO TỪNG NEURON (Mỗi neuron tạo ra một chiều mới) │ │
│ │ │
│ Neuron 0: (0.5 * 0.2) + (1.0 * -0.9) = -0.8 <───┐ │ │
│ Neuron 1: (0.5 * 0.8) + (1.0 * 0.2) = 0.6 <───┼──┐ │ │
│ Neuron 2: (0.5 *-0.5) + (1.0 * 0.4) = 0.15 <───┼──┼──┐ │ │
└──────────────────────────────────────────────────┘ │ │ │ │
│ │ │ │
(Kết quả v · W) ▼ ▼ ▼ │
┌─────────────────────────┐ ┌───────┴───────┐ │
│ [-0.8, 0.6, 0.15] │ │ (2b: Cộng Bias) │ │
└───────────┬─────────────┘ └───────────────┘ │
└───────────────────────────────────► + ◄────────────────────────────┘
│
▼
┌─────────────────────────┐
│ dense1.output │ (Tọa độ trong không gian mới)
│ (Logits) │
│ [1.2, 3.6, 0.65] │
└───────────┬─────────────┘
│
▼
╔══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ (BƯỚC 3: PHÉP BIẾN ĐỔI PHI TUYẾN - HÀM KÍCH HOẠT RELU) - `output = max(0, x)` ║
║ Mục tiêu: "Bẻ gãy" không gian, loại bỏ các giá trị âm để tạo khả năng học phi tuyến. ║
╚══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────┴──────────────────────────────────────────┐
│ │
▼ (Hành động trên từng phần tử) ▼
┌─────────────────────────┐ ┌───────────────────────────┐
│ dense1.output │ │ activation1.output │
│ [1.2, 3.6, 0.65] │ │ (Đầu ra cuối cùng) │
└───────────┬─────────────┘ ├───────────────────────────┤
│ │ [1.2, 3.6, 0.65] │
└───────────┐ └───────────────────────────┘
▼
┌───────────────────────┴─────────────────────────┐
│ max(0, 1.2) --> 1.2 │
│ max(0, 3.6) --> 3.6 │
│ max(0, 0.65) --> 0.65 │
└─────────────────────────────────────────────────┘
* GHI CHÚ: Nếu đầu vào cho ReLU là [-0.8, 0.6, 0.15], đầu ra sẽ là [0.0, 0.6, 0.15].
* Chính phép biến đổi thành 0 này là hành động "bẻ gãy" không gian.
==============================================================================================================
TỔNG KẾT DÒNG CHẢY:
Input(2D) ──(Biến đổi tuyến tính)──> Logits(3D) ──("Bẻ gãy" bằng ReLU)──> Output của lớp ẩn(3D)
==============================================================================================================