Question:
Hoàn thiện đoạn code Perform Joins ởphần 10.0. Biết rằng cần:
• Thực hiện inner join giữa df và customer_demo_df trên khóa Customer_Name để bổsung thông tin nhân khẩu học.
• Sau đó thực hiện left join giữa kết quảtrên với product_cat_df trên khóa Product đểbổsung thông tin loại sản phẩm (Category).
• Hiển thịkết quảbằng final_df.show(5).
Câu hỏi: Transaction_ID = 1000036245 là của khách hàng nào?

Answer: A


Question:
.
Tại khung hình t, bộlọc dựđoán xe ởtọa độyt = 150. Tuy nhiên, YOLO26 phát hiện xe ởvịtrí yp = 180. Nếu Kalman Gain Kx = 0.3, tọa độđược cập nhật cuối cùng là gì, biết rằng yt+1 = yt + Kx(yp −yt)

Answer: A


Question:
Xét phần Encoder của một mô hình U-Net được mô tảbởi đoạn code PyTorch dưới đây. Encoder gồm 3 encoder blocks liên tiếp, mỗi block gồm hai lớp Conv2d(3×3) theo sau bởi BatchNorm2d và ReLU.
U-Net Encoder
1 encoder = nn.Sequential(
2
3
# ----- Encoder Block 1 -----
4
nn.Conv2d(1, 64, kernel_size=3, bias= False),
5
nn.BatchNorm2d(64),
6
nn.ReLU(),
7
nn.Conv2d(64, 64, kernel_size=3, bias= False),
8
nn.BatchNorm2d(64),
9
nn.ReLU(),
# ----- Encoder Block 2 -----nn.Conv2d(64, 128, kernel_size=3, bias= False),
nn.BatchNorm2d(128),
nn.ReLU(),
nn.Conv2d(128, 128, kernel_size=3, bias= False),
nn.BatchNorm2d(128),
nn.ReLU(),
# ----- Encoder Block 3 -----nn.Conv2d(128, 256, kernel_size=3, bias= False),
nn.BatchNorm2d(256),
nn.ReLU(),
nn.Conv2d(256, 256, kernel_size=3, bias= False),
nn.BatchNorm2d(256),
nn.ReLU()
26 )
Dựa trên kiến trúc Encoder được mô tảtrong đoạn code trên, hỏi tổng sốlượng tham số huấn luyện được (trainable parameters) của toàn bộEncoder là bao nhiêu?

Answer: A


Question:
(Hard):
Giảsửcho bộdữliệu và tham số:
X =


1.
1
2.
1
3.
1
4.
1
5.
1


,
y =


1.
3.
4.
6.
8.


,
θ =
w b

=
 1.
−0.

,
η = 0.02, N = 5.
Hãy tính lần lượt (i) ˆy = Xθ; (ii) k = 2(ˆy −y); (iii) gradient theo vector hoá
∇θL = XTk =
∂L/∂w
∂L/∂b

.
Chọn kết quảđúng của ∇θL.

Answer: A


Question:
.
Dựa vào pipeline của mô hình RNN Language Model dưới đây đểthực hiện các yêu cầu của bài toán. Bài toán yêu cầu thực hiện quá trình inference cho mô hình tạo văn bản dựa trên kiến trúc RNN nhằm dựđoán chuỗi ký tựtiếp theo từmột từkhóa khởi tạo.
Dữliệu và tham sốcấu hình được quy định như sau.
1. Từđiển và Embedding Token Index Embedding
<EOS>
0
[ −0.82, −0.56 ]
gió
1
[ −0.83, −1.30 ]
cách
2
[ 1.31, 1.38 ]
hãy
3
[ 1.56, 1.47 ]
mây
4
[ 0.02, −0.13 ]
bạn
5
[ 0.93, −1.72 ]
sáng
6
[ −0.87, −1.48 ]
của
7
[ 0.25, −0.12 ]
theo
8
[ −0.56, 0.04 ]
tỏa
9
[ −2.16, −0.70 ]
2. Kiến trúc mô hình Pipeline của mô hình tuân thủcác nguyên tắc sau:

0.34.

Ởbước đầu tiên, token khởi tạo là “hãy”. Từembedding của token này và trạng
thái ẩn ban đầu h0 = [0, 0], ta đưa qua khối RNN với hàm kích hoạt tanh đểthu
được trạng thái ẩn mới:
h1 ≈[0.9595, 0.9999]
Tiếp theo, đưa h1 qua lớp Fully-Connected đểthu được vector logits cho toàn bộ
từđiển:
[−0.3810, 0.7554, −2.9805, 0.5974, 0.6234, 3.4580, −4.3407, 4.5103, −6.1027, 5.3664]
Logit lớn nhất thuộc vềtoken “tỏa”, nên đây là token được mô hình chọn ởbước
này. Sau khi áp dụng softmax, xác suất của “tỏa” là:
P(tỏa) ≈0.6235 ≈0.62
Vì vậy, phương án đúng là A.
Code check: Notebook .

Answer: A


Question:
(Easy):
Truyền một mẫu dữliệu đã được chuẩn hóa (x1, x2, x3, y) = (0.969852, 0.981522, 1.778945, 1.322319)
vào một mô hình Linear Regression ˆy = w1x1 + w2x2 + w3x3 + b được khởi tạo với các trọng sốw1 = w2 = w3 = 0 và bias b = 0. Giá trịdựđoán ˆy từmô hình trên là:

Answer: A


Question:
:
Xét một mạng nơ-ron đơn giản với thông tin như hình bên dưới, áp dụng cho 2 câu

Answer: A


Question:
:
1
0
0
1
0
1
1
0

Normalized Input Kernel 2

Kernel 1

Fully Connected
?
Output Bias Max Pooling kernel_size = 2
stride =2

BatchNorm mean = 0
std = 1
gamma = 0.5
beta = 1

ReLU
Stride = 1

Padding = 0

BatchNorm mean = 0
std = 1
gamma = 0.5
beta = 1

ReLU
1
1
1

Hình 3: Kiến trúc mô hình CNN cho các câu tính tay từcâu 3 đến câu 6.
Sửdụng kết quảtừcâu trước (giá trịsau chuẩn hóa) đểđưa vào mô tảtrong hình 3, hãy tính toán đầu ra của mạng sau lớp Convolution (làm tròn đến một chữsốthập phân).

Answer: A


Question:
:
Với dữliệu đầu vào và thông tin vềmạng được mô tảtrong hình 3, hãy tính toán đầu ra của mạng sau lớp Batch Normalization và ReLU (làm tròn đến 1 chữsốthập phân).

Answer: A


Question:
:
Thực hiện triển khai mô hình LSTM bằng Pytorch với các tham sốđược mô tảởmodule
(2) trong hình (lưu ý batch_first=True, num_layers=1). Output của mô hình LSTM
gồm (out, (h_n, c_n)), đâu là shape đúng của out?
(a) (batch_size, seq_len, hidden_dims)
(b) (num_layers, batch_size, hidden_dims)
(c) (batch_size, hidden_dims, seq_len)
(d) (batch_size, num_layers, hidden_dims)

(batch_size, num_layers, hidden_dims)
Giải thích:
Với batch_first=True, PyTorch trảvề:
out ∈R(B, L, H),
trong đó:
• B là batch size,
• L là độdài chuỗi (seq_len),
• H là hidden size (hidden_dims).
Còn h_n, c_n mới có dạng liên quan đến num_layers. Do câu hỏi chỉhỏi out, nên shape
đúng là:
(B, seq_len, hidden_dims).
214

Answer: A


Question:
:
Sau khi đã hoàn thành việc triển khai và đánh giá 4 mô hình ởcác phần trước, các bạn hãy chạy tiếp notebook tại đây đểthu được kết quảđánh giá của một mô hình Transformer pretrained trên tập test sau 3 epoch là bao nhiêu?
(a) 61.89%
(b) 81.32%
(c) 70.19%
(d) 90.57%

Answer: A


Question:
:
Cho batch_size=128, độdài chuỗi sau padding là L=256, và embed_dim=128. Hỏi shape của input đưa vào lớp nn.LSTM là bao nhiêu?
(a) (128, 256, 128)
(b) (128, 128, 256)
(c) (256, 128, 128)
(d) (128, 256)

(128, 256)
Giải thích: Trong PyTorch, khi sửdụng nn.LSTM với batch_first=True, input phải có
dạng:
(batch_size, seq_len, input_size).
217

Answer: A


Question:
:
Với dữliệu đầu vào và thông tin chi tiết vềhình 9 dưới đây:
1.5
0.5
0.5
1.0
0.5
0.5
1.5
0.
0.
1.5
1.0
1.5
+
Input Positional Encoding
1.5
1.5
1.8
0.5
2.5
2.0
0.5
1.0

Input Word Embedding
+
Positional
Encoding Masked Multi-Head Attention Add & Norm Hình 9: Hình ảnh minh hoạmô hình Transformer cho câu TRANS
Câu hỏi: Các giá trịthiếu (các ô ký hiệu là "?") trong hình lần lượt ("?1", "?2") là:

Answer: A


Question:
:
Với dữliệu đầu vào và thông tin chi tiết vềhình 11 dưới đây:
14.4
12.5
13.7
19.8
21.2
1.7
2.5
4.8
1.6
2.4
4.7
1.8
1.9

Query Matrix
4.6
3.2
2.7
4.5
3.1
2.5
2.2
2.1

Key Matrix
Hình 11: Hình ảnh minh hoạmô hình Transformer cho câu TRANS
Câu hỏi: Tính các giá trịthiếu (các giá trị"?") trong hình lần lượt ("?1", "?2") là:

Answer: A


Question:
Tính toán – CrossAttentionVG: Giai đoạn 1 (Input →Cross Layer 1)
Cấu hình:

Patches=36, Visual: [3, 36, 768] →[3, 36, 512], Text: [3, 15, 768] →[3, 15, 512], Layer
1 output: Visual [3, 36, 512], Text [3, 15, 512].
Giải thích:
(1) Tính sốpatch của ảnh (không CLS): Patch size 32 × 32 nên sốpatch theo mỗi
chiều:
224
32 = 7
⇒
N = 72 = 49.
Vì vậy, sau patch embedding:
[3, 3, 224, 224] →[3, 49, 768].
(2) Projection (Vision/Text): Linear projection chỉđổi dim đặc trưng 768 →512,
không đổi sốtoken:
[3, 49, 768] →[3, 49, 512],
[3, 15, 768] →[3, 15, 512].
(3) Cross-attention Layer 1: Quy tắc quan trọng: Output shape = Query shape.
V2T: Query=Visual [3, 49, 512] ⇒Output [3, 49, 512],

Answer: A


Question:
Tính toán – CrossAttentionVG: Giai đoạn 2 (Cross Layer 1 →Output)
Cho biết (kếthừa từCâu 2, sau Cross Layer 1):

Answer: A


Question:
Tính toán – TransVG: Giai đoạn 1 (Input →Concat Sequence)
Cấu hình:

Answer: A


Question:
Tính toán – TransVG: Giai đoạn 2 (Concat →Output)
TừCâu 4, sau Concat + Positional Embedding (giữký hiệu thống nhất):

Transformer: Mỗi layer [5,227,256]→[5,227,256] (Giữnguyên), Final: [5,227,256],
Extract [REG] tại index 0: [5,256], MLP: [5,256]→[5,256]→[5,128]→[5,4].
Giải thích:
(1) Xác định S: TừCâu 4, thứtựsequence là [REG] + Visual + Text nên:
S = 1 + N + L = 1 + 196 + 30 = 227.
Do đó input vào Transformer là:
[B, S, H] = [5, 227, 256].
(2) Transformer encoder giữnguyên shape: Mỗi layer (Self-Attention + FFN) chỉ
trộn thông tin giữa các token và biến đổi trong không gian embedding, nhưng không
đổi sốtoken S và chiều embedding H:
[5, 227, 256] →[5, 227, 256].
Sau 6 layers, output cuối vẫn:
[5, 227, 256].
(3) Vịtrí [REG] (0-based index): Vì sequence được ghép đúng thứtự[REG] + Visual
+ Text, nên [REG] nằm ởđầu chuỗi:
ireg = 0.

Answer: A


Question: Xét một pipeline YOLO theo hướng anchor-based. Khác với YOLOv1 gốc, nơi mỗi cell dựđoán trực tiếp bounding box, thiết kếanchor-based sửdụng các anchor boxes có sẵn và mô hình học các offset so với anchor tương ứng. Do đó, pipeline cần thay đổi ởba bước chính:

Answer: A


Question:
.
Dựa vào cấu hình của DeepSORT trong đoạn code dưới đây:
1 from deep_sort_realtime.deepsort_tracker import DeepSort
2
3 tracker = DeepSort(
4
max_age=30,
5
n_init=3,
6
max_cosine_distance=0.2
7 )
Tại thời điểm t, hệthống phát hiện một đối tượng và trích xuất được vector đặc trưng:
x = [1, 2, 0]
Trước đó, hệthống đã lưu feature embedding của một track đang tồn tại:
y = [1, 1, 0]
Biết rằng:
cosine similarity =
x · y
∥x∥∥y∥,
cosine distance = 1 −cosine similarity Hỏi cosine distance giữa x và y là bao nhiêu? Và DeepSORT có ghép detection này với track cũ y hay không?

Answer: A


Question:
Dựa trên sơ đồkiến trúc dưới đây, bạn hãy hoàn thiện các phần code còn thiếu cho block Decoder và mô hình TwoStageDecoder tại Colab Notebook.
2
1
2
3
4
? (1)
conv 1x1
up-conv 2x2
copy and crop weight.shape
= [1, 2, 1, 1]
weight.shape
= [1, 1, 2, 2]
? (2)
1x2x2x2
1x1x2x2
1x2x4x4
1x1x4x4
Đểmô hình thực hiện đúng quy trình, xin lưu ý rằng cấu trúc này bao gồm 2 stage Decoder liên tiếp hoàn toàn không sửdụng tham sốbias. Ngoài ra, trọng sốcủa lớp convblock cần được gán chính xác theo thứtựcủa các kênh đầu vào (input channels).
Bạn có thểtham khảo thêm gợi ý chi tiết tại mục Set_fixed_weights trong notebook.
Sau khi hoàn thiện đoạn code và thực hiện quá trình lan truyền xuôi (forward pass), giá trịtại hai vịtrí ?(1) và ?(2) trên sơ đồlần lượt là bao nhiêu?
(Lưu ý kết quảđược làm tròn đến 4 chữsốthập phân.)

Answer: A


Question:
Cho một annotation theo định dạng Pascal VOC:
Giảsử:
Image size = 640 ×
YOLOv1 chia ảnh thành:
S = 4 × 4 grid Hãy xác định:

Answer: A


Question:
Trong bước tính token-level cross-entropy loss cho mô hình seq2seq, ta cần reshape đầu ra dựđoán và nhãn vềdạng phù hợp đểđưa vào hàm loss. Giảsửtensor logits có kích thước (B, T, V ) và tensor labels có kích thước (B, T). Khi tính token-level cross-entropy loss, ta thường reshape hai tensor này theo công thức:
CE
logits.view(−1, V ), labels.view(−1)

.
Cho B = 6 và T = 50, hỏi sốhàng (rows) của logits.view(-1,V) là bao nhiêu?

Answer: A


Question:
Trong giai đoạn suy luận của mô hình dịch máy, phương pháp Top-p sampling (hay nucleus sampling) chọn tập nhỏnhất các token có tổng xác suất tích luỹđạt ít nhất ngưỡng p.
Giảsửtại một bước sinh, các token đã được sắp theo thứtựxác suất giảm dần như sau:
[0.55, 0.20, 0.10, 0.08, 0.04, 0.03].
Với p = 0.75, sốtoken thuộc nucleus là bao nhiêu?

Answer: A


Question:
Biết hidden state cuối cùng của Encoder là h4 = [ −0.8989, 0.9821 ].
Tại bước giải mã đầu tiên, Decoder nhận token <sos> làm đầu vào. Sau khi đưa hidden state mới qua lớp Fully Connected và áp dụng softmax, xác suất của token được chọn là bao nhiêu?

Answer: A


Question:
Trong quá trình sinh văn bản, tham sốtemperature được áp dụng lên logits trước khi qua softmax. Khi đặt temperature rất thấp, gần tiến về0, hành vi của mô hình thay đổi như thếnào?
A. Mô hình trởnên quyết đoán hơn, thường chọn token có xác suất cao nhất, nên đầu ra ổn định hơn nhưng kém đa dạng hơn.
B. Phân phối xác suất trởnên phẳng hơn, khiến mô hình dễchọn các token hiếm và sáng tạo hơn.
C. Mô hình tựđộng loại bỏmọi token có xác suất thấp hơn một ngưỡng cốđịnh trước khi lấy mẫu.
D. Mô hình chuyển từsinh tuần tựsang sinh song song trên toàn bộchuỗi để tăng tốc suy luận.

Mô hình có khảnăng suy luận vượt trội, dẫn đến hình thành tri thức tổng
quát. Từđó sinh ra các dữkiện luôn luôn chính xác.

Mô hình tựđộng có khảnăng truy xuất dữliệu thời gian thực từcác hệthống
bên ngoài mà không cần công cụhỗtrợ.

Answer: A


Question:
Hoàn thiện đoạn code RFM Base Calculation ởphần 5.0. Biết rằng cần:
• Gom nhóm theo Customer_Name.
• Tính toán các chỉsố:
– Last_Purchase_Date = ngày giao dịch gần nhất.
– Frequency = sốlần giao dịch.
– Monetary = tổng chi tiêu (Total_Cost).
• Sau đó tính Recency = sốngày từlần mua gần nhất đến ngày hiện tại.
• Cuối cùng bỏcột Last_Purchase_Date.
Sau khi chạy rfm_df.show(), giá trịRFM của khách hàng Christopher Jimenez là?

Recency = 16, Frequency = 774.73, Monetary = 655.

Recency = 2, Frequency = 81.75, Monetary = 1889.

Recency = 2, Frequency = 73.61, Monetary = 1103 .

Recency = 4, Frequency = 286.62, Monetary = 751.

Answer: A


Question: Ta có đầu vào feature map X kích thước 3 × 3 với 3 kênh. Thực hiện Depthwise Conv2D kernel 3 × 3 với bias bằng 0, stride = 1, padding = 0 (Lưu ý: không lật kernel). Vì kernel bằng đúng kích thước feature map, mỗi kênh dùng đúng 1 kernel và output mỗi kênh là 1 × 1, tức thu được Y = (Y1, Y2, Y3). 1.4 2.1 1.9 2.0 2.3 2.1 1.9 2.0 2.0 0.2 0.6 0.1 0.5 -2.0 0.5 0.3 0.4 0.0 3.2 2.9 2.2 3.8 3.1 1.8 3.0 2.7 2.0 0.1 0.1 0.1 0.1 0.2 0.1 0.1 0.1 0.1 0.0 -0.1 0.0 -0.1 0.4 -0.1 0.0 -0.1 0.0 0.5 0.0 -0.5 1.0 0.0 -1.0 0.5 0.0 -0.5 Feature maps (3x3, 3 Channels) Feature maps Kernels Outputs Hỏi Y = (Y1, Y2, Y3) là:

Answer: A


Question: Hãy xác định output shape của mô hình là bao nhiêu? Giảthiết bài toán:

Answer: A


Question: Từcode của câu 9 chúng ta tiến hành áp dụng scheduler. 1 criterion = nn. Cross Entropy Loss () 2 optimizer = Adam(model. parameters (), lr=1e-3, weight_decay =5e-4) 3 decay Rate = 0.96 4 lr_scheduler = torch. optim. lr_scheduler.Exponential LR(optimizer= optimizer , gamma=decay Rate) Kết quảtest_accuracy với max_epoch = 20 là:

Answer: A


Question: Từma trận dữliệu dưới đây: 3 4 5 6 2 7 8 9 7 data x Đoạn code nào sau đây lấy dữliệu cột 2 và cột 3 (Dữliệu được tô màu xanh)

Answer: A


Question: Cho f(x, y) = x2y + 3xy2. Hãy tính các đạo hàm hỗn hợp ∂2f ∂x∂y và ∂2f ∂y∂x.

Answer: A


Question: Sửdụng phương pháp nội suy tuyến tính(Linear Interpolation) đểtìm các giá trị None 3.0 3.7 None 3.9 None 4.3 5.2 None Các giá trị None trong hình theo thứtựlà:

Answer: A


Question: Trong ứng dụng dựbáo thời tiết, việc reshape dữliệu nhiệt độtừ(36,) thành (6, 6) có mục đích gì?

Tổchức dữliệu theo cấu trúc có ý nghĩa (ví dụ: ngày và giờ)

Answer: A


Question:
:
Cá thểmục tiêu là hình ảnh của số?

Answer: A


Question:
:
Mô hình ˆy = wx + b với w = 1.17, b = 0.26. Một căn hộcó diện tích x = 6.2. Hãy tính ˆy
(làm tròn kết quảđến 2 chữsốthập phân).

Answer: A


Question:
:
Tại một bước huấn luyện, biết x = 4.8, ˆy = 5.50, y = 5.80. Tính đạo hàm theo ∂L
∂b =
2(ˆy −y) (làm tròn kết quảđến 2 chữsốthập phân).

Answer: A


Question: Tương tự, giá trịđạo hàm trung bình theo bias b ( ∂L ∂b ) tại Epoch 1 là bao nhiêu?

Answer: A


Question: Áp dụng thuật toán Gradient Descent với η = 0.1, giá trịtham số mới (wnew, bnew) sau bước cập nhật đầu tiên là:

−3.0.
Giải thích Tính đạo hàm theo b (∂L
∂b )
Công thức: Trung bình cộng của sai số(ˆy −y).

Answer: A


Question: Sửdụng hàm mất mát MSE, giá trịđạo hàm riêng của L theo ˆy, tức ∂L ∂ˆy , bằng bao nhiêu?

Answer: A


Question: Sau khi thực hiện một bước cập nhật tham sốcho toàn bộmạng với learning rate η = 0.10, giá trịmới của bias b3 tại output layer bằng bao nhiêu?

Answer: A


Question: Cho code Pytorch của một mô hình có một lớp Linear và hàm Softmax. Trong đó, các giá trịweight và bias được định nghĩa trước như trong hình. Hỏi sau khi truyền input x vào mạng trên, phân phối nhận được là? 1 import torch 2 import torch.nn as nn 3 import torch.nn.functional as F 4 5 class SimpleModel(nn.Module): 6 def __init__(self): 7 super().__init__() 8 self.fc = nn.Linear(1, 3) 9 self.fc.weight.data = torch.tensor([[1.0], [2.0], [-1.0]]) self.fc.bias.data = torch.tensor([1.0, 1.0, 1.0]) def forward(self, x): logits = self.fc(x) probs = F.softmax(logits, dim=1) print(probs) return probs 18 x = torch.tensor([[1.0]]) 19 model = SimpleModel() 20 output = model(x) 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. A B C D Index 0 Index 1 Index 2

Answer: A


Question:
:
Giá trịcủa hàm mất mát Cross Entropy L là bao nhiêu khi nhãn mục tiêu y = 0 và đầu ra từSoftmax là ˆy0 = 0.8429 và ˆy1 = 0.1571.

Answer: A


Question:
:
Cho một mạng nơ ron có kiến trúc như hình bên dưới với các thông tin cho trước như sau:

Answer: A


Question:
:
Yêu cầu: Thay đổi phương pháp khởi tạo trọng sốtừmặc định sang He Initialization.
Các bias vẫn được khởi tạo bằng 0.

Answer: A


Question:
:
Với dữliệu đầu vào và thông tin vềmạng được mô tảtrong hình 3, hãy tính toán đầu ra cuối cùng sau lớp Fully Connected (làm tròn đến 1 chữsốthập phân).

Answer: A


Question:
:
Sau khi đã triển khai toàn bộ4 mô hình theo 3 modules và các tham sốkhai báo trong baseline, đâu là thứtựđúng khi so sánh hiệu suất của các mô hình dựa trên tập test (cao nhất →thấp nhất)? (Nếu sựchênh lệch chưa tới 5% thì được xem như tương đương)
(a) Transformer (ViT) →CNN →RNN ∼LSTM
(b) CNN →LSTM ∼Transformer →RNN
(c) CNN →RNN ∼LSTM →Transformer
(d) CNN →Transformer →RNN ∼LSTM

Answer: A


Question:
:
Tiếp tục với mạng ởcâu trên. Lưu ý rằng mô hình không có bias:
Wxo =
1.0
1.0
0.5
1.0
−1.0
−0.5

,
Who =
0.0
1.0
0.0
−1.0

Đầu vào của mạng là 1 timestep:
X = [1.0, 2.0, 3.0]
Câu hỏi: Hãy tính output cuối cùng của mô hình ht.
(a) [0.3568, −0.0027]
(b) [0.2769, −0.0027]
(c) [−0.2769, 0.0027]
(d) [0.2769, 0.0027]

Answer: A


Question:
:
Ta có một mạng Bidirectional RNN với input size = 3 và hidden size = 2. Trọng số của mạng được khởi tạo giống như trên hình cho cảchiều từtrái sang phải và chiều từ phải sang trái.
Với dữliệu đầu vào và thông tin chi tiết vềhình 7 dưới đây:
hb2

RNN Cell hf0

X1
hf1

RNN Cell hb3

Forward Layer Backward Layer Whh = [0.0, -1.0]
bhh = 1.0

Whh = [0.0, -1.0]
bhh = 1.0
bxh = 1.0

RNN Cell X2

RNN Cell Concat(hf, hb)
Who = [1.0, 1.0, 1.0, 1.0]
bho = 1.0
bxh = 1.0
bxh = 1.0
bxh = 1.0

Whh = [0.0, -1.0]
bhh = 1.0

Whh = [0.0, -1.0]
bhh = 1.0
y Wxh = [1.0, 0.0, -0.5], [-1.0, 0.0, 0.5]
Wxh = [1.0, 0.0, -0.5], [-1.0, 0.0, 0.5]
Wxh = [1.0, 0.0, -0.5],
[-1.0, 0.0, 0.5]
Wxh = [1.0, 0.0, -0.5],
[-1.0, 0.0, 0.5]
^
RNN Cell X3

RNN Cell hf3
hb0
bxh = 1.0

Whh = [0.0, -1.0]
bhh = 1.0

Wxh = [1.0, 0.0, -0.5], [-1.0, 0.0, 0.5]
Wxh = [1.0, 0.0, -0.5],
[-1.0, 0.0, 0.5]
hb1
hf2
bxh = 1.0

Hình 7: Mô hình BiRNN áp dụng câu
Đầu vào của mạng là chuỗi 3 timesteps, mỗi timestep có input size = 3 và có giá trị lần lượt là:

Answer: A


Question:
:
Với dữliệu đầu vào và thông tin chi tiết vềhình 13 dưới đây:
Attention Output Layer Norm
+
Output Input Word Embedding
+
Masked Multi-Head Attention Add & Norm Positional
Encoding
 is SAMPLE Variance
1.8
1.8
1.9
2.0
1.8
1.9
1.9
1.7
2.0
1.7
1.5
1.5
1.8
0.5
2.5
2.0
0.5
1.0

Positional Embedding Hình 13: Hình ảnh minh hoạmô hình Transformer cho câu TRANS
Câu hỏi: Tính các giá trịthiếu (các giá trị"?") trong hình lần lượt ("?1", "?2") là:

Answer: A


Question:
Bạn mong muốn xây dựng một hệthống Face Recognition với pipeline bao gồm: Face Detection, Face Alignment, Feature Extraction, và Feature Matching như hình minh họa bên dưới.
Face
Alignment Face
Detector Face Embedding Vector
Database Feature
Matching A match!
Similarity = 0.
???
ArcFace Feature Extractor Hiện tại, bạn đang tìm kiếm mô hình phù hợp cho bước Face Detector. Bạn mong muốn sửdụng các mô hình trên repository của insightface và dựa vào các kết quảthực nghiệm của họđểchọn mô hình (tại Github). Tiêu chí của bạn là Flops ≤10G và trong sốnhững mô hình thỏa điều kiện, chọn mô hình có độchính xác tốt nhất. Trong các mô hình dưới đây, đâu là mô hình phù hợp nhất?

Answer: B


Question:
Bạn đang thực hiện huấn luyện mô hình SCRFD dựa vào tài liệu hướng dẫn của insightface tại Github. Bạn mong muốn xây dựng một bộdữliệu mới đểhuấn luyện mô hình.
Hãy tải tấm ảnh từGoogle Drive và thực hiện gán nhãn khuôn mặt cho ảnh đó. Trong các phương án dưới đây, đâu là cách gán nhãn đúng nhất?

Answer: B


Question:
.
Dựa vào cấu hình của ByteTracker trong đoạn code dưới đây, giảsửvideo có tốc độ FPS. Hỏi thời gian tối đa mà hệthống vẫn có thểgiữID cũ cho một đối tượng khi đối tượng đó bịche khuất (occlusion) là bao lâu?
Ngoài ra, giảsửmột chiếc xe bịvật cản che khuất trong vòng 1.5 giây. Hệthống có còn giữnguyên ID cũ của chiếc xe khi nó xuất hiện trởlại hay không?
1 import supervision as sv
2
3 byte_tracker = sv.ByteTrack(
4
track_activation_threshold=0.25,
5
lost_track_buffer=48,
6
minimum_matching_threshold=0.8,
7
frame_rate=24,
8
minimum_consecutive_frames=3
9 )

Answer: B


Question:
Skip Connection là cơ chếcốt lõi của kiến trúc U-Net, đóng vai trò ghép nối các đặc trưng từnhánh Encoder sang nhánh Decoder. Tuy nhiên, việc không sửdụng kỹthuật padding sẽkhiến kích thước feature map bịthu hẹp dần qua từng lớp, dẫn đến hiện tượng tensor ởnhánh Encoder luôn lớn hơn so với nhánh Decoder. Đểkhắc phục điều này, thao tác center crop cần được thực hiện chuẩn xác nhằm đảm bảo hai tensor hoàn toàn khớp nhau trước khi tiến hành phép nối.
140x
3
conv 3x3, ReLU, padding = 0, stride = 1
copy and crop max pool 2x2, stride = 2
up-conv 2x2, stride = 2
output
feature
map Dựa trên sơ đồkiến trúc được mô tảnhư trong hình, hãy xác định kích thước [C, H, W]
của output feature map cuối cùng là bao nhiêu?

Answer: B


Question:
Trong kiến trúc U-Net, các skip connection tại khối decoder thường sửdụng phép concatenate. Tuy nhiên, một biến thểphổbiến khác là sửdụng phép add.
Add Add UNet Skip Connection Using Addition Concat Concat UNet Skip Connection Using Concatenation Giảsửsau bước up-convolution, tensor từdecoder và tensor từencoder đã đồng nhất về mặt kích thước không gian lẫn sốlượng kênh, đủđiều kiện đểthực hiện trực tiếp phép add, bạn hãy hoàn thiện các đoạn code còn thiếu trong Colab Notebook đính kèm để block Decoder có thểhỗtrợcảhai chếđộconcat và add.
(Lưu ý rằng tất cảcác lớp convolution trong bài đều được thiết lập bias=False.)
Sau khi hoàn thiện và thực thi đoạn code trên, sốlượng phần tửcủa tham sốconv1.weight trong hai trường hợp sửdụng block concat và block add lần lượt là bao nhiêu?

Answer: B


Question:
Trong bài toán phân vùng ảnh (image segmentation), đầu ra của mô hình thường là một bản đồxác suất (probability map). Giảsửta thực hiện chuyển đổi probability map này thành mặt nạnhịphân (binary mask) dựa trên quy tắc ngưỡng như sau:
ˆYi,j =
(
1
nếu pi,j ≥0.5,
0
nếu pi,j < 0.5.
Cho mặt nạnhãn chuẩn (ground truth mask) Y và bản đồxác suất P được mô tảtrong hình dưới đây:
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
Biết các công thức tính hệsốDice và chỉsốIoU (Intersection over Union) được định nghĩa lần lượt là:
Dice =
2TP
2TP + FP + FN ,
IoU =
TP
TP + FP + FN .
Hãy tính giá trịDice và IoU của dựđoán P so với mặt nạnhãn chuẩn Y sau khi áp dụng bước thresholding. (Lưu ý kết quảđược làm tròn đến 4 chữsốthập phân.)

Answer: B


Question:
(Hard):
Xét dataset giá nhà gồm N = 5 mẫu ởtrên (diện tích x theo m2, giá y theo tỷVNĐ).
Giảsửmô hình hiện tại có w = 1.05 và b = 0.35.
Sửdụng Huber Loss có Regularization L2 chỉtrên w với λ = 0.1 và ngưỡng δ = 2.0:
LHuber(ˆy, y) =





1
2(ˆy −y)2,
|ˆy −y| ≤δ
δ |ˆy −y| −1
2δ2,
ngược lại
,
LHuberReg = 1

N
N
X
i=1

LHuber(ˆyi, yi) + λw2.
Thực hiện 1 bước Gradient Descent batch với η = 0.01 đểthu được tham sốmới
(w′, b′). Chọn phương án đúng.

Answer: B


Question:
(Hard):
Vẫn dùng cùng dataset giá nhà (N = 5), và cùng tham sốban đầu w = 1.05, b = 0.
(chưa cập nhật).
So sánh hai hàm mất mát trung bình trên toàn bộtập:
LMSE = 1

N
N
X
i=1
(ˆyi −yi)2,
LHuber = 1

N
N
X
i=1

LHuber(ˆyi, yi),
trong đó LHuber dùng ngưỡng δ = 2.0 giống như ở

MSE = 3.768, Huber = 1.848 ⇒Mô hình dùng Huber ổn định hơn khi có ngoại lệ.

MSE = 2.200, Huber = 2.300 ⇒MSE ổn định hơn.

MSE = 2.200, Huber = 2.300 ⇒Huber ổn định hơn.

MSE = 3.768, Huber = 1.848 ⇒Hai mô hình chịu ảnh hưởng ngoại lệnhư nhau.
LMSE = 1
N
X
(ˆy −y)2 = 3.768,

Answer: B


Question:
(Hard):
Sửdụng lại dữliệu của

Answer: B


Question:
Trong bài toán visual question answering (VQA), xét ví dụmô hình được hỏi vềnội dung cảnh báo trên một biển hiệu. Nhãn thực tếg là “DANGER ZONE”. Do nhiễu ảnh và lỗi ngữnghĩa nên dựđoán đầu ra của mô hình ˆa là “DANGEROUS”. Hệthống đánh giá sửdụng độđo average normalized Levenshtein similarity (ANLS) đểchấm điểm. Giảsử ngưỡng được thiết lập chặt chẽlà τ = 0.6. Dựa vào hình minh họa 2 và các dữkiện trên,
điểm sốANLS cuối cùng mà mô hình nhận được cho mẫu dữliệu này là bao nhiêu?

Answer: B


Question:
(Easy):
Theo thống kê với mean Sales = 15.1305, std Sales = 5.283892. Z-score của giá trị Sales = 20 xấp xỉlà bao nhiêu?

Answer: B


Question:
(Easy):
Giảsửbộdữliệu chỉcó 1 mẫu (x1, x2, x3, y) = (0.969852, 0.981522, 1.778945, 1.322319).
Sau 1 lần cập nhật với learning rate η = 10−4, w1 mới xấp xỉbao nhiêu, biết sau cập nhật w1 = w1 −η × 2x1(ˆy −y):

Answer: B


Question:
(Easy):
Giảsửcó trọng sốsau huấn luyện: w1 = 0.8905, w2 = 0.3169, w3 = −0.0053, b = 0.0066.
Với một mẫu dữliệu x = (0.969852, 0.981522, 1.778945), dựđoán ˆy = w1x1 + w2x2 +
w3x3 + b xấp xỉ:

Answer: B


Question:
(Easy):
Giảsửcó một quan sát với các dữkiện:
x = 5.00,
y = 10.80,
θ =
 b w

=
0.
2.

,
η = 0.02.
Hãy tính (i) dựđoán ˆy = θTx với x =
1
x

; (ii) loss L = (ˆy −y)2; (iii) gradient
∇θL = 2x(ˆy −y); (iv) tham sốsau cập nhật
θ′ = θ −η ∇θL.
Chọn cặp (b′, w′) đúng (làm tròn kết quảđến 2 chữsốthập phân).

Answer: B


Question:
.
Các thay đổi cần được áp dụng tuần tự, tức là mỗi câu sẽyêu cầu bạn cải tiến dựa trên mã nguồn của câu trước đó.
Cụthể, tệp Base.ipynb cung cấp mã nguồn hoàn chỉnh đểhuấn luyện một mạng MLP
đơn giản trên bộdữliệu FashionMNIST, bao gồm:

Answer: B


Question:
:
Kếthừa từkết quảtừcâu 1, hãy chọn bộmean và std tương ứng với kênh đỏ(Red) và áp dụng cho bài sau:
182 182
182 182
182 182
Red Channel Normalization Normalized Red Channel Hình 2: Minh họa ảnh Red qua Normalization.
Xét kênh đỏcủa một ảnh có kích thước 3 × 3, trong đó mọi phần tửđều có giá trịpixel bằng 182 (thang 0–255):
Thực hiện chuẩn hóa dữliệu cho tập train
1 transform = Compose([ToTensor(),
2

Normalize([_, _, _],
3
[_, _, _])]) # Hãy sửdụng Mean và Std cho ImageNet Trong đó:

Answer: B


Question:
:
Với dữliệu đầu vào và thông tin vềmạng được mô tảtrong hình 3, hãy tính toán đầu ra của mạng sau lớp MaxPooling (làm tròn đến 1 chữsốthập phân).

Answer: B


Question:
:
Conv Block 1
(64x?x?)
Convolutional Block Input
(3x32x32)
MaxPool BatchNorm Conv Block BatchNorm Conv Block 2
(128x?x?)
Convolutional Block Dense Block Dense Block Output Dense Layer + Softmax (10)
Dense Layer + ReLU (?)
Flatten Dense Block Kernel size = 3x3,
stride = 1,
padding = same,
ReLU
MaxPooling
(2x2, stride = 2)
Convolutional Layer BatchNorm Convolutional Layer Conv Block_2

Kernel size = 3x3,
stride = ?,
padding = ?,
ReLU
+
+
Conv Block_2

MaxPool Convolutional Layer MaxPool MaxPooling
(2x2, stride = 2)
Conv Block_2

Hình 4: Kiến trúc mô hình CNN áp dụng từcâu 7 đến câu 10.
Với đầu vào ảnh màu kích thước 3 × 32 × 32, nhánh main của Conv Block 1 có cấu trúc như trong ảnh 4. Hãy xác định shape của tensor ởnhánh main sau khi đi qua Conv Block
1 (trước phép cộng residual).

Answer: B


Question:
:
Tiếp tục với mạng ởcâu trên. Lưu ý rằng mô hình không có bias:
Wxc =
1.0
0.5
−0.5
1.0
0.0
−0.5

,
Whc =
0.0
1.0
0.0
−1.0

Đầu vào của mạng là 1 timestep:
X = [1.0, 2.0, 3.0]
Câu hỏi: Hãy tính giá trịtiền kích hoạt (pre-activation) của cell gate zc (trước tanh).
(a) [2.5000, −0.5000]
(b) [0.5000, −0.5000]
(c) [−0.5000, −0.5000]
(d) [1.5000, −1.5000]

[1.5000, −1.5000]

LSTM03 – cell gate
Output (pre-activation) của cell gate:
zc = WxcX + Whcht−1 = WxcX.
Wxc =
1.0
0.5
−0.5
1.0
0.0
−0.5

⇒zc =
1 + 0.5 · 2 −0.5 · 3
1 −0.5 · 3

=
 0.5
−0.5

.
199

Answer: B


Question:
:
Tiếp tục với mạng RNN ởcâu RNN01, ta thêm một lớp fully connected với output size
= 1 đểthực hiện bài toán regression. Trọng sốcủa lớp fully connected Who và bho được khởi tạo như hình. Lớp fully connected là tuyến tính (không activation) cho bài toán regression.
Câu hỏi: Hãy tính toán output của mạng RNN sau khi đi qua lớp fully connected ˆy3.
(a) [0.4899]
(b) [−0.4726]
(c) [1]
(d) [0.9051]

Answer: B


Question:
:
Sau khi đã hoàn thành việc triển khai và đánh giá 3 mô hình ởcác phần trước, các bạn hãy chạy tiếp notebook tại đây đểthu được kết quảđánh giá của một mô hình Transformer pretrained trên tập test sau 3 epoch là bao nhiêu?
(a) 95.84%
(b) 85.26%
(c) 80.52%
(d) 90.57%

Answer: B


Question:
Cho ảnh đầu vào kích thước 32 × 32, chia ảnh thành các patch không chồng lặp đểthu được một grid có 8×8 patch tương ứng với 8×8 token. Cấu hình Stem Conv2D đúng là:
(Kernel Size = ?, Stride = ?, Padding = ?)
Stem Conv2D

kernel 3 × 3, stride 1, padding 1.
Giải thích: Muốn patchify không chồng lấp kích thước 4 × 4 thì stride phải bằng 4 và
không cần padding:
32 −4
4
+ 1 = 8 ⇒8 × 8.

Answer: B


Question: mỗi anchor tại mỗi grid cell đã được giải mã vềdạng (class_idi,j, scorei,j,b, bx, by, bw, bh). Tuy nhiên, không phải mọi bounding box dựđoán đều đủtin cậy đểđưa vào bước evaluation hay hậu xửlý. Vì vậy, ta tiếp tục thực hiện bước lọc theo ngưỡng score để chỉgiữlại các box có độtin cậy đủcao: scorei,j,b > τ trong đó τ là ngưỡng lọc (ví dụτ = 0.5). Những bounding box thỏa điều kiện trên sẽđược đưa vào danh sách các dựđoán hợp lệ: B = class_idi,j, scorei,j,b, bx, by, bw, bh scorei,j,b > τ Tập B chứa toàn bộcác bounding box dựđoán có độtin cậy đủcao trên ảnh và sẽđược sửdụng cho các bước tiếp theo như validation hoặc Non-Maximum Suppression (NMS) đểloại bỏcác box trùng lặp và giữlại những dựđoán tốt nhất. #0: pred_obj = 0. #1: pred_obj = 0. #2: pred_obj = 0. aeroplane 0. 0.2 score = pred_obj * p_class_max > 0.5 0.7 ... 0. bicycle bird tvmonitor #0: score = 0. #1: score = 0. #2: score = 0. Hình 2: Quá trình lọc bounding box theo ngưỡng score τ

Answer: B


Question:
) tập trung vào prediction,
ởcâu này ta xét phía dataset/target trong pipeline YOLO theo hướng anchor-based.
Khi mô hình dựđoán theo các anchor boxes và offset tương ứng, ground-truth annotation cũng phải được mã hóa lại thành target tensor đểphục vụtraining.
Cụthể, mỗi sample trong dataset trảvềmột cặp:
(image, label_matrix),
image ∈R3×H×W,
label_matrix ∈RS×S×(C+5B).
Tại mỗi cell (i, j), label_matrix được tổchức như sau:
[class one-hot (C) | (o, tx, ty, tw, th)
|
{z
}
anchor 1
| . . . | (o, tx, ty, tw, th)
|
{z
}
anchor B
].
Với mỗi ground-truth object, ta cần xác định cell chứa tâm, chọn anchor có IoU cao nhất,
rồi gán class label, objectness và các tham sốbox vào đúng vịtrí trong target tensor.
Best Anchor Ground Truth Chỉanchor có IoU cao nhất với Ground Truth được gán objectness = 1

Yêu cầu: Nhiệm vụcủa chúng ta là hoàn thiện hàm __getitem__ của CustomVOCDataset tại phần TODO trong ô Custom Dataset Class của Notebook theo nội dung mô tảởtrên.
Sau đó, chạy notebook với cấu hình mặc định trong 2 epoch. Giá trịbest_mAP_test thu được nằm trong khoảng nào sau đây?
Lưu ý: Trước khi chạy câu này, hãy sao chép phần cài đặt hoàn chỉnh của hai hàm convert_cellboxes và cellboxes_to_boxes từhai câu trước (

Answer: B


Question:
Xét encoder của kiến trúc U-Net như minh họa trong hình dưới đây. Ảnh đầu vào có kích thước 512×512×1. Kích thước các feature map của encoder và bottleneck được ghi trực tiếp trong hình.
Trong quá trình training, tất cảactivation của encoder và input phải được lưu lại để phục vụcho backpropagation và skip connections trong decoder. Giảsửcác tensor sử dụng BF16 (2 bytes / phần tử). Memory của một tensor có thểtính theo công thức:
Memory = B × H × W × C × 2 bytes
10

MB
Trong đó, B là batch size, H, W là chiều cao và chiều rộng của feature map và C là số kênh. Với GPU có 4GB VRAM, batch size lớn nhất có thểsửdụng đểtrain mô hình
(trong các lựa chọn sau) là bao nhiêu? (Bỏqua memory của weight và các overhead khác.)

Answer: B


Question:
Trong huấn luyện mô hình dịch máy đa ngôn ngữ, một sốcặp ngôn ngữcó thểđược gán trọng sốkhác nhau đểtính balanced loss, nhằm điều chỉnh mức đóng góp của từng mẫu trong batch. Giảsửmột batch có B = 4 mẫu, lần lượt thuộc các cặp ngôn ngữ:
[en-vi, en-fr, en-fr, de-en].
Cho trọng sốcủa từng cặp là:
w(en-vi) = 1,
w(en-fr) = 2,
w(de-en) = 3.
Và loss tương ứng theo từng mẫu:
[L1, L2, L3, L4] = [2.0, 1.0, 3.0, 4.0].
Khi đó, balanced loss của batch được tính theo công thức:
Lbalanced =
P4
i=1 w(pairi)Li P4
i=1 w(pairi)
.
Hỏi giá trịcủa Lbalanced là bao nhiêu?

Answer: B


Question: So sánh với LSTM, kiến trúc của GRU (Gated Recurrent Unit) được đơn giản hóa như thếnào và bao gồm những thành phần chính nào sau đây?

GRU giữnguyên 3 cổng (Forget, Input, Output) nhưng loại bỏhoàn toàn trạng thái ẩn (Hidden State), chỉgiữlại Cell State.

GRU có 2 cổng chính là Reset Gate (rt) và Update Gate (zt); đồng thời gộp chung Cell State và Hidden State thành một trạng thái ẩn duy nhất (ht).

GRU thay thếInput Gate bằng Reset Gate (rt), nhưng vẫn giữnguyên Output Gate (ot) và Cell State (Ct) riêng biệt đểlưu trữthông tin dài hạn.

GRU chỉsửdụng một cổng duy nhất là Update Gate (zt) đểthực hiện cả3 chức năng (Quên, Nhập, Xuất) nhằm tối ưu hóa tốc độtính toán.

Answer: B


Question:
Hoàn thiện đoạn code Running Total by Customer ởphần 4.0. Biết rằng cần:
• Sửdụng Window function đểchia nhóm theo Customer_Name.
• Đối với mỗi khách hàng, sắp xếp theo Date.
• Tính toán cột mới Running_Total = tổng cộng dồn Total_Cost từgiao dịch đầu tiên đến giao dịch hiện tại (cumulative sum).
Sau khi chạy df_with_running_total.show(10), với khách hàng Aaron Allen thì giá trịRunning_Total tương ứng ngày 2020-10-08 là bao nhiêu?

Answer: B


Question: Skip Connection là cơ chếcốt lõi của kiến trúc U-Net, đóng vai trò ghép nối các đặc trưng từnhánh Encoder sang nhánh Decoder. Tuy nhiên, việc không sửdụng kỹthuật padding sẽkhiến kích thước feature map bịthu hẹp dần qua từng lớp, dẫn đến hiện tượng tensor ởnhánh Encoder luôn lớn hơn so với nhánh Decoder. Đểkhắc phục điều này, thao tác center crop cần được thực hiện chuẩn xác nhằm đảm bảo hai tensor hoàn toàn khớp nhau trước khi tiến hành phép nối. 140x140 3 conv 3x3, ReLU, padding = 0, stride = 1 copy and crop max pool 2x2, stride = 2 up-conv 2x2, stride = 2 output feature map Dựa trên sơ đồkiến trúc được mô tảnhư trong hình, hãy xác định kích thước [C, H, W] của output feature map cuối cùng là bao nhiêu?

Answer: B


Question: Trong kiến trúc U-Net, các skip connection tại khối decoder thường sửdụng phép concatenate. Tuy nhiên, một biến thểphổbiến khác là sửdụng phép add. Add Add UNet Skip Connection Using Addition Concat Concat UNet Skip Connection Using Concatenation Giảsửsau bước up-convolution, tensor từdecoder và tensor từencoder đã đồng nhất về mặt kích thước không gian lẫn sốlượng kênh, đủđiều kiện đểthực hiện trực tiếp phép add, bạn hãy hoàn thiện các đoạn code còn thiếu trong Colab Notebook đính kèm để block Decoder có thểhỗtrợcảhai chếđộconcat và add. (Lưu ý rằng tất cảcác lớp convolution trong bài đều được thiết lập bias=False.) Sau khi hoàn thiện và thực thi đoạn code trên, sốlượng phần tửcủa tham sốconv1. weight trong hai trường hợp sửdụng block concat và block add lần lượt là bao nhiêu?

Answer: B


Question: Trong bài toán phân vùng ảnh (image segmentation), đầu ra của mô hình thường là một bản đồxác suất (probability map). Giảsửta thực hiện chuyển đổi probability map này thành mặt nạnhịphân (binary mask) dựa trên quy tắc ngưỡng như sau: ˆYi,j = ( 1 nếu pi,j ≥0.5, 0 nếu pi,j < 0.5. Cho mặt nạnhãn chuẩn (ground truth mask) Y và bản đồxác suất P được mô tảtrong hình dưới đây: 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0.90 0.70 0.40 0.20 0.49 0.60 0.30 0.10 0.20 0.90 0.55 0.45 0.10 0.20 0.51 0.80 Biết các công thức tính hệsố Dice và chỉsố IoU (Intersection over Union) được định nghĩa lần lượt là: Dice = 2TP 2TP + FP + FN , IoU = TP TP + FP + FN . Hãy tính giá trị Dice và IoU của dựđoán P so với mặt nạnhãn chuẩn Y sau khi áp dụng bước thresholding. (Lưu ý kết quảđược làm tròn đến 4 chữsốthập phân.)

Answer: B


Question: Hãy xác định output shape của mô hình là bao nhiêu? Giảthiết bài toán:

Answer: B


Question: Hãy xác định output shape của mô hình là bao nhiêu? Giảthiết bài toán:

Answer: B


Question: Bạn mong muốn xây dựng một hệthống Face Recognition với pipeline bao gồm: Face Detection, Face Alignment, Feature Extraction, và Feature Matching như hình minh họa bên dưới. Face Alignment Face Detector Face Embedding Vector Database Feature Matching A match! Similarity = 0.81 ??? Arc Face Feature Extractor Hiện tại, bạn đang tìm kiếm mô hình phù hợp cho bước Face Detector. Bạn mong muốn sửdụng các mô hình trên repository của insightface và dựa vào các kết quảthực nghiệm của họđểchọn mô hình (tại Github). Tiêu chí của bạn là Flops ≤10G và trong sốnhững mô hình thỏa điều kiện, chọn mô hình có độchính xác tốt nhất. Trong các mô hình dưới đây, đâu là mô hình phù hợp nhất?

Answer: B


Question: Bạn đang thực hiện huấn luyện mô hình SCRFD dựa vào tài liệu hướng dẫn của insightface tại Github. Bạn mong muốn xây dựng một bộdữliệu mới đểhuấn luyện mô hình. Hãy tải tấm ảnh từ Google Drive và thực hiện gán nhãn khuôn mặt cho ảnh đó. Trong các phương án dưới đây, đâu là cách gán nhãn đúng nhất?

Answer: B


Question: Trong notebook (notebook) : sau chúng ta sửdụng YOLOv10 đểdetect 3 bức ảnh tương ứng là: test_1 (khó thấy object), test_2 (đông người), test_3 (1 object là mèo). 1 # Load YOLOv10 (sẽtựdownload yolov10n. pt nếu chưa có) 2 model = YOLO("yolov10n. pt") 3 4 out_dir = Path("runs/ yolov10_demo ") 5 out_dir. mkdir(parents=True , exist_ok=True) 6 7 imgsz = 640 8 conf = 0.25 # chỉvẽcác box có conf >= 0.25 9 10 print("=== PREDICTIONS (bbox + conf) ===") 11 for name , p in [("test_1", p1), ("test_2", p2), ("test_3", p3)]: r = model. predict(source=str(p), imgsz=imgsz , conf=conf , verbose=False)[0] # Save annotated image save_path = out_dir / f"{p. stem}_pred_conf{conf }. jpg" r. save(filename=str(save_path)) # Print summary num_boxes = int(len(r. boxes)) if (r. boxes is not None) else 0 max_conf = float(r. boxes. conf. max(). item ()) if (r. boxes is not None and len(r. boxes) > 0) else 0.0 print(f"{name }: num_boxes ={ num_boxes}, max_conf ={ max_conf :.2f} -> {save_path}") # Show annotated image display(Image(filename=str(save_path))) Yêu cầu: Bạn hãy điền đoạn code trên vào vịtrí #INSERT CODE HERE trong notebook. Quan sát kết quảin ra và cho biết label (class có max_conf lớn nhất) và max_conf của từng hình (test_1, test_2, test_3).

test_1: label=car, max_conf=0.73; test_2: label=person, max_conf=0.59; test_3:
label=cat, max_conf=0.99

test_1: label=car, max_conf=0.75; test_2: label=person, max_conf=0.57; test_3:
label=cat, max_conf=0.92

test_1: label=person, max_conf=0.75; test_2: label=car, max_conf=0.57;
test_3:
label=cat, max_conf=0.92

test_1: label=car, max_conf=0.75; test_2: label=person, max_conf=0.52; test_3:
label=cat, max_conf=0.92

Answer: B


Question: Dựa trên pipeline ATSC trong hình, hàm loss nào được sửdụng trực tiếp trong bước huấn luyện?

Answer: B


Question: Trong đoạn code dưới đây: 1 TOP_K = 5 2 scores , samples = embeddings_dataset . get_nearest_examples ( 3 EMBEDDING_COLUMN , input_quest_embedding , k=TOP_K 4 ) Biến TOP_K còn được hiểu là? A. Sốlượng cluster. B. Sốlượng kết quảtrảvề. C. Sốepochs. D. Sốchiều trong không gian embedding.

Không xác định Trong biểu thức này, nếu D và d đã được cho trước thì phần còn lại chỉlà các phép

Answer: B


Question: Kết quảcủa đoạn code sau là: 1 data = pd.Series ([5, 3, 5, 1, 3]) 2 data. rank(method=’min’)

Answer: B


Question: (Hàm loss sẽthiết kếsau). Có bao nhiêu model thiết kếđúng cho hình sau?

Answer: B


Question: Dựa trên hình minh hoạ ABSA ởtrên, bài toán nào nhận đầu vào là câu bình luận và aspect term, sau đó dựđoán sentiment tương ứng?

Answer: B


Question: Cho hình minh họa. 0 1 2 3 4 data 5 6 7 8 0 1 2 3 4 5 6 7 8 out Đoạn code nào sau đây chuyển từma trận data thành ma trận out như hình. A 1 data [[1, 0, 2], :] B 1 data[:, [1, 0, 2]] C 1 data [[2, 1, 0], :] D 1 data[:, [2, 1, 0]]

Answer: B


Question: Cho đoạn code inference sau. Vai trò của torch. no_grad() trong đoạn code trên là gì? 1 # Compute accuracy for data X 2 with torch. no_grad (): 3 outputs = model(X) 4 predicted = torch. argmax(outputs , 1) 5 accuracy = (predicted == y). sum(). item () / y. size (0) 6 print(f’Accuracy: {accuracy * 100:.2f}%’)

Tắt tính toán và lưu trữgradient đểtiết kiệm bộnhớvà tăng tốc độ

Answer: B


Question: Từcode của câu 6 chúng ta tiến hành áp dụng Dropout tại các layer 2,4 và 7 với dropout_rate=0.3. Kết quảtest_accuracy với max_epoch = 20 là: 1 nn.Dropout(dropout_rate)

Answer: B


Question: Theo đoạn mã ởtrên, lớp mô hình được sửdụng đểxây dựng bài toán ATE là gì?

(c) Auto Model For Sequence Classification

Answer: B


Question: Pipeline dưới đây đang sửdụng kỹthuật gì đểxửlý vấn đềmất cân bằng dữ liệu? Luồng hoạt động này là đúng hay sai? A. Oversampling - Đúng B. Oversampling - Sai C. Undersampling - Đúng D. Undersampling - Sai Lời giải Trên ảnh đang sửdụng kỹthuật oversampling vì nó đang tăng các dữliệu về mèo lên (từ3 lên 6). Luồng hoạt động này là sai nếu oversampling được thực hiện trước khi chia train / validation / test. Khi đó, các bản sao (hoặc mẫu rất giống nhau) của lớp thiểu số có thểxuất hiện ởcảtập train và tập validation/test, gây ra data leakage. Kết quảlà điểm validation có thểcao giảtạo và không phản ánh đúng khảnăng tổng quát hóa của mô hình. Cách làm đúng là: • Chia dữliệu thành train / validation / test trước. • Chỉáp dụng oversampling trên tập train. • Giữnguyên validation/test đểđánh giá công bằng. Kết luận: Đây là Oversampling - Sai.

Answer: B


Question: hãy in ra cây đầu tiên (0). Nếu một input có Experience (Year) = 4 và Position = 4, cây thứ0 này sẽtrảvềkết quảlà? Hãy tìm hiểu và sửdụng hàm .plot_tree() với tham sốbắt buộc phải có là num_trees=0.

Answer: B


Question:
(Medium):
Hình bên mô phỏng hàm Fitness Function là Trap. Trong trường hợp này, giá trịscore cuối cùng của Individual được cho trước bằng mấy? (#1 là sốlượng bit 1 trong cá thể)

Answer: B


Question:
:
Hình bên mô phỏng 3-point Crossover, cho trước 2 cá thểcha mẹvà 2 cá thểcon được tạo ra từ2 cá thểcha mẹnày. Hỏi các point trong quá trình crossover được đặt ởvịtrí index nào? (xem kỹvịtrí index trong hình)
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0

Cá thể ba mẹ 1:
Cá thể ba mẹ 2:
Cá thể con 1:
Cá thể con 2:
index: 0
1
2
3
4
5
6
7
8
9

Answer: B


Question:
:
Cho trước ˆy = 6.35 và y = 6.10. Tính L theo L = (ˆy −y)2.

Answer: B


Question:
Trong Object Detection, Region of Interest (ROI) hiểu đơn giản là các vùng ảnh có khảnăng chứa đối tượng. Vì vật thểtrong ảnh có kích thước khác nhau, các ROI này khi chiếu lên feature map cũng có độlớn hoàn toàn khác nhau. Tuy nhiên, các tầng phía sau của mô hình thường yêu cầu đầu vào có kích thước cốđịnh. Đểđáp ứng điều này,
Spatial Pyramid Pooling (SPP) chia mỗi ROI thành một lưới gồm nhiều ô nhỏ(gọi là các bin) với sốlượng định trước. Bằng cách trích xuất đặc trưng (pooling) trên từng bin, ta sẽluôn thu được kết quảđầu ra đồng nhất, bất kểROI ban đầu to hay nhỏ.
Câu hỏi này chỉxét bước xác định cách chia ROI thành các bin. Cụthể, với một ROI kích thước 13 × 13 trên feature map, ta muốn chia nó thành lưới 6 × 6 (36 bin). Vì
13 không chia hết cho 6, ranh giới của mỗi bin phải được xác định bằng phép lượng tử hóa tọa độ.
Trên hình, các dải màu theo trục X biểu diễn các khoảng Xj, còn mỗi bin 2-D được tạo bằng cách kết hợp một khoảng theo hàng với một khoảng theo cột. Đểxác định các khoảng này, ta thực hiện lần lượt 2 bước sau:

Answer: C


Question: Tất cảtọa độđược chuẩn hóa theo kích thước ảnh, giá trịnào đúng?

xc = 0.40625, yc = 0.3125, w = 0.3125, h = 0.2083
Giải thích:
Ảnh gốc có kích thước:
W = 640,
H = 480
Bounding box trong COCO format:
[xmin, ymin, width, height] = [160, 120, 200, 100]
Bước 1: Tính tọa độtâm của bounding box
Trong YOLO format, cần tọa độtâm:
xcenter = xmin + width
2

Answer: C


Question:
Trích một bảng thực nghiệm từProject Module 8 AIO2025 vềVisual Question Answering như hình bên dưới.
Flatten TD-IDF
Encoder Flatten TD-IDF
Encoder Linear Linear Flatten TD-IDF
Encoder Linear Linear Flatten TD-IDF
Encoder Linear Linear Concat Linear -> Multiply Linear -> Concat Linear -> Plus Trong đó, kiến trúc mô hình VQA được xây dựng đơn giản như trong hình minh hoạ:
hình ảnh đầu vào được Flatten đểlàm vector hình ảnh, trong khi câu hỏi đầu vào được vector hoá bằng TF-IDF, sau đó, sửdụng đa dạng các phương pháp kết hợp như nối
(concat), nhân từng phần tử(multiply) hoặc cộng (plus). Ngoài ra, do sựkhác nhau về

Do phép nối làm tăng sốchiều vector tổng hợp, khiến mô hình bịquá khớp do số
lượng tham sốbùng nổquá mức.

Do phép nhân giúp giữsốchiều dữliệu ởkích thước nhỏ, trong khi phép nối làm
tăng sốchiều và phép cộng làm mất mát thông tin của các giá trịâm.

Do phép nhân hoạt động như cơ chếchọn lọc thông tin, trong khi phép cộng và
phép nối có thểkhông có khảnăng này.

Do phép nhân có tính chất giao hoán tương tựnhư phép cộng, giúp mô hình không
bịảnh hưởng bởi tính thứtựđi kết hợp hai vector ảnh và văn bản.
Giải thích:
Phép nhân trong trường hợp này đóng vai trò như một cơ chếchọn lọc hoặc chú ý
(attention). Có thểhiểu như sau, các giá trịtrong vector này sẽcó ảnh hưởng lên các giá
trịtương ứng trong vector còn lại, khi đó các giá trịgần bằng 0 sẽtriệt tiêu thông tin
không quan trọng. Điều này giúp lọc và kết hợp các đặc trưng ngữnghĩa từvăn bản và
thịgiác từảnh hiệu quảhơn.

Answer: C


Question:
(Easy):
Hình bên mô phỏng Tournament Selection với kích thước giải đấu là 3 hoặc 2 và cạnh tranh bằng giá trịFitness. Trong trường hợp này, biết giá trịFitness = sốlượng bit
1 trong cá thể, hỏi cá thểnào giành chiến thắng cuối cùng?
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0

Winner Winner Winner Cá thể 1:
Cá thể 2:
Cá thể 3:
Cá thể 4:
Cá thể 5:

Answer: C


Question:
(Easy):
Với Z-score z = 1.322319 của Sales, mean Sales = 15.1305, std Sales = 5.283892. Giá trịSales theo đơn vịgốc xấp xỉlà bao nhiêu?

Answer: C


Question:
(Easy):
Với cùng mẫu dữliệu (x1, x2, x3, y) = (0.969852, 0.981522, 1.778945, 1.322319), giá trị loss L = (ˆy −y)2 là:

Answer: C


Question:
:
Xét một mạng nơ-ron đơn giản với thông tin như hình bên dưới:

Answer: C


Question:
:
Trong bài tập này, bạn sẽsửdụng PyTorch cùng torch.nn.Module đểthiết kếmột mô hình đơn giản gồm 3 lớp với các tham sốđược cho trước. Mục tiêu là thực hiện phép lan truyền thuận và tính toán giá trịhàm mất mát Loss của kiến trúc mạng được minh họa trong hình bên dưới.
Lưu ý:

Answer: C


Question:
:
Với dữliệu đầu vào và thông tin chi tiết vềhình 8 dưới đây:
Sum ht-1

Multi Sum Ct-1

Sum Sum Multi Sum Multi Whf
Xt Wxf Whi Who Wxo Wxi Whc Wxc ft it Ot Ct ht Hình 8: Mô hình LSTM áp dụng từcâu LSTM01 tới câu LSTM
Giảsửta có một mạng LSTM với input size = 3 và hidden size = 2. Cell state ban đầu:
Ct−1 = [0.0, 0.0] và ht−1 = [0, 0] Trọng sốcủa mạng được khởi tạo như sau. Lưu ý rằng mô hình không có bias:
Wxf =
1.0
0.5
0.5
1.0
0.0
−0.5

,
Whf =
0.0
1.0
0.0
−1.0

Đầu vào của mạng là 1 timestep:
X = [1.0, 2.0, 3.0]
Câu hỏi: Hãy tính giá trịtiền kích hoạt (pre-activation) của forget gate zf (trước sigmoid).
(a) [2.5000, −0.5000]
(b) [4.5000, −2.5000]
(c) [3.5000, −0.5000]
(d) [1.5000, −1.5000]

Answer: C


Question:
.
Trong YOLOv1, mỗi bounding box thường gồm 5 thành phần (x, y, w, h, confidence). Tuy nhiên, trong chuỗi câu hỏi này, tuỳtheo giảthiết cụthểcủa từng bài, ta xét trường hợp mô hình có thểđược rút gọn đầu ra, tức là chỉgiữlại những thành phần thực sự cần thiết đểmô tảobject trong bối cảnh đã cho.
Gọi k là sốthành phần thực sựcần dựđoán cho mỗi bounding box trong từng câu. Khi đó, output shape của mô hình được xác định theo:
N, S × S × (B × k + C)

Trong đó:

(N, 45).

Ta có:
S = 1,
B = 3,
C = 20
Theo mô tảbài toán, k là sốthành phần thực sựcần dựđoán cho mỗi
bounding box.
Trong câu này, object có thểxuất hiện hoặc không xuất hiện và các object có kích
thước khác nhau, nên mỗi bounding box vẫn cần giữđủ:
(x, y, w, h, confidence)
tức là:
k = 5
Vậy output shape được tính theo:
(N, S × S × (B × k + C))
Thay sốvào:
(N, 1 × 1 × (3 × 5 + 20))
(N, 1 × (15 + 20)) = (N, 35)
Kết luận: output shape của mô hình là (N, 35).

Answer: C


Question:
Trong giai đoạn suy luận của mô hình dịch máy, tại mỗi bước sinh, phương pháp Top-k sampling chỉgiữlại đúng k token có xác suất cao nhất và loại bỏtất cảcác token còn lại khỏi không gian lấy mẫu. Giảsửbộtừvựng có V = 50000 token và ta chọn k = 100.
Khi đó, sốtoken bịloại ởbước sinh này là bao nhiêu?

Answer: C


Question: Sau lớp Fully Connected, mô hình tạo ra logits cho từng token trong câu. Tensor logits cần có kích thước bằng bao nhiêu đểphù hợp với đầu vào của hàm nn.CrossEntropyLoss trong bài toán POS Tagging?

Answer: C


Question: Input của FC layer gồm bao nhiêu node?

Answer: C


Question:
Khi triển khai xây dựng mô hình nanoGPT bằng PyTorch đểhuấn luyện trên một tập dữliệu nhỏ, hàm mục tiêu cơ bản nhất mà mô hình tính toán đểtối ưu hóa trong quá trình cập nhật trọng sốlà gì?
A. Cực đại hóa điểm sốBLEU và ROUGE giữa văn bản do mô hình sinh ra tự do và văn bản gốc trong tập dữliệu.
B. Cực tiểu hóa sai sốMean Squared Error giữa vector embedding của câu đầu vào và câu đầu ra.
C. Cực tiểu hóa hàm mất mát Cross-Entropy giữa phân bốxác suất dựđoán token tiếp theo do mô hình xuất ra và token thực tếtrong chuỗi.
D. Cực tiểu hóa hàm Hinge Loss nhằm phân loại chính xác văn bản đầu vào thuộc phong cách Shakespeare hay thuộc các phong cách văn học khác.

Answer: C


Question:
Hoàn thiện đoạn code Customer Spending Ranking by City ởphần 4.0.
Biết rằng cần:
• Sửdụng Window function đểchia nhóm theo City.
• Đối với mỗi City, xếp hạng khách hàng theo Total_Cost giảm dần.
• Tạo cột mới rank_in_city thểhiện thứhạng chi tiêu của từng khách hàng trong thành phốđó.
Sau khi chạy df_with_rank.show(10), kết quảởthành phốBoston cho thấy khách hàng nào đứng hạng 1 (rank_in_city = 1)?

Answer: C


Question: Thực hiện chia patch bằng Stem Conv2D với kernel 4 × 4, stride = 4 và padding = 0 cho ảnh đầu vào có kích thước là 32 × 32. Sau Stem Conv2D, ta thu được grid token. Mask ngẫu nhiên cho 75% sốlượng token, hỏi sốlượng visible token còn lại là bao nhiêu? Sparse Conv Encoder Latent Vector Light Decoder Origin Image Random Masking Reconstructed Image

Answer: C


Question: Trong DETR, ảnh đầu vào được đưa qua backbone CNN đểtạo feature map, sau đó feature map được project vềhidden dimension, flatten thành chuỗi token không gian và đưa vào transformer encoder. Ởphía decoder, mô hình sửdụng learned object queries đểtạo ra một fixed-size set các prediction outputs. Dựa trên pipeline trong hình, biết thêm rằng:

Answer: C


Question: Hãy xác định output shape của mô hình là bao nhiêu? Giảthiết bài toán:

Answer: C


Question: Sau lớp Fully Connected, mô hình tạo ra logits cho từng token trong câu. Tensor logits cần có kích thước bằng bao nhiêu đểphù hợp với đầu vào của hàm nn.Cross Entropy Loss trong bài toán POS Tagging?

Answer: C


Question: Trong bài toán Weather Forcasting sửdụng RNN có hàm create_sequences được định nghĩa như sau: 1 def create_sequences(data , lag , ahea

Đểchia dữliệu thành tập huấn luyện (Train) và tập kiểm thử(Test) theo tỉlệphần
trăm.

Đểchuẩn hóa dữliệu (Normalization) vềkhoảng [0, 1] giúp mô hình hội tụnhanh
hơn.

Đểáp dụng kỹthuật "Cửa sổtrượt"(Sliding Window), chuyển đổi chuỗi thời gian
đơn lẻthành tập dữliệu Học có giám sát (Supervised Learning) gồm các cặp Input
(X) và Label (y).

Đểtính toán giá trịtrung bình trượt (Moving Average) nhằm làm mượt dữliệu và
loại bỏnhiễu.

Answer: C


Question: Cho model A = Multivariate Probit Variational Auto Encoder (MPVAE). Các tính chất quan trọng của model A trong bài toán multi-label classification là: sample sample mean mean Chọn

Không có sequential structure như NLP; thay Self-Attention bằng Label Embedding
đểgiảm chi phí; dùng K group labels và expand K groups thành N labels.

Embed cảfeature X và label Y vào latent space; latent space deterministic thiếu
smoothness/structure; nhiễu nhỏtrong latent space có thểlàm Decoder output thay
đổi lớn.

Dựa trên Probit model; mô hình hoá conditional probability của Y theo X; học

Thiết kếđểso sánh hai latent representations và đo similarity; gồm label network và

Answer: C


Question: Từcode của câu 7 chúng ta tiến hành áp dụng Kernel regularization với hệsố như sau: 1 optimizer = Adam(model. parameters (), lr=1e-3, weight_decay =5e-4) Kết quảtest_accuracy với max_epoch = 20 là:

Answer: C


Question: Theo đoạn mã ởtrên, lớp mô hình được sửdụng đểxây dựng bài toán ATSC là gì?

(c) Auto Model For Sequence Classification

Answer: C


Question: Tiếp tục sửdụng mô hình ởcâu

-7516.56006.
1 # Vẽcây đầu tiên (num_trees=0)
2 fig, ax = plt.subplots(figsize=(40, 20))
3 plot_tree(xgb_model, num_trees=0, rankdir="LR", ax=ax)
# bắt buộc phải có
num_trees=0
4 ax.set_title("XGBoost - Tree 0", fontsize=16)
5 fig.tight_layout()

Answer: C


Question: Giá trịđánh giá MSE và R2 trên tập Test cho mô hình XGBoost trên xấp xỉlà? Hãy sửdụng hàm mean_squared_error() và r2_score(). (random_state=42, n_estimators=50)

Answer: C


Question:
:
Cho quần thểban đầu gồm ba cá thể1,2,3, thực hiện quy trình tiến hóa như sau:

Answer: C


Question:
:
Mô hình ˆy = xw + b với w = −0.34, b = 0.04. Cho x = 5.0. Hãy tính ˆy (làm tròn kết quả đến 2 chữsốthập phân).

Answer: C


Question: Vẫn tại thời điểm khởi tạo, giá trịhàm mất mát trung bình trên toàn bộtập dữliệu là bao nhiêu?

Answer: C


Question: Dựa vào biểu đồLogistic với ngưỡng 0.5 và sốgiờhọc của 5 sinh viên, hãy cho biết có bao nhiêu sinh viên Đậu? 0.0 (Rớt) 0.5 (ngưỡng) 1.0 (Đậu) Số giờ học 0. 0. Xác suất đậu/rớt 0 1 2 3 4 5 6 Student ID Số giờ học 1 2 3 4 5 4 2 0 1 5

Answer: C


Question: Trong cùng bước cập nhật tham sốởtrên (toàn bộtrọng sốvà bias của mạng đều được cập nhật theo gradient), ma trận trọng sốmới W1 bằng bao nhiêu?

Answer: C


Question: Gọi ˆy(cũ) là giá trịdựđoán tại output layer trước khi cập nhật trọng số, và ˆy(mới) là giá trịsau khi cập nhật toàn bộtham sốlần 1. Độchênh lệch được định nghĩa: ∆ˆy = ˆy(mới) −ˆy(cũ). Hỏi ∆ˆy bằng bao nhiêu?

Answer: C


Question: Trong bài toán phân loại ảnh với MLP, với hình ảnh đầu vào là ảnh xám, ta cần đưa hình ảnh đang ởdạng ma trận 2 chiều vềvector 1 chiều thông qua hàm flatten() như hình minh họa bên dưới. Giảsửkích thước ảnh là 24x24 pixel thì số neuron ởlớp input của mạng MLP là? Hidden Layers 2D Matrix flatten() 1D Vector . . . Input 1 pixel 1 pixel Image Size = 24x24 pixel

Answer: C


Question:
:
Yêu cầu: Thay đổi hàm kích hoạt từSigmoid sang ReLU.

Answer: C


Question:
:
Yêu cầu: Bổsung Skip connection giữa đầu ra của lớp ẩn thứnhất và đầu vào của lớp ẩn cuối cùng

[0.96, 0.97].
Giải thích: link
AIO25M06MLP22:
Yêu cầu: Thay đổi hàm kích hoạt ReLU sang hàm kích hoạt nâng cao SwiGLU.

Answer: C


Question:
:
Với dữliệu đầu vào và thông tin chi tiết vềhình 5 dưới đây:
X3
h3

Wxh = [1.0, 0.0, -0.5], [-1.0, 0.0, 0.5]
bxh = 1.0
bho = 0.0
y3
^
RNN Cell h0

X1
h1

RNN Cell X2
h2

Whh = [0.0, -1.0]
bhh = 1.0

Whh = [0.0, -1.0]
bhh = 1.0

Wxh = [1.0, 0.0, -0.5], [-1.0, 0.0, 0.5]
bxh = 1.0

Wxh = [1.0, 0.0, -0.5], [-1.0, 0.0, 0.5]
bxh = 1.0

Whh = [0.0, -1.0]
bhh = 1.0

Who = [0.0, 1.0]
Hình 5: Mô hình RNN áp dụng cho câu RNN01 tới RNN
Câu hỏi: Giảsửta có một mạng RNN đơn giản với input size = 3 và hidden size =
2. Trọng sốcủa mạng chi tiết như hình 5.
Đầu vào của mạng là chuỗi gồm 3 timestep (x1, x2, x3), mỗi timestep có input size = 3:
x1 = [1.0, 2.0, 3.0],
x2 = [4.0, 5.0, 6.0],
x3 = [7.0, 8.0, 9.0]
Hãy tính toán output của hidden state tại mỗi timestep (h1, h2, h3). Biết h0 = [0, 0]
(a) [0.9866, 0.9051], [0.0946, 0.9702], [−0.8996, 0.9983]
(b) [0.9866, 0.9051], [0.0946, 0.9702], [0.9114, 0.4899]
(c) [0.9051, 0.9866], [0.9650, 0.0134], [0.9997, −0.4726]
(d) [−0.4621, 0.9998], [2.4676 × 10−4, 0.9640], [0.9114, 0.4899]

Answer: C


Question:
:
Với dữliệu đầu vào và thông tin chi tiết vềhình 12 dưới đây:
0
0
0
0
0
0

Mask
1.8
1.8
1.9
2.0
1.8
1.9
1.9
1.7
2.0
1.7
1.8
1.4
1.4
1.9
2.0
2.3

Value Matrix
14.4
12.5
13.7
19.8
21.2

Hình 12: Hình ảnh minh hoạmô hình Transformer cho câu TRANS
Câu hỏi: Tính các giá trịthiếu (các giá trị"?") trong hình lần lượt ("?1", "?2") là:

Answer: C


Question:
Cho vector đầu vào y =

y1
y2
y3
⊤là kết quảY của câu trước đó. Thực hiện khối Inverted Bottleneck đã được giản lược chỉbao gồm (1 × 1 expand) và (1 × 1 project) với tỉlệmởrộng 2× (tức C →2C →C) và C = 3 theo các bước:
Pointwise Convolution C
2C
Pointwise Convolution C
Bước mởrộng sốkênh từC lên 2C = 6 được thực hiện bằng Pointwise Conv2D:
z = We y + be,
với We =


1.0
0.0
0.0
0.0
1.0
0.0
0.0
0.0
1.0
1.0
−1.0
0.0
0.0
−1.0
1.0
1.0
0.0
−1.0


,
be =


1.0
1.0
1.0
1.0
1.0
1.0


.
Sau đó áp dụng ReLU theo từng phần tử:
gi = ReLU(zi),
i = 1, . . . , 6,
với ReLU(x) = max(0, x).
Cuối cùng, đưa sốkênh từ2C = 6 vềlại C = 3 bằng Pointwise Conv2D:
o = Wr g + br,
với Wr =


0.4
0.1
0.1
0.1
0.3
0.1
0.1
0.4
0.1
0.2
0.1
0.1
0.1
0.1
0.4
0.1
0.2
0.1

,
br =


1.0
1.0
1.0

.
Hỏi đầu ra o =

o1
o2
o3

xấp xỉbằng bao nhiêu?

Answer: C


Question:
.
Mục tiêu của bài toán là thực hiện phân loại từloại Part-of-Speech gồm 4 lớp: lớp 0 đại diện cho noun/pronoun, lớp 1 đại diện cho verb, lớp 2 đại diện cho các từloại khác và lớp 3 đại diện cho padding.
Đểphục vụcho quá trình suy luận, đềbài cung cấp ba nhóm thông tin: bảng ánh xạ token và embedding, các tham sốcủa lớp Fully Connected, và kiến trúc tổng thểcủa mô hình baseline.
1. Token, chỉsốvà embedding Token Index Embedding
<pad>
0
[ 3.86, 4.15 ]
I
1
[ 2.53, −1.58 ]
hate
2
[ −3.33, −1.51 ]
learning
3
[ −1.36, 2.35 ]
math
4
[ 2.39, −1.32 ]
Nam
5
[ 1.96, −1.29 ]
prefer
6
[ −2.64, −1.73 ]
to
7
[ −1.28, 2.24 ]
learn
8
[ −2.67, −1.83 ]
coding
9
[ 2.65, −1.30 ]
2. Tham sốcủa lớp Fully Connected Thành phần Giá trị Trọng sốFC Layer


2.
−1.
−2.
−1.
−0.
2.
2.
2.


Bias FC Layer
[ 1.55, 0.26, 1.66, −2.08 ]
3. Kiến trúc mô hình Dựa trên các embedding và tham sốđã cho, mô hình baseline sẽánh xạembedding của từng token qua một lớp Fully Connected đểdựđoán nhãn POS tương ứng cho từng vị trí trong câu. Kiến trúc tổng thểcủa mô hình được minh hoạnhư hình dưới đây.

(1, 5, 4).

Trong bài toán POS tagging, mô hình cần dựđoán nhãn cho từng vịtrí trong chuỗi.
Sau lớp Embedding, tensor có kích thước (batch, seq_len, embed_dim), và sau lớp
Fully-Connected ta thu được logits cho mỗi token với kích thước:
(1, 5, 4)
trong đó:

Answer: C


Question: Từma trận dữliệu dưới đây:

1 data_x = np.array ([[1 , 2, 7],
2
[3, 4, 2],
3
[5, 9, 8]])
4 result = data_x [[0, 2, 2], [2, 1, 2]]
5 print(result)
Câu 7: Kết quảcủa đoạn code sau là gì?

Answer: C


Question: Kết quảcủa đoạn code sau là

Error Câu 7: Cho hình minh họa.
0
1
2
3
4
data
5
6
7
8
0
1
2
3
4
5
6
7
8
out
Đoạn code nào sau đây chuyển từma trận data thành ma trận out như hình.
A)1 data [[1, 0, 2], :]
B)1 data[:, [1, 0, 2]]
C)1 data [[2, 1, 0], :]
D)1 data[:, [2, 1, 0]]
Câu 8: Cho hình minh họa.
0
1
2
3
4
data
5
6
7
8
out
6
7
8
3
4
5
0
1
2
Đoạn code nào sau đây chuyển từma trận data thành ma trận out như hình.

Answer: C


Question:
Cho hình minh họa.
0
1
2
3
4
data
5
6
7
8
out
6
7
8
3
4
5
0
1
2
Đoạn code nào sau đây chuyển từma trận data thành ma trận out như hình.

Error Câu 7: Cho hình minh họa.
0
1
2
3
4
data
5
6
7
8
0
1
2
3
4
5
6
7
8
out
Đoạn code nào sau đây chuyển từma trận data thành ma trận out như hình.
A)1 data [[1, 0, 2], :]
B)1 data[:, [1, 0, 2]]
C)1 data [[2, 1, 0], :]
D)1 data[:, [2, 1, 0]]
Câu 8: Cho hình minh họa.
0
1
2
3
4
data
5
6
7
8
out
6
7
8
3
4
5
0
1
2
Đoạn code nào sau đây chuyển từma trận data thành ma trận out như hình.
AI VIET NAM (AIO2025)
aivietnam.edu.vn A)1 data[:,

Answer: C


Question: Kết quảcủa đoạn code sau là:

0: 4.0, 1: 3.0, 2: 4.0, 3: 1.0, 4: 3.0

Câu 6 Trong phép nội suy tuyến tính (linear interpolation), công thức nào sau đây đúng?
A. y = αv1 + (1 −α)v2 với α =
x2−x x2−x1

Answer: C


Question:
Cho mini-batch với m = 2 samples:
X =
1
1.5
0.2
1
4.1
1.3

,
y =
0
1

,
θ =


0.1
0.5
−0.1



∇θL = XT(ˆy −y), kết quảxấp xỉ

0.579 0.564 −0.
T

∇θL = 1
mXT(ˆy −y), kết quảxấp xỉ

0.290 0.282 −0.
T

∇θL = X(ˆy −y), kết quảxấp xỉ

0.696 −0.
T

∇θL = (ˆy−y)XT, kết quảxấp xỉ

0.
0.
−0.013 −0.
−0.
−0.
T

Công thức đúng cho gradient trong logistic regression là ∇θL = 1
mXT(ˆy −y).
Với dữliệu đã cho:
Tính z = Xθ =

0.83 2.
T
Tính ˆy = σ(z) ≈

0.696 0.
T
Tính ˆy −y ≈

0.696 −0.
T
Tính XT(ˆy −y) ≈

0.579 0.564 −0.
T
Nhân với 1
2 ta được kết quảcuối cùng ≈

0.290 0.282 −0.
T
Câu 6: Trong mô hình Logistic Regression sửdụng hàm Tanh, với z = θTx,
ˆy = tanh(z),
và
ˆys = ˆy + 1
2
,
Hàm loss Binary Cross-Entropy được tính trên ˆys. Đạo hàm của loss L theo tham sốθi được rút gọn thành:
1. ∂L
∂θi

Answer: C


Question:
So sánh gradient của MSE và BCE trong Logistic Regression:
MSE:
∂LMSE
∂θi
= 2xi(ˆy −y)ˆy(1 −ˆy)

∂2f
∂x∂y = 6,
∂2f
∂y∂x = 6

Câu 6: So sánh gradient của MSE và BCE trong Logistic Regression:
MSE:
∂LMSE
∂θi

Answer: C


Question: Trong một bài toán phân loại có 5 lớp được gán nhãn từ0 đến 4, nhãn của lớp thứba (y=2) sẽđược biểu diễn như thếnào bằng phương pháp mã hóa one-hot?

Answer: C


Question:
Gọi trạng thái của điểm M0 sau T bước cập nhật (theo SGD
+ Momentum) là xMom T
, vMom T

. Từtrạng thái này, ta đổi optimizer và cập nhật thêm
1 bước bằng Nesterov (NAG) với cùng η, β như trong

(d) xNAG
T+1 ≈1.
AI VIET NAM (AIO2025)
aivietnam.edu.vn

Lời giải Câu 5.
TừCâu 4 ta đã có trạng thái sau T = 3 bước Momentum:
xT = xMom
3

Answer: C


Question:
Sửdụng tokenizer của câu 2 tiến hành vectorization hai câu "Deep learning is fun" và "AI is fun" bằng code dưới đây sẽlần lượt cho kết quảnào?
1 sequence_length = 4
2
3 pad_id = tokenizer.token_to_id("<pad >")
4 tokenizer. enable_padding(pad_id=pad_id , pad_token="<pad >", length=
sequence_length)
5 tokenizer. enable_truncation(max_length= sequence_length)
6
7 def vectorize_sentence (sentence: str):
8
return tokenizer.encode(sentence.lower ()).ids
9
10 vec1 = ####
11 vec2 = ####
13 print("vec1 =", vec1)
14 print("vec2 =", vec2)

Answer: C


Question:
Cho khối Forget Gate của LSTM như hình dưới đây.
Multi Sum Input X
Các tham số:

Answer: C


Question:
:
zf = Wxfxt + Whfht−1 + bf,
ft = σ(zf),
ˆct = ft ⊙ct−1
(với σ(·) là hàm sigmoid, ⊙là phép nhân theo từng phần tử).

Answer: C


Question:
,
(không dùng bias).
(1) Update gate Wizxt =
 0.2
−0.3
0.4
−0.1
0.2
0.1
 

1
−1
0.5

=
 0.
−0.

,
Whzht−1 =
 0.3
0.1
−0.2
0.4
 0.2
−0.1

=
 0.
−0.

.
z(pre)
t
= Wizxt+Whzht−1 =
 0.
−0.

+
 0.
−0.

=
 0.
−0.

⇒zt = σ(z(pre)
t
) ≈
0.
0.

.
(2) Hidden state mới ht = zt⊙˜ht+(1−zt)⊙ht−1 ≈
0.
0.

⊙
 0.
−0.

+
1 −0.
1 −0.

⊙
 0.2
−0.1

=
 0.
−0.

.
Vậy Q7-ANS: zt ≈[0.679, 0.418]T, ht ≈[0.537, −0.270]T

:
2

X, y = [], []
3
for i in range(len(dat

Answer: C


Question:
.
Hệthống đang theo dõi một vật thểtrong video. Bên dưới là histogram của mô hình mục tiêu (Target Model q) và vùng ảnh ứng viên hiện tại (Candidate p). Histogram được chia thành 4 bin chính như sau:
Dựa vào công thức tính hệsốBhattacharyya:
BC(p, q) =
m X
i=1
√piqi trong đó m là sốbin của histogram. Hãy tính hệsốtương đồng giữa hai phân phối trên.
Ngoài ra, giảsửngưỡng tương đồng tối thiểu đểtiếp tục theo dõi trong thuật toán Mean Shift Object Tracking là 0.95. Thuật toán có tiếp tục theo dõi vật thểhiện tại hay không?

BC(p, q) ≈1.00, không tiếp tục theo dõi.

BC(p, q) ≈0.96, không tiếp tục theo dõi.

Answer: D


Question:
:
Thực hiện triển khai mô hình CNN bằng Pytorch theo module (1) trong hình, với các tham sốmặc định padding=1, kernel_size=3, stride=1. Shape của lớp flatten bằng bao nhiêu?
(a) 128 × 8
(b) 128 × 8 × 8
(c) 128 ×
(d) 128 × 16 ×

128 × 16 × 16
Giải thích:
Đầu vào ảnh CIFAR-10 có kích thước:
(3, 32, 32).
Theo module (1), ta có 3 lớp Conv2d liên tiếp, mỗi lớp dùng:
k = 3, s = 1, p = 1 (same padding) ⇒H, W giữnguyên.
Conv1: (3, 32, 32) →(32, 32, 32)
Conv2: (32, 32, 32) →(64, 32, 32)
Conv3: (64, 32, 32) →(128, 32, 32)
211

Answer: D


Question:
:
Thực hiện triển khai mô hình RNN bằng Pytorch với các tham sốđược mô tảởmodule
(2) trong hình (lưu ý batch_first=True, num_layers=1). Shape của input X khi đưa vào mô hình RNN là bao nhiêu?
(a) (64, 32, 32 * 128)
(b) (64, 128, 32 * 3)
(c) (64 * 32, 32, 128)
(d) (64, 32, 32 * 3)

(64, 32, 32 * 3)
Giải thích:
Ảnh đầu vào có shape:
(B, 3, 32, 32),
trong đó theo
Đểđưa vào RNN với batch_first=True, ta cần input dạng:
(B, seq_len, input_size).
Trong module (2), ta thường xem ảnh như một chuỗi theo chiều cao:
seq_len = 32 (mỗi timestep là 1 hàng).
Mỗi timestep chứa toàn bộthông tin theo chiều rộng và kênh màu:
input_size = 32 × 3.
Vì vậy:
X ∈R(64, 32, 32×3).
213

Answer: D


Question:
:
Tiếp tục với mạng ởcâu trên. Lưu ý rằng mô hình không có bias:
Wxi =
−1.0
0.5
0.5
−1.0
0.0
−0.5

,
Whi =
0.0
1.0
0.0
−1.0

Đầu vào của mạng là 1 timestep:
X = [1.0, 2.0, 3.0]
Câu hỏi: Hãy tính giá trịtiền kích hoạt (pre-activation) của input gate zi (trước sigmoid).
(a) [2.5000, −0.5000]
(b) [0.5000, −2.5000]
(c) [−0.5000, −0.5000]
(d) [1.5000, −2.5000]

[1.5000, −2.5000]

LSTM02 – input gate
Output (pre-activation) của input gate:
zi = WxiX + Whiht−1 = WxiX.
Wxi =
−1.0
0.5
0.5
−1.0
0.0
−0.5

⇒zi =
−1 + 0.5 · 2 + 0.5 · 3
−1 −0.5 · 3

=
 1.5
−2.5

.
198

Answer: D


Question:
Bộdữliệu hiện tại gồm 2 ảnh trong cơ sởdữliệu. Ta đưa 1 ảnh truy vấn và 2 ảnh trong cơ sởdữliệu vào mô hình Feature Extractor đểthu được các vector đặc trưng (embedding)
như minh họa phía dưới Query Image Feature Extractor Database
Image #1

Database
Image #2
0.34 0.22 0.90 0.11 0.
0.99 0.12 0.32 0.12 0.
0.45 0.30 0.80 0.35 0.
Hình 3: Hình ảnh minh họa cho câu AIO2025M09FACE
Biết rằng ảnh Image#1 và ảnh truy vấn thực tếthuộc cùng một người (tức là một cặp khớp), còn Image#2 với ảnh truy vấn thì không. Hãy tính độtương đồng cosine (cosine similarity) giữa ảnh truy vấn và từng ảnh trong cơ sởdữliệu, sau đó nhận xét vềchất lượng của mô hình.

cos(Query, Image#1) ≈0.376, cos(Query, Image#2) ≈0.837. Mô hình hoạt động
tốt.

cos(Query, Image#1) ≈0.376, cos(Query, Image#2) ≈0.837. Mô hình hoạt động
chưa tốt.

cos(Query, Image#1) ≈0.645, cos(Query, Image#2) ≈0.959. Mô hình hoạt động
tốt.

cos(Query, Image#1) ≈0.645, cos(Query, Image#2) ≈0.959. Mô hình hoạt động
chưa tốt.
Giải thích: Ta sửdụng công thức cosine similarity:
cos(a, b) =
a · b
∥a∥∥b∥

Answer: D


Question: Trong bài toán huấn luyện mô hình dịch máy đa ngôn ngữ, giảsửDataLoader sửdụng automatic batching và collate_fn được gọi với một danh sách gồm B = 16 mẫu. Giả sửmô hình sửdụng định dạng batch_first=True. Mỗi mẫu sau khi xửlý đều có độ dài MAX_LEN = 64, và collate_fn gom các mẫu này thành batch tensor đểđưa vào mô hình. Khi đó, các tensor input_ids, attention_mask và labels có kích thước lần lượt là gì?

Answer: D


Question:
Trong bước tính loss của mô hình dịch máy, chỉcác token hợp lệtrong câu đích mới được đưa vào tính toán, còn các vịtrí padding thường bịbỏqua bằng cách gán -100.
Giảsửtrong một batch có B = 5 câu đích, mỗi câu có độdài sau padding là T = 120,
và trung bình mỗi câu có đúng Lvalid = 90 token hợp lệ(không bịgán -100). Hỏi tổng sốtoken hợp lệtrong batch là bao nhiêu?

Answer: D


Question: Trong giai đoạn suy luận của mô hình dịch máy, đôi khi ta kết hợp cảTop-k sampling và Top-p sampling đểgiới hạn không gian lấy mẫu. Giảsửtại một bước sinh, bộtừvựng có V = 20000 token, và ta cấu hình top_k = 40, top_p = 0.92. Gọi Np là sốtoken thuộc nucleus nếu chỉáp dụng top-p, và giảsửtrong trường hợp này Np = 25. Khi kết hợp cả top-p và top-k, sốtoken cuối cùng còn lại đểlấy mẫu là bao nhiêu?

Answer: D


Question:
Hoàn thiện đoạn code RFM Scoring ởphần 5.0. Biết rằng: R_Score được chấm theo Recency (càng mới càng điểm cao):
• ≤30 ngày →5 điểm
• ≤60 ngày →4 điểm
• ≤90 ngày →3 điểm
• ≤180 ngày →2 điểm
• > 180 ngày →1 điểm F_Score được chấm theo Frequency (càng mua nhiều càng điểm cao):
• ≥20 lần →5 điểm
• ≥10 lần →4 điểm
• ≥5 lần →3 điểm
• ≥2 lần →2 điểm
• < 2 lần →1 điểm M_Score được chấm theo Monetary (càng chi tiêu nhiều càng điểm cao):
• ≥5000 →5 điểm
• ≥2000 →4 điểm
• ≥1000 →3 điểm
• ≥500 →2 điểm
• < 500 →1 điểm Cuối cùng tính:
RFM_Score = R_Score × 100 + F_Score × 10 + M_Score Sau khi chạy rfm_scored.show(), khách hàng Thomas Oliver có điểm RFM_Score là?

Answer: D


Question: Sửdụng bài code ởcâu 9 tiến hành train (vẫn sửdụng GRU). Kết quả test_accuracy với max_epoch = 20 là:

Answer: D


Question: Cho hình minh họa. 0 1 2 3 4 1 8 3 9 7 data = 5 6 False True False True True False 8 9 7 out = Đoạn code nào sau đấy tạo ra dữliệu out từdata như hình. A 1 data[data < 7] B 1 data[data < 6] C 1 data[data >= 6] D 1 data[data >= 7]

Answer: D


Question: Từcode của câu 4 chúng ta tiến hành thêm nhiễu bằng đoạn code: 1 transforms.Random Erasing(p=0.75 , 2 scale =(0.01 , 0.3) , 3 ratio =(1.0 , 1.0) , 4 value=0, 5 inplace =True) Kết quảtest_accuracy với max_epoch = 20 là:

Answer: D


Question: Xem đoạn chương trình dưới đây. Hỏi phần nào cần chỉnh lại code? P1 P2 P3

Answer: D


Question: (Cho cả3 phần) Hãy xem đây như là một bài toán thực nghiệm, thay thếtừmô hình Random Forest, XGBoost, AdaBoost, Gradient Boost vào dữliệu trên. Sau đó đánh giá bộdữliệu trên tập test và đưa ra mô hình tốt nhất được chọn tối ưu cho bộdữliệu này. (Thực hiện với các siêu tham sốchung: n_estimators = 50, random_state=42)

Answer: D


Question:
:
Hình bên mô phỏng Bit-flip Mutation, trong đó thực hiện đột biến tại các vịtrí bit trên các cá thể1,2,3,4 tương ứng với vịtrí có giá trịlà 1 trên vector Mask. Biết khi bịđột biến, giá trịtại bit đó: nếu là 1 thì thành 0 và ngược lại. Hỏi sau khi đột biến, với biểu đồcủa hàm fitness như hình vẽ(#1 là sốlượng bit 1 trong cá thể), có bao nhiêu cá thểmới có fitness lớn hơn 1?
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0

Mask:
Cá thể 1:
Cá thể 2:
Cá thể 3:
0
1
1
1
0

Cá thể 4:
fitness
#1
1
2
3
4
5
1
2
3
4
5
0
0

Answer: D


Question:
:
Cá thểmục tiêu có kích thước bao nhiêu?

Answer: D


Question:
:
Chọn câu trảlời chính xác nhất, các giá trịbên trong của một cá thể(đã được chuẩn hóa) thuộc?

Answer: D


Question:
:
Cho trước ˆy = 7.08 và y = 6.90. Tính L(ˆy, y) = |ˆy −y| (làm tròn kết quảđến 2 chữsố thập phân).

Answer: D


Question:
:
Tính MAE = 1

N
PN
i=1
ˆy(i)−y(i) trên 4 tháng (làm tròn kết quảđến 2 chữsốthập phân).

Answer: D


Question: Hình bên dưới là một phần forward của một mạng MLP. Trong đó, đầu vào x1, x2 được truyền vào hidden layer với các giá trịweights khác nhau, trong khi các giá trịbias đều bằng 1 (xem hình vẽ). Sau khi tính được h11 và h12, các giá trị được tuyền qua hàm ReLU và nhận được kết quảđầu ra tương ứng. Hỏi ?1 và ?2 có giá trịbằng? ReLU Số giờ học = 8 Toàn bộ bias đều bằng 1 ReLU Số giờ ngủ = 6

Answer: D


Question:
:
Yêu cầu: Thay đổi thuật toán tối ưu hóa từSGD sang Adam.

Answer: D


Question:
:
Yêu cầu: Áp dụng Batch Normalization 1D vào liền sau mỗi lớp Linear trong mô hình.

Answer: D


Question:
:
Giảsửta muốn dùng mạng RNN ởcâu RNN01 đểthực hiện bài toán sequence labeling cho từng timestep. Coi mỗi timestep t tương ứng với một từ(một embedding) xt trong câu.
Tại mỗi timestep t, ta thêm một lớp Fully Connected với output size = 2 đểtạo logits:
st = Whoht + bho,
st ∈R2,
sau đó áp dụng Softmax đểthu được xác suất hai lớp và dựđoán nhãn:
pt = Softmax(st),
ˆyt = arg max(pt) ∈{0, 1}.
X3
h3

Wxh = [1.0, 0.0, -0.5], [-1.0, 0.0, 0.5]
bxh = 1.0
y3
^
RNN Cell h0

X1
h1

RNN Cell X2
h2

Whh = [0.0, -1.0]
bhh = 1.0

Whh = [0.0, -1.0]
bhh = 1.0

Wxh = [1.0, 0.0, -0.5], [-1.0, 0.0, 0.5]
bxh = 1.0

Wxh = [1.0, 0.0, -0.5], [-1.0, 0.0, 0.5]
bxh = 1.0

Whh = [0.0, -1.0]
bhh = 1.0
y2
^
y1
^
bho = 0.0

Who = [0.0, 1.0], [1.0, 0.0]
bho = 0.0

Who = [0.0, 1.0], [1.0, 0.0]
bho = 0.0

Who = [0.0, 1.0], [1.0, 0.0]
Hình 6: Mô hình RNN áp dụng cho câu RNN
Câu hỏi: Ba timestep (x1, x2, x3) lần lượt được mạng RNN trên dựđoán nhãn là gì?
(a) 1, 0, 1
(b) 1, 1, 0
(c) 0, 0, 1
(d) 0, 1, 1

Answer: D


Question:
:
Sau khi đã triển khai toàn bộ3 mô hình các tham sốkhai báo trong baseline, đâu là thứ tựđúng khi so sánh hiệu suất của các mô hình dựa trên tập test (cao nhất →thấp nhất)
tại epoch cuối cùng?
(Nếu sựchênh lệch chưa tới 3% thì được xem như tương đương)
(a) Transformer →RNN ∼LSTM
(b) LSTM ∼RNN →Transformer
(c) Transformer ∼LSTM →RNN
(d) Transformer ∼RNN →LSTM

Answer: D


Question:
Cho mô hình visual question answering (VQA) chuyên dựđoán cho câu hỏi Yes/No, được thiết kếnhư hình bên dưới.
Are there 5 elephants?
Resize to
64 x
Pre-processing
224 x
Flatten TF-IDF Encoder Concatenation Feature Linear(?, 2)
Yes Vocabulary size =
Image Question Answer Trong đó, hình ảnh RGB đầu vào có kích thước 224×224 được resize thành 64×64 trước khi flatten đểlàm vector đặc trưng hình ảnh; câu hỏi đầu vào được tiền xửlý, trong đó bộtừvựng được xây dựng với 100 từphổbiến nhất, sau đó dùng TF-IDF đểtạo vector đặc trưng 100 chiều. Khi kết hợp hai đặc trưng hình ảnh và văn bản, sửdụng phương pháp nối hai vector (không quan tâm thứtự) đểnhận được vector tổng hợp. Vector này được truyền vào Classifer là một lớp Linear đểdựđoán câu trảlời Yes hoặc No. Với thiết kếnhư trên, sốnode đầu vào của lớp Linear là bao nhiêu?

Answer: D


Question:
Kiến trúc mô hình visual question answering (VQA) hiện đại thường sửdụng mô hình Vision Transformer (ViT) đểtrích xuất đặc trưng hình ảnh thông qua token đặc biệt
[CLS] (hay [class] token) như hình bên dưới. Token này được thêm vào chuỗi đầu vào để tổng hợp thông tin trên toàn cục. Với kích thước ảnh gốc là 224 × 224 và kích thước mỗi patch là 32 × 32, cơ chếAttention trong Transformer Encoder cho phép token [CLS] này tương tác với bao nhiêu patch hình ảnh?
0

Image P1

P2

P3
?
Linear Projection of
Flattened Patches
1
2
3
?
*
Transformer Encoder
[CLS]
Patch & Position Embedding
* Extra learnable
[CLS] embedding
...
...

Answer: D


Question:
Trong bài báo Improving Language Understanding by Generative Pre-Training, mô hình GPT-1 được xây dựng trên kiến trúc Transformer Decoder. Kiến trúc này có tổchức các khối xửlý tương tựnhư Encoder, nhưng thay thếself-attention bằng masked-attention.
Trong bài tập này, bạn được cung cấp một Colab Notebook có sẵn code training mô hình sinh văn bản dựa trên kiến trúc của bài báo.
Masked Multi Self attention Layer Norm Feed Forward Layer Norm Text & Position Embed Decoding Linear + Softmax Cross Entropy Loss
?
?
?
?
?
Prediction
+
+
n layers Hình 2: Kiến trúc tổng thểcủa mô hình sinh văn bản GPT-1

Nhiệm vụcủa bạn là hoàn thiện các đoạn mã còn thiếu, sau đó chạy toàn bộcác cell.
Tại epoch thứ10 của quá trình training, có Loss là bao nhiêu?

Answer: D


Question:
Kết quảcủa đoạn code sau là:
1 s1 = pd.Series ([1, 2, 3], index =[’a’, ’b’, ’c’])
2 s2 = pd.Series ([4, 5, 6], index =[’b’, ’c’, ’d’])
3 s3 = s1.add(s2 , fill_value =0)
4 print(s3)

Answer: D


Question:
Trong phép nội suy tuyến tính (linear interpolation), công thức nào sau đây đúng?
A. y = αv1 + (1 −α)v2 với α =
x2−x x2−x1

3.8, 4.1, 6.1

Các giá trịNone ởgiữa được nội suy tuyến tính: (3.7 + 3.9)/2 = 3.8 và (3.9 +
4.3)/2 = 4.1. Giá trịNone cuối không thểnội suy vì không có điểm phía sau.
Câu 8 Đoạn code sau sẽin ra kết quảnào?
1 import pandas as pd
2 temps = pd.Series ([22.5 , None , 24.0 , None , 26.5])
3 filled = temps.fillna(temps.mean ())
4 print(filled [1])
A. None B. 22.5

C. 24.
D. 24.0

Answer: D


Question: Cho dữliệu đầu vào và model như sau:

Có giống nhau, cảhai đều cập nhật trọng sốcủa model một lần và cho kết quảcuối cùng giống hệt nhau.

Không giống nhau, Code 1 cập nhật trọng số2 lần (mỗi sample một lần), Code 2
chỉcập nhật 1 lần với gradient trung bình của cảbatch.

Không giống nhau, Code 2 tính loss nhanh hơn nên cho kết quảtốt hơn.

Có giống nhau, vì cùng chung model.
Câu 5: Đoạn code PyTorch nào sau đây biểu diễn đúng model trong hình?

Answer: D


Question: , kết quảsau khi qua embedding là:

Answer: D


Question:
Cho mạng RNN như hình dưới đây RNN Cell RNN Cell Các tham sốtrọng số:
• Ma trận trọng sốđầu vào Wxh (kích thước 2 × 3):
Wxh =
0.5
−0.5
0.0
0.2
0.0
0.5

• Ma trận trọng sốẩn Whh (kích thước 2 × 2):
Whh =
 0.8
0.1
−0.2
0.5

Answer: D


Question:
Trong bài toán phân loại biển báo giao thông (Traffic Sign Recognition), áp dụng kỹthuật Horizontal Flip (Lật ngang) đểtăng cường dữliệu (Data Augmentation) cho toàn bộtập dữliệu huấn luyện. Điều gì sẽxảy ra?
1 flipped_img = cv2.flip(img , 1)

Mô hình sẽhọc tốt hơn do dữliệu đa dạng hơn.

Không ảnh hưởng gì vì CNN có tính chất bất biến với phép lật.

Mô hình có thểhọc sai do phép biến đổi làm thay đổi ý nghĩa ngữnghĩa của một sốlớp.

Answer: D


Question:
Đoạn code sau đây mô phỏng kỹthuật nào?
1 mask = np.random.binomial (1, 0.5, size=X.shape)
2 out = X * mask
1. Batch Normalization.
2. Dropout
3. Max Pooling.
4. Convolution.

1 def forward(self , x):
2
identity = x
3
out = self.conv1(x)
4
out = F.relu(out)
5
out = self.conv2(out)
6
out = out + identity
7
out = F.relu(out)
8
return out

1 def forward(self , x):
2
out = self.conv2(self.conv1(x))
3
out = F.relu(out + x)
4
return out

1 def forward(self , x):
2
out = F.relu(self.conv1(x))
3
out = F.relu(self.conv2(out))
4
out = out + x
5
return out

1 def forward(self , x):
2
identity = self.conv1(x)
3
out = self.conv1(x)
4
out = F.relu(out)
5
out = self.conv2(out)
6
out = F.relu(out + identity)
7
return out

Answer: D


Question:
Từcode của câu 4 chúng ta tiến hành thêm nhiễu bằng đoạn code:
1 transforms.RandomErasing(p=0.75 ,
2
scale =(0.01 , 0.3) ,
3
ratio =(1.0 , 1.0) ,
4
value=0,
5
inplace =True)
Kết quảtest_accuracy với max_epoch = 20 là:

Answer: D


Question: Input của FC layer gồm bao nhiêu node?.

Answer: D


Question: Giải bài toán text generation bằng cách xem nó như một bài toán text classification như thiết kếdưới đây. Khi đó, vector output có shape là gì?

Output shape = (S, E)

Trong cách thiết kếnày, mỗi mẫu trong batch cần dựđoán một từtiếp theo trong toàn bộtừvựng có kích thước V . Vì vậy output của mô hình phải là một vector logits trên V lớp cho mỗi phần tửtrong batch, tức shape là (N, V ). Do đó
đúng là C.
Câu 5. Thiết kếlại model đểmodel dựđoán ra K từtrong một lần (một output).
Lúc này shape của tensor đưa vào hàm loss trong PyTorch sẽlà gì?

Answer: D


Question:
Xét Hình 4 mô tảpipeline xửlý âm thanh, trong đó một sốbước đã bịẩn đi.
Input: Audio
Files
(i)
Pre-processing Convert to
Mel-Spectrogram DataLoaders
?
?
(ii)
(iii)
(iv)
Hình 4: Pipeline tiền xửlý âm thanh với hai bước bịẩn.
Dựa trên pipeline tiền xửlý âm thanh đã mô tảtrong bài, hai bước bịẩn (?) trong Hình 4 lần lượt là gì?
A. Bước (i): Chuyển sang định dạng MIDI. Bước (iii): Áp dụng Fourier Transform.
B. Bước (i): Trích xuất đặc trưng MFCC. Bước (iii): Áp dụng data augmentation.
C. Bước (i): Chuẩn hóa giá trị(Min-Max Scaling). Bước (iii): Chuẩn hóa tần số lấy mẫu bằng librosa.
D. Bước (i): Chuẩn hóa tần sốlấy mẫu bằng librosa. Bước (iii): Chuẩn hóa giá trị(Min-Max Scaling).

Answer: D


Question:
Một mô hình phân loại nhịphân dựđoán xác suất p = P(y = 1 | x) (xác suất ảnh là chó).
Quy ước nhãn:
• 0 = mèo
• 1 = chó Cho 8 samples sau:

(d) (0.5075, 0.6000]

Source Code
Câu 8: Một mô hình phân loại nhịphân dựđoán xác suất p = P(y = 1 | x) (xác suất ảnh là chó).
Quy ước nhãn:

Answer: D


Question:
Các mô hình thuộc họGPT (Generative Pre-trained Transformer) có điểm gì khác biệt vềcấu trúc so với kiến trúc Transformer được giới thiệu trong bài báo “Attention Is All You Need”?
A. GPT chỉsửdụng khối encoder kết hợp với bidirectional attention đểmã hóa toàn bộngữcảnh trước khi sinh token đầu ra.
B. GPT vẫn giữđầy đủEncoder và Decoder, nhưng đảo thứtựgiữa feed-forward network và multi-head attention đểtối ưu hóa tính song song.
C. GPT thay thếself-attention bằng cross-attention đểliên kết trực tiếp input sequence với output sequence mà không cần hidden states trung gian.
D. GPT chỉsửdụng khối Decoder với masked self-attention đểdựđoán token tiếp theo từcác token quá khứ, và trong thiết lập chuẩn không cần khối Encoder riêng.

Input là [x1, x2, x3, x4], target là [x1, x2, x3, x4] vì mô hình cần tái tạo lại chính
xác toàn bộchuỗi đầu vào.

Input là [<bos>, x1, x2, x3], target là [x1, x2, x3, x4] vì ởmỗi vịtrí mô hình học
dựđoán token kếtiếp.

Answer: D


Question:
Vì sao không nên so sánh trực tiếp perplexity giữa giai đoạn pretraining và continued pretraining rồi kết luận continued pretraining “tốt hơn” chỉvì perplexity nhỏhơn?
A. Vì continued pretraining luôn dùng BF16, còn pretraining không dùng BF
nên hai chỉsốmất tính hợp lệthống kê.
B. Vì batch size ởcontinued pretraining lớn hơn, nên perplexity luôn tựđộng giảm bất kểchất lượng mô hình.
C. Vì hai giai đoạn tuy khác dữliệu nhưng vẫn tối ưu cùng một objective và cùng tập nhãn, nên vềnguyên tắc perplexity luôn so sánh trực tiếp được.
D. Vì hai giai đoạn khác nhau vềphân phối dữliệu, độdài chuỗi, cách xây dựng nhãn và việc label masking, nên thang đo perplexity không còn nằm trong cùng một bối cảnh đánh giá.

Thực hiện padding từng tài liệu đơn lẻbằng token [PAD] đểmọi chuỗi đều
đạt độdài 1024.

Nối toàn bộcác chuỗi token thành một dòng chảy dữliệu duy nhất, sau đó
cắt đều thành các block 1024 token.

Answer: D


Question: Cho một DataFrame df với các cột name, age, và salary. Lệnh nào sau đây lọc nhân viên có tuổi lớn hơn 30 và chỉchọn cột name và salary?

df.filter(df.age > 30).select("name", "salary")

df.where("age > 30").pick("name", "salary")

df.select("name", "salary").where(df.age > 30)

Answer: D


Question: Trong bài toán phân loại biển báo giao thông (Traffic Sign Recognition), áp dụng kỹthuật Horizontal Flip (Lật ngang) đểtăng cường dữliệu (Data Augmentation) cho toàn bộtập dữliệu huấn luyện. Điều gì sẽxảy ra? 1 flipped_img = cv2. flip(img , 1)

Mô hình sẽhọc tốt hơn do dữliệu đa dạng hơn.

Không ảnh hưởng gì vì CNN có tính chất bất biến với phép lật

Mô hình có thểhọc sai do phép biến đổi làm thay đổi ý nghĩa ngữnghĩa của một
sốlớp.

Answer: D


Question: Kết quảcủa đoạn code sau là gì? 1 data = np. array ([2, 4, 6, 8]) 2 result = (data * 3). reshape (2, 2). max(axis =1)

Answer: D


Question: Kết quảcủa đoạn code sau là: 1 s1 = pd.Series ([1, 2, 3], index =[’a’, ’b’, ’c’]) 2 s2 = pd.Series ([4, 5, 6], index =[’b’, ’c’, ’d’]) 3 s3 = s1. add(s2 , fill_value =0) 4 print(s3)

Answer: D


Question: Cho hàm f(x, y). Hai hình dưới lần lượt là đồthịcho x và cho y. Kỹthuật nào hợp lý nhất đểcải thiện tình huống này?

Answer: D


Question: Hoàn thiện đoạn code Statistical Calculations ởphần 3.0. Biết rằng cần phân tích hiệu suất từng Product với các chỉsốsau: • Total_Units_Sold = tổng sốlượng sản phẩm bán ra (Total_Items) • Total_Revenue = tổng doanh thu (Total_Cost) • Avg_Product_Price = giá trung bình mỗi giao dịch của sản phẩm đó (Total_Cost) • Unique_Customers = sốlượng khách hàng duy nhất đã mua sản phẩm (Customer_Name) Sau đó sắp xếp giảm dần theo Total_Revenue. Câu hỏi: Sản phẩm nào có Total_Revenue cao nhất?

Answer: D