Vectors & Matrices
Vector là mũi tên, ma trận là máy biến hình
Bạn vẽ một mũi tên chỉ về phía đông bắc, rồi nhân nó với một bảng 4 số xếp vuông 2x2. Chuyện gì có thể xảy ra với mũi tên?
Vector là mũi tên. Ma trận biến đổi mũi tên.
Bạn vẽ một mũi tên trên giấy ô vuông, gốc đặt tại O, ngọn chỉ về một điểm bất kỳ. Hai con số [a, b] cho biết mũi tên đi sang phải bao nhiêu và lên trên bao nhiêu. Mũi tên có hai số như vậy được gọi là vector. Vậy thôi. Không có gì phức tạp.
Bây giờ thêm một bảng 4 ô vuông. Bỏ một mũi tên vào bảng đó, mũi tên khác chui ra. Mũi tên mới có thể bị xoay, kéo dài, lật gương, hay nghiêng đi. Bảng 4 số ấy gọi là ma trận 2x2. Nói cách khác, ma trận là một chiếc máy biến hình. Bài này bạn sẽ tự tay chơi với cái máy đó.
Một mũi tên. Hai số: sang phải bao nhiêu, lên trên bao nhiêu.
Bảng số 2x2. Một máy biến hình. Bỏ mũi tên vào, mũi tên khác ra.
Dữ liệu là mũi tên. Mô hình là chuỗi ma trận biến đổi mũi tên từ đầu vào sang câu trả lời.
Hình minh họa
Sân chơi 1: Kéo hai mũi tên, xem chúng đồng ý đến đâu
Kéo đầu mũi tên xanh (a) hoặc đỏ (b). Thanh tích vô hướng cho bạn biết hai mũi tên đang cùng hướng (số dương), vuông góc (bằng 0), hay ngược hướng (số âm).
Sân chơi 2: Cho ngôi nhà chui qua máy biến hình 2x2
Đây là một ngôi nhà nhỏ làm từ 5 điểm. Gõ 4 con số vào ma trận, hoặc bấm một preset, rồi xem ngôi nhà và lưới nền biến đổi tức thì. Mỗi con số bạn gõ vào sẽ kéo cả không gian theo.
Hai cột của ma trận chính là nơi vector đơn vị e1 và e2 sẽ bay đến sau phép biến đổi.
Sân chơi 3: Cộng hai vector, nhân vector với một số
Dùng thanh trượt để điều chỉnh u, v và hằng số nhân. Mũi tên tổng u + v đi theo quy tắc đầu-đuôi: đặt đuôi của v vào ngọn của u, rồi vẽ một mũi tên mới từ gốc tới ngọn cuối.
k âm lật ngược. k = 0 co về gốc. k > 1 kéo dài.
Quy tắc cộng vector: [a, b] + [c, d] = [a + c, b + d]. Cộng từng chiều độc lập. Hiện tại: u + v = [2.0 + 0.0, 0.0 + 2.0] = [2.0, 2.0].
Bạn vừa nghịch ba thao tác cơ bản: cộng vector, nhân vô hướng, tích vô hướng. Giờ hãy tách ra từng bước để hiểu kỹ từng phép.
Cộng vector = cộng từng thành phần. Ví dụ: [2, 1] + [1, 3] = [2+1, 1+3] = [3, 4]. Hình học: đặt đuôi của vector thứ hai vào ngọn của vector thứ nhất, vẽ mũi tên từ gốc tới ngọn cuối.
Ứng dụng: khi bạn di chuyển trong game, mỗi frame cộng vector vận tốc vào vị trí hiện tại. Đó chính là phép cộng vector.
Bạn có vector u = [3, 4] và muốn tính 2·u. Đáp án là?
Trước khi kéo thử: ma trận M = [[0, -1], [1, 0]] nhân với vector [1, 0] sẽ ra gì? (Gợi ý: cột 1 của M cho biết [1, 0] bay đến đâu.)
Hai vector [3, 0] và [0, 5] có tích vô hướng bằng bao nhiêu? Và chúng tạo với nhau góc gì?
Giải thích
Bây giờ bạn đã thấy vector và ma trận hoạt động ra sao. Phần này đóng gói lại thành ngôn ngữ toán, kèm hình dung song song, để con số không biến lại thành mớ rối.
Công thức tích vô hướng (một trong hai công thức duy nhất của bài)
Nói bằng tiếng Việt: “nhân cặp đầu, nhân cặp sau, cộng hai tích lại”. Kết quả là một con số duy nhất cho biết hai mũi tên đang đồng ý (dương lớn), vuông góc (bằng 0), hay phản đối (âm).
Hai mũi tên cùng hướng. Spotify gợi ý: hai bài hát giống nhau.
Vuông góc. Không liên quan nhau. Chẳng nói gì được về nhau.
Ngược hướng. Ví dụ: “thích rock” và “ghét rock” là hai vector đối nghịch.
Công thức nhân ma trận với vector (công thức thứ hai, và là công thức cuối)
Nói bằng tiếng Việt: “thành phần mới = hàng trên chấm với vector, hàng dưới chấm với vector”. Nói cách khác, mỗi thành phần mới là một tích vô hướng. Ma trận thực chất chỉ là “hai tích vô hướng đóng gói lại”.
Bốn ma trận phổ biến
(1, 0) bay đến (0, 1). (0, 1) bay đến (-1, 0).
Cả hai chiều nhân 2. Ảnh to gấp đôi.
Chiều x lật dấu. Ảnh lật trái-phải.
Điểm trên bị đẩy sang phải. Như chữ italic.
Từ 2D sang hàng nghìn chiều
Mọi thứ bạn vừa học ở 2D (vector có 2 số, ma trận có 4 ô) mở rộng thẳng lên nhiều chiều. Trong GPT-4, mỗi từ trở thành một vector 12.288 chiều, và các ma trận bên trong có kích thước 12.288 × 12.288. Quy tắc vẫn đúng: nhân từng cặp rồi cộng. Chỉ khác duy nhất ở số lượng. Chiều nào cũng gấp hàng nghìn lần so với 2D.
- Vector = mũi tên trong không gian. Hai số [a, b] cho biết sang phải bao nhiêu, lên trên bao nhiêu.
- Cộng vector = cộng từng cặp thành phần. Nhân với số k = kéo dài hoặc rút ngắn mũi tên k lần.
- Tích vô hướng = nhân cặp rồi cộng. Dương: cùng hướng. Bằng 0: vuông góc. Âm: ngược hướng.
- Ma trận 2x2 = 4 số gói gọn một phép biến đổi cả không gian. Hai cột cho biết vector cơ sở bay đến đâu.
- Mọi model AI (ChatGPT, Spotify, Google Photos) bên trong chỉ là chuỗi ma trận nhân với vector. Chỉ khác nhau ở số chiều.
Kiểm tra hiểu biết
Vector [3, 4] trong mặt phẳng đại diện cho mũi tên từ gốc O đi tới điểm nào?