WorksheetsOlympic Trí tuệ nhân tạo 2025 - Vòng sơ loại
Total questions: 99
Worksheet time: 52mins
Trong mạng no-ron, chuẩn hóa lô (Batch Normalization) thường được đặt ở đâu?
Trước hàm kích hoạt ReLU và sau lớp tuyến tính (Linear)
Sau ReLU
Sau lớp bỏ ngẫu nhiên (dropout)
Trước lớp đầu vào (input layer)
Thành phần nào sau đây là một tham số có thể học trong một lớp tích chập?
Kích thước của dữ liệu đầu vào
Các giá trị trong bộ lọc
Kích thước bước nhảy
Kích thước padding
Nếu mất mát (loss) không giảm sau 5 vòng lặp (epoch) đầu tiên dù tỉ lệ học là 0.001, bạn nên làm gì đầu tiên?
Dừng lại và chọn mô hình khác
Kiểm tra lại quy trình dữ liệu (data pipeline), tăng cường dữ liệu (augmentation) và bộ tối ưu
Tăng tỉ lệ học lên 0.1
Tăng số lớp của mô hình
Hạn chế lớn nhất khi tinh chỉnh (fine-tune) toàn bộ mô hình GPT là gì?
Không dùng được tiếng Việt
Cần tài nguyên tính toán rất lớn
Không dùng được API
Không sinh được ảnh
Khi muốn trích xuất đặc trưng (features) từ ResNet50, bạn nên làm gì?
Sử dụng bộ tối ưu Adam
Sử dụng đầu ra từ lớp gần cuối (ví dụ: avgpool, penultimate, ...)
Thêm nhiều lớp bỏ ngẫu nhiên (dropout)
Thêm lớp kết nối đầy đủ siêu tốc (fully connected) mới
Giả sử bạn đang xây dựng một mô hình phân loại cảm xúc văn bản (positive/negative) bằng cách sử dụng biểu diễn Bag-of-Words (BoW) và PyTorch (phiên bản ≥ 1.6). Dưới đây là đoạn mã tiền xử lý đã được thực hiện: from sklearn.feature_extraction.text import CountVectorizer from sklearn.model_selection import train_test_split import torch import torch.nn as nn import torch.optim as optim texts = ["I love this movie", "I hate this product", "Amazing quality", "Terrible service"] labels = [1, 0, 1, 0] vectorizer = CountVectorizer() X = vectorizer.fit_transform(texts).toarray() y = torch.tensor(labels) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25) X_train = torch.tensor(X_train, dtype=torch.float32)
A. Tiền xử lý dữ liệu văn bản cho mô hình học máy
B. Đánh giá mô hình học máy
C. Tạo mô hình học sâu
D. Tối ưu hóa mô hình học sâu
Phương án nào sau đây là phần mã đúng để huấn luyện mô hình phân loại nhị phân đơn giản với biểu diễn BoW, một tầng tuyến tính và hàm loss phù hợp?
model = nn.Linear(X_train.shape[1], 1) loss_fn = nn.BCEWithLogitsLoss() optimizer = optim.Adam(model.parameters(), lr=0.01) for epoch in range(100): outputs = model(X_train).squeeze() loss = loss_fn(outputs, y_train.float()) loss.backward() optimizer.step() optimizer.zero_grad()
model = nn.Sequential( nn.Linear(X_train.shape[1], 10), nn.ReLU(), nn.Linear(10, 2) ) loss_fn = nn.NLLLoss() optimizer = optim.Adam(model.parameters(), lr=0.01) for epoch in range(100): outputs = model(X_train) loss = loss_fn(outputs, y_train) loss.backward() optimizer.step() optimizer.zero_grad()
model = nn.Linear(X_train.shape[1], 2) loss_fn = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr=0.01) for epoch in range(100): outputs = model(X_train) loss = loss_fn(outputs, y_train) loss.backward() optimizer.step() optimizer.zero_grad()
model = nn.Linear(X_train.shape[1], 1) loss_fn = nn.MSELoss() optimizer = optim.Adam(model.parameters(), lr=0.01) for epoch in range(100): outputs = model(X_train) loss = loss_fn(outputs, y_train) loss.backward() optimizer.step() optimizer.zero_grad()
Điều nào sau đây là ĐÚNG khi so sánh SVM (support vector machine) với k-NN?
Cả hai phương pháp chỉ được sử dụng cho các bài toán phân loại (không phải hồi quy)
Huấn luyện SVM có thể tốn kém về mặt tính toán, đặc biệt đối với các bộ dữ liệu lớn, trong khi huấn luyện k-NN không liên quan đến quy trình huấn luyện rõ ràng
SVM luôn tốt hơn k-NN trên mọi tập dữ liệu
Dự đoán của cả hai phương pháp đều chậm vì cả hai đều cần xử lý tất cả các mẫu dữ liệu huấn luyện để đoán mẫu dữ liệu mới
Đối với SVM (support vector machine) phi tuyến, để dự đoán, đáp án nào đúng?
Cần sử dụng cùng hàm chuyển đổi tương tự với giai đoạn huấn luyện
Sử dụng một hàm chuyển đổi khác với giai đoạn huấn luyện
SVM phi tuyến luôn tốt hơn SVM tuyến tính trong mọi tập dữ liệu
Không cần hàm chuyển đổi
Khi sử dụng torchvision.models.resnet18(pretrained=True) trong PyTorch, mục đích chính là gì?
Huấn luyện mô hình từ đầu
Tăng kích thước lô (batch size)
Thử nghiệm mô hình mới
Sử dụng trọng số huấn luyện trước (pre-trained weights) trên ImageNet để trích xuất đặc trưng
Khi các mô hình phát hiện vật thể hoạt động, chúng thường đề xuất nhiều hộp bao (bounding box) cho cùng một đối tượng trong ảnh. Nhiều hộp bao này có thể chồng lấn lên nhau, dẫn đến thông tin dư thừa vì mục tiêu của chúng ta là chỉ xác định một hộp bao duy nhất và chính xác nhất cho mỗi đối tượng. Thuật toán Non-Maximum Suppression (NMS) được thiết kế để giải quyết vấn đề này. Nó giúp lọc và loại bỏ các hộp bao dư thừa, chỉ giữ lại những hộp bao đại diện tốt nhất cho mỗi đối tượng. Thuật toán NMS gồm các bước như sau: - Sắp xếp: Sắp xếp tất cả các hộp bao trong tập P theo thứ tự giảm dần của điểm tin cậy (confidence score). - Chọn hộp tốt nhất: Chọn hộp bao H có điểm tin cậy cao nhất từ tập P. Hộp bao này được xem là đại diện tốt nhất hiện tại. - Giữ lại và loại bỏ: Chuyển hộp bao H vào danh sách kết quả cuối cùng (gọi là K) và loại bỏ nó khỏi tập P. - So sánh và loại bỏ chồng lấn: + Tính toán chỉ số Intersection over Union (IoU) giữa hộp H (vừa chọn) và tất cả các hộp bao còn lại trong tập P. Chỉ số IoU được tính theo công thức sau: IoU = (Diện tích vùng giao của 2 hộp) / (Diện tích vùng hợp của hai hộp) + Đối với mỗi hộp bao còn lại trong P, nếu giá trị IoU của nó với hộp H lớn hơn một ngưỡng xác định trước (IoU_threshold), thì loại bỏ hộp bao đó khỏi P. Lý do là vì nó chồng lấn quá nhiều với hộp H (vốn có điểm tin cậy cao hơn) và được coi là dư thừa cho cùng một đối tượng. - Lặp lại: Quay lại Bước 2 và lặp lại quy trình (chọn hộp có điểm tin cậy cao nhất tiếp theo từ P, thêm vào K, loại bỏ các hộp chồng lấn khỏi P) cho đến khi tập P không còn hộp bao nào. - Kết quả: Danh sách K sẽ chứa các hộp bao cuối cùng được giữ lại, mỗi hộp đại diện cho một đối tượng riêng biệt đã được phát hiện. Áp dụng thuật toán NMS với ngưỡng IoU-threshold = 0.40 và giả sử tất cả các hộp cùng một lớp và thông tin các hộp đã sắp thứ tự theo độ tin cậy (confidence score) như sau: ID | Tọa độ (x1, y1, x2, y2) (pixel) | Độ tin cậy B1 | (0, 0, 100, 100) | 0.95 B2 | (10, 10, 90, 90) | 0.90 B3 | (105, 105, 200, 200) | 0.85 Những hộp nào sẽ được giữ lại?
A. B1 và B2
B. Chỉ B1
C. B1 và B3
D. B2 và B3
Trong Pandas, phương thức nào dùng để lấy 5 dòng đầu tiên của DataFrame?
df.head(0)
df.take(5)
df.top()
df.first(5)
Thuật toán học máy nào sau đây là phổ biến và hiệu quả, dựa trên ý tưởng bagging?
XGBoost
Hồi quy tuyến tính (Linear Regression)
Cây quyết định (Decision Tree)
Rừng ngẫu nhiên (Random Forest)
Kỹ thuật nào sau đây được sử dụng để giảm ảnh hưởng của nhiều và ngoại lệ trong tập dữ liệu?
Phân tích thành phần chính (Principal Component Analysis - PCA)
Chính quy hóa (Regularization)
Xác thực chéo (Cross-validation)
Trích xuất đặc trưng (Feature extraction)
Trong xử lý ngôn ngữ tự nhiên, đâu là thứ tự đúng của các bước xử lý cơ bản sau đây?
1. Tách từ (Tokenization)
1. Gán nhãn từ loại (POS Tagging)
1. Phân tích cú pháp (Parsing)
1. Chuẩn hóa văn bản (Text Normalization)
Tại sao learning rate thích ứng lại hữu ích trong thực tế?
Làm mô hình huấn luyện ngẫu nhiên hơn
Tự động điều chỉnh tốc độ học theo tham số cụ thể
Tránh tràn số
Hạn chế overfitting
Kỹ thuật Chain-of-Thought là gì?
Yêu cầu mô hình trả lời càng ngắn gọn càng tốt để tiết kiệm tài nguyên
Huấn luyện mô hình dự đoán từ tiếp theo bằng dữ liệu song ngữ
Yêu cầu mô hình sinh câu hỏi thay vì câu trả lời
Thúc đẩy mô hình giải bài toán bằng cách liệt kê từng bước suy luận trung gian
Trong số các thuộc tính trong k-NN được được thực hiện bằng:
Cặp nhất giá trị thuộc tính của mẫu dữ liệu theo các trọng số khác nhau
Thuộc tính quan trọng hơn được thêm vào bởi trọng số lớn hơn
Điều chỉnh phép tính khoảng cách bằng cách nhân từng thuộc tính với trọng số
Một ma trận trọng số được sử dụng để tính toán các hàng xóm
Chúng ta muốn phân 7 điểm dữ liệu vào trong 3 cụm sử dụng thuật toán K-means (với khoảng cách Euclid). Giả sử rằng sau vòng lặp đầu tiên, các cụm C1, C2 và C3 chứa các điểm dữ liệu sau (trong không gian 2 chiều): C1 chứa 2 điểm dữ liệu: (0,6), (6,0); C2 chứa 3 điểm dữ liệu: (2,2), (4,4), (6,6); C3 chứa 2 điểm dữ liệu: (5,5), (7,7).
C1: (0,0), C2: (48,48), C3: (35,35)
C1: (3,3), C2: (4,4), C3: (6,6)
C1: (6,6), C2: (12,12), C3: (12,12)
C1: (3,3), C2: (6,6), C3: (12,12)
GloVe là một phương pháp nhúng từ (word embedding). Phát biểu nào sau đây mô tả đúng cách mà những từ GloVe được tạo ra?
Được tạo ra trong quá trình dịch máy
Sử dụng cơ chế chú ý (attention) để tạo vector
Được huấn luyện từ ma trận đồng xuất hiện (co-occurrence matrix) toàn cục
Một dạng vector gồm các số 0 và một số 1 (one-hot vector)
Mô hình BERT nhận đầu vào là gì?
Vector ID, mặt nạ chú ý (attention mask), ID loại token
Chỉ văn bản thô (raw text)
Cặp câu với những (embedding)
Từ rời rạc
Nếu muốn sử dụng GPT để sinh câu trả lời dựa trên một đoạn văn, mô hình nào phù hợp nhất?
BERT
GPT-2
GPT-Neo
GPT-3.5 hoặc GPT-4 với gợi ý phù hợp
Nếu thêm bộ ngẫu nhiên (dropout) vào mô hình nhưng độ chính xác kiểm tra (validation accuracy) giảm mạnh, bạn nên thử giải pháp nào đầu tiên?
Dùng bộ tối ưu khác
Giảm xác suất bỏ ngẫu nhiên xuống nhỏ hơn
Tắt bộ ngẫu nhiên
Tăng xác suất bỏ ngẫu nhiên lên 0.8
Trong bài toán phân loại văn bản, nếu mô hình học tốt các từ khóa rõ ràng nhưng không hiểu ngữ cảnh, phương pháp nào giúp cải thiện khả năng hiểu ngữ cảnh?
Giảm số chiều nhúng (embedding)
Dùng mô hình dựa trên chú ý (attention-based) như BERT
Chuyển sang dùng TF-IDF
Bỏ nhúng (embedding), dùng vector gồm các số 0 và một số 1 (one-hot vector)
Giả sử rằng bạn sử dụng phương pháp 1-láng giềng gần nhất (1-NN) để dự đoán nhãn lớp cho dữ liệu x, dựa trên tập huấn luyện D và thước đo khoảng cách d. 1-NN sẽ đưa ra dự đoán nào cho x?
y* trong đó (a*,y*) = arg min_{(a,y)∈D} d(x,y)
y* trong đó (a*,y*) = arg min_{(a,y)∈D} d(x,a)
a* trong đó (a*,y*) = arg min_{(a,y)∈D} d(x,a)
y* trong đó (a*,y*) = min_{(a,y)∈D} d(x,a)
Câu 25. Xét tập huấn luyện gồm 8 mẫu dưới đây. Mỗi mẫu được mô tả bằng 3 đặc trưng số (F1,F2,F3) và thuộc về một trong ba lớp. Sử dụng thuật toán K-láng giềng gần nhất (k-NN) với khoảng cách Euclid và k = 3, lớp nào sẽ được dự đoán cho điểm truy vấn Q = (6,2,6)?
Xanh dương
Đỏ
Xanh lá
Hòa thuật toán không thể quyết định
Hãy cho biết bộ lọc này đang phát hiện đặc trưng gì nhất?
Các mẫu bề mặt (texture patterns)
Các đốm màu (color blobs)
Cho đoạn mã dưới đây, kích thước của output_tensor là bao nhiêu?
(1, 16, 16, 32)
(1, 16, 16, 3)
(1, 14, 14, 32)
(1, 32, 32, 32)
Mục đích chính của lấy mẫu phủ định (Negative Sampling) trong huấn luyện mô hình vector từ là gì?
Tăng số lượng tham số của mô hình.
Giúp mô hình sinh ra văn bản dài hơn và tự nhiên hơn.
Giúp cải thiện độ chính xác mô hình.
Giảm chi phí tính toán khi huấn luyện trên tập từ vựng lớn.
Khi sử dụng bộ tối ưu Adam, nếu mất mát huấn luyện (training loss) ngừng giảm sớm (plateau), bạn nên thử gì tiếp theo?
Đặt lại toàn bộ mô hình
Tăng kích thước lô (batch size)
Bỏ chuẩn hóa lô (BatchNorm)
Giảm tỷ lệ học (learning rate) hoặc thử lại với SGD
Học tự giám sát (self-supervised learning) thường sử dụng phương pháp nào?
Đầu phân loại (classification head)
Phân cụm (clustering)
Tăng cường dữ liệu (augmentation) và mất mát đối lập (contrastive loss)
Gắn nhãn thủ công
Chuẩn hóa rất quan trọng đối với k-NN vì
Giúp tránh được vấn đề một thuộc tính có thể đóng vai trò quyết định, lấn át các thuộc tính khác.
Nó biến đổi các giá trị thuộc tính thành phạm vi [0, 1] để dễ dàng tính toán.
Nó cho phép so sánh và phân tích có ý nghĩa giữa các biến.
Nó cần thiết để tính toán khoảng cách giữa các mẫu dữ liệu.
Giá trị ở vị trí (0,0) của bản đồ đặc trưng đầu ra sau khi áp dụng lớp gộp trung bình (Average Pooling) với kích thước cửa sổ 3 x 3 và bước nhảy 2 là:
A. 55
B. 70
C. 60
D. 50
Câu 33. Để trả về vector đặc trưng (feature vector) từ output của lớp avgpool (shape (2048,1,1)) trong ResNet-50, bạn cần thêm dòng lệnh nào sau đây?
x = x.view(x.size(0), -1)
x = torch.squeeze(x)
x = x.flatten(1)
x = x.reshape(-1, 2048)
Dựa vào đoạn mã sau: import torch, torchvision.models as models model = models.resnet50(weights='DEFAULT') for p in model.parameters(): p.requires_grad_(False) model.fc = torch.nn.Identity() x = torch.randn(1, 3, 224, 224) ... # <-- fill here print(features.shape)
features = model(x)
features = model.layer4(x)
features = model.avgpool(x)
features = x
Bạn muốn sử dụng một mô hình Mạng Nơ-ron Tích chập (CNN) cho nhiệm vụ phân tích ảnh viễn thám. Bạn có hai lựa chọn: Huấn luyện từ đầu hoặc Tinh chỉnh (Fine-tuning). So với việc huấn luyện mô hình từ đầu, phương pháp tinh chỉnh mang lại nhiều lợi ích. Tuy nhiên, điều nào dưới đây KHÔNG phải là một ưu điểm điển hình của việc tinh chỉnh trong tình huống này?
Giảm nguy cơ quá khớp (overfitting) vì có ít tham số cần cập nhật
Khắc phục được hoàn toàn được vấn đề về sự khác biệt giữa dữ liệu ảnh tự nhiên và ảnh viễn thám.
Mô hình học từ nhanh hơn do kế thừa trọng số đặc trưng cơ bản
Tận dụng đặc trưng cấp thấp tổng quát
Một bộ lọc hình vuông, mỗi cạnh của nó dài k ô vuông. Bộ lọc này được dùng để quét qua một bức ảnh bạn đầu có chiều ngang m ô vuông và chiều dọc n ô vuông (m, n > k). Mỗi lần quét, bộ lọc sẽ dịch chuyển đi 2 ô vuông theo cả chiều ngang lẫn chiều dọc. Quá trình quét này không thêm bất kỳ lớp đệm nào vào xung quanh ảnh gốc. Hỏi sau khi quét xong, bức ảnh kết quả (bản đồ đặc trưng đầu ra) sẽ có kích thước bao nhiêu ô vuông chiều ngang và bao nhiêu ô vuông chiều dọc?
(m/2, n/2)
(⌊(m−k)/2⌋+1, ⌊(n−k)/2⌋+1)
(m−k/2 + k, n−k/2 + k)
(m−k+1/2, n−k+1/2)
Khi dùng ViT để phân loại ảnh, lớp cuối cùng thường là gì?
Khối chú ý (attention block)
Bỏ ngẫu nhiên (dropout)
Lớp kết nối đầy đủ (fully connected) và hàm Softmax
LSTM
Dựa trên tập dữ liệu trong Bảng 1 dưới đây để xây dựng cây quyết định, hãy tính xấp xỉ entropy H(Passed). Cây quyết định này dự đoán liệu sinh viên có qua môn hay không (T là có, F là không), dựa trên điểm CGPA (H: cao, M: trung bình, L: thấp) và việc có ôn tập hay không (T hoặc F).
0.66
1.92
0.92
1.32
Một bức ảnh thuộc vào một trong hai lớp: 'chó' hoặc 'mèo'. Nhãn thực tế (ground truth label) của ảnh này được biểu diễn dưới dạng one-hot encoding là [0, 1], trong đó vị trí thứ nhất tương ứng với lớp 'chó' và vị trí thứ hai tương ứng với lớp 'mèo'. Mô hình của chúng ta đã dự đoán xác suất cho ảnh này là [0.3, 0.7], nghĩa là xác suất dự đoán là 0.3 cho lớp 'chó' và 0.7 cho lớp 'mèo'. Hãy tính giá trị của hàm mất mát cross-entropy cho dự đoán này, sử dụng logarit tự nhiên (ln).
0.105
0.247
0.357
0.713
Khi tinh chỉnh (fine-tune) ResNet34, nếu suy luận (inference) chậm, bạn nên thử gì để tăng tốc độ?
Chuyển sang dùng mô hình nhỏ hơn như MobileNet
Thêm lớp bỏ ngẫu nhiên (dropout) vào suy luận
Tăng số vòng lặp (epoch)
Giảm số lớp (class)
Khi huấn luyện mạng nơ-ron đa tầng (MLP) bằng phương pháp tối ưu hóa theo lô nhỏ (mini-batch SGD), bạn cần làm gì sau mỗi vòng lặp (epoch) để đảm bảo mô hình học hiệu quả và tránh thiên lệch?
Xáo trộn dữ liệu (shuffle) huấn luyện
Sử dụng toàn bộ dữ liệu (full-batch) để cập nhật trọng số
Đặt lại trọng số về giá trị ban đầu
Chuyển sang sử dụng bộ tối ưu Adam
Với Lấy mẫu phụ định (Negative Sampling), các mẫu sẽ được chọn như thế nào?
Là các từ có độ tương đồng ngữ nghĩa cao với từ mục tiêu.
Là các từ gần nhất với từ ngữ cảnh trong văn bản.
Là các từ có nhãn đúng trong tập huấn luyện.
Được chọn ngẫu nhiên từ toàn bộ từ vựng, thường theo một phân phối cố định.
Cho trước tập dữ liệu không gán nhãn gồm N điểm dữ liệu: {x₁, x₂, ..., xₙ}. Chúng ta chạy K-means với 50 lần khởi tạo ngẫu nhiên tâm cụm khác nhau (luôn với cùng số lượng tâm cụm K) và thu được 50 bộ tâm cụm khác nhau. Đâu là cách được gợi ý cho việc chọn 1 kết quả từ 50 kết quả trên để sử dụng?
Chọn kết quả mà N1i=1∑N∣∣xi−mzi∣∣2 đạt giá trị nhỏ nhất trong 50 lần, với mzi là tâm cụm mà xi được gán vào.
Chọn lần chạy thứ mấy cũng có thể tốt
Luôn chọn lần cuối cùng (thứ 50), vì lần này có khả năng đã hội tụ thành một giải pháp tốt
Chỉ có cách duy nhất để chọn là yêu cầu dữ liệu phải có nhãn yᵢ
Sử dụng mô hình ResNet-18, với khoảng 11.7 triệu tham số, đã được tiền huấn luyện trên tập dữ liệu ImageNet làm điểm khởi đầu. Trong quá trình tinh chỉnh cho nhiệm vụ cụ thể, bạn áp dụng chiến lược đóng băng trọng số cho toàn bộ phần thân (backbone) của mô hình. Tuy nhiên, có một ngoại lệ đáng chú ý: bạn chỉ mở băng và cho phép cập nhật trọng số cho một khối duy nhất là BasicBlock thứ hai nằm trong lớp thứ tư (layer4), được gọi tắt là 'block 4-2'. Khối 'block 4-2' này, bao gồm hai lớp tích chập 3 x 3: Conv1 : 512 3x3, 512=s1 512, Conv2 : 512 3x3, 512=s1 512. - Bỏ qua tham số và tính toán không cần thiết: Chúng ta sẽ không tính số lượng tham số bias và bỏ qua chi phí tính toán (FLOPs) của các lớp Batch Normalization (BN), hàm kích hoạt ReLU, và các kết nối tắt (skip connection/identity mapping). - Định nghĩa FLOPs: Một phép toán đầu vào động (FLOP) được tính là một phép nhân và một phép cộng. Đối với lớp tích chập, tổng FLOPs xấp xỉ bằng 2 lần số phép tính nhân-cộng (MACs). (FLOPs ≈ 2 x MACs). - Kích thước đầu vào cho khối: Khi mô hình xử lý một ảnh đầu vào góc có kích thước 224 x 224, tensor đặc trưng đi vào khối 'block 4-2' có kích thước là (Batch=1, Channels=512, Height=7, Width=7). Dựa trên sử tiễn, câu trả lời nào sau đây là đúng khi tính tổng số tham số có thể huấn luyện (trainable parameters) chỉ chứa trong khối 'block 4-2' và tổng số FLOPs cần thiết để thực thi chỉ riêng khối 'block 4-2' khi xử lý tensor đầu vào có kích thước (1,512,7,7)?
A. 11.7M; 1.8GFLOPs
B. 4.7M; 0.46GFLOPs
C. 0.50M; 0.05GFLOPs
D. 8.4M; 0.82GFLOPs
Tỷ lệ học thích ứng (adaptive learning rate) như AdaGrad, RMSProp, Adam giúp gì cho mô hình?
Giảm kích thước mô hình
Tăng kích thước lô (batch size)
Giảm số vòng lặp (epoch) cần thiết
Tự động điều chỉnh tốc độ học cho từng tham số
Trong tối ưu hóa theo lô nhỏ (mini-batch SGD), nếu kích thước lô (batch size) quá nhỏ, hệ quả thường gặp là gì?
Giảm thời gian huấn luyện
Gradient quá nhiều, gây dao động
Độ chính xác tăng nhanh
Không ảnh hưởng
Những chiến lược nào có thể giúp giảm vấn đề quá khớp (overfitting) trong cây quyết định?
Không có lựa chọn nào đúng
Tất cả
(i), (ii) và (iii)
(i), (iii), (iv)
Một nơ-ron có 3 đầu vào với trọng số lần lượt là 1, 4 và 3, không có bias. Hàm truyền là hàm tuyến tính với hằng số tỷ lệ bằng 3. Các đầu vào lần lượt là 4, 8 và 5. Đầu ra sẽ là bao nhiêu?
162
153
139
160
Gradient của hàm số 2x2–3y2+4y–10 tại điểm (0, 0) là gì?
1i + 10j
2i - 3j
-3i + 4j
0i + 4j
Khi huấn luyện mô hình phân loại nhiều lớp với tập dữ liệu mất cân bằng về nhãn lớp, nếu lớp hiếm (ít dữ liệu huấn luyện) gần như không được dự đoán, cách xử lý phù hợp là gì?
Giảm số vòng lặp (epoch)
Xóa lớp hiếm khỏi dữ liệu
Tăng bổ ngẫu nhiên (dropout)
Sử dụng hàm mất mát có trọng số
Khi tinh chỉnh (fine-tune) MobileNetV2 trên tập dữ liệu nhỏ, bước đầu tiên bạn nên làm là gì để tối ưu hóa hiệu suất?
Tăng số lớp
Thay toàn bộ mô hình
Đóng băng (freeze) các lớp đầu tiên
Tăng tỷ lệ học (learning rate)
Khi huấn luyện bằng PyTorch, nếu GPU bị đầy bộ nhớ (Out-of-Memory - OOM), bạn nên thử gì đầu tiên?
Chuyển sang dùng CPU
Thêm bổ ngẫu nhiên (dropout)
Dùng mô hình lớn hơn
Giảm kích thước lô (batch size) hoặc dùng tích lũy gradient (gradient accumulation)
Phương pháp nào sau đây KHÔNG thuộc nhóm học có giám sát?
Cây quyết định
Hồi quy tuyến tính với Ridge
Naive Bayes
K-means
Phát biểu nào sau đây là đúng về giải thuật học láng giềng gần nhất?
Chỉ được sử dụng cho bài toán hồi quy
Thuộc lớp bài toán học tham số
Chỉ được sử dụng cho bài toán phân loại
Được sử dụng cho cả bài toán phân loại và bài toán hồi quy
Mục đích chính của việc tăng cường dữ liệu trong huấn luyện mô hình học máy/học sâu là gì?
Tăng tốc độ huấn luyện mô hình
Giảm số lượng tham số của mô hình
Giảm kích thước vật lý của tập dữ liệu gốc
Cải thiện khả năng tổng quát hóa của mô hình
Khi sử dụng BertTokenizer từ Hugging Face, điều nào sau đây đúng?
Dưới đây là một số lựa chọn để có thể thực hiện khi huấn luyện mạng nơ-ron. Đâu là trường hợp sẽ khiến mạng của bạn KHÓ đạt được độ chính xác cao trong tương lai?
Đảo ngẫu nhiên lại dữ liệu khi bắt đầu mỗi epoch
Khởi tạo tất cả bộ tham số bằng 0
Sử dụng momentum
Sử dụng Dropout
Trong mô hình SSD, hộp neo (anchor boxes) có vai trò gì?
Định nghĩa trước các tỷ lệ và kích thước hộp
Làm nhẹ mô hình
Làm tăng số lớp
Tăng độ phân giải ảnh
Quan sát hai ma trận nhầm lẫn (Confusion Matrix) dưới đây, nhận định nào sau đây là chính xác nhất trong số các lựa chọn được đưa ra?
Mô hình có dấu hiệu quá khớp (Overfitting)
Mô hình có dấu hiệu kém khớp (Underfitting)
Độ chính xác trên tập kiểm thử và huấn luyện là gần như tương đương nhau.
Sai số chỉ do phân bố lớp khác nhau giữa hai tập.
Entropy cao có nghĩa là các phần phân chia trong thuật toán cây quyết định ID3 thì
A. Thuần khiết (Pure): Các điểm dữ liệu ở mỗi nhánh của cây quyết định tập trung đa số vào một lớp
B. Không có ý nghĩa gì
C. Không thuần khiết (Not pure): Các điểm dữ liệu ở mỗi nhánh của cây quyết định phân bố tương đối đều vào các lớp
D. Có thể suy ra độ do F1-score cao
Mục đích của việc thêm nhiễu Gaussian vào dữ liệu đầu vào khi huấn luyện là gì?
Giảm số lớp cần thiết
Tăng tính ổn định và khả năng chống nhiễu
Giảm thời gian huấn luyện
Tăng độ chính xác
Khi huấn luyện mạng GAN, nếu bộ tạo (generator) tạo ra ảnh toàn màu xám, nguyên nhân có thể là gì?
Mất mát (loss) quá nhỏ
Tỷ lệ học (learning rate) quá nhỏ
Kích thước lô (batch size) quá lớn
Mất cân bằng giữa bộ phân biệt (discriminator) và bộ tạo (generator)
Trong bài toán phân loại văn bản, nếu mô hình học tốt các từ khóa rõ ràng nhưng không hiểu ngữ cảnh, phương pháp nào giúp cải thiện khả năng hiểu ngữ cảnh?
Dùng mô hình dựa trên chú ý (attention-based) như BERT
Bỏ nhúng (embedding), dùng vector gồm các số 0 và một số 1 (one-hot vector)
Chuyển sang dùng TF-IDF
Giảm số chiều nhúng (embedding)
Nếu mô hình bị học quá mức (overfitting), phương pháp nào nên thử đầu tiên để giảm hiện tượng này?
Tăng số vòng lặp (epoch)
Thêm bộ ngẫu nhiên (dropout) hoặc tăng suy giảm trọng số (weight decay)
Tăng tỷ lệ học (learning rate)
Giảm kích thước lô (batch size)
Khi huấn luyện, nếu độ chính xác huấn luyện (training accuracy) tăng đều nhưng độ chính xác kiểm tra (validation accuracy) dao động mạnh và không cải thiện, nguyên nhân có thể là gì?
Học quá mức (overfitting) hoặc dữ liệu kiểm tra chưa được xáo trộn kỹ
Không sử dụng bộ ngẫu nhiên (dropout)
Mô hình quá nhỏ
Số vòng lặp (epoch) quá ít
Mục tiêu chính khi tinh chỉnh (fine-tune) mô hình BERT cho bài toán phân loại văn bản là gì?
Tạo nhúng (embedding)
Thay lớp cuối bằng một lớp phân loại
Dùng mô hình sinh
Tạo một bộ mã hóa (tokenizer) mới
Nếu tỷ lệ học (learning rate) quá cao, điều gì có thể xảy ra trong quá trình huấn luyện?
Mô hình dao động và không hội tụ
Tăng khả năng regularization
Hàm mất mát giảm đều (giảm tốt)
Mô hình hội tụ nhanh hơn
Sự khác biệt giữa tập kiểm tra (test set) và tập xác thực (validation set) là gì?
Tập xác thực là không cần thiết trong học máy.
Tập xác thực dùng để điều chỉnh siêu tham số, còn tập kiểm tra dùng để đánh giá hiệu suất của mô hình.
Tập xác thực và tập kiểm tra là một.
Tập xác thực dùng để đánh giá hiệu suất mô hình trong quá trình huấn luyện, trong khi tập kiểm tra dùng để đánh giá sau khi huấn luyện.
Câu 68. Xét một Random Forest gồm K cây với nhiệm vụ hồi quy. Mỗi cây quyết định i có thể biểu diễn một hàm T_i(x) của đầu vào x. Random Forest này biểu diễn hàm nào sau đây?
y(x) = i=1∑KTi(x)
y(x) = \max_{i=1,...,K} T_i(x)
y(x) = i=1∑KTi(Kx)
y(x) = K1i=1∑KTi(x)
Để tải nhúng từ (embedding) Word2Vec đã được huấn luyện trước trong thư viện gensim, bạn sử dụng lệnh nào?
gensim.models.load("word2vec")
import word2vec.load_model(path)
KeyedVectors.load_word2vec_format(path)
spacy.load_word2vec(path)
Khi sử dụng câu lệnh nn.CrossEntropyLoss trong PyTorch, bạn nên đưa gì vào đối số đầu tiên?
Logits do lớp cuối cùng của mạng tạo ra
Vector gồm các số 0 và một số 1 (one-hot vector) biểu diễn các lớp mục tiêu
Xác suất thu được sau khi áp dụng softmax lên đầu ra của mạng
Log-xác suất sau khi áp dụng log_softmax lên đầu ra của mạng
Trong quá trình huấn luyện, nếu mất mát huấn luyện (training loss) giảm nhưng mất mát kiểm tra (validation loss) tăng, điều này cho thấy gì?
Mô hình đang học quá mức (overfitting)
Mô hình đang hội tụ
Cần tăng tỷ lệ học (learning rate)
Mô hình học chưa đủ (underfitting)
Trong các bài toán phân đoạn ảnh (image segmentation), một thách thức phổ biến là sự mất cân bằng nghiêm trọng giữa các lớp. Ví dụ, diện tích của đối tượng cần phân đoạn (lớp tiền cảnh - foreground) có thể rất nhỏ so với phần còn lại của ảnh (lớp hậu cảnh - background). Khi gặp tình huống mất cân bằng lớp như vậy, hàm mất mát (loss function) nào trong số các lựa chọn dưới đây thường được xem là hiệu quả hơn và được ưu tiên sử dụng thay cho hàm Cross-Entropy (CE) tiêu chuẩn?
Mean Squared Error (MSE)
Hinge Loss
L1 Loss
Dice Loss hoặc Focal Loss
Mang no-non ResNet sẽ sử dụng một kỹ thuật quan trọng gọi là kết nối tắt (skip connection) để giải quyết hiện tượng biến mất đạo hàm (Vanishing Gradient) trong quá trình huấn luyện. Dựa trên đoạn mã của khối identity_block dưới đây, hãy liệt kê các thành phần chính của khối theo đúng thứ tự xuất hiện và chỉ ra dòng mã thực hiện phép kết nối tắt.
Ba cặp Conv2D–BatchNorm–ReLU; kết nối tắt ở dòng 8
Hai cặp Conv2D–BatchNorm–ReLU; kết nối tắt nằm trong BatchNorm ở dòng 11, 15, 19
Ba cặp Conv2D–BatchNorm–ReLU; Không có cơ chế kết nối tắt ở dòng
Ba cặp Conv2D–BatchNorm–ReLU; kết nối tắt ở dòng 21
Trong mô hình Transformer, cơ chế chú ý (attention) giúp mô hình làm gì?
Tự động sinh từ tiếp theo
Tập trung vào phần quan trọng của câu khi tính toán
Xác định vị trí từ trong câu
Chuẩn hóa đầu vào
Câu 75. Trong các kiến trúc mạng phân đoạn ảnh dạng bộ mã hóa - bộ giải mã (encoder-decoder), ví dụ như U-Net, các "kết nối tắt" (skip connections) đóng vai trò quan trọng. Khi xây dựng một lớp trong phần bộ giải mã của mạng U-Net bằng Python, sử dụng TensorFlow/Keras hoặc PyTorch, bạn sẽ kết hợp encoder_output vào lớp giải mã như thế nào để tận dụng thông tin từ bộ mã hóa? A. Ghép nối encoder_output với đầu ra của lớp giải mã theo chiều kênh (concatenate) B. Nhân encoder_output với đầu ra của lớp giải mã C. Cộng encoder_output với đầu ra của lớp giải mã D. Loại bỏ encoder_output và chỉ sử dụng đầu ra của lớp giải mã
Ghép nối encoder_output với đầu ra của lớp giải mã theo chiều kênh (concatenate)
Nhân encoder_output với đầu ra của lớp giải mã
Cộng encoder_output với đầu ra của lớp giải mã
Loại bỏ encoder_output và chỉ sử dụng đầu ra của lớp giải mã
Thao tác some_concatenation_operation và tham số axis phù hợp nhất để thực hiện kết nối tắt (skip connection) kiểu U-Net là gì?
Phép nối (Concatenation) và axis dọc theo chiều batch
Phép nối (Concatenation) và axis dọc theo chiều kênh (channel dimension)
Phép cộng element-wise và axis không quan trọng
Phép nhân element-wise và axis không quan trọng
Mô hình ngôn ngữ lớn (Large Language Model - LLM) là gì?
Một công cụ tìm kiếm dựa trên quy tắc
Một mô hình học sâu được huấn luyện trên lượng lớn dữ liệu văn bản để dự đoán từ tiếp theo trong một chuỗi
Một hệ thống học tăng cường chuyên cho bài toán xử lý ngôn ngữ
Một cơ sở dữ liệu ngữ nghĩa với các quan hệ giữa từ
Stable Diffusion thuộc loại mô hình nào trong các lựa chọn sau?
Bộ chuyển đổi (Transformer)
Mô hình khuếch tán (Diffusion Model)
GAN
Bộ mã hóa tự động (autoencoder)
Để áp dụng kỹ thuật dừng sớm (Early Stopping) trong huấn luyện, bạn cần theo dõi chỉ số nào để quyết định dừng huấn luyện?
Mất mát kiểm tra (validation loss) hoặc độ chính xác kiểm tra (validation accuracy)
Tỷ lệ học (learning rate)
Số vòng lặp (epoch count)
Mất mát huấn luyện (training loss)
Lệnh nào dùng để chuyển mô hình sang GPU?
model.gpu()
model.to('cuda')
model.cuda.enable()
model.device('GPU')
Thư viện LangChain được sử dụng để làm gì?
Phân tích âm thanh
Dịch máy
Sinh văn bản ngẫu nhiên
Kết nối và xây dựng quy trình cho tác nhân ngôn ngữ lớn (LLM agent pipeline)
Trong mô hình hồi quy logistic sử dụng scikit-learn, thuộc tính nào chứa trọng số đã học của mô hình?
model.weights
model.intercept
model.coefficients
model.coef
Câu 83. Bạn đang phát triển một hệ thống phân tích ảnh vệ tinh để xác định các loại cây trồng khác nhau trong một khu vực nông nghiệp rộng lớn. Sau khi tiền xử lý và trích xuất đặc trưng từ ảnh đa phổ, bạn áp dụng một thuật toán học máy nào để phân loại các loại cây trồng?
K-Means clustering
Support Vector Machine (SVM)
Linear Regression
Principal Component Analysis (PCA)
Giả sử sau khi chạy thuật toán K-means với K=3, bạn thu được ba cụm C1, C2, C3 đại diện cho ba loại cây trồng tiềm năng. Để đánh giá chất lượng phân cụm, bạn quyết định sử dụng một biến thể của Silhouette Coefficient. Silhouette Coefficient cho một điểm dữ liệu i được định nghĩa là: s(i) = (b(i)-a(i))/max(a(i),b(i)), trong đó a(i) là khoảng cách trung bình từ điểm i đến tất cả các điểm khác trong cùng cụm. b(i) là khoảng cách trung bình từ điểm i đến tất cả các điểm trong cụm lân cận gần nhất (khác với cụm của i). Trong trường hợp đang xét, mỗi pixel trong ảnh sau khi trích xuất đặc trưng có thể được coi là một điểm dữ liệu trong không gian đặc trưng nhiều chiều. Giả sử bạn chọn ngẫu nhiên một pixel p thuộc cụm C1. Sau khi tính toán, bạn có các giá trị sau: - Khoảng cách trung bình từ pixel p đến tất cả các pixel khác trong cụm C1 là d(p,C1) = 0.35. - Khoảng cách trung bình từ pixel p đến tất cả các pixel trong cụm C2 là d(p,C2) = 0.60. - Khoảng cách trung bình từ pixel p đến tất cả các pixel trong cụm C3 là d(p,C3) = 0.45. Biết rằng b(p) là khoảng cách trung bình nhỏ nhất từ pixel p đến các điểm trong một cụm khác với cụm chứa p. Hãy tính Silhouette Coefficient s(p) cho pixel p.
0.0
0.222
0.125
0.308
Nếu khởi tạo trọng số (weight initialization) không phù hợp, hiện tượng nào có thể xảy ra trong quá trình huấn luyện?
Mô hình học nhanh hơn
Không ảnh hưởng vì bộ tối ưu sẽ điều chỉnh
Học quá mức nhẹ (overfitting)
Gradient biến mất (vanishing) hoặc nổ (exploding)
Để đánh giá mô hình phân loại ảnh với các lớp không cân bằng, chỉ số nào nên dùng thay vì chỉ độ chính xác?
A. AUC (Area Under the Curve)
B. Điểm F1 trung bình (Macro F1-score)
C. RMSE (Root mean square error)
D. Độ chính xác cao nhất (Top-1 accuracy)
Sau khi huấn luyện mô hình phân loại với độ chính xác 90%, khách hàng muốn triển khai thực tế. Việc cần làm tiếp theo là gì?
Nén ảnh đầu vào
Chuyển mô hình sang TensorRT/ONNX để triển khai (deploy)
Tăng thêm số vòng lặp (epoch) để đạt 95%
Thay mô hình sang BERT
Khi xử lý dữ liệu ảnh, nếu một số ảnh bị hỏng (không mở được), cách tốt nhất để xử lý khi huấn luyện là gì?
Tăng kích thước lô (batch size) để bù lại
Bỏ qua toàn bộ thư mục chứa ảnh đó
Bắt lỗi khi tải ảnh và bỏ qua ảnh bị hỏng
Dừng toàn bộ huấn luyện
Trong PyTorch, để thêm lớp bỏ ngẫu nhiên (dropout) với xác suất 0.5 vào mạng nơ-ron, bạn sử dụng lệnh nào?
F.dropout(0.5)
nn.dropout(0.5)
nn.Dropout(p=0.5)
nn.Dropout2d(0.5)
Hãy xem xét một công cụ phát hiện các gói tin chưa mới để dọa trong trường hợp chỉ có một số lượng nhỏ gói là mối đe dọa. Yêu cầu là công cụ cần phát hiện các gói đe dọa mà không bỏ sót gói nào. Đâu là độ đo quan trọng nhất để đánh giá công cụ?
Accuracy
F1
Recall
Precision
Phương pháp nào dưới đây mà việc chuẩn hóa các thuộc tính dữ liệu đầu vào không ảnh hưởng đến kết quả dự đoán?
Mạng nơ-ron (Neural Networks)
Cây quyết định
Mục tiêu huấn luyện của mô hình CBOW (Continuous Bag-of-Words) là gì?
Sử dụng toàn bộ văn bản để dự đoán một từ bất kỳ
Sử dụng vị trí của từ trong câu để dự đoán nghĩa của câu
Sử dụng các từ xung quanh để dự đoán từ trung tâm
Sử dụng từ trung tâm để dự đoán các từ xung quanh
Mục tiêu chính của phương pháp học tương phản (contrastive learning) trong lĩnh vực học tự giám sát (self-supervised learning) là gì?
Tối thiểu hoá khoảng cách Euclidean giữa mọi cặp ảnh trong batch
Khôi phục ảnh gốc từ ảnh đã bị thêm nhiễu Gaussian
Đưa các ảnh được biến đổi từ cùng một ảnh gốc thông qua các phép biến đổi cơ bản tới gần nhau, đẩy các mẫu lấy từ các ảnh khác nhau xa nhau trên không gian biểu diễn (embedding space)
Tối ưu hoá hàm cross-entropy có nhân đầy đủ
Điểm khác biệt chính giữa Stochastic Gradient Descent (SGD) và Mini-Batch Gradient Descent là gì?
SGD luôn hội tụ nhanh hơn
Mini-Batch Gradient Descent là một thuật toán hoàn toàn khác
SGD không dùng được trong mạng nơ-ron
SGD cập nhật tham số sau mỗi mẫu dữ liệu, Mini-Batch thì sau một nhóm mẫu
Giả sử các từ được biểu diễn bởi các vector 4 chiều như sau: w1 = [0.8, 0.6, 0.0, 0.2] w2 = [0.9, 0.5, 0.1, 0.3] w3 = [1.0, 0.1, 0.0, 0.0] w4 = [0.0, 0.1, 0.9, 0.3] Hãy tính độ tương đồng cosine giữa w1 và các từ còn lại (w2, w3, w4), sau đó chọn từ gần nhất với w1. Công thức tính cosine similarity giữa hai vector A và B là: cosine-similarity(A, B) = (A·B)/(|A||B|) Với: A·B là tích vô hướng giữa hai vector, |A| là độ dài của vector A, tính bằng căn bậc hai tổng bình phương các thành phần
Có nhiều hơn một từ gần nhất với w1
w3
w4
w2
Mạng GAN bao gồm hai mạng chính nào?
Bộ phát hiện (Detector) và Bộ phân đoạn (Segmentor)
Bộ chuyển đổi (Transformer) và Cơ chế chú ý (Attention)
Bộ mã hóa (Encoder) và Bộ giải mã (Decoder)
Bộ tạo (Generator) và Bộ phân biệt (Discriminator)
Quá khớp (Overfitting) có thể do
Lựa chọn mô hình không phù hợp
Độ phức tạp của bài toán học
Một lỗi nào đó trong quá trình huấn luyện
Nhiễu trong dữ liệu
