Skip to content

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)
==============================================================================================================