Danh sách câu hỏi của đề

Câu hỏi: DAT301m Phát triển UDTTNT với TensorFlow – Bộ ôn tập cuối kỳ số 1

50 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 đúng thứ tự trong đề. Trang 2/3 — câu 21–40.

Danh sách câu hỏi

40/50 câuCòn 10
Atf.reshape(v, (3, 4))
Btf.resize(v, (3, 4))
Ctf.transform(v, (3, 4))
Dtf.matrixize(v, (3, 4))
Lời giải
Đáp án đúng: "tf.reshape(v, (3, 4))". tf.reshape đổi hình dạng (shape) của tensor mà giữ nguyên các phần tử và thứ tự của chúng, với điều kiện tổng số phần tử không đổi; vector dài 12 thành ma trận 3×4 hợp lệ vì 3 × 4 = 12, và có thể viết (3, -1) để TensorFlow tự suy ra chiều còn lại là 12 / 3 = 4. "tf.resize(v, (3, 4))" không phải hàm của TensorFlow; hàm gần tên là tf.image.resize dùng để co giãn ảnh bằng nội suy, làm thay đổi giá trị điểm ảnh chứ không chỉ sắp xếp lại phần tử. "tf.transform(v, (3, 4))" không tồn tại trong API TensorFlow. "tf.matrixize(v, (3, 4))" cũng không tồn tại; TensorFlow không có hàm riêng để biến vector thành ma trận vì việc đó chính là đổi shape bằng tf.reshape.
Mở trang câu hỏi này →
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
Đá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.
Mở trang câu hỏi này →
AAccuracy Score
BCompression Ratio
CSignal-to-Noise Ratio (SNR)
DLearning Rate
Lời giải
Đáp án đúng: "Signal-to-Noise Ratio (SNR)". Khi nén ảnh có mất mát, phần sai lệch giữa ảnh gốc và ảnh giải nén được coi như nhiễu; tỉ số tín hiệu trên nhiễu, thường dùng ở dạng PSNR (Peak SNR, tính theo decibel từ sai số bình phương trung bình), đo xem chất lượng còn giữ được bao nhiêu sau khi nén, nên đặt nó cạnh mức nén cho thấy sự đánh đổi giữa nén mạnh và chất lượng. "Accuracy Score" sai vì độ chính xác là thước đo của bài toán phân loại, không đo độ giống nhau giữa hai ảnh. "Compression Ratio" chỉ cho biết dung lượng giảm bao nhiêu lần, tức một vế của sự đánh đổi; bản thân nó không nói gì về chất lượng ảnh nên không đo được trade-off mà câu hỏi nói tới. "Learning Rate" sai vì đó là siêu tham số điều khiển bước cập nhật trọng số khi huấn luyện, không phải thước đo chất lượng ảnh.
Mở trang câu hỏi này →
Arescale
Bnormalize_image
Cnormalize
Drescale_image
Lời giải
Đá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á.
Mở trang câu hỏi này →
AThe absence of temporal patterns
BThe presence of seasonality in the data
CThe constancy of statistical properties over time
DThe rapid changes in the time series
Lời giải
Đáp án đúng: "The constancy of statistical properties over time". Một chuỗi thời gian dừng (stationary) có các đặc trưng thống kê như trung bình, phương sai và tự tương quan không đổi theo thời gian; chuỗi có xu hướng tăng dần hay mùa vụ là không dừng, và người ta thường lấy sai phân hoặc khử xu hướng để đưa về dạng dừng trước khi mô hình hoá. "The absence of temporal patterns" sai vì chuỗi dừng vẫn có thể có phụ thuộc theo thời gian, chẳng hạn tự tương quan ở các độ trễ ngắn, chỉ là cấu trúc ấy không đổi theo thời điểm. "The presence of seasonality in the data" sai vì mùa vụ làm trung bình thay đổi theo chu kỳ, tức là một dạng không dừng. "The rapid changes in the time series" sai vì tốc độ biến động không quyết định tính dừng; chuỗi dao động nhanh vẫn dừng nếu phân phối của nó giữ nguyên theo thời gian, còn chuỗi đổi chậm nhưng có xu hướng thì không dừng.
Mở trang câu hỏi này →
AA technique to remove unnecessary zeros from a dataset
BAdding extra data to the input to ensure consistent dimensions
CThe process of smoothing out noisy data
DResizing images to a fixed size during preprocessing
Lời giải
Đáp án đúng: "Adding extra data to the input to ensure consistent dimensions". Padding (đệm) là thêm giá trị phụ, thường là 0, vào dữ liệu để các mẫu có kích thước đồng nhất: với văn bản, pad_sequences chèn 0 để mọi chuỗi có cùng maxlen trước khi đưa vào Embedding; với ảnh, padding='same' trong Conv2D đệm viền để đầu ra giữ nguyên kích thước. "A technique to remove unnecessary zeros from a dataset" sai vì padding thêm vào chứ không bỏ đi số 0; thao tác ngược lại giống truncating hay loại phần đệm. "The process of smoothing out noisy data" sai vì làm mượt dữ liệu nhiễu là lọc hoặc trung bình trượt, không thay đổi kích thước. "Resizing images to a fixed size during preprocessing" sai vì resize co giãn nội dung ảnh bằng nội suy (ví dụ target_size trong flow_from_directory), còn padding giữ nguyên nội dung và chỉ đắp thêm giá trị ở rìa.
Mở trang câu hỏi này →
AScatter plots
BBar charts
CLine charts
DPie charts
Lời giải
Đáp án đúng: "Line charts". Chuỗi thời gian là các giá trị được sắp theo thứ tự thời gian, nên biểu đồ đường với trục hoành là thời gian và trục tung là giá trị nối các điểm liên tiếp lại, giúp nhìn rõ trend (xu hướng), seasonality (tính mùa vụ) và noise (nhiễu); trong khoá học TensorFlow, hàm vẽ chuỗi thường dùng plt.plot cho đúng mục đích này. "Scatter plots" chỉ đặt các điểm rời rạc mà không nối chúng, hợp để xem quan hệ giữa hai biến, nhưng làm khó theo dõi diễn biến liên tục theo thời gian. "Bar charts" hợp để so sánh một số ít nhóm hoặc giai đoạn, còn với hàng nghìn bước thời gian thì các cột dày đặc che mất hình dạng chuỗi. "Pie charts" thể hiện tỉ trọng các phần trong một tổng tại một thời điểm, hoàn toàn không thể hiện thứ tự thời gian.
Mở trang câu hỏi này →
Atf.keras.Sequential.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Btf.keras.compile(model, optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Ctf.keras.Sequential().compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Dtf.keras.model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Lời giải
Đáp án đúng: "tf.keras.Sequential().compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])". Phương thức compile phải được gọi trên một đối tượng mô hình; tf.keras.Sequential() tạo ra đối tượng đó, và trong thực tế ta gán nó vào biến model, thêm các lớp LSTM cùng lớp Dense softmax rồi gọi model.compile với optimizer adam, loss categorical_crossentropy cho nhãn one-hot và metrics accuracy. "tf.keras.Sequential.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])" sai vì gọi compile trên chính lớp Sequential mà không tạo đối tượng, Python báo thiếu tham số self. "tf.keras.compile(model, optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])" sai vì Keras không có hàm compile cấp mô-đun nhận mô hình làm đối số. "tf.keras.model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])" sai vì không tồn tại mô-đun tf.keras.model viết thường; lớp thật là tf.keras.Model và compile vẫn phải gọi trên một thể hiện của nó.
Mở trang câu hỏi này →
ANumPy
BMatplotlib
CScikit-learn
DTensorFlow
Lời giải
Đá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.
Mở trang câu hỏi này →
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
Đá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.
Mở trang câu hỏi này →
AMean Absolute Deviation (MAD)
BMean Squared Error (MSE)
CAutocorrelation Function (ACF)
DMoving Average (MA)
Lời giải
Đáp án đúng: "Moving Average (MA)". Phân rã cổ điển một chuỗi thời gian dùng trung bình trượt có tâm với cửa sổ bằng độ dài chu kỳ mùa để làm trơn và ước lượng thành phần xu hướng; lấy chuỗi gốc trừ (hoặc chia) xu hướng rồi lấy trung bình theo từng vị trí trong chu kỳ sẽ ra thành phần mùa vụ, phần còn lại là residual (phần dư). "Mean Absolute Deviation (MAD)" sai vì đây là thước đo độ phân tán, trung bình khoảng cách tuyệt đối tới giá trị trung tâm, không tách được thành phần nào. "Mean Squared Error (MSE)" sai vì đó là chỉ số đánh giá sai số dự báo hoặc làm hàm mất mát khi huấn luyện, không dùng để phân rã. "Autocorrelation Function (ACF)" hữu ích để phát hiện mùa vụ và chọn độ dài chu kỳ qua các đỉnh ở những độ trễ nhất định, nhưng nó chỉ chẩn đoán cấu trúc chứ không trực tiếp tách chuỗi thành xu hướng, mùa vụ và phần dư.
Mở trang câu hỏi này →
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
Đá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.
Mở trang câu hỏi này →
AThe original text without tokenization
BA list of tokens obtained from the text
CToken indices representing the text
DA tokenized sequence in a matrix form
Lời giải
Đáp án đúng: "A list of tokens obtained from the text". Về khái niệm, tokenize là bước tokenization (tách token): cắt văn bản thành các đơn vị nhỏ, với BERT là các wordpiece (mảnh từ con) như từ playing thành mảnh play và mảnh đuôi ing, và kết quả của bước này là danh sách token lấy từ văn bản. Cần nói thật rằng hành vi phụ thuộc thư viện: BertTokenizer của Hugging Face trả về danh sách chuỗi token đúng như trên, còn BertTokenizer của TensorFlow Text mặc định trả về ID wordpiece dạng RaggedTensor vì token_out_type mặc định là tf.int64; câu hỏi ở đây hỏi theo nghĩa khái niệm của bước tách token. "The original text without tokenization" sai vì văn bản giữ nguyên thì phương thức chẳng làm gì cả. "Token indices representing the text" là kết quả của bước tra từ điển, như convert_tokens_to_ids hay encode bên Hugging Face, tức đổi token thành số chứ không phải bản thân việc tách token. "A tokenized sequence in a matrix form" là dạng tensor đã đệm (padding) cho cả một lô câu để đưa vào mô hình, việc này do bước gọi tokenizer kèm padding và trả về tensor đảm nhận, không phải tokenize.
Mở trang câu hỏi này →
ATo select the appropriate lag values
BTo optimize the learning rate of the model
CTo find the best model architecture
DTo identify the optimal time period for analysis
Lời giải
Đáp án đúng: "To optimize the learning rate of the model". Hyperparameter tuning (tinh chỉnh siêu tham số) là tìm các giá trị không được học qua gradient mà phải đặt trước khi huấn luyện, và learning rate (tốc độ học) là siêu tham số tiêu biểu nhất: quá lớn thì loss dao động, quá nhỏ thì hội tụ chậm; khi dự báo chuỗi thời gian bằng mạng nơ-ron, ta hay dùng callback LearningRateScheduler tăng dần learning rate qua các epoch, vẽ loss theo learning rate rồi chọn giá trị mà loss thấp và còn ổn định. "To select the appropriate lag values" liên quan đến kích thước cửa sổ đầu vào, thường được quyết định khi chuẩn bị dữ liệu dạng cửa sổ chứ không phải trọng tâm của bước tối ưu khi huấn luyện mà câu hỏi nhắm tới. "To find the best model architecture" là bài toán thiết kế mô hình, rộng hơn việc chỉnh tham số huấn luyện. "To identify the optimal time period for analysis" là lựa chọn phạm vi dữ liệu theo yêu cầu nghiệp vụ, không phải siêu tham số của mô hình.
Mở trang câu hỏi này →
ADealing with spatial variations
BManaging high-dimensional features
CAccounting for temporal dependencies
DHandling categorical variables
Lời giải
Đáp án đúng: "Accounting for temporal dependencies". Trong chuỗi thời gian, mỗi quan sát phụ thuộc vào các giá trị trước nó, nên không thể coi các mẫu là độc lập như dữ liệu bảng thông thường; phải giữ đúng thứ tự khi chia tập huấn luyện và kiểm tra, tạo cửa sổ trượt các bước quá khứ làm đặc trưng, và dùng mô hình nhớ được ngữ cảnh như RNN, LSTM hay Conv1D nhân quả. "Dealing with spatial variations" sai vì biến thiên theo không gian là thách thức chính của dữ liệu ảnh, nơi mạng tích chập khai thác quan hệ giữa các điểm ảnh lân cận. "Managing high-dimensional features" là khó khăn chung của nhiều loại dữ liệu như văn bản hay gen, không phải điều đặc trưng của chuỗi thời gian, vốn thường chỉ có một hoặc vài biến. "Handling categorical variables" sai vì biến phân loại xử lý bằng one-hot hay Embedding ở mọi loại dữ liệu bảng, không phải thách thức cốt lõi của phân tích theo thời gian.
Mở trang câu hỏi này →
AThe process of getting very close to the correct answer.
BA dramatic increase in loss.
CA programming API for AI.
DAn analysis that corresponds too closely or exactly to a particular set of data.
Lời giải
Đáp án đúng: "The process of getting very close to the correct answer.". Convergence (hội tụ) mô tả quá trình huấn luyện mà sau nhiều lần cập nhật trọng số bằng gradient descent, giá trị loss giảm dần và ổn định quanh mức nhỏ nhất, tức dự đoán của mô hình tiến rất gần tới đáp án đúng; nhìn trên đồ thị, đường loss đi xuống rồi đi ngang. "A dramatic increase in loss." sai vì loss tăng vọt là dấu hiệu phân kỳ (divergence), thường do learning rate quá lớn, ngược với hội tụ. "A programming API for AI." sai vì hội tụ là một khái niệm của quá trình tối ưu, không phải một thư viện hay giao diện lập trình như Keras. "An analysis that corresponds too closely or exactly to a particular set of data." sai vì đó là định nghĩa của overfitting (quá khớp), khi mô hình bám quá sát dữ liệu huấn luyện và kém tổng quát.
Mở trang câu hỏi này →
ARandom rotation
BImage compression
CGrayscale conversion
DPixel normalization
Lời giải
Đá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.
Mở trang câu hỏi này →
AIt defines the out-of-vocabulary token.
BIt determines the sequence length.
CIt controls the learning rate during training.
DIt limits the vocabulary size to a specified number of words.
Lời giải

Đáp án đúng: "It limits the vocabulary size to a specified number of words.". Khi tạo Tokenizer(num_words=N), lớp này vẫn đếm mọi từ trong fit_on_texts nhưng lúc gọi texts_to_sequences chỉ giữ lại các từ có tần suất cao nhất, cụ thể là những từ có chỉ số nhỏ hơn N, còn từ hiếm bị bỏ đi hoặc thay bằng oov_token nếu có khai báo; nhờ vậy từ vựng gọn hơn và lớp Embedding có input_dim nhỏ hơn. "It defines the out-of-vocabulary token." sai vì token cho từ ngoài từ vựng được đặt bằng tham số riêng là oov_token, ví dụ oov_token='<OOV> '. "It determines the sequence length." sai vì độ dài chuỗi được thống nhất bằng tham số maxlen của pad_sequences, không phải ở Tokenizer. "It controls the learning rate during training." sai vì learning rate (tốc độ học) là tham số của optimizer, Tokenizer chỉ là bước tiền xử lý văn bản và không tham gia huấn luyện.

Mở trang câu hỏi này →
AA scalar value
BA matrix
CAnother vector
DA higher-dimensional tensor
Lời giải
Đáp án đúng: "Another vector". Phép cộng hai vectơ cùng số chiều trong TensorFlow (tf.add hoặc toán tử +) là phép toán theo từng phần tử (element-wise): phần tử thứ i của kết quả bằng tổng hai phần tử thứ i, nên đầu ra có cùng shape với đầu vào, ví dụ [1, 2, 3] + [4, 5, 6] = [5, 7, 9], vẫn là một tensor hạng 1. "A scalar value" sai vì ra một số vô hướng là kết quả của tích vô hướng (tf.tensordot hoặc tf.reduce_sum của tích), không phải phép cộng. "A matrix" sai vì muốn ra ma trận phải dùng tích ngoài (outer product) hoặc broadcasting giữa vectơ hàng và vectơ cột có shape khác nhau, còn ở đây hai vectơ cùng shape. "A higher-dimensional tensor" sai vì phép cộng phần tử không làm tăng hạng tensor; hạng đầu ra bằng hạng đầu vào.
Mở trang câu hỏi này →
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
Đá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.
Mở trang câu hỏi này →