Bỏ qua, tới nội dung chính
Luxara Academy

Bài archive — trả lời một câu hỏi

Vector là gì trong Deep Learning?

Tại sao mọi đầu vào của mạng nơ-ron lại được gom thành một vector số?

Một vector là một danh sách số có thứ tự cố định. Trong Deep Learning, mỗi mẫu dữ liệu — một ảnh đã làm phẳng, một câu đã chuyển thành chỉ số từ, hay ba con số mô tả thư rác — đều được biểu diễn bằng một vector x∈Rd\mathbf{x} \in \mathbb{R}^d.

Ví dụ cụ thể: ba đặc trưng của một email là số từ quảng cáo x1=2x_1 = 2, số link x2=0x_2 = 0, và cờ người gửi lạ x3=1x_3 = 1. Ta gom chúng thành x=(2, 0, 1)\mathbf{x} = (2,\,0,\,1). Độ dài d=3d = 3 nghĩa là mạng luôn nhận đúng ba số theo cùng một thứ tự; đổi thứ tự là đổi nghĩa.

Trong Python, cùng dữ liệu có thể là:

python
x = [2, 0, 1]
assert len(x) == 3

Phép nhân ma trận — lớp Linear trong PyTorch — được định nghĩa cho vector cột này: z=Wx+b\mathbf{z} = \mathbf{W}\mathbf{x} + \mathbf{b}. Nếu thiếu bước vector hóa, mỗi ô nhập liệu kiểu khác nhau buộc ta viết vòng lặp riêng cho từng đặc trưng, không tận dụng được GPU và khó huấn luyện hàng loạt.

Tóm lại: vector không phải thuật ngữ trang trí. Đó là cách chuẩn hóa mọi đầu vào thành cùng một cấu trúc toán học để một mạng nơ-ron có thể xử lý hàng nghìn mẫu song song.