Câu hỏi: DAT301M - Phần 2: Tăng cường ảnh, chống quá khớp và học chuyển giao
36 câu trắc nghiệm kèm lời giải của môn DAT301m - Phát triển UDTTNT với TensorFlow, xếp theo thứ tự nhập vào ngân hàng.
Danh sách câu hỏi
20/36 câuCòn 16
AIt avoids using pre-trained models altogether.
BIt allows the model to ignore the knowledge from the pre-trained model.
CIt transfers knowledge from the pre-trained model to improve performance on a new task.
DTransfer learning has no impact on model performance.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It transfers knowledge from the pre-trained model to improve performance on a new task.". Transfer learning (học chuyển giao) lấy một mô hình đã huấn luyện trên tập lớn như ImageNet, giữ lại phần trích xuất đặc trưng (thường đặt trainable = False), rồi gắn thêm các lớp mới cho bài toán của mình; các đặc trưng đã học như cạnh, kết cấu, hình khối được tái sử dụng nên mô hình mới đạt độ chính xác cao hơn với ít dữ liệu và thời gian huấn luyện hơn. "It avoids using pre-trained models altogether." sai vì transfer learning chính là dùng mô hình đã huấn luyện sẵn làm điểm xuất phát. "It allows the model to ignore the knowledge from the pre-trained model." sai vì mục đích là tận dụng tri thức đó, bỏ qua nó thì chẳng khác huấn luyện từ đầu. "Transfer learning has no impact on model performance." sai vì lợi ích chính của kỹ thuật này là cải thiện hiệu năng và rút ngắn huấn luyện, nhất là khi tập dữ liệu mới nhỏ.
AA single line indicating both training and validation accuracies
BTwo separate lines for training and validation accuracies
CA bar chart comparing training and validation accuracies
DA scatter plot showing individual data points
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Two separate lines for training and validation accuracies". Sau khi gọi model.fit với dữ liệu kiểm định, đối tượng history lưu accuracy và val_accuracy theo từng epoch; cách vẽ chuẩn là hai đường trên cùng một trục, trục hoành là epoch, để thấy hai đường cùng đi lên hay tách xa nhau, từ đó nhận ra overfitting (quá khớp) khi độ chính xác huấn luyện tiếp tục tăng còn độ chính xác kiểm định chững lại hoặc giảm. "A single line indicating both training and validation accuracies" không thể hiện được hai đại lượng khác nhau nên mất đúng thông tin cần so sánh. "A bar chart comparing training and validation accuracies" hợp để so sánh vài con số cuối cùng, nhưng không cho thấy diễn biến liên tục qua các epoch. "A scatter plot showing individual data points" dùng để xem phân bố của từng mẫu dữ liệu, không phải để theo dõi đường học của mô hình.
A224×224
B256×256
C299×299
D331×331
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "299×299". InceptionV3 được thiết kế và huấn luyện trên ImageNet với ảnh đầu vào 299×299×3, nên khi gọi tf.keras.applications.InceptionV3 với include_top=True, input_shape mặc định là (299, 299, 3); khi dùng làm mô hình nền cho transfer learning, ta thường resize ảnh về đúng kích thước này và chuẩn hoá bằng hàm preprocess_input đi kèm. "224×224" sai vì đây là kích thước chuẩn của các mạng khác như VGG16, ResNet50 hay MobileNet chứ không phải InceptionV3. "256×256" sai vì đó thường là kích thước ảnh được thu nhỏ trước khi cắt giữa lấy vùng 224 trong quy trình tiền xử lý ImageNet kinh điển, không phải đầu vào của InceptionV3. "331×331" sai vì đó là kích thước đầu vào của NASNetLarge, một kiến trúc lớn hơn trong cùng bộ tf.keras.applications.
4How does increasing the size of the training dataset contribute to preventing overfitting?4 lựa chọn
AIt has no impact on overfitting.
BIt increases the risk of overfitting.
CIt helps the model generalize better to new data.
DIt makes the model more prone to memorizing noise.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It helps the model generalize better to new data.". Overfitting (quá khớp) xảy ra khi mô hình học thuộc cả nhiễu và chi tiết ngẫu nhiên của tập huấn luyện nhỏ thay vì quy luật chung; khi có nhiều mẫu hơn, các đặc điểm ngẫu nhiên khó lặp lại nhất quán nên mô hình buộc phải nắm mẫu hình thật sự, nhờ đó khả năng generalization (tổng quát hoá) lên dữ liệu chưa thấy tăng. Đây cũng là lý do data augmentation (tăng cường dữ liệu) được dùng như cách "tạo thêm" dữ liệu. "It has no impact on overfitting." sai vì kích thước dữ liệu là một trong những yếu tố tác động mạnh nhất tới quá khớp. "It increases the risk of overfitting." sai vì đi ngược cơ chế: nhiều dữ liệu hơn làm giảm, không làm tăng, rủi ro quá khớp. "It makes the model more prone to memorizing noise." sai vì nhiễu ngẫu nhiên bị pha loãng bởi lượng mẫu lớn, mô hình khó ghi nhớ nhiễu hơn chứ không dễ hơn.
AAs strings
BAs integer values
CUsing one-hot encoding
DUsing floating-point numbers
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Using one-hot encoding". Với bài toán phân loại nhiều lớp, nhãn thường được biểu diễn bằng one-hot encoding (mã hoá một-nóng): mỗi nhãn là vector dài bằng số lớp, vị trí của lớp đúng bằng 1, còn lại bằng 0, tạo bằng tf.keras.utils.to_categorical hoặc label_mode='categorical'; dạng này khớp với đầu ra softmax và hàm mất mát categorical_crossentropy. "As integer values" chỉ hợp khi dùng sparse_categorical_crossentropy, đó là một biến thể tiết kiệm bộ nhớ chứ không phải cách biểu diễn được hỏi ở đây, và số nguyên đứng một mình dễ khiến mô hình hiểu nhầm là có thứ tự giữa các lớp. "As strings" sai vì mạng nơ-ron chỉ tính toán trên số, nhãn chữ phải được chuyển đổi (ví dụ qua StringLookup) trước khi huấn luyện. "Using floating-point numbers" sai vì một số thực đơn lẻ biểu diễn đại lượng liên tục như bài toán hồi quy, không mô tả được việc thuộc về một trong nhiều lớp rời rạc.
AUse the 'horizontal_flip' parameter
BUse the 'flip' parameter and set 'horizontal'
CUse the 'flip_vertical' parameter around the Y axis
DUse the 'flip' parameter
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Use the 'horizontal_flip' parameter". Trong ImageDataGenerator của Keras, tham số horizontal_flip=True lật ngẫu nhiên ảnh theo chiều ngang (lấy trục dọc làm gương), biến người quay mặt sang trái thành người quay mặt sang phải; nhờ vậy mô hình thấy cả hai hướng dù dữ liệu gốc chỉ có một hướng, giảm overfitting (quá khớp) vào hướng mặt. "Use the 'flip' parameter and set 'horizontal'" sai vì ImageDataGenerator không có tham số flip nhận giá trị 'horizontal'; chuỗi "horizontal" chỉ xuất hiện ở lớp RandomFlip mới hơn chứ không phải cách viết này. "Use the 'flip_vertical' parameter around the Y axis" sai vì không có tham số tên flip_vertical, và lật dọc (vertical_flip) đảo trên dưới, biến người thành lộn ngược chứ không đổi hướng trái phải. "Use the 'flip' parameter" sai vì ImageDataGenerator không có tham số flip chung; phải chỉ rõ horizontal_flip hoặc vertical_flip.
ACopying and pasting code from one project to another
BTraining a model on a specific task and then using it as a starting point for a different but related task
CMoving data from one storage location to another
DAdjusting the brightness and contrast of images during preprocessing
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Training a model on a specific task and then using it as a starting point for a different but related task". Trong thị giác máy tính, transfer learning (học chuyển giao) lấy một mạng tích chập đã học trên tập lớn như ImageNet, ví dụ MobileNetV2 hay InceptionV3 trong tf.keras.applications, đóng băng các lớp tích chập đã học đặc trưng tổng quát rồi thêm và huấn luyện lớp phân loại mới, có thể fine-tune (tinh chỉnh) vài lớp trên cùng cho bài toán mới. "Copying and pasting code from one project to another" sai vì thứ được chuyển giao là trọng số và đặc trưng đã học, không phải mã nguồn. "Moving data from one storage location to another" sai vì đó là thao tác di chuyển dữ liệu thuần tuý, không có mô hình nào học gì. "Adjusting the brightness and contrast of images during preprocessing" sai vì đó là tiền xử lý hoặc tăng cường dữ liệu (data augmentation), giúp đa dạng tập huấn luyện chứ không tái sử dụng tri thức của mô hình khác.
AIt drops neurons during training to prevent overfitting.
BIt adjusts the learning rate dynamically.
CIt adds random noise to the input data.
DIt reduces the spatial dimensions of the input.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It drops neurons during training to prevent overfitting.". Lớp Dropout(rate) trong Keras, ở mỗi bước huấn luyện, đặt ngẫu nhiên một tỉ lệ rate đơn vị đầu ra về 0 và phóng to phần còn lại theo hệ số 1/(1 − rate); mạng không thể dựa vào vài nơ-ron cố định nên học đặc trưng dư thừa, bền hơn, giảm overfitting (quá khớp). Khi suy luận Dropout tự tắt. "It adjusts the learning rate dynamically." sai vì điều chỉnh learning rate (tốc độ học) là việc của bộ tối ưu như Adam hoặc callback như ReduceLROnPlateau, không phải một lớp trong mạng. "It adds random noise to the input data." sai vì thêm nhiễu cộng vào dữ liệu là lớp GaussianNoise; Dropout nhân với mặt nạ 0/1 chứ không cộng nhiễu. "It reduces the spatial dimensions of the input." sai vì giảm kích thước không gian là việc của lớp pooling như MaxPooling2D hoặc tích chập có stride; Dropout giữ nguyên shape.
9What is the purpose of the "ImageDataGenerator" in TensorFlow's Computer Vision applications?4 lựa chọn
AGenerating random numbers for image pixel values
BPreprocessing image data for model training
CCreating animated GIFs from image sequences
DDesigning custom image filters
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Preprocessing image data for model training". ImageDataGenerator trong tf.keras.preprocessing.image đọc ảnh theo lô (ví dụ bằng flow_from_directory, tự gán nhãn theo tên thư mục con), chuẩn hoá điểm ảnh bằng rescale, đưa ảnh về target_size và áp dụng tăng cường dữ liệu như rotation_range, zoom_range, horizontal_flip ngay trong lúc huấn luyện, nhờ đó vừa tiết kiệm bộ nhớ vừa giảm overfitting (quá khớp). "Generating random numbers for image pixel values" sai vì nó không tạo ảnh ngẫu nhiên, nó biến đổi ảnh thật có sẵn. "Creating animated GIFs from image sequences" sai vì việc ghép ảnh thành GIF động thuộc về thư viện xử lý ảnh, không liên quan tới chuẩn bị dữ liệu huấn luyện. "Designing custom image filters" sai vì các bộ lọc trích đặc trưng do lớp Conv2D tự học trong quá trình huấn luyện, ImageDataGenerator không thiết kế bộ lọc nào.
A
rescaleB
normalize_imageC
normalizeD
rescale_imageLời giải
Mở trang câu hỏi này →Đáp án đúng: "rescale". Trong ImageDataGenerator, tham số rescale là hệ số nhân áp lên mọi giá trị điểm ảnh trước các phép biến đổi khác; đặt rescale=1./255 đưa giá trị từ khoảng 0–255 về 0–1, giúp đầu vào có thang đo nhỏ và đồng đều để gradient ổn định và mạng hội tụ nhanh hơn. "normalize_image" không phải tham số hay phương thức của ImageDataGenerator, nên truyền vào sẽ báo lỗi. "normalize" cũng không có trong ImageDataGenerator; các tham số chuẩn hoá thật của nó mang tên khác như samplewise_center hay featurewise_std_normalization, còn việc chia cho 255 vẫn do rescale đảm nhiệm. "rescale_image" là tên bịa gần giống rescale nhưng không tồn tại trong API, nên không thực hiện được việc chuẩn hoá.
ANumPy
BMatplotlib
CScikit-learn
DTensorFlow
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Matplotlib". Sau khi gọi model.fit, đối tượng History trả về chứa history.history['accuracy'] và history.history['val_accuracy'] theo từng epoch; thư viện Matplotlib, qua matplotlib.pyplot với plt.plot, plt.legend, plt.show, là công cụ vẽ phổ biến nhất để biểu diễn hai đường này và nhận ra overfitting (quá khớp) khi chúng tách xa nhau. "NumPy" sai vì NumPy là thư viện tính toán mảng số, giữ và xử lý dữ liệu nhưng không có chức năng vẽ đồ thị. "Scikit-learn" sai vì Scikit-learn cung cấp thuật toán học máy và hàm đánh giá như accuracy_score, không phải công cụ chính để vẽ đường học. "TensorFlow" sai vì TensorFlow sinh ra số liệu huấn luyện; việc trực quan hoá trong TensorFlow đi qua TensorBoard, còn vẽ đồ thị trong notebook thì vẫn dùng Matplotlib.
ABy making the training process slower
BBy introducing more noise into the model
CBy improving the model's generalization to new data
DIncreasing data size has no effect on overfitting
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "By improving the model's generalization to new data". Overfitting (quá khớp) xảy ra khi mô hình ghi nhớ các chi tiết và nhiễu riêng của tập huấn luyện nhỏ; khi có nhiều dữ liệu hơn, mô hình gặp nhiều biến thể của cùng một khái niệm nên khó học thuộc từng mẫu và buộc phải học các quy luật chung, nhờ đó generalization (khả năng tổng quát hoá) trên dữ liệu mới tốt hơn, và data augmentation là cách tạo thêm dữ liệu khi không thu thập được. "By making the training process slower" chỉ là hệ quả phụ về chi phí tính toán, tốc độ huấn luyện không phải cơ chế chống quá khớp. "By introducing more noise into the model" không phải mục đích của việc thêm dữ liệu; dữ liệu tốt hơn giúp làm loãng nhiễu chứ không phải đưa thêm nhiễu vào. "Increasing data size has no effect on overfitting" sai vì thêm dữ liệu đại diện là một trong những cách giảm quá khớp hiệu quả nhất.
13What is the purpose of using one-hot encoding for the target variable in a multi-class classification task?4 lựa chọn
ATo increase model complexity
BTo speed up training
CTo represent categorical labels as numerical vectors
DOne-hot encoding is not applicable for multi-class classification
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To represent categorical labels as numerical vectors". Mạng nơ-ron chỉ làm việc với số, nên nhãn lớp dạng phân loại được mã hoá one-hot thành vectơ dài bằng số lớp, có 1 ở vị trí lớp đúng và 0 ở chỗ khác; vectơ này khớp trực tiếp với đầu ra softmax và hàm mất mát categorical_crossentropy, đồng thời không áp đặt thứ tự giả giữa các lớp như khi đánh số 0, 1, 2. "To increase model complexity" sai vì mã hoá nhãn không thêm lớp hay tham số nào vào mô hình. "To speed up training" sai vì mục đích của one-hot là biểu diễn đúng nhãn, không phải tăng tốc; thậm chí dùng nhãn số nguyên với sparse_categorical_crossentropy còn tiết kiệm bộ nhớ hơn. "One-hot encoding is not applicable for multi-class classification" sai vì phân loại nhiều lớp chính là trường hợp điển hình dùng one-hot.
14Which of the following is a common transformation applied during image data augmentation?4 lựa chọn
ARandom rotation
BImage compression
CGrayscale conversion
DPixel normalization
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Random rotation". Data augmentation (tăng cường dữ liệu) tạo các biến thể ngẫu nhiên của ảnh huấn luyện ngay trong lúc huấn luyện để mô hình thấy vật thể ở nhiều góc nhìn và ít quá khớp hơn; xoay ngẫu nhiên là phép phổ biến nhất, được đặt bằng rotation_range trong ImageDataGenerator hoặc lớp RandomRotation trong Keras. "Image compression" làm giảm dung lượng tệp và có thể làm mất chi tiết, không phải phép tạo biến thể hình học dùng để tăng cường. "Grayscale conversion" là bước tiền xử lý cố định đổi ảnh màu sang một kênh, áp như nhau cho mọi ảnh nên không tạo thêm sự đa dạng. "Pixel normalization" như chia cho 255 là chuẩn hoá thang giá trị để huấn luyện ổn định, cũng áp giống nhau cho mọi ảnh chứ không sinh ảnh mới.
15What role does the base model play when creating a new model with a pre-trained base in TensorFlow?4 lựa chọn
AIt serves as the output layer of the new model
BIt replaces the need for custom layers in the new model
CIt initializes the weights of the entire new model
DIt acts as a feature extractor for the new model
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It acts as a feature extractor for the new model". Trong transfer learning (học chuyển giao), ta nạp một mạng đã huấn luyện trên tập lớn như ImageNet, thường với include_top=False để bỏ phần phân loại cũ, đặt trainable=False để giữ nguyên trọng số, rồi để các lớp tích chập của nó biến ảnh thành bản đồ đặc trưng; các lớp mới thêm phía sau như GlobalAveragePooling2D và Dense sẽ học phân loại cho bài toán mới từ các đặc trưng đó. "It serves as the output layer of the new model" sai vì mô hình nền nằm ở phần đầu, còn lớp đầu ra là lớp Dense mới thêm vào. "It replaces the need for custom layers in the new model" sai vì vẫn phải thêm lớp tuỳ biến để khớp số lớp của bài toán mới. "It initializes the weights of the entire new model" sai vì mô hình nền chỉ cung cấp trọng số cho phần của nó, các lớp mới vẫn được khởi tạo ngẫu nhiên và học từ đầu.
AGenerating synthetic images for training
BResizing images to a fixed dimension
CPreprocessing and augmenting image data for model training
DLoading images from external URLs
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Preprocessing and augmenting image data for model training". ImageDataGenerator của Keras vừa tiền xử lý (như rescale=1./255 để chuẩn hoá điểm ảnh) vừa tăng cường dữ liệu theo thời gian thực bằng các phép biến đổi ngẫu nhiên như rotation_range, zoom_range, horizontal_flip, rồi đưa ảnh theo batch vào model.fit qua flow_from_directory. "Generating synthetic images for training" sai vì công cụ này chỉ biến đổi ảnh có sẵn, không sinh ảnh mới từ đầu như mô hình sinh (GAN). "Resizing images to a fixed dimension" chỉ là một phần nhỏ: flow_from_directory có tham số target_size để đổi kích thước, nhưng đó không phải mục đích chính của cả công cụ. "Loading images from external URLs" sai vì ImageDataGenerator đọc ảnh từ mảng hoặc thư mục trên đĩa; tải tệp từ địa chỉ web là việc của tf.keras.utils.get_file.
AIt resizes images to a specified shape.
BIt normalizes pixel values to a specified range.
CIt rotates images randomly during training.
DIt converts images to grayscale.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It normalizes pixel values to a specified range.". Tham số rescale là hệ số được nhân vào mọi giá trị điểm ảnh trước các biến đổi khác; cách dùng điển hình là rescale=1./255 để đưa điểm ảnh từ khoảng 0 tới 255 về khoảng 0 tới 1, giúp đầu vào có thang nhỏ và ổn định để gradient descent hội tụ tốt hơn. "It resizes images to a specified shape." sai vì việc đổi kích thước ảnh do tham số target_size của flow_from_directory đảm nhận, rescale không đổi số điểm ảnh. "It rotates images randomly during training." sai vì xoay ngẫu nhiên được điều khiển bằng rotation_range, một tham số tăng cường dữ liệu khác. "It converts images to grayscale." sai vì chuyển sang ảnh xám được chọn bằng color_mode='grayscale' khi đọc ảnh; nhân với hệ số không làm giảm số kênh màu.
18How does the lack of regularization contribute to overfitting in machine learning models?4 lựa chọn
ARegularization has no impact on overfitting.
BLack of regularization allows the model to fit the training data too closely.
CRegularization leads to underfitting rather than overfitting.
DLack of regularization increases the learning rate.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Lack of regularization allows the model to fit the training data too closely.". Regularization (chính quy hoá) như L1/L2 (kernel_regularizer) hay Dropout thêm ràng buộc hoặc phạt vào hàm mất mát để trọng số không phình to, giữ mô hình đơn giản; thiếu nó, một mô hình nhiều tham số tự do uốn theo cả nhiễu của tập huấn luyện, dẫn tới overfitting (quá khớp). "Regularization has no impact on overfitting." sai vì chống quá khớp chính là mục đích của chính quy hoá. "Regularization leads to underfitting rather than overfitting." chỉ đúng khi hệ số phạt đặt quá lớn làm mô hình quá đơn giản; câu hỏi nói về việc thiếu chính quy hoá, nên phát biểu này không trả lời cơ chế được hỏi. "Lack of regularization increases the learning rate." sai vì learning rate (tốc độ học) là siêu tham số của bộ tối ưu, độc lập với việc có chính quy hoá hay không.
AIf the training accuracy is high but the validation accuracy is low.
BIf both training and validation accuracies are high.
CIf the model has a low learning rate.
DIf the number of epochs is too small.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "If the training accuracy is high but the validation accuracy is low.". Overfitting (quá khớp) nghĩa là mô hình học thuộc tập huấn luyện, kể cả nhiễu, nên làm rất tốt trên dữ liệu đã thấy nhưng kém trên dữ liệu mới; dấu hiệu trên số đo là khoảng cách lớn giữa độ chính xác huấn luyện cao và độ chính xác kiểm định thấp hơn hẳn. "If both training and validation accuracies are high." là trạng thái mong muốn, cho thấy mô hình tổng quát hoá tốt chứ không phải quá khớp. "If the model has a low learning rate." chỉ ảnh hưởng tốc độ và độ ổn định của hội tụ, bản thân nó không phải số đo hiệu năng cho biết có quá khớp hay không. "If the number of epochs is too small." thường dẫn đến underfitting (chưa khớp), tức mô hình chưa học đủ, ngược với quá khớp vốn hay xuất hiện khi huấn luyện quá nhiều epoch.
AIt increases the risk of overfitting.
BIt has no impact on overfitting.
CIt makes the model more prone to memorizing noise.
DIt encourages the model to capture general patterns rather than noise.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It encourages the model to capture general patterns rather than noise.". Mô hình càng nhiều lớp và nhiều tham số thì càng có khả năng ghi nhớ từng mẫu huấn luyện kể cả nhiễu; giảm độ phức tạp, ví dụ bớt lớp, bớt nơ-ron hoặc thêm regularization (chuẩn hoá phạt trọng số), giới hạn khả năng ghi nhớ đó, buộc mô hình chỉ giữ những quy luật xuất hiện lặp lại trên nhiều mẫu, nên tổng quát hoá tốt hơn. "It increases the risk of overfitting." nói ngược cơ chế, vì chính mô hình quá phức tạp mới làm tăng nguy cơ quá khớp. "It has no impact on overfitting." sai vì dung lượng mô hình là một trong những yếu tố quyết định mức quá khớp. "It makes the model more prone to memorizing noise." cũng ngược lại, mô hình đơn giản hơn ít khả năng ghi nhớ nhiễu hơn, dù giảm quá tay có thể dẫn đến underfitting (chưa khớp).