Trắc nghiệm·Đề thi thật
VAIO 2026
Chọn câu
Câu 1
Trong suy diễn Logic vị từ bậc nhất (First-Order Logic), “Unification” (hợp nhất) được dùng để làm gì?
Unification tìm phép thế cho các biến để hai literal giống hệt nhau, ví dụ biến thành . Có phép thế này thì mới áp được Modus Ponens tổng quát hay Resolution trên logic vị từ.
Ôn lạiBài 9.2CNF và resolution: chứng minh mà không liệt kê hết
Đề thiVAIO 2026, câu 1
Câu 2
Sắp xếp các bước theo đúng thứ tự của một vòng lặp Gradient Descent khi huấn luyện hồi quy tuyến tính:
(1) Cập nhật tham số:
(2) Tính giá trị dự đoán cho toàn bộ (hoặc một batch) dữ liệu
(3) Tính gradient của hàm mất mát theo và :
(4) Khởi tạo trọng số và bias (thường ngẫu nhiên hoặc bằng 0)
(5) Tính hàm mất mát (ví dụ MSE) giữa và nhãn thật
Phải có tham số trước (4), dùng tham số để dự đoán (2), có dự đoán mới tính được loss (5), có loss mới lấy được gradient (3), cuối cùng mới cập nhật (1).
Ôn lạiBài 2.1Gradient descent
Đề thiVAIO 2026, câu 2
Câu 3
Với kernel đa thức . Giá trị và ý nghĩa của nó là:
, bình phương được 25. Giá trị này bằng tích vô hướng trong không gian đặc trưng bậc hai mà không cần tính , đó là kernel trick. Phương án A nói tới kernel , không phải kernel trong đề.
Ôn lạiBài 2.8Mẹo kernel
Đề thiVAIO 2026, câu 3
Câu 4
Một kho gồm văn bản. Văn bản dài 100 từ. Từ “transformer” xuất hiện 4 lần trong và có mặt trong 10 văn bản của kho. Từ “là” xuất hiện 10 lần trong và có mặt trong cả 1000 văn bản. Với và , TF-IDF của “transformer” và “là” trong lần lượt là:
TF của “transformer” là , IDF là , nên TF-IDF bằng 0.08. Từ “là” có mặt trong cả 1000 văn bản nên IDF bằng , TF-IDF bằng 0.
Đề thiVAIO 2026, câu 4
Câu 5
Câu mệnh đề tương đương với dạng chuẩn tắc hội (CNF) nào?
tương đương , nên thành . Phân phối vào được .
Ôn lạiBài 9.2CNF và resolution: chứng minh mà không liệt kê hết
Đề thiVAIO 2026, câu 5
Câu 6
Đoạn code dưới đây huấn luyện SVM kernel RBF trên dữ liệu có 2 đặc trưng với thang đo khác nhau (feature 1: 0-1, feature 2: 0-10000) nhưng độ chính xác thấp. Nguyên nhân nhiều khả năng nhất là gì?
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = SVC(kernel='rbf', C=1.0, gamma='scale')
model.fit(X_train, y_train)
print(model.score(X_test, y_test))Kernel RBF dựa vào khoảng cách Euclid. Đặc trưng thứ hai có thang tới 10000 nên gần như quyết định toàn bộ khoảng cách, đặc trưng thứ nhất bị bỏ qua. Cần chuẩn hóa (StandardScaler) trước khi đưa vào SVC.
Đề thiVAIO 2026, câu 6
Câu 7
Cho 7 điểm với và . Phát biểu nào đúng về hệ số tương quan Pearson () và Spearman () giữa và ?
tăng đơn điệu nên thứ hạng của và trùng nhau hoàn toàn, Spearman bằng 1. Quan hệ không phải đường thẳng nên Pearson nhỏ hơn 1 (khoảng 0.93).
Đề thiVAIO 2026, câu 7
Câu 8
Kết quả in ra là:
import numpy as np
y = np.array([3.0, 5.0, 10.0])
F = np.full_like(y, y.mean()) # mô hình khởi tạo F0
lr = 0.5
for m in range(2):
r = y - F # phần dư = gradient âm của MSE/2
h = r # giả sử cây hồi quy khớp đúng phần dư
F = F + lr * h
print(F.tolist())là trung bình 6. Vòng 1: phần dư , cộng lần được . Vòng 2: phần dư , cộng lần được .
Đề thiVAIO 2026, câu 8
Câu 9
Điều kiện nào để một hàm heuristic được gọi là “admissible” (chấp nhận được) trong thuật toán A*?
Admissible nghĩa là không bao giờ ước lượng quá chi phí thật còn lại: . Không cần bằng đúng ; cũng admissible nhưng khi đó A* chạy như UCS.
Đề thiVAIO 2026, câu 9
Câu 10
Hàm mất mát (cost function) phổ biến nhất dùng để huấn luyện hồi quy logistic là gì, và vì sao không dùng MSE như hồi quy tuyến tính?
Hồi quy logistic dùng binary cross-entropy. Ghép MSE với sigmoid cho hàm mất mát không lồi theo , gradient lại rất nhỏ khi sigmoid bão hòa; cross-entropy lồi và cho gradient gọn .
Đề thiVAIO 2026, câu 10
Câu 11
Xét một nút của cây quyết định trong bài toán phân loại nhị phân (hai lớp: lớp 1 và lớp 0). Gọi là tỉ lệ mẫu thuộc lớp 1 trong nút (); khi đó tỉ lệ mẫu thuộc lớp 0 là . Gini impurity của nút là , trong đó là tỉ lệ mẫu thuộc lớp trong nút và tổng lấy trên tất cả các lớp. Hàm gini(p) dưới đây nhận và trả về Gini impurity của nút, nhưng có lỗi. Lỗi ở đâu và sửa thế nào?
def gini(p):
return 1 - (p**2 + (1 - p))Hai lớp có tỉ lệ và , nên . Code quên bình phương số hạng .
Đề thiVAIO 2026, câu 11
Câu 12
ViT chia ảnh thành các patch không chồng lấn, phủ kín ảnh, rồi thêm đúng một CLS token. Số token đầu vào Transformer là bao nhiêu?
Mỗi chiều có patch, tổng patch, thêm một CLS token thành 197.
Đề thiVAIO 2026, câu 12
Câu 13
Một mô hình Seq2Seq được huấn luyện chỉ bằng teacher forcing đạt loss thấp, nhưng khi sinh câu dài thì một lỗi ở các token đầu kéo theo chuỗi lỗi phía sau. Hiện tượng và biện pháp phù hợp là:
Lúc huấn luyện, decoder luôn nhận token đúng (teacher forcing); lúc sinh nó phải nhận dự đoán của chính mình, nên một lỗi đầu kéo theo chuỗi lỗi. Đó là exposure bias. Scheduled sampling cho mô hình dần quen với dự đoán của mình ngay khi học.
Ôn lạiBài 6.5Teacher forcing: đáp án chỉ được đưa từ bước trướcBài 6.5Free-running: tự ăn lại token vừa sinh
Đề thiVAIO 2026, câu 13
Câu 14
Sắp xếp các bước theo đúng thứ tự của Value Iteration để tìm hàm giá trị tối ưu cho một MDP đã biết đầy đủ mô hình :
(1) Lặp lại việc cập nhật cho toàn bộ trạng thái nhiều vòng cho đến khi thay đổi dưới một ngưỡng (hội tụ)
(2) Suy ra chính sách tối ưu từ đã hội tụ
(3) Với mỗi trạng thái , cập nhật
(4) Khởi tạo (hoặc giá trị tuỳ ý) cho mọi trạng thái
Khởi tạo (4), cập nhật Bellman cho từng trạng thái (3), lặp tới khi hội tụ (1), rồi mới suy ra chính sách tham lam từ (2).
Đề thiVAIO 2026, câu 14
Câu 15
Đoạn code huấn luyện PyTorch dưới đây chạy không báo lỗi, nhưng quá trình huấn luyện không ổn định: loss dao động, có lúc tăng vọt, dù learning rate đã được chọn hợp lý. Lỗi nằm ở đâu?
for epoch in range(num_epochs):
for x_batch, y_batch in dataloader:
output = model(x_batch)
loss = criterion(output, y_batch)
loss.backward()
optimizer.step()
print("done")PyTorch cộng dồn gradient vào .grad sau mỗi lần backward(). Không gọi optimizer.zero_grad() thì gradient của các batch cũ cứ cộng vào, bước cập nhật ngày càng lớn và loss dao động.
Đề thiVAIO 2026, câu 15
Câu 16
Trên một kho văn bản nhỏ có nhiều thuật ngữ y khoa hiếm, nhóm cần embedding tốt cho các từ hiếm. So sánh CBOW và Skip-gram, lựa chọn hợp lý là:
Skip-gram lấy từ tâm dự đoán từng từ ngữ cảnh, nên mỗi lần từ hiếm xuất hiện nó sinh nhiều cặp huấn luyện riêng. CBOW gộp trung bình ngữ cảnh để đoán từ tâm, hợp với từ thường gặp và chạy nhanh hơn.
Đề thiVAIO 2026, câu 16
Câu 17
Sắp xếp các bước theo đúng thứ tự của phương pháp Monte Carlo để ước lượng hàm giá trị theo một chính sách cố định:
(1) Cho agent chạy theo chính sách để sinh ra một episode đầy đủ (từ trạng thái đầu đến trạng thái kết thúc)
(2) Với mỗi trạng thái xuất hiện trong episode, tính tổng phần thưởng chiết khấu (return) kể từ thời điểm đó đến hết episode
(3) Ước lượng bằng trung bình cộng của tất cả các return đã quan sát được cho trạng thái
(4) Cộng dồn các giá trị return quan sát được cho từng trạng thái qua nhiều episode
Sinh một episode (1), tính return cho từng trạng thái trong episode (2), cộng dồn qua nhiều episode (4), rồi lấy trung bình làm (3).
Đề thiVAIO 2026, câu 17
Câu 18
K-means++ cải tiến K-means thông thường ở điểm nào?
K-means++ chỉ đổi bước khởi tạo: tâm tiếp theo được chọn với xác suất tỉ lệ , bình phương khoảng cách tới tâm gần nhất đã chọn. Các tâm ban đầu nằm tản ra nên ít rơi vào nghiệm kém. Số cụm vẫn phải chọn trước.
Ôn lạiBài 2.10K-Means
Đề thiVAIO 2026, câu 18
Câu 19
Dữ liệu đã được trừ trung bình. Đặc trưng độc lập với nhãn, có phương sai 100. Đặc trưng chỉ nhận ở lớp A và ở lớp B; hai lớp cân bằng. Hiệp phương sai giữa và bằng 0. Áp dụng PCA (Phân tích thành phần chính) trên ma trận hiệp phương sai, không chuẩn hóa phương sai và chỉ giữ một thành phần chính. Điều gì xảy ra?
Cả hai đặc trưng đều có hiệp phương sai bằng 0, nên PCA chọn trục có phương sai lớn nhất là (100) thay vì (1). PCA không nhìn nhãn, nên một thành phần chính giữ và làm mất thông tin phân biệt lớp nằm ở .
Đề thiVAIO 2026, câu 19
Câu 20
Đoạn code tính Cross-Entropy loss thủ công cho 1 mẫu phân loại 3 lớp với nhãn thật là lớp 1 (index bắt đầu từ 0) và xác suất dự đoán y_pred = [0.2, 0.5, 0.3]. Giá trị loss in ra (làm tròn 3 chữ số) là bao nhiêu?
import numpy as np
y_pred = np.array([0.2, 0.5, 0.3])
true_class = 1
loss = -np.log(y_pred[true_class])
print(round(loss, 3))Cross-entropy cho một mẫu là . np.log là log tự nhiên.
Ôn lạiBài 0.4Vì sao loss có logBài 2.3Hàm mất mát: cross-entropy
Đề thiVAIO 2026, câu 20
Câu 21
Áp dụng Non-Maximum Suppression (NMS) với ngưỡng IoU = 0.5 cho 3 hộp cùng lớp, đã sắp xếp theo confidence giảm dần: Box1 (conf cao nhất), Box2 (IoU với Box1 = 0.7), Box3 (IoU với Box1 = 0.3, IoU với Box2 = 0.2). Theo đoạn code NMS chuẩn dưới đây, những hộp nào được giữ lại?
def nms(boxes_sorted_by_conf, iou_fn, threshold=0.5):
keep = []
remaining = boxes_sorted_by_conf[:]
while remaining:
current = remaining.pop(0)
keep.append(current)
remaining = [b for b in remaining if iou_fn(current, b) < threshold]
return keepBox1 được giữ trước. Box2 có IoU 0.7 với Box1, không nhỏ hơn 0.5 nên bị loại. Box3 có IoU 0.3 với Box1 nên ở lại, rồi được giữ ở vòng sau.
Đề thiVAIO 2026, câu 21
Câu 22
Hệ thống phải vẽ mask riêng cho từng con bò trong ảnh, kể cả khi nhiều con bò cùng lớp đứng sát nhau. Bài toán nào phù hợp nhất?
Cần một mask riêng cho từng con bò dù cùng lớp: đó là instance segmentation. Semantic segmentation chỉ gán lớp cho từng pixel, mấy con bò đứng sát nhau sẽ dính thành một vùng.
Đề thiVAIO 2026, câu 22
Câu 23
Sắp xếp theo đúng thứ tự các bước xử lý dữ liệu từ đầu vào qua khối encoder ĐẦU TIÊN của Transformer (kiến trúc gốc, Post-LN):
(1) Kết nối tắt (residual) cộng với đầu vào rồi Layer Normalization (Add và Norm)
(2) Embedding đầu vào cộng với Positional Encoding
(3) Multi-Head Self-Attention trên chuỗi đầu vào
(4) Kết nối tắt (residual) cộng với đầu ra FFN rồi Layer Normalization (Add và Norm) lần 2
(5) Feed-Forward Network (2 lớp fully-connected với activation ở giữa)
Embedding cộng positional encoding (2), self-attention (3), Add và Norm (1), FFN (5), Add và Norm lần hai (4). Post-LN đặt LayerNorm sau phép cộng residual.
Đề thiVAIO 2026, câu 23
Câu 24
Một lớp convolution thường có 16 kênh đầu vào, 32 kênh đầu ra, kernel và một bias cho mỗi kênh đầu ra. Tổng số tham số học được của lớp là bao nhiêu?
Mỗi kênh ra có kernel trọng số, 32 kênh ra là 4608, thêm 32 bias được 4640.
Đề thiVAIO 2026, câu 24
Câu 25
Sau khi thực hiện một hành động, tác nhân nhận phần thưởng và chuyển đến trạng thái chưa kết thúc . Tại , hai hành động khả thi có giá trị lần lượt là 6 và 2; chính sách khám phá đã chọn hành động có . Với hệ số chiết khấu , mục tiêu cập nhật (update target) một bước của Q-learning và SARSA lần lượt là bao nhiêu?
Q-learning dùng ở trạng thái sau: . SARSA dùng hành động thật sự được chọn: .
Đề thiVAIO 2026, câu 25
Câu 26
Đoạn code dưới đây cài đặt “inverted dropout” cho tầng ẩn với xác suất giữ lại keep_prob lúc huấn luyện, nhưng thiếu một bước để giá trị kỳ vọng đầu ra không đổi so với lúc không dùng dropout. Cần bổ sung gì?
import numpy as np
def dropout_forward(a, keep_prob):
mask = (np.random.rand(*a.shape) < keep_prob)
a = a * mask
return aMỗi nơ-ron được giữ với xác suất keep_prob, nên kỳ vọng đầu ra chỉ còn keep_prob * a. Chia cho keep_prob lúc huấn luyện đưa kỳ vọng về như cũ, nhờ vậy lúc suy luận không phải nhân thêm gì.
Đề thiVAIO 2026, câu 26
Câu 27
Sự khác biệt cơ bản giữa phương pháp Temporal Difference (TD, ví dụ Q-learning) và Monte Carlo trong việc ước lượng hàm giá trị là gì?
TD cập nhật ngay sau một bước bằng ước lượng của trạng thái kế tiếp (bootstrapping). Monte Carlo phải chờ hết episode để có return thật. Phương án D đảo ngược hai vai trò.
Đề thiVAIO 2026, câu 27
Câu 28
Sắp xếp các bước theo đúng thứ tự để tính hệ số tương quan Pearson giữa hai biến từ dữ liệu thô:
(1) Tính trung bình cộng của () và của ()
(2) Tính
(3) Tính các tổng:
(4) Tính mẫu số từ các tổng bình phương độ lệch ở bước trước
(5) Tính độ lệch của từng điểm so với trung bình: và
Cần trung bình (1) để tính độ lệch (5), cần độ lệch để tính các tổng (3), có tổng mới có mẫu số (4) và cuối cùng là (2).
Đề thiVAIO 2026, câu 28
Câu 29
Dữ liệu 2 chiều đã được trừ trung bình có ma trận hiệp phương sai . Thành phần chính thứ nhất giữ lại bao nhiêu phần trăm tổng phương sai?
Trị riêng của là và . Thành phần chính thứ nhất giữ tổng phương sai.
Đề thiVAIO 2026, câu 29
Câu 30
Một mô hình có Precision = 0.8 và Recall = 0.4. F1-score xấp xỉ bao nhiêu?
. Trung bình điều hòa kéo về phía số nhỏ hơn.
Ôn lạiBài 1.5Precision, recall và F1 nhìn những nhóm khác nhau
Đề thiVAIO 2026, câu 30
Câu 31
Một mạng chỉ gồm ba lớp tuyến tính liên tiếp, mỗi lớp có thể có bias, không có activation hay phép toán nào khác. Xét hàm từ đầu vào tới đầu ra, mạng này tương đương với gì?
Ghép các hàm affine vẫn ra một hàm . Không có activation thì xếp bao nhiêu lớp cũng chỉ bằng một lớp tuyến tính.
Đề thiVAIO 2026, câu 31
Câu 32
Trong LSTM, forget gate có vai trò gì?
Forget gate nhân từng thành phần vào : gần 1 là giữ, gần 0 là xóa. Phương án A là output gate, phương án C là input gate.
Đề thiVAIO 2026, câu 32
Câu 33
Dữ liệu 2D gồm hai vành tròn đồng tâm. K-means với cắt dữ liệu thành hai nửa trái và phải thay vì tách hai vành. Giải thích và lựa chọn phù hợp hơn là:
K-means gán mỗi điểm cho tâm gần nhất, nên ranh giới là đường trung trực và mỗi cụm là một vùng lồi. Hai vành tròn lồng nhau không tách được bằng vùng lồi. DBSCAN nối các điểm gần nhau theo mật độ nên đi theo được từng vành.
Đề thiVAIO 2026, câu 33
Câu 34
Trong hồi quy logistic, biên quyết định (decision boundary) ứng với ngưỡng xác suất 0.5 tương ứng với điều kiện nào trên tổ hợp tuyến tính ?
đúng khi , nên biên quyết định là siêu phẳng .
Đề thiVAIO 2026, câu 34
Câu 35
Kết quả in ra xấp xỉ là:
import torch
import torch.nn as nn
x = torch.tensor([[1.0, 3.0],
[2.0, 2.0]]) # (batch = 2, đặc trưng = 2)
ln = nn.LayerNorm(2, elementwise_affine=False)
bn = nn.BatchNorm1d(2, affine=False) # đang ở chế độ train
print(ln(x).round(decimals=2), bn(x).round(decimals=2))LayerNorm chuẩn hóa theo từng hàng: thành , còn có phương sai 0 nên thành . BatchNorm chuẩn hóa theo từng cột: cột thành , cột thành , ghép lại .
Đề thiVAIO 2026, câu 35
Câu 36
So sánh chi phí bộ nhớ giữa BFS và DFS khi tìm kiếm trên cây có hệ số nhánh và độ sâu lời giải (hoặc giới hạn độ sâu cho DFS)?
BFS phải giữ cả biên của tầng sâu nhất, cỡ nút. DFS chỉ giữ đường đi hiện tại cùng các nút anh em chưa mở, cỡ . Vì vậy DFS tiết kiệm bộ nhớ hơn nhiều.
Đề thiVAIO 2026, câu 36
Câu 37
Trong sàng lọc ảnh lỗi sản phẩm, yêu cầu ưu tiên là bỏ sót càng ít ảnh lỗi càng tốt. Các cảnh báo nhầm sẽ được nhân viên kiểm tra lại. Metric nào trực tiếp đo tỷ lệ ảnh lỗi thật được phát hiện?
Tỉ lệ ảnh lỗi thật được phát hiện là của lớp lỗi, tức recall của lớp lỗi. Precision đo trong số ảnh bị báo lỗi có bao nhiêu ảnh lỗi thật.
Ôn lạiBài 1.5Precision, recall và F1 nhìn những nhóm khác nhau
Đề thiVAIO 2026, câu 37
Câu 38
Đoạn code tính trọng số attention cho ma trận có shape (giả sử đã có hàm softmax theo hàng). Khi lớn (ví dụ 64 thay vì 4), trọng số attention gần như one-hot (softmax bão hoà, gradient lan truyền ngược gần 0). Cần sửa thế nào?
import numpy as np
def attention_score(Q, K):
scores = Q @ K.T # (n, n)
weights = softmax(scores)
return weightsMỗi thành phần của và có phương sai cỡ 1, nên tích vô hướng có phương sai cỡ . Với , điểm số lớn làm softmax bão hòa. Chia cho đưa phương sai về cỡ 1, đúng như scaled dot-product attention.
Đề thiVAIO 2026, câu 38
Câu 39
Trong MDP, chính sách (policy) được định nghĩa là gì?
Chính sách là quy tắc chọn hành động: nếu tất định, hoặc là xác suất chọn ở nếu ngẫu nhiên. Ma trận chuyển trạng thái thuộc về môi trường, không phải chính sách.
Đề thiVAIO 2026, câu 39
Câu 40
Nguyên nhân chính gây ra hiện tượng “vanishing gradient” khi huấn luyện mạng nơ-ron sâu dùng hàm kích hoạt sigmoid hoặc tanh ở mọi tầng là gì?
Đạo hàm sigmoid lớn nhất là 0.25, đạo hàm tanh lớn nhất là 1, và cả hai gần 0 khi bão hòa. Chain rule nhân các số này qua từng tầng, nên gradient ở các tầng đầu co về 0 theo hàm mũ.
Ôn lạiBài 3.3Qua nhiều lớp: thang đo và khởi tạoBài 0.6Quy tắc chuỗi
Đề thiVAIO 2026, câu 40
Câu 41
Sắp xếp các bước theo đúng thứ tự của thuật toán Minimax với cắt tỉa Alpha-Beta khi duyệt cây trò chơi từ gốc (lượt Max):
(1) Khi đến nút lá (hoặc giới hạn độ sâu), trả về giá trị hàm đánh giá
(2) Đệ quy xuống các nút con, đổi vai trò Max/Min ở mỗi tầng
(3) Khi một nút con trả về giá trị: cập nhật giá trị tốt nhất của nút hiện tại cùng (nút Max) hoặc (nút Min); nếu điều kiện cắt tỉa được thoả mãn thì bỏ qua các nút con còn lại
(4) Chọn nước đi tại gốc ứng với nút con cho giá trị tốt nhất
(5) Khởi tạo tại nút gốc
Khởi tạo ở gốc (5), đệ quy xuống con (2), tới lá thì trả giá trị (1), khi con trả về thì cập nhật và kiểm tra cắt tỉa (3), cuối cùng chọn nước ở gốc (4).
Đề thiVAIO 2026, câu 41
Câu 42
Trong mô hình YOLOv1, mỗi ô lưới (grid cell) dự đoán hộp giới hạn (bounding box). Giả sử hai vật thể thuộc hai lớp khác nhau có tâm nằm trong cùng một ô lưới. Thành phần nào trong dự đoán của ô lưới không thể được biểu diễn độc lập cho từng hộp?
Trong YOLOv1, mỗi ô dự đoán hộp, mỗi hộp có và confidence riêng, nhưng cả ô chỉ có một phân bố xác suất lớp. Hai vật khác lớp có tâm trong cùng một ô thì không biểu diễn được cả hai lớp.
Ôn lạiBài 5.5Các họ detector
Đề thiVAIO 2026, câu 42
Câu 43
Sắp xếp các bước theo đúng thứ tự của tìm kiếm theo chiều sâu (Depth-First Search - DFS) dùng đệ quy/ngăn xếp trên một đồ thị:
(1) Nếu nút đó là đích, trả về đường đi đã tìm được
(2) Lấy nút ở đỉnh ngăn xếp ra để xét, đánh dấu đã thăm
(3) Đẩy các nút lân cận chưa thăm của nút hiện tại vào ngăn xếp
(4) Lặp lại việc lấy đỉnh ngăn xếp cho đến khi tìm thấy đích hoặc ngăn xếp rỗng
(5) Khởi tạo ngăn xếp (stack) chỉ chứa nút bắt đầu
Khởi tạo ngăn xếp với nút đầu (5), lấy đỉnh ra và đánh dấu đã thăm (2), kiểm tra đích (1), đẩy các nút kề chưa thăm (3), lặp lại (4).
Đề thiVAIO 2026, câu 43
Câu 44
Sắp xếp các bước theo đúng thứ tự trong một vòng huấn luyện mô hình ngôn ngữ RNN bằng truncated BPTT trên một đoạn dài token:
(1) Cắt (clip) norm của gradient nếu vượt ngưỡng
(2) Lan truyền ngược qua bước thời gian của đoạn
(3) Chạy RNN tuần tự qua token, tính các trạng thái ẩn
(4) Tính cross-entropy tại mỗi bước giữa dự đoán và token kế tiếp
(5) Cập nhật tham số, rồi giữ (đã detach) làm trạng thái đầu cho đoạn tiếp theo
Chạy RNN qua đoạn (3), tính cross-entropy từng bước (4), lan truyền ngược trong đoạn (2), cắt norm gradient (1), cập nhật rồi detach để đoạn sau không lan truyền ngược về đoạn này (5).
Đề thiVAIO 2026, câu 44
Câu 45
Ảnh rộng 640, cao 480 được thu nhỏ đồng đều để vừa khung mà không méo ảnh, rồi thêm viền trên và dưới bằng nhau. Điểm trong hệ tọa độ liên tục của ảnh gốc chuyển thành điểm nào? Gốc tọa độ ở góc trên trái; bỏ qua quy ước tâm pixel.
Tỉ lệ thu nhỏ là , nên ảnh thành , mỗi viền trên dưới rộng 40. Điểm thành , cộng viền trên được .
Đề thiVAIO 2026, câu 45
Câu 46
Xét hai tình huống: (1) cây quyết định sâu, lỗi huấn luyện gần 0 nhưng lỗi kiểm định cao và dao động giữa các lần chia dữ liệu; (2) cây quyết định độ sâu 1 (stump), lỗi huấn luyện và lỗi kiểm định đều cao. Phương pháp ensemble phù hợp lần lượt là:
Tình huống (1) là variance cao: bagging hay random forest lấy trung bình nhiều cây sâu để giảm dao động. Tình huống (2) là bias cao: boosting ghép nhiều stump, cây sau sửa lỗi cây trước.
Ôn lạiBài 2.6Vì sao trung bình giúp íchBài 2.7Ý tưởng: cộng dồn những bản vá
Đề thiVAIO 2026, câu 46
Câu 47
Sắp xếp các bước theo đúng thứ tự trong pipeline phát hiện đối tượng của YOLO (You Only Look Once) phiên bản cơ bản:
(1) Chia ảnh đầu vào thành lưới ô vuông (grid)
(2) Lọc bỏ các hộp có điểm tin cậy thấp hơn ngưỡng đặt trước
(3) Áp dụng Non-Maximum Suppression (NMS) để loại các hộp trùng lặp cho cùng một đối tượng
(4) Mỗi ô lưới dự đoán đồng thời các hộp giới hạn (bounding box), điểm tin cậy (confidence) và xác suất lớp trong một lượt truyền tiến (forward pass) duy nhất qua mạng CNN
(5) Xuất ra danh sách các hộp giới hạn cuối cùng cùng nhãn lớp tương ứng
Chia ảnh thành lưới (1), một lượt forward dự đoán hộp, confidence và lớp (4), lọc theo ngưỡng confidence (2), NMS (3), xuất kết quả (5).
Ôn lạiBài 5.5Các họ detectorBài 5.5NMS: bỏ những box trùng dự đoán
Đề thiVAIO 2026, câu 47
Câu 48
Đoạn code kiểm tra tính thoả mãn được (satisfiability) của công thức CNF bằng cách thử toàn bộ phép gán chân trị (brute-force). Đoạn code có lỗi khiến nó báo sai “UNSAT” (không thoả mãn) cho nhiều công thức thực ra thoả mãn được, ví dụ clauses = [[1, 2], [-1, -2]] (thoả mãn với x1=True, x2=False). Lỗi nằm ở đâu?
from itertools import product
def is_satisfiable(clauses, variables):
for values in product([True, False], repeat=len(variables)):
assignment = dict(zip(variables, values))
satisfied = True
for clause in clauses:
clause_value = all(
assignment[abs(lit)] if lit > 0 else not assignment[abs(lit)]
for lit in clause
)
if not clause_value:
satisfied = False
if satisfied:
return True, assignment
return False, NoneMột clause là phép tuyển (OR) các literal, nên chỉ cần một literal đúng là clause đúng. Code dùng all(...) nên đòi mọi literal cùng đúng; cần đổi thành any(...).
Ôn lạiBài 9.2CNF và resolution: chứng minh mà không liệt kê hết
Đề thiVAIO 2026, câu 48
Câu 49
Mô hình CNN dưới đây báo lỗi “shape mismatch” (RuntimeError) tại lớp Linear khi forward ảnh sau 2 lớp Conv+Pool. Lỗi nhiều khả năng nhất do đâu?
import torch
import torch.nn as nn
class SimpleCNN(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv2d(3, 8, 3, padding=1)
self.pool = nn.MaxPool2d(2, 2)
self.conv2 = nn.Conv2d(8, 16, 3, padding=1)
self.fc = nn.Linear(16 * 32 * 32, 10)
def forward(self, x):
x = self.pool(torch.relu(self.conv1(x)))
x = self.pool(torch.relu(self.conv2(x)))
x = x.view(x.size(0), -1)
return self.fc(x)Hai lần MaxPool2d(2, 2) đưa về rồi , tensor trước lớp Linear có phần tử, không phải .
Đề thiVAIO 2026, câu 49
Câu 50
Sắp xếp các bước theo đúng thứ tự khi Minimax (không cắt tỉa) tính giá trị cho một cây trò chơi có các tầng Max (gốc) - Min - Max - Min, với các nút lá nằm ngay dưới tầng Min cuối cùng, bắt đầu từ việc tính giá trị các nút lá:
(1) Lan truyền tiếp lên gốc (nếu còn tầng), lặp lại việc lấy max/min tuỳ theo lượt chơi của tầng đó
(2) Tại các nút Min ở tầng ngay trên lá, lấy giá trị nhỏ nhất trong các nút con
(3) Tính giá trị (điểm số) tại các nút lá bằng hàm đánh giá (evaluation function) hoặc kết quả trận đấu thực tế
(4) Chọn nước đi tại gốc tương ứng với nhánh con có giá trị bằng giá trị tối ưu vừa tính được ở gốc
(5) Tại các nút Max ở tầng tiếp theo, lấy giá trị lớn nhất trong các nút con (là các nút Min vừa tính)
Minimax tính từ dưới lên: giá trị lá (3), nút Min lấy nhỏ nhất (2), nút Max lấy lớn nhất (5), lặp lên tới gốc (1), chọn nước đi (4).
Đề thiVAIO 2026, câu 50
Câu 51
So với K-means, Gaussian Mixture Model (GMM) khác biệt cơ bản ở điểm nào?
GMM coi dữ liệu sinh từ phân phối Gauss và cho mỗi điểm một xác suất thuộc từng thành phần (gán mềm), học bằng EM. K-means gán cứng vào tâm gần nhất. Phương án A đảo ngược hai vai trò.
Đề thiVAIO 2026, câu 51
Câu 52
Đoạn code tokenize một câu tiếng Anh đơn giản bằng split() mặc định. Với câu "AI is amazing!", kết quả tokens in ra là gì?
sentence = "AI is amazing!"
tokens = sentence.split()
print(tokens)split() không tham số chỉ tách theo khoảng trắng, nên dấu chấm than dính vào từ cuối: amazing!.
Đề thiVAIO 2026, câu 52
Câu 53
Ba biến đều có miền giá trị {0, 1}, với các ràng buộc nhị phân và . Áp dụng thuật toán kiểm tra nhất quán cung AC-3 (Arc Consistency Algorithm 3) cho các ràng buộc này đến khi ổn định. Kết quả nào đúng?
Với trên miền , giá trị nào của cũng có một giá trị khác của đi kèm, nên mọi cung đều đã nhất quán và AC-3 không loại được gì. Nhưng ba biến đôi một khác nhau mà chỉ có hai giá trị thì vô nghiệm. AC-3 chỉ kiểm từng cặp biến nên không phát hiện được.
Đề thiVAIO 2026, câu 53
Câu 54
Sắp xếp các bước theo đúng thứ tự của một vòng lặp huấn luyện dùng SGD với Momentum, cập nhật cho MỖI tham số:
(1) Tính gradient của hàm mất mát tại tham số hiện tại
(2) Cập nhật tham số theo hướng vận tốc:
(3) Lặp lại cho batch tiếp theo, dùng vừa tính làm vận tốc cũ () ở bước sau
(4) Cập nhật vận tốc: (hoặc tuỳ biến thể)
Tính gradient (1), cập nhật vận tốc (4), cập nhật tham số theo vận tốc (2), sang batch sau (3).
Đề thiVAIO 2026, câu 54
Câu 55
Đoạn code tính độ tương đồng cosine giữa embedding trung bình của 2 câu (mean pooling word vectors) nhưng lỗi khi 1 câu chứa từ không có trong từ điển embedding (out-of-vocabulary). Cách sửa hợp lý nhất?
def sentence_vector(tokens, embeddings, dim=100):
vecs = [embeddings[t] for t in tokens]
return np.mean(vecs, axis=0)Gặp từ ngoài từ điển thì embeddings[t] ném KeyError. Bỏ qua từ đó hay thay bằng vector 0 (embeddings.get(t, np.zeros(dim))) vẫn giữ được câu. Cách hay hơn là dùng embedding theo subword như FastText.
Đề thiVAIO 2026, câu 55
Câu 56
So sánh BFS (Breadth-First Search) và DFS (Depth-First Search) về tính đầy đủ (completeness) và tối ưu (optimality) trên đồ thị hữu hạn với chi phí cạnh bằng nhau?
Với chi phí cạnh bằng nhau, BFS gặp đích ở tầng nông nhất nên đường đi ngắn nhất. DFS trên đồ thị hữu hạn có đánh dấu đã thăm thì vẫn tìm thấy đích, nhưng có thể theo một nhánh dài trước.
Đề thiVAIO 2026, câu 56
Câu 57
Trong ảnh nhị phân, foreground có giá trị 1. Phép dilation dùng phần tử cấu trúc vuông toàn số 1, tâm ở giữa. Ảnh ban đầu chỉ có một pixel foreground nằm xa biên. Sau một lần dilation có bao nhiêu pixel foreground?
Dilation với phần tử biến mỗi pixel foreground thành cả ô quanh nó, nên một pixel thành 9 pixel.
Đề thiVAIO 2026, câu 57
Câu 58
Đoạn code cài đặt A* dùng heapq nhưng đôi khi trả về đường đi KHÔNG tối ưu dù heuristic là admissible. Nguyên nhân nhiều khả năng nhất trong đoạn code là gì?
import heapq
def a_star(start, goal, neighbors_fn, h):
open_heap = [(h(start), 0, start, [start])]
visited = set()
while open_heap:
f, g, node, path = heapq.heappop(open_heap)
if node in visited:
continue
visited.add(node)
if node == goal:
return path, g
for nxt, cost in neighbors_fn(node):
new_g = g + cost
heapq.heappush(open_heap, (new_g + h(nxt), new_g, nxt, path + [nxt]))
return NoneCode đóng hẳn một nút ngay lần đầu lấy ra. Nếu chỉ admissible mà không consistent, nút có thể bị lấy ra lần đầu với chưa nhỏ nhất, và đường tốt hơn tìm được sau bị visited chặn. Với heuristic consistent thì cách cài này đúng.
Đề thiVAIO 2026, câu 58
Câu 59
Tập test có 1000 giao dịch thẻ, gồm 950 giao dịch hợp lệ và 50 giao dịch gian lận. Mô hình dự đoán tất cả đều hợp lệ. Cặp giá trị (accuracy; recall của lớp gian lận) là gì?
Đoán đúng 950 trên 1000 nên accuracy là 95%. Không bắt được giao dịch gian lận nào nên recall của lớp gian lận là . Dữ liệu lệch lớp thì accuracy rất dễ đánh lừa.
Ôn lạiBài 1.5Lớp hiếm
Đề thiVAIO 2026, câu 59
Câu 60
Một LLM decoder-only có 32 lớp, 32 head cho Query nhưng dùng Grouped-Query Attention với 8 head cho Key/Value, head_dim = 128. Suy luận với batch = 1, ngữ cảnh 4096 token, KV cache lưu ở FP16 (2 byte mỗi giá trị). Dung lượng KV cache là bao nhiêu?
KV cache có (K và V) lớp head token byte byte MiB. Query không được lưu, nên 32 head Query không tính vào.
Đề thiVAIO 2026, câu 60
Câu 61
Một ảnh có đúng một đối tượng ground truth. Có hai detection đúng lớp, score 0.9 và 0.8; mỗi detection đều có IoU = 0.8 với đối tượng đó. Đánh giá xét score giảm dần, ghép một đối một, ngưỡng IoU ; không có ground truth bị bỏ qua. Cặp (TP, FP) là gì?
Detection 0.9 được ghép với đối tượng và là TP. Detection 0.8 cũng trùng IoU 0.8 nhưng đối tượng đã được ghép rồi, nên nó là FP (phát hiện trùng).
Đề thiVAIO 2026, câu 61
Câu 62
Sắp xếp các bước theo đúng thứ tự của một khối “bottleneck” trong ResNet-50 (khác với basic block 2 lớp của ResNet-18/34, đây là dạng 3 lớp có kết nối tắt):
(1) Conv xử lý đặc trưng không gian, theo sau bởi BatchNorm và ReLU
(2) Cộng X_shortcut vào kết quả nhánh chính (Add), sau đó mới áp dụng ReLU cuối cùng
(3) Lưu lại đầu vào X làm X_shortcut để dùng cho kết nối tắt sau này
(4) Conv giảm số kênh (bottleneck), theo sau bởi BatchNorm và ReLU
(5) Conv khôi phục lại số kênh ban đầu, theo sau bởi BatchNorm (chưa ReLU)
Lưu shortcut (3), conv giảm kênh (4), conv (1), conv khôi phục kênh, chưa ReLU (5), cộng shortcut rồi ReLU (2).
Đề thiVAIO 2026, câu 62
Câu 63
Dự báo doanh số theo ngày với dữ liệu 3 năm. Nhóm dùng KFold(n_splits=5, shuffle=True) để chọn mô hình và đạt sai số thấp, nhưng khi triển khai sai số tăng gấp ba. Nguyên nhân và cách sửa hợp lý nhất là:
KFold(shuffle=True) trộn các ngày, nên fold kiểm định có những ngày nằm giữa các ngày huấn luyện, tức mô hình được nhìn tương lai. Dữ liệu chuỗi thời gian phải chia theo thời gian: train ở quá khứ, kiểm định ở sau đó (TimeSeriesSplit).
Đề thiVAIO 2026, câu 63
Câu 64
Sắp xếp các bước theo đúng thứ tự của giải thuật Backtracking Search kết hợp Forward Checking cho CSP:
(1) Nếu forward checking khiến domain của biến láng giềng nào đó rỗng, quay lui (backtrack) và thử giá trị khác
(2) Chọn một biến chưa được gán giá trị (theo một thứ tự/heuristic nào đó)
(3) Nếu không có domain nào rỗng, lặp lại quá trình với biến chưa gán kế tiếp; khi mọi biến đã được gán hợp lệ thì trả về phép gán làm nghiệm của CSP
(4) Với mỗi giá trị thử, kiểm tra tính hợp lệ với các ràng buộc đã có, rồi áp dụng forward checking để loại giá trị không tương thích khỏi domain của các biến láng giềng chưa gán
(5) Thử lần lượt từng giá trị trong domain hiện tại của biến đó
Chọn biến (2), thử từng giá trị (5), kiểm tra và forward checking (4), có miền rỗng thì quay lui (1), không thì đi tiếp tới khi gán đủ (3).
Đề thiVAIO 2026, câu 64
Câu 65
“Support vector” trong SVM là những điểm dữ liệu nào?
Support vector là các điểm nằm trên biên lề hoặc vi phạm lề. Chỉ những điểm này có hệ số khác 0 trong nghiệm, bỏ các điểm khác đi thì siêu phẳng không đổi.
Ôn lạiBài 2.8Lề lớn nhất
Đề thiVAIO 2026, câu 65
Câu 66
Sắp xếp các bước theo đúng thứ tự trong MỘT bước lặp của thuật toán Q-learning:
(1) Thực hiện hành động , nhận phần thưởng và trạng thái kế tiếp
(2) Chuyển sang trạng thái mới:
(3) Cập nhật theo công thức
(4) Quan sát trạng thái hiện tại
(5) Chọn hành động theo chiến lược epsilon-greedy dựa trên
Quan sát (4), chọn theo epsilon-greedy (5), thực hiện và nhận (1), cập nhật (3), chuyển sang (2).
Đề thiVAIO 2026, câu 66
Câu 67
Đoạn code PyTorch định nghĩa Conv2d với input ảnh (batch=1, channel=3, ), kernel , stride=1, padding=1. out.shape in ra là gì?
import torch
import torch.nn as nn
conv = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, stride=1, padding=1)
x = torch.randn(1, 3, 32, 32)
out = conv(x)
print(out.shape)Kernel 3, stride 1, padding 1 giữ nguyên kích thước: . Số kênh ra là 16, nên shape là .
Ôn lạiBài 5.1Padding, stride và dilation thay đổi điều gì?Bài 5.1Từ một bảng sang nhiều kênh
Đề thiVAIO 2026, câu 67
Câu 68
Sắp xếp các bước theo đúng thứ tự huấn luyện và dự đoán của Random Forest cho bài toán phân loại:
(1) Lặp lại quá trình trên cho đến khi đủ cây
(2) Chọn phép tách tốt nhất (theo Gini hoặc entropy) trong các đặc trưng ứng viên và tiếp tục phát triển cây
(3) Lấy mẫu bootstrap (có hoàn lại) từ tập huấn luyện cho cây hiện tại
(4) Với mẫu mới, tổng hợp dự đoán của cây bằng bỏ phiếu đa số
(5) Tại mỗi nút, chọn ngẫu nhiên một tập con gồm đặc trưng làm ứng viên
Lấy mẫu bootstrap (3), tại mỗi nút chọn ngẫu nhiên đặc trưng (5), tách tốt nhất trong các đặc trưng đó (2), lặp đủ cây (1), dự đoán bằng bỏ phiếu (4).
Đề thiVAIO 2026, câu 68
Câu 69
Hàm giá trị hành động tối ưu liên hệ với hàm giá trị trạng thái tối ưu như thế nào?
: đứng ở , tác nhân tối ưu chọn hành động tốt nhất, nên giá trị trạng thái bằng giá trị lớn nhất.
Đề thiVAIO 2026, câu 69
Câu 70
Sắp xếp các bước theo đúng thứ tự của phương pháp chứng minh bằng phản chứng dùng Resolution (Proof by Refutation) để kiểm tra xem một tập tiên đề KB có suy ra được câu hay không:
(1) Nếu không có clause rỗng và vòng lặp không sinh thêm được clause mới nào (bão hoà) thì dừng, kết luận KB không suy ra được ; ngược lại quay lại bước lặp
(2) Sau mỗi vòng lặp, kiểm tra trước tiên: nếu trong các clause vừa sinh có clause rỗng () thì dừng, kết luận KB
(3) Phủ định câu cần chứng minh: thêm vào tập tiên đề KB
(4) Lặp lại: chọn hai clause có literal đối lập, áp dụng luật Resolution để sinh clause mới, thêm vào tập clause
(5) Chuyển toàn bộ về dạng chuẩn tắc hội (CNF), biểu diễn thành tập các clause
Phủ định điều cần chứng minh (3), đưa về CNF (5), resolution sinh clause mới (4), gặp clause rỗng thì kết luận (2), bão hòa thì dừng (1).
Ôn lạiBài 9.2CNF và resolution: chứng minh mà không liệt kê hết
Đề thiVAIO 2026, câu 70
Câu 71
Trong DBSCAN, một điểm được gọi là “điểm nhiễu” (noise) khi nào?
Điểm nhiễu không đủ MinPts láng giềng trong bán kính eps (không phải điểm lõi) và cũng không nằm trong eps của điểm lõi nào (không phải điểm biên).
Ôn lạiBài 2.10DBSCAN
Đề thiVAIO 2026, câu 71
Câu 72
Đoạn code chọn hành động theo epsilon-greedy nhưng có lỗi logic khiến agent explore khoảng 70% số bước thay vì khoảng 30% như mong muốn với epsilon=0.3. Lỗi nằm ở đâu?
import random
def choose_action(Q_s, epsilon):
if random.random() > epsilon:
return random.choice(range(len(Q_s))) # explore
else:
return Q_s.index(max(Q_s)) # exploitrandom.random() > 0.3 xảy ra khoảng 70% số lần, và nhánh đó lại là explore. Đổi thành < epsilon thì explore khoảng 30%.
Đề thiVAIO 2026, câu 72
Câu 73
Đoạn code sau tính Precision và Recall từ ma trận nhầm lẫn nhị phân. Với TP = 15, FP = 5, FN = 10, TN = 70, kết quả in ra là gì (làm tròn 2 chữ số)?
TP, FP, FN, TN = 15, 5, 10, 70
precision = TP / (TP + FP)
recall = TP / (TP + FN)
print(round(precision, 2), round(recall, 2))Precision , recall .
Ôn lạiBài 1.5Precision, recall và F1 nhìn những nhóm khác nhau
Đề thiVAIO 2026, câu 73
Câu 74
Sắp xếp các bước theo đúng thứ tự của MỘT vòng lặp huấn luyện GAN (Generative Adversarial Network):
(1) Tính loss của G (đánh lừa D hiệu quả hơn) và cập nhật trọng số G, giữ D cố định
(2) Generator G sinh ảnh giả G(z) từ z
(3) Discriminator D chấm điểm cả ảnh thật và ảnh giả G(z)
(4) Lấy mẫu vector nhiễu ngẫu nhiên z từ phân phối tiên nghiệm (ví dụ Gaussian)
(5) Tính loss của D (phân biệt thật/giả tốt hơn) và cập nhật trọng số D
Lấy nhiễu (4), sinh ảnh giả (2), D chấm điểm ảnh thật và giả (3), cập nhật D (5), rồi cập nhật G với D giữ cố định (1).
Đề thiVAIO 2026, câu 74
Câu 75
Khi huấn luyện một mô hình causal LM bằng đoạn code trên, loss giảm nhanh về gần 0 nhưng mô hình sinh văn bản vô nghĩa. Lỗi và cách sửa là gì?
import torch.nn.functional as F
logits = model(input_ids).logits # (B, T, V), có causal mask
loss = F.cross_entropy(
logits.view(-1, logits.size(-1)), # (B*T, V)
input_ids.view(-1) # (B*T,)
)
loss.backward()Nhãn đang là chính input_ids, nên vị trí học chép lại token mà nó đã thấy. Loss về 0 nhưng mô hình không học đoán token tiếp theo. Cần dịch nhãn một bước: so logits[:, :-1] với input_ids[:, 1:].
Đề thiVAIO 2026, câu 75
Câu 76
Đoạn code tính MSE và MAE cho 3 cặp (y_true, y_pred) = (3, 2.5), (5, 5.5), (2, 4). Kết quả in ra (làm tròn 2 chữ số) là gì?
import numpy as np
y_true = np.array([3, 5, 2])
y_pred = np.array([2.5, 5.5, 4])
mse = np.mean((y_true - y_pred)**2)
mae = np.mean(np.abs(y_true - y_pred))
print(round(mse, 2), round(mae, 2))Sai số là . MSE , MAE .
Đề thiVAIO 2026, câu 76
Câu 77
Sắp xếp các bước theo đúng thứ tự để huấn luyện một Autoencoder cơ bản nhằm nén và tái tạo dữ liệu:
(1) Đưa dữ liệu đầu vào qua encoder để thu được biểu diễn ẩn (latent) có số chiều nhỏ hơn
(2) Đưa qua decoder để tái tạo lại có cùng kích thước với
(3) Lan truyền ngược và cập nhật trọng số của cả encoder và decoder để giảm reconstruction loss
(4) Tính hàm mất mát tái tạo (reconstruction loss), ví dụ MSE giữa và
Encoder nén thành (1), decoder tái tạo (2), tính reconstruction loss (4), lan truyền ngược (3).
Đề thiVAIO 2026, câu 77
Câu 78
Một mạng chứa Dropout và BatchNorm. Trong cơ chế tự động tính gradient thông thường, chỉ tắt ghi nhận gradient, nhưng vẫn để mô hình ở training mode. Điều nào đúng?
Tắt gradient (torch.no_grad()) chỉ không ghi đồ thị tính đạo hàm. Dropout và BatchNorm đổi hành vi theo model.train() hay model.eval(), nên ở training mode Dropout vẫn ngẫu nhiên và BatchNorm vẫn cập nhật running statistics.
Ôn lạiBài 4.3Freeze, eval và BatchNorm là ba chuyệnBài 3.6Dropout: học khi vài đường bị bỏ
Đề thiVAIO 2026, câu 78
Câu 79
Trong một head attention, và ma trận điểm số là . Ma trận thu được bằng cách áp dụng hàm softmax riêng cho từng hàng của . Nhận định nào đúng về tính đối xứng của và ?
có nên luôn đối xứng. Softmax chuẩn hóa từng hàng theo tổng riêng của hàng đó, nên thường khác .
Đề thiVAIO 2026, câu 79
Câu 80
Một nút của cây quyết định chứa 8 mẫu: 4 dương, 4 âm. Phép tách theo thuộc tính A tạo nút trái gồm 4 mẫu (3 dương, 1 âm) và nút phải gồm 4 mẫu (1 dương, 3 âm). Information Gain (theo entropy, cơ số 2) của phép tách xấp xỉ bằng bao nhiêu? Cho .
Entropy nút cha là 1. Mỗi nút con có tỉ lệ , entropy . Information Gain .
Đề thiVAIO 2026, câu 80
Câu 81
Hệ số tương quan hạng Spearman (Spearman’s rank correlation) phù hợp hơn Pearson trong trường hợp nào?
Spearman là Pearson tính trên thứ hạng, nên đo quan hệ đơn điệu, kể cả khi quan hệ cong, và ít bị outlier kéo lệch. Với quan hệ tuyến tính sạch, Pearson là đủ.
Đề thiVAIO 2026, câu 81
Câu 82
Vì sao một Perceptron đơn tầng (single-layer) không thể học được hàm XOR?
Perceptron một tầng chỉ vẽ được một đường thẳng (siêu phẳng). Bốn điểm của XOR không có đường thẳng nào tách đúng, cần thêm một lớp ẩn.
Đề thiVAIO 2026, câu 82
Câu 83
Sắp xếp các bước theo đúng thứ tự của phân cụm phân cấp kiểu gộp dần (agglomerative hierarchical clustering):
(1) Lặp lại việc gộp cụm cho đến khi chỉ còn 1 cụm hoặc đạt số cụm mong muốn
(2) Tính ma trận khoảng cách giữa mọi cặp cụm hiện có
(3) Gộp hai cụm gần nhau nhất (theo tiêu chí linkage đã chọn) thành một cụm mới
(4) Cập nhật lại ma trận khoảng cách với cụm mới vừa tạo
(5) Khởi tạo mỗi điểm dữ liệu là một cụm riêng biệt
Mỗi điểm là một cụm (5), tính ma trận khoảng cách (2), gộp hai cụm gần nhất (3), cập nhật khoảng cách (4), lặp lại (1).
Đề thiVAIO 2026, câu 83
Câu 84
Đoạn code sau tính perplexity của một mô hình ngôn ngữ trên chuỗi 4 token.
Kết quả in ra là:
import math
probs = [0.5, 0.25, 0.25, 0.125] # xác suất mô hình gán cho token đúng ở mỗi vị trí
nll = [-math.log2(p) for p in probs]
avg = sum(nll) / len(nll)
print(avg, 2 ** avg)của các xác suất là , trung bình 2. Perplexity : mô hình phân vân như khi chọn đều giữa 4 token.
Đề thiVAIO 2026, câu 84
Câu 85
Xét hai câu: “Con đường này đông xe” và “Cho thêm hai thìa đường vào cà phê”. Gọi là vector của từ “đường” trong hai câu. Phát biểu nào đúng?
Word2Vec tra một bảng cố định, nên “đường” chỉ có một vector bất kể câu nào. BERT tính vector từ cả câu qua self-attention, nên “đường” trong con đường và đường ăn có vector khác nhau.
Ôn lạiBài 6.3Token có ngữ cảnh, không chỉ một hàng trong bảngBài 3.8Embedding cũng học bằng backprop
Đề thiVAIO 2026, câu 85
Câu 86
Kết quả in ra là:
x = [2.0, -3.0, 4.0]
w_h, h = 0.5, 0.0
for x_t in x:
h = max(0.0, w_h * h + x_t) # RNN đơn giản với ReLU, trọng số đầu vào = 1
print(h)Đề thiVAIO 2026, câu 86
Câu 87
Huấn luyện SVM soft-margin trên dữ liệu có một số điểm nhiễu nằm lẫn sang vùng của lớp kia. Nếu tăng từ 1 lên , điều gì nhiều khả năng xảy ra?
là mức phạt cho mỗi điểm vi phạm lề. rất lớn buộc mô hình chiều theo cả điểm nhiễu: lề hẹp lại, biên uốn theo nhiễu và dễ overfit.
Đề thiVAIO 2026, câu 87
Câu 88
Đoạn code numpy tính khoảng cách Euclid giữa 1 điểm truy vấn và toàn bộ tập huấn luyện cho k-NN. Với và query = [0,0], mảng dists in ra là gì?
import numpy as np
X = np.array([[0,0],[3,4],[1,1]])
query = np.array([0,0])
dists = np.sqrt(np.sum((X - query)**2, axis=1))
print(dists)Khoảng cách tới là , tới là .
Đề thiVAIO 2026, câu 88
Câu 89
Đoạn code cài đặt BFS trên đồ thị không trọng số biểu diễn bằng dict kề. Giá trị in ra là bao nhiêu?
from collections import deque
def bfs(graph, start, goal):
queue = deque([[start]])
visited = {start}
while queue:
path = queue.popleft()
node = path[-1]
if node == goal:
return path
for nxt in graph[node]:
if nxt not in visited:
visited.add(nxt)
queue.append(path + [nxt])
return None
result = bfs({'A':['B','C'],'B':['D'],'C':['D'],'D':[]}, 'A', 'D')
print(len(result))BFS tìm thấy đường trước, danh sách có 3 nút nên len bằng 3.
Đề thiVAIO 2026, câu 89
Câu 90
Sắp xếp các bước theo đúng thứ tự của thuật toán EM khi huấn luyện Gaussian Mixture Model với thành phần:
(1) M-step: cập nhật trọng số trộn , trung bình và hiệp phương sai dựa trên các responsibility
(2) Sau khi hội tụ, gán mỗi điểm vào thành phần có responsibility lớn nhất nếu cần phân cụm cứng
(3) Khởi tạo tham số, ví dụ lấy tâm cụm của K-means làm các ban đầu
(4) Tính log-likelihood; nếu chưa hội tụ thì quay lại E-step
(5) E-step: tính responsibility , xác suất hậu nghiệm để điểm thuộc thành phần
Khởi tạo tham số (3), E-step tính responsibility (5), M-step cập nhật tham số (1), kiểm tra log-likelihood và lặp lại (4), cuối cùng gán cứng nếu cần (2).
Đề thiVAIO 2026, câu 90
Câu 91
Sắp xếp các bước theo đúng thứ tự của thuật toán AC-3 để đảm bảo tính nhất quán cung (arc consistency) cho một CSP:
(1) Khởi tạo hàng đợi chứa tất cả các cung (arc) tương ứng với mọi ràng buộc nhị phân trong bài toán
(2) Nếu REVISE làm thay đổi (có giá trị bị loại), thêm lại vào hàng đợi tất cả các cung với là láng giềng của (khác )
(3) Lặp lại cho đến khi hàng đợi rỗng (đạt trạng thái nhất quán cung) hoặc một domain rỗng (CSP vô nghiệm)
(4) Thực hiện : loại khỏi mọi giá trị không có giá trị tương ứng hợp lệ trong
(5) Lấy ra một cung từ hàng đợi
Đưa mọi cung vào hàng đợi (1), lấy một cung (5), REVISE (4), miền đổi thì thêm lại các cung trỏ vào (2), lặp tới khi hàng đợi rỗng (3).
Đề thiVAIO 2026, câu 91
Câu 92
Cho , phần thưởng tức thời , hệ số chiết khấu . Theo phương trình Bellman cho giá trị trạng thái (deterministic, 1 hành động), bằng bao nhiêu?
Đề thiVAIO 2026, câu 92
Câu 93
Sắp xếp các bước theo đúng thứ tự khi fine-tune BERT cho bài toán phân loại văn bản:
(1) Tách văn bản thành subword bằng tokenizer WordPiece của BERT
(2) Lấy vector đầu ra tại [CLS] đưa qua lớp phân loại tuyến tính
(3) Thêm token [CLS], [SEP], padding và tạo attention mask
(4) Tính cross-entropy với nhãn và cập nhật tham số mô hình
(5) Cho chuỗi đi qua các lớp encoder để có biểu diễn ngữ cảnh
Tách subword (1), thêm [CLS], [SEP], padding, attention mask (3), qua các lớp encoder (5), lấy vector [CLS] qua lớp phân loại (2), tính loss và cập nhật (4).
Đề thiVAIO 2026, câu 93
Câu 94
Đoạn code huấn luyện hồi quy Ridge (L2 regularization) với sklearn. Khi tăng alpha từ 0.1 lên 100, các hệ số hồi quy (coef_) thay đổi theo xu hướng nào, và tại sao?
from sklearn.linear_model import Ridge
model_low = Ridge(alpha=0.1).fit(X_train, y_train)
model_high = Ridge(alpha=100).fit(X_train, y_train)
print(model_low.coef_)
print(model_high.coef_)Ridge cực tiểu . càng lớn thì hệ số càng bị kéo về gần 0: mô hình đơn giản hơn, variance giảm, bias có thể tăng.
Ôn lạiBài 2.2Ridge
Đề thiVAIO 2026, câu 94
Câu 95
Bốn mẫu có điểm dự đoán như sau: hai mẫu dương có điểm 0.9 và 0.6; hai mẫu âm có điểm 0.7 và 0.2. ROC-AUC bằng bao nhiêu?
AUC là tỉ lệ cặp (dương, âm) mà mẫu dương có điểm cao hơn. Có 4 cặp: , , , , đúng 3/4 .
Đề thiVAIO 2026, câu 95
Câu 96
Một bài toán thoả mãn ràng buộc (Constraint Satisfaction Problem - CSP) được định nghĩa bởi các thành phần nào?
CSP gồm ba phần: tập biến, miền giá trị của từng biến và tập ràng buộc. Thiếu ràng buộc thì gán gì cũng hợp lệ, không còn là bài toán.
Đề thiVAIO 2026, câu 96
Câu 97
Sắp xếp các giai đoạn theo đúng thứ tự của quy trình huấn luyện trợ lý hội thoại kiểu InstructGPT:
(1) Tối ưu policy bằng PPO dựa trên điểm của reward model
(2) Pre-training với mục tiêu next-token prediction trên kho văn bản lớn
(3) Thu thập dữ liệu so sánh: người gán nhãn xếp hạng nhiều phản hồi cho cùng một prompt
(4) SFT trên các cặp (chỉ dẫn, phản hồi mẫu) của tập huấn luyện
(5) Huấn luyện reward model từ dữ liệu so sánh
Pre-training (2), SFT (4), thu dữ liệu so sánh (3), huấn luyện reward model (5), tối ưu bằng PPO (1).
Ôn lạiBài 6.6Model viết tiếp, còn nhiệm vụ do pipeline xác định
Đề thiVAIO 2026, câu 97
Câu 98
Sắp xếp các bước theo đúng thứ tự của thuật toán AdaBoost (từ khởi tạo đến hết vòng lặp đầu tiên):
(1) Khởi tạo trọng số bằng nhau cho mọi mẫu huấn luyện
(2) Huấn luyện một bộ học yếu trên dữ liệu có trọng số hiện tại
(3) Tính trọng số của bộ học yếu (alpha) dựa trên sai số có trọng số của nó
(4) Tính sai số có trọng số (weighted error) của bộ học yếu vừa huấn luyện
(5) Cập nhật và chuẩn hoá lại trọng số các mẫu (tăng trọng số mẫu sai, giảm trọng số mẫu đúng)
Trọng số mẫu bằng nhau (1), huấn luyện bộ học yếu (2), tính sai số có trọng số (4), từ sai số tính (3), cập nhật trọng số mẫu (5).
Đề thiVAIO 2026, câu 98
Câu 99
Câu “Nếu trời mưa thì đường ướt” () tương đương logic với mệnh đề tuyển (disjunction) nào?
chỉ sai khi đúng mà sai, đúng như .
Đề thiVAIO 2026, câu 99
Câu 100
Huấn luyện BPE trên một kho từ (ban đầu tách thành từng ký tự) với tần suất: hug , pug , pun , bun , hugs . Phép gộp (merge) đầu tiên được chọn là:
Đếm các cặp ký tự liền nhau: u+g có ở hug, pug, hugs: ; p+u: ; u+n: ; h+u: . BPE gộp cặp nhiều nhất, là ug.
Đề thiVAIO 2026, câu 100