DAT301MChưa đo Cập nhật 2 ngày trước

DAT301m - Phát triển UDTTNT với TensorFlow

DAT301m - Phát triển UDTTNT với TensorFlow là môn 3 tín chỉ bậc cử nhân của Đại học FPT, học sau CPV301 và DPL302m. Môn đưa người học từ chỗ hiểu học sâu trên lý thuyết tới chỗ tự dựng, huấn luyện và kiểm tra được mô hình chạy thật bằng TensorFlow và Keras. Văn bản là ví dụ rõ nhất cho việc dữ liệu phải được chuẩn bị trước khi mạng nơ-ron đọc được: câu chữ được tách thành từ, đánh số theo một bộ từ vựng, đệm hoặc cắt cho cùng độ dài, rồi ánh xạ sang vector nhúng, nơi các từ gần nghĩa nằm gần nhau. Khi thứ tự từ quyết định nghĩa của câu, mô hình cần lớp hồi quy như LSTM để nhớ ngữ cảnh xa, và cũng chính cơ chế đó cho phép sinh văn bản bằng cách dự đoán từ kế tiếp. Nền móng của mọi bài toán vẫn là vòng học cơ bản: khai báo các lớp, chọn hàm mất mát và bộ tối ưu, huấn luyện rồi đo trên dữ liệu mô hình chưa từng thấy, với bài toán nhận diện ảnh làm ví dụ mở đầu. Chuỗi thời gian là loại dữ liệu thứ ba: một chuỗi được tách thành xu hướng, tính mùa vụ và nhiễu, được chia theo mốc thời gian thay vì xáo ngẫu nhiên, và được đo bằng sai số tuyệt đối hoặc bình phương trung bình trước khi giao cho mạng sâu hay mạng hồi quy dự báo. Với ảnh thật, kích thước lớn và đa dạng, mô hình rất dễ học thuộc dữ liệu huấn luyện; tăng cường ảnh, dropout và học chuyển giao từ một mạng đã huấn luyện sẵn là ba cách chống lại hiện tượng quá khớp đó. Cốt lõi của thị giác máy tính là phép tích chập và gộp, giúp mạng tự rút ra đường nét và hình dạng thay vì nhìn từng điểm ảnh rời rạc. Các thuật ngữ người học dùng thường xuyên gồm tensor, lớp Dense, Conv2D, MaxPooling2D, Tokenizer, Embedding, LSTM và cửa sổ trượt. Môn cũng rèn quy trình của một ứng dụng trí tuệ nhân tạo hoàn chỉnh: thu thập, làm sạch và khám phá dữ liệu, xây dựng và đánh giá mô hình, rồi báo cáo kết quả. Học xong, người học đọc được kiến trúc một mô hình Keras và tính được kích thước đầu ra của từng lớp, chọn được cách biểu diễn phù hợp cho ảnh, văn bản và chuỗi thời gian, nhận ra dấu hiệu quá khớp và biết cách xử lý, đồng thời đủ nền để tự triển khai một bài toán học sâu nhỏ từ dữ liệu thô tới kết quả có thể giải thích.

100Câu hỏi
2Bộ đề
4Chủ đề

Câu hỏi của môn

64/100 câuCòn 36
AIdentifying grammatical errors
BExtracting meaning from text
CDetermining the emotional tone of the text
DSummarizing the text content
Lời giải
Đáp án đúng: "Determining the emotional tone of the text". Sentiment analysis (phân tích cảm xúc) là bài toán phân loại văn bản theo thái độ, chẳng hạn tích cực hay tiêu cực ở đánh giá phim IMDB; mô hình Keras điển hình gồm Tokenizer, Embedding, rồi LSTM hoặc GlobalAveragePooling1D và một lớp Dense sigmoid xuất xác suất câu mang sắc thái tích cực. "Identifying grammatical errors" sai vì phát hiện lỗi ngữ pháp là bài toán sửa lỗi văn bản, quan tâm tới cấu trúc câu chứ không tới thái độ người viết. "Extracting meaning from text" quá rộng: đó là mục tiêu chung của hiểu ngôn ngữ tự nhiên, bao gồm cả phân tích cảm xúc lẫn nhiều bài toán khác, nên không mô tả đúng riêng mục tiêu được hỏi. "Summarizing the text content" sai vì tóm tắt văn bản là sinh ra bản rút gọn nội dung, một bài toán khác hẳn với việc gán nhãn cảm xúc.
Mở trang câu hỏi này →
AThe balance between precision and recall
BThe ratio of true positive predictions to total predicted positives
CThe overall accuracy of the model
DThe correlation between predicted and actual values
Lời giải
Đáp án đúng: "The balance between precision and recall". F1 Score là trung bình điều hoà của precision (độ chính xác dự đoán dương) và recall (độ phủ): F1 = 2 × precision × recall / (precision + recall), nên chỉ cao khi cả hai cùng cao; nó dùng khi kết quả dự báo được quy thành nhãn lớp, như dự báo có tăng hay không, còn dự báo giá trị liên tục thì dùng MAE hoặc MSE. "The ratio of true positive predictions to total predicted positives" sai vì đó là định nghĩa của riêng precision, chỉ một thành phần của F1. "The overall accuracy of the model" sai vì accuracy là tỉ lệ dự đoán đúng trên tổng số mẫu, dễ gây hiểu nhầm khi lớp mất cân bằng, và F1 ra đời chính để khắc phục điều đó. "The correlation between predicted and actual values" sai vì hệ số tương quan đo mức cùng biến thiên của hai dãy số liên tục, không dựa trên precision hay recall.
Mở trang câu hỏi này →
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
Đá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).
Mở trang câu hỏi này →
ABy using the ModelCheckpoint callback
BBy using the EarlyStopping callback
CBy using the ReduceLROnPlateau callback
DLearning rate schedules cannot be implemented with callbacks
Lời giải
Đáp án đúng: "By using the ReduceLROnPlateau callback". Callback ReduceLROnPlateau theo dõi một chỉ số như val_loss và khi nó không cải thiện sau số epoch bằng patience thì nhân learning rate với factor, ví dụ 0.1, cho tới mức min_lr; đây là cách điều chỉnh tốc độ học trong lúc huấn luyện thông qua callback truyền vào model.fit. Keras còn có callback LearningRateScheduler đặt learning rate theo một hàm của epoch, nhưng nó không nằm trong các lựa chọn. "By using the ModelCheckpoint callback" sai vì callback này lưu mô hình hoặc trọng số, thường kèm save_best_only, không đụng tới learning rate. "By using the EarlyStopping callback" sai vì nó dừng hẳn huấn luyện khi chỉ số ngừng cải thiện chứ không giảm tốc độ học. "Learning rate schedules cannot be implemented with callbacks" sai vì chính các callback vừa nêu cho phép thay đổi learning rate theo lịch hoặc theo tiến độ huấn luyện.
Mở trang câu hỏi này →
A148x148
B153x153
C150x150
D450x450
Lời giải
Đáp án đúng: "148x148". Lớp Conv2D với padding mặc định 'valid' (không đệm) và stride 1 chỉ đặt bộ lọc ở những vị trí nằm trọn trong ảnh, nên mỗi chiều đầu ra bằng kích thước vào − kích thước kernel + 1, tức 150 − 3 + 1 = 148; ảnh 150x150 qua kernel 3x3 cho bản đồ đặc trưng 148x148, mất một điểm ảnh ở mỗi viền. "153x153" sai vì tích chập không đệm không bao giờ làm ảnh lớn hơn; con số này là cộng thêm kích thước kernel thay vì trừ. "150x150" sai vì giữ nguyên kích thước chỉ xảy ra khi đặt padding='same', còn câu hỏi mô tả tích chập 3x3 thông thường. "450x450" sai vì đó là nhân 150 với 3, nhầm phép tích chập với phóng to ảnh; kích thước kernel không nhân vào kích thước đầu ra.
Mở trang câu hỏi này →
Atf.add(MaxPooling2D())
Btf.layers.add(MaxPooling2D())
Ctf.keras.layers.MaxPooling2D()
Dtf.pooling.add(MaxPooling2D())
Lời giải
Đáp án đúng: "tf.keras.layers.MaxPooling2D()". Trong Keras, max pooling là một lớp nằm trong module tf.keras.layers và được khởi tạo như mọi lớp khác, rồi đặt vào danh sách của tf.keras.Sequential hoặc thêm bằng model.add; mặc định pool_size=(2, 2) lấy giá trị lớn nhất trong mỗi ô 2×2, làm chiều rộng và chiều cao bản đồ đặc trưng giảm một nửa, ví dụ 26×26 thành 13×13. "tf.add(MaxPooling2D())" dùng nhầm tf.add, vốn là phép cộng từng phần tử giữa hai tensor chứ không phải thao tác thêm lớp. "tf.layers.add(MaxPooling2D())" không phải API hợp lệ; việc thêm lớp là phương thức add của đối tượng mô hình chứ không nằm trong module lớp. "tf.pooling.add(MaxPooling2D())" cũng không tồn tại vì TensorFlow không có module tf.pooling với hàm add.
Mở trang câu hỏi này →
ABy adding more neurons to the dense layers
BBy increasing the number of convolutional layers
CBy reducing the number of pooling layers
DBy removing the activation functions from the layers
Lời giải
Đáp án đúng: "By increasing the number of convolutional layers". Độ sâu của ConvNet là số lớp xếp chồng; thêm các khối Conv2D (thường đi kèm MaxPooling2D) giúp các lớp đầu học cạnh và góc, các lớp sau ghép chúng thành họa tiết, bộ phận rồi cả vật thể, nên mạng nắm được đặc trưng phân cấp phức tạp hơn của ảnh lớn hay ảnh màu. "By adding more neurons to the dense layers" sai vì làm vậy chỉ mở rộng bề ngang phần phân loại phía sau, không tăng số tầng trích xuất đặc trưng và còn làm số tham số phình to. "By reducing the number of pooling layers" sai vì bớt pooling chỉ làm bản đồ đặc trưng giữ kích thước lớn hơn, tốn tính toán hơn, chứ không thêm tầng học nào. "By removing the activation functions from the layers" sai vì không có hàm kích hoạt phi tuyến như ReLU thì nhiều lớp tuyến tính chồng lên nhau tương đương một lớp tuyến tính duy nhất, khiến mạng kém biểu diễn hơn chứ không sâu hơn.
Mở trang câu hỏi này →
ATransferring images between different devices for processing
BTransferring knowledge gained from pre-trained models to new tasks
CTransferring image features to generate artistic designs
DTransferring data between training and validation sets
Lời giải
Đáp án đúng: "Transferring knowledge gained from pre-trained models to new tasks". Transfer learning (học chuyển giao) dùng lại trọng số của một CNN đã huấn luyện trên tập lớn như ImageNet (ví dụ InceptionV3, MobileNet): các lớp tích chập đã học được đặc trưng chung như cạnh, kết cấu, hình dạng, ta đóng băng chúng (trainable=False) rồi chỉ huấn luyện vài lớp mới ở đầu ra cho bài toán của mình, nhờ đó cần ít dữ liệu và ít thời gian hơn. "Transferring images between different devices for processing" sai vì đó là truyền dữ liệu giữa thiết bị, không phải chuyển tri thức của mô hình. "Transferring image features to generate artistic designs" sai vì đó gần với neural style transfer (chuyển phong cách), một ứng dụng khác chứ không phải định nghĩa học chuyển giao. "Transferring data between training and validation sets" sai vì chuyển mẫu giữa tập huấn luyện và tập kiểm định chỉ là cách chia dữ liệu, còn làm rò rỉ dữ liệu kiểm định.
Mở trang câu hỏi này →
A%install tensorflow
B!pip install tensorflow
C#install tensorflow
D$conda install tensorflow
Lời giải
Đáp án đúng: "!pip install tensorflow". Trong ô mã Colab, dấu chấm than ở đầu dòng báo cho notebook chạy phần còn lại như một lệnh shell của máy ảo, nên lệnh pip cài gói TensorFlow vào môi trường Python của runtime; thực tế Colab đã cài sẵn TensorFlow, lệnh này thường dùng để cài hoặc đổi phiên bản cụ thể. "%install tensorflow" dùng tiền tố phần trăm của magic command nhưng không có magic nào tên install; magic thật cho việc này là pip với tiền tố phần trăm. "#install tensorflow" chỉ là một dòng chú thích Python, trình thông dịch bỏ qua nên không cài gì cả. "$conda install tensorflow" sai vì dấu đô la không phải tiền tố lệnh trong notebook, và runtime Colab mặc định dùng pip chứ không có conda.
Mở trang câu hỏi này →
AEarlyStopping
BModelCheckpoint
CCustomCallback
DTensorBoard
Lời giải
Đáp án đúng: "CustomCallback". Đây là câu phủ định: trong tf.keras.callbacks không có lớp dựng sẵn tên CustomCallback; muốn có hành vi riêng, ta tự viết lớp con kế thừa tf.keras.callbacks.Callback và ghi đè các phương thức như on_epoch_end hay on_batch_end, tên lớp do người dùng tự đặt. "EarlyStopping" là callback có sẵn, dừng huấn luyện khi chỉ số theo dõi như val_loss không cải thiện sau số epoch bằng patience, nên không phải đáp án. "ModelCheckpoint" cũng có sẵn, lưu mô hình hoặc trọng số trong quá trình huấn luyện, có thể chỉ giữ bản tốt nhất bằng save_best_only, nên không được chọn. "TensorBoard" là callback dựng sẵn ghi log loss, metric và biểu đồ vào thư mục log_dir để xem trên công cụ TensorBoard, vì vậy cũng không phải đáp án.
Mở trang câu hỏi này →
AExport it to a PDF file and share the file manually.
BUse the "Share" button to generate a shareable link.
CColab does not support collaboration features.
DCopy and paste the code into an email.
Lời giải
Đáp án đúng: "Use the "Share" button to generate a shareable link.". Google Colab lưu notebook trên Google Drive, nên nút Share ở góc trên cho phép mời người khác qua email hoặc tạo đường liên kết chia sẻ, kèm quyền xem, nhận xét hay chỉnh sửa giống tài liệu Google Docs; người nhận mở link là thấy cả mã lẫn kết quả chạy. "Export it to a PDF file and share the file manually." sai vì PDF chỉ là bản chụp tĩnh, người nhận không chạy hay sửa mã được, nên không phải cộng tác. "Colab does not support collaboration features." sai vì Colab có sẵn chia sẻ, phân quyền và nhận xét. "Copy and paste the code into an email." sai vì cách đó làm mất cấu trúc ô, kết quả đầu ra và không cho cùng chỉnh sửa một bản; đó là chép mã chứ không phải chia sẻ notebook.
Mở trang câu hỏi này →
56What is the function of ReLU?4 lựa chọn
AIt only returns x if x is greater than zero
BFor a value x, it returns 1/x
CIt only returns x if x is less than zero
DIt returns the negative of x
Lời giải
Đáp án đúng: "It only returns x if x is greater than zero". ReLU (Rectified Linear Unit, hàm kích hoạt tuyến tính chỉnh lưu) được định nghĩa là max(0, x): giữ nguyên x khi x dương và trả về 0 với mọi giá trị còn lại, nhờ vậy tạo tính phi tuyến cho mạng, tính rất nhanh và giảm hiện tượng gradient biến mất so với sigmoid; trong Keras dùng bằng activation='relu'. "For a value x, it returns 1/x" mô tả phép nghịch đảo, không liên quan đến ReLU và còn không xác định khi x bằng 0. "It only returns x if x is less than zero" đảo ngược ngưỡng, ReLU giữ phần dương và chặn phần âm về 0 chứ không làm điều ngược lại. "It returns the negative of x" là phép đổi dấu, một hàm tuyến tính nên không tạo được tính phi tuyến như hàm kích hoạt cần có.
Mở trang câu hỏi này →
57What is TensorFlow Lite used for?4 lựa chọn
ADeveloping large-scale distributed machine learning models.
BOptimizing and deploying machine learning models on mobile and embedded devices.
CVisualizing the computation graph of a TensorFlow model.
DImplementing natural language processing tasks.
Lời giải
Đáp án đúng: "Optimizing and deploying machine learning models on mobile and embedded devices.". TensorFlow Lite chuyển mô hình đã huấn luyện sang định dạng .tflite nhỏ gọn bằng TFLiteConverter, có thể lượng tử hoá (quantization) trọng số để giảm kích thước và tăng tốc, rồi chạy bằng trình thông dịch trên Android, iOS, vi điều khiển hay thiết bị biên mà không cần máy chủ. "Developing large-scale distributed machine learning models." sai vì huấn luyện phân tán quy mô lớn dùng các chiến lược của tf.distribute trên cụm GPU hoặc TPU, ngược hẳn với mục tiêu thiết bị nhỏ. "Visualizing the computation graph of a TensorFlow model." sai vì trực quan hoá đồ thị tính toán là việc của TensorBoard. "Implementing natural language processing tasks." sai vì TensorFlow Lite có thể chạy mô hình xử lý ngôn ngữ đã chuyển đổi, nhưng nó là công cụ triển khai cho mọi loại mô hình, không phải thư viện chuyên để xây dựng bài toán ngôn ngữ.
Mở trang câu hỏi này →
ATensorFlow Core
BTensorFlow Lite
CTensorFlow Keras
DTensorFlow Graph
Lời giải
Đáp án đúng: "TensorFlow Keras". Keras, truy cập qua tf.keras, là API cấp cao chính thức của TensorFlow từ phiên bản 2: nó cung cấp Sequential, các lớp như Dense, Conv2D, LSTM và chu trình compile, fit, evaluate, predict, giúp dựng và huấn luyện mô hình chỉ với vài dòng mã. "TensorFlow Core" sai vì đó là tầng cấp thấp với tensor, phép toán và tf.GradientTape, cho kiểm soát chi tiết nhưng không phải API cấp cao. "TensorFlow Lite" sai vì đó là bộ công cụ chuyển đổi và chạy mô hình đã huấn luyện trên thiết bị di động hoặc nhúng, không dùng để xây và huấn luyện. "TensorFlow Graph" sai vì đồ thị tính toán (tf.Graph, tf.function) là cách TensorFlow biểu diễn và tối ưu phép tính bên dưới, không phải một API cấp cao để dựng mô hình.
Mở trang câu hỏi này →
AA widening gap between training and validation loss.
BConsistent decrease in both training and validation accuracy.
CAn abrupt increase in the number of epochs.
DStable and parallel learning curves for training and validation.
Lời giải
Đáp án đúng: "A widening gap between training and validation loss.". Learning curves (đường học) vẽ loss theo epoch cho cả tập huấn luyện và tập kiểm định; khi quá khớp, loss huấn luyện tiếp tục giảm vì mô hình học thuộc dữ liệu đã thấy, còn loss kiểm định chững lại rồi tăng, nên khoảng cách giữa hai đường ngày càng rộng, và đó là lúc nên dừng sớm bằng EarlyStopping. "Consistent decrease in both training and validation accuracy." cho thấy mô hình đang kém đi trên cả hai tập, giống lỗi huấn luyện như learning rate quá lớn hơn là quá khớp. "An abrupt increase in the number of epochs." là thiết lập do người huấn luyện chọn, không phải triệu chứng đọc từ đường học. "Stable and parallel learning curves for training and validation." là dấu hiệu mô hình tổng quát hoá tốt, hai tập cùng tiến bộ như nhau.
Mở trang câu hỏi này →
AIt manipulates the training set to generate more scenarios for the features in the images
BIt slows down the training process
CIt manipulates the validation set to generate more scenarios for features in the images
DIt automatically fits features to images by finding them through image processing techniques
Lời giải
Đáp án đúng: "It manipulates the training set to generate more scenarios for the features in the images". Image augmentation (tăng cường ảnh) áp dụng ngẫu nhiên các phép xoay, dịch, phóng to, lật, cắt xiên lên ảnh huấn luyện ở mỗi epoch, nên mô hình gặp cùng một đặc trưng ở nhiều vị trí, góc và tỉ lệ khác nhau thay vì học thuộc lòng đúng những ảnh gốc, nhờ đó khái quát tốt hơn và giảm overfitting (quá khớp). "It manipulates the validation set to generate more scenarios for features in the images" sai vì tập validation phải giữ nguyên, thường chỉ rescale, để phản ánh trung thực hiệu năng trên dữ liệu thật. "It slows down the training process" sai vì việc mỗi epoch chậm hơn chỉ là tác dụng phụ của biến đổi ảnh, không phải cơ chế chống quá khớp. "It automatically fits features to images by finding them through image processing techniques" sai vì việc tìm đặc trưng do các lớp tích chập tự học, augmentation chỉ tạo ra biến thể của dữ liệu đầu vào.
Mở trang câu hỏi này →
AWhen the source and target tasks are similar.
BWhen there is a lack of pre-trained models available.
CWhen the datasets for the source and target tasks are small and dissimilar.
DTransfer learning is always effective, regardless of the scenario.
Lời giải
Đáp án đúng: "When the datasets for the source and target tasks are small and dissimilar.". Học chuyển giao hiệu quả vì đặc trưng học được ở bài toán nguồn vẫn hữu ích cho bài toán đích; khi hai miền khác xa nhau (ví dụ ảnh vật thể tự nhiên với ảnh y khoa) thì đặc trưng chuyển sang ít giá trị, và nếu dữ liệu lại ít thì cũng không đủ để tinh chỉnh lại các lớp sâu, nên hiệu quả giảm, thậm chí xảy ra negative transfer (chuyển giao âm). "When the source and target tasks are similar." sai vì đó là trường hợp lý tưởng, học chuyển giao phát huy tốt nhất. "When there is a lack of pre-trained models available." mô tả việc không có gì để chuyển giao chứ không phải học chuyển giao kém hiệu quả; ngoài ra tf.keras.applications và TensorFlow Hub cung cấp rất nhiều mô hình sẵn. "Transfer learning is always effective, regardless of the scenario." sai vì hiệu quả phụ thuộc vào độ tương đồng miền và lượng dữ liệu.
Mở trang câu hỏi này →
AIt controls the degree of rotation applied to the images.
BIt adjusts the brightness of augmented images.
CIt specifies the range for horizontal and vertical shifting.
DIt controls the intensity of shearing transformations.
Lời giải
Đáp án đúng: "It controls the intensity of shearing transformations.". Shear (biến dạng cắt) giữ cố định một trục và trượt các điểm theo trục kia tỉ lệ với khoảng cách, làm ảnh bị nghiêng như hình bình hành; shear_range trong ImageDataGenerator là góc cắt tối đa tính bằng độ, mỗi ảnh được cắt với một góc ngẫu nhiên trong khoảng đó, ví dụ shear_range=0.2, giúp mô hình quen với vật thể nhìn xiên. "It controls the degree of rotation applied to the images." là việc của rotation_range, phép xoay quay cả ảnh quanh tâm chứ không làm nghiêng một trục. "It adjusts the brightness of augmented images." là việc của brightness_range, thay đổi độ sáng chứ không biến dạng hình học. "It specifies the range for horizontal and vertical shifting." là việc của width_shift_range và height_shift_range, dịch chuyển cả ảnh mà không làm méo hình dạng.
Mở trang câu hỏi này →
Arotation_rate
Bangle_range
Crotation_angle
Drotation_range
Lời giải
Đáp án đúng: "rotation_range". Trong ImageDataGenerator, rotation_range là một số nguyên tính bằng độ, ví dụ rotation_range=40 thì mỗi ảnh được xoay ngẫu nhiên một góc trong khoảng từ −40 tới 40 độ ở mỗi lần lấy mẫu, giúp mô hình nhận ra vật thể bị nghiêng; nó thường đi cùng width_shift_range, zoom_range và horizontal_flip. "rotation_rate" sai vì không có tham số này, chữ rate gợi một tốc độ chứ không phải biên độ góc. "angle_range" sai vì tuy nghe hợp lý nhưng ImageDataGenerator không có tham số mang tên đó. "rotation_angle" sai vì nó gợi một góc cố định, trong khi augmentation cần một khoảng để chọn góc ngẫu nhiên, và Keras cũng không định nghĩa tham số này; ở dạng lớp tiền xử lý mới, phép xoay ngẫu nhiên dùng RandomRotation với tham số factor.
Mở trang câu hỏi này →
ALearning curves are always smooth without fluctuations.
BA large gap between training and validation curves.
CThe training and validation curves overlap perfectly.
DThe absence of learning curves as overfitting is not visualized.
Lời giải
Đáp án đúng: "A large gap between training and validation curves.". Đường học (learning curve) vẽ loss hoặc accuracy của tập huấn luyện và tập kiểm định theo epoch; khi overfitting (quá khớp), accuracy huấn luyện tiếp tục tăng gần 100% trong khi accuracy kiểm định chững lại hoặc giảm, nên hai đường tách xa nhau, đó là dấu hiệu mô hình học thuộc dữ liệu huấn luyện. "Learning curves are always smooth without fluctuations." sai vì độ mượt của đường không liên quan tới quá khớp; đường thường dao động do mini-batch và nhiễu. "The training and validation curves overlap perfectly." sai vì hai đường trùng khít cho thấy mô hình tổng quát tốt, ngược với quá khớp. "The absence of learning curves as overfitting is not visualized." sai vì quá khớp nhìn thấy rõ nhất chính trên đường học, từ đối tượng History trả về khi gọi model.fit.
Mở trang câu hỏi này →