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ố 2

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
AMore training data reduces overfitting.
BLimited training data decreases the risk of overfitting.
CThe amount of training data has no impact on overfitting.
DOverfitting occurs only when there is an abundance of training data.
Lời giải
Đáp án đúng: "More training data reduces overfitting.". Overfitting (quá khớp) xảy ra khi mô hình đủ mạnh để học thuộc cả nhiễu và chi tiết riêng của tập huấn luyện nhỏ, nên điểm trên tập huấn luyện cao mà trên tập validation thấp; có nhiều dữ liệu hơn, hay tạo thêm biến thể bằng augmentation, buộc mô hình học quy luật chung đúng cho nhiều mẫu, từ đó khoảng cách giữa hai đường loss thu hẹp. "Limited training data decreases the risk of overfitting." sai vì ít dữ liệu mới là nguyên nhân phổ biến nhất khiến mô hình học thuộc lòng. "The amount of training data has no impact on overfitting." sai vì lượng dữ liệu là một trong những yếu tố ảnh hưởng mạnh nhất tới khả năng khái quát. "Overfitting occurs only when there is an abundance of training data." sai vì nó ngược với thực tế: dữ liệu dồi dào giúp giảm quá khớp, còn quá khớp thường gặp nhất khi dữ liệu khan hiếm so với độ phức tạp của mô hình.
Mở trang câu hỏi này →
AIncreasing image brightness
BReducing image contrast
CFlipping images horizontally
DAll of the above
Lời giải
Đáp án đúng: "All of the above". Image augmentation (tăng cường ảnh) tạo thêm biến thể của ảnh huấn luyện bằng các phép biến đổi ngẫu nhiên nhưng vẫn giữ nhãn, giúp mô hình bớt overfitting (quá khớp); cả ba kỹ thuật nêu ra đều thông dụng trong TensorFlow nên chọn phương án gộp. "Increasing image brightness" là kỹ thuật đúng, thực hiện qua brightness_range của ImageDataGenerator hoặc tf.image.random_brightness, nhưng chỉ là một trong ba nên chọn riêng nó là chưa đủ. "Reducing image contrast" cũng đúng, dùng tf.image.random_contrast hoặc lớp RandomContrast để mô phỏng điều kiện ánh sáng khác nhau, song chọn riêng nó bỏ sót việc tăng độ sáng và lật ảnh. "Flipping images horizontally" đúng và phổ biến nhất, qua horizontal_flip=True hoặc lớp RandomFlip, nhưng cũng chỉ là một phần của đáp án đầy đủ.
Mở trang câu hỏi này →
AIt completely replaces the need for any training on the small dataset
BIt provides an initial set of weights that capture generic features, enhancing model performance
CIt hinders the model's ability to adapt to the small dataset
DPre-trained models are not suitable for small datasets
Lời giải
Đáp án đúng: "It provides an initial set of weights that capture generic features, enhancing model performance". Một mạng đã huấn luyện trên tập lớn đã học được các đặc trưng chung như cạnh, góc, kết cấu và hình khối ở các lớp tích chập; dùng lại các trọng số này làm điểm xuất phát, tập dữ liệu nhỏ chỉ cần dạy thêm các lớp phân loại mới phía trên, hoặc fine-tuning (tinh chỉnh) vài lớp trên cùng, nên đạt độ chính xác cao mà ít bị quá khớp. "It completely replaces the need for any training on the small dataset" sai vì vẫn phải huấn luyện ít nhất các lớp mới để khớp với nhãn của bài toán. "It hinders the model's ability to adapt to the small dataset" ngược lại thực tế, các đặc trưng có sẵn giúp mô hình thích nghi nhanh hơn với ít dữ liệu. "Pre-trained models are not suitable for small datasets" sai vì tập nhỏ chính là trường hợp học chuyển giao phát huy hiệu quả nhất.
Mở trang câu hỏi này →
Atf.keras.preprocessing.text_dataset_from_directory
Btf.keras.datasets.load_images
Ctf.keras.utils.image_dataset_from_directory
Dtf.keras.datasets.load_data
Lời giải
Đáp án đúng: "tf.keras.utils.image_dataset_from_directory". Hàm này đọc một thư mục có các thư mục con mang tên lớp, tự gán nhãn theo tên thư mục, đưa ảnh về image_size, chia lô theo batch_size, có thể tách tập validation bằng validation_split và trả về tf.data.Dataset; đặt label_mode='categorical' thì nhãn ở dạng one-hot hợp với phân loại nhiều lớp. "tf.keras.preprocessing.text_dataset_from_directory" sai vì nó nạp tệp văn bản thành tập dữ liệu chuỗi cho bài toán ngôn ngữ, không đọc ảnh. "tf.keras.datasets.load_images" sai vì mô-đun tf.keras.datasets không có hàm nào tên như vậy. "tf.keras.datasets.load_data" sai vì load_data là hàm của từng bộ dữ liệu dựng sẵn, ví dụ tf.keras.datasets.mnist.load_data(), chỉ tải các tập mẫu có sẵn như MNIST hay CIFAR-10 chứ không đọc ảnh từ thư mục của người dùng.
Mở trang câu hỏi này →
AHousing prices dataset
BImage classification dataset
CMovie ratings dataset
DHistorical weather data
Lời giải
Đáp án đúng: "Image classification dataset". Bài toán phân biệt chó và mèo là phân loại ảnh nhị phân: mỗi mẫu là một bức ảnh có nhãn "dog" hoặc "cat", và bộ Dogs vs. Cats trên Kaggle là ví dụ kinh điển để luyện CNN với ImageDataGenerator, flow_from_directory và lớp ra sigmoid với binary_crossentropy. "Housing prices dataset" sai vì giá nhà là dữ liệu dạng bảng cho bài toán hồi quy, đầu ra là số liên tục chứ không phải nhãn ảnh. "Movie ratings dataset" sai vì điểm đánh giá phim dùng cho hệ khuyến nghị, gồm bộ ba người dùng, phim, điểm số. "Historical weather data" sai vì dữ liệu thời tiết theo thời gian là chuỗi thời gian (time series), hợp với bài dự báo bằng RNN hay LSTM, không chứa ảnh chó mèo.
Mở trang câu hỏi này →
AOverfitting
BUnderfitting
CLoss of information at the edges of an image
DLack of model interpretability
Lời giải
Đáp án đúng: "Loss of information at the edges of an image". Khi trượt bộ lọc tích chập mà không đệm, điểm ảnh ở rìa được bộ lọc đi qua ít lần hơn điểm ở giữa và kích thước đầu ra co lại, ví dụ ảnh 28×28 qua bộ lọc 3×3 còn 28 − 3 + 1 = 26; padding (đệm) thêm viền giá trị 0 quanh ảnh, với padding='same' đầu ra giữ nguyên 28×28 và thông tin ở rìa được xử lý đầy đủ hơn. "Overfitting" là hiện tượng mô hình học thuộc dữ liệu huấn luyện, được xử lý bằng dropout, augmentation hay regularization chứ không phải bằng padding. "Underfitting" là mô hình quá yếu để học quy luật, cách chữa là tăng dung lượng hoặc huấn luyện lâu hơn. "Lack of model interpretability" là vấn đề khó giải thích quyết định của mạng, không liên quan đến việc giữ kích thước hay thông tin rìa ảnh.
Mở trang câu hỏi này →
AIt is fixed and predefined.
BIt is randomly generated during training.
CIt is based on the document frequency of subwords.
DIt is learned from the input text during training.
Lời giải
Đáp án đúng: "It is learned from the input text during training.". Bộ mã hoá từ con (subword text encoder) xây từ vựng bằng cách quét kho văn bản đầu vào, bắt đầu từ ký tự rồi lặp lại việc ghép những mảnh hay đi cùng nhau thành đơn vị lớn hơn cho tới khi đạt kích thước mục tiêu; vì vậy từ vựng phản ánh chính dữ liệu, từ hiếm được tách thành các mảnh quen thuộc và không còn từ nằm ngoài từ vựng. "It is fixed and predefined." sai vì từ vựng không được cho sẵn mà sinh ra từ kho văn bản cụ thể, đổi kho thì từ vựng đổi theo. "It is randomly generated during training." sai vì quá trình xây dựng là tất định dựa trên thống kê của văn bản, không phải ngẫu nhiên. "It is based on the document frequency of subwords." chưa đúng: tần suất xuất hiện có được dùng trong lúc học, nhưng document frequency (số văn bản chứa một từ) là đại lượng của TF-IDF, còn từ vựng từ con là kết quả của quá trình học trên văn bản chứ không phải một phép đếm số văn bản.
Mở trang câu hỏi này →
AZero padding and feature padding
BCircular padding and symmetric padding
CValid padding and same padding
DDynamic padding and fixed padding
Lời giải
Đáp án đúng: "Valid padding and same padding". Trong các lớp Conv2D và pooling của TensorFlow, tham số padding chỉ nhận hai giá trị: 'valid' là không đệm, bộ lọc chỉ trượt ở vị trí nằm trọn trong ảnh nên đầu ra nhỏ đi (ảnh 28 qua kernel 3 còn 28 − 3 + 1 = 26); 'same' là đệm 0 quanh viền để với stride 1 đầu ra giữ nguyên kích thước đầu vào. "Zero padding and feature padding" sai vì zero padding chỉ là cách thực hiện của 'same', còn feature padding không phải một chế độ có trong TensorFlow. "Circular padding and symmetric padding" sai vì đó là kiểu đệm theo vòng hoặc đối xứng gương; tf.pad có chế độ 'SYMMETRIC' và 'REFLECT' nhưng chúng không phải hai giá trị padding của lớp tích chập. "Dynamic padding and fixed padding" sai vì đây không phải tên chế độ đệm trong TensorFlow; đệm động theo batch là khái niệm của việc xếp batch chuỗi văn bản.
Mở trang câu hỏi này →
ATo summarize long passages of text
BTo determine the author's identity
CTo classify the emotional polarity of text
DTo translate text from one language to another
Lời giải
Đáp án đúng: "To classify the emotional polarity of text". Sentiment analysis (phân tích cảm xúc) xác định thái độ mà văn bản thể hiện, như tích cực hay tiêu cực, ví dụ phân loại bình luận phim IMDB hay tiêu đề mỉa mai; trong Keras, văn bản được tokenize, pad_sequences, đưa qua Embedding rồi tới lớp Dense sigmoid cho ra xác suất thuộc lớp tích cực. "To summarize long passages of text" là bài toán tóm tắt văn bản, đầu ra là một đoạn văn ngắn hơn chứ không phải nhãn cảm xúc. "To determine the author's identity" là bài toán xác định tác giả dựa trên văn phong, không quan tâm văn bản vui hay buồn. "To translate text from one language to another" là dịch máy, một bài toán chuỗi sang chuỗi, khác hoàn toàn với việc gán nhãn thái độ cho văn bản.
Mở trang câu hỏi này →
ATo identify stop words in text
BTo generate creative writing
CTo translate text between languages
DTo predict the probability of a word given its context in a sentence
Lời giải
Đáp án đúng: "To predict the probability of a word given its context in a sentence". Mô hình ngôn ngữ học phân phối xác suất của từ tiếp theo dựa trên các từ đứng trước (hoặc xung quanh); trong Keras có thể dựng bằng Embedding, LSTM và lớp Dense softmax cỡ từ vựng, và chính khả năng ước lượng xác suất này cho máy nắm được ngữ pháp và ngữ nghĩa, làm nền cho sinh văn bản, gợi ý từ hay dịch máy. "To identify stop words in text" sai vì từ dừng thường được lọc bằng danh sách cố định, không cần mô hình ngôn ngữ. "To generate creative writing" chỉ là một ứng dụng xây trên mô hình ngôn ngữ bằng cách lấy mẫu lặp lại từ phân phối xác suất, không phải vai trò cốt lõi của nó. "To translate text between languages" là một bài toán riêng dùng mô hình seq2seq có bộ mã hoá và bộ giải mã; mô hình ngôn ngữ có thể là một thành phần trong đó nhưng không định nghĩa vai trò được hỏi.
Mở trang câu hỏi này →
ACreating a bag-of-words representation
BReducing words to their root forms
CBreaking down text into individual words or tokens
DApplying sentiment analysis to words
Lời giải
Đáp án đúng: "Breaking down text into individual words or tokens". Tokenization (tách token) là bước đầu của mã hoá dựa trên từ: câu được cắt thành từng từ hoặc đơn vị (token), rồi mỗi token được gán một số nguyên; trong Keras, Tokenizer với fit_on_texts xây word_index và texts_to_sequences đổi câu thành dãy số, có thể đặt oov_token cho từ chưa gặp. "Creating a bag-of-words representation" sai vì túi từ là cách biểu diễn được xây sau khi đã tách token, đếm tần suất từ và bỏ qua thứ tự. "Reducing words to their root forms" sai vì đó là stemming hoặc lemmatization, một bước chuẩn hoá tuỳ chọn khác với việc tách token. "Applying sentiment analysis to words" sai vì phân tích cảm xúc là bài toán mô hình giải quyết ở phía sau, dùng chuỗi token làm đầu vào chứ không phải chính việc tách token.
Mở trang câu hỏi này →
Aencoder.decode_subwords(sequence)
Btf.text.decode_subwords(encoder, sequence)
Ctf.text.SubwordTextEncoder.decode(sequence)
Dencoder.decode(sequence)
Lời giải
Đáp án đúng: "encoder.decode(sequence)". Bộ mã hoá đơn vị dưới từ như SubwordTextEncoder đi kèm bộ dữ liệu imdb_reviews/subwords8k của TensorFlow Datasets là một đối tượng có hai phương thức đối xứng: encode biến chuỗi thành danh sách chỉ số subword, còn decode ghép các chỉ số đó lại thành văn bản gốc; vì từ vựng nằm trong chính đối tượng encoder, ta gọi decode trên thể hiện đó. "encoder.decode_subwords(sequence)" gọi một phương thức không có trên encoder. "tf.text.decode_subwords(encoder, sequence)" không phải hàm của TensorFlow Text, thư viện này không có hàm giải mã nhận encoder làm tham số. "tf.text.SubwordTextEncoder.decode(sequence)" sai ở hai điểm: SubwordTextEncoder thuộc TensorFlow Datasets chứ không nằm trong tf.text, và gọi decode trực tiếp trên lớp thì thiếu thể hiện mang bộ từ vựng cần để giải mã.
Mở trang câu hỏi này →
Atf.text.create_subword_encoder()
Btf.text.build_subword_encoder()
Ctf.text.generate_subword_encoder()
Dtf.text.SubwordTextEncoder.build_from_corpus()
Lời giải
Đáp án đúng: "tf.text.SubwordTextEncoder.build_from_corpus()". build_from_corpus là phương thức lớp thật của SubwordTextEncoder, nhận một bộ sinh văn bản và target_vocab_size rồi học từ vựng từ con trên kho văn bản đó, sau đó dùng encode và decode để chuyển chuỗi ký tự thành dãy số và ngược lại. Cần lưu ý trên thực tế lớp này nằm ở tfds.deprecated.text của TensorFlow Datasets (trước đó là tfds.features.text), không thuộc gói tf.text, nhưng trong bốn lựa chọn đây là cách gọi duy nhất ứng với một API có thật. "tf.text.create_subword_encoder()" sai vì không tồn tại hàm nào tên như vậy. "tf.text.build_subword_encoder()" sai vì tên này nghe giống build_from_corpus nhưng không phải hàm có thật, bộ mã hoá được dựng qua phương thức của lớp chứ không qua hàm tự do. "tf.text.generate_subword_encoder()" cũng là tên không tồn tại; tf.text chỉ cung cấp các tokenizer như WordpieceTokenizer hay SentencepieceTokenizer.
Mở trang câu hỏi này →
Anltk
Bgensim
Cscikit-learn
Dtf.text
Lời giải
Đáp án đúng: "tf.text". TensorFlow Text (import tensorflow_text, thường gọi tf.text) là thư viện đi kèm TensorFlow cung cấp các bộ tách subword (từ con) như WordpieceTokenizer, SentencepieceTokenizer và BertTokenizer, chạy được ngay trong đồ thị TensorFlow nên dùng được trong pipeline tf.data và khi triển khai mô hình. "nltk" sai vì NLTK là thư viện xử lý ngôn ngữ tự nhiên độc lập trong Python, mạnh về tách từ cổ điển, stemming, gán nhãn từ loại, không thuộc hệ TensorFlow. "gensim" sai vì Gensim chuyên mô hình chủ đề và vectơ từ như Word2Vec, không phải bộ mã hoá subword của TensorFlow. "scikit-learn" sai vì Scikit-learn có CountVectorizer, TfidfVectorizer cho văn bản nhưng làm việc ở mức từ hoặc n-gram ký tự, không phải thư viện TensorFlow cho subword.
Mở trang câu hỏi này →
Atf.text.train_subword_encoder_from_file()
Btf.text.train_subword_encoder()
Ctf.train.experimental.SubwordTextEncoder.train_from_corpus()
Dtf.text.train_from_corpus_subword_encoder()
Lời giải
Đáp án đúng: "tf.train.experimental.SubwordTextEncoder.train_from_corpus()". Ý tưởng cần nắm là subword encoder (bộ mã hoá từ con) được dựng từ chính corpus (kho văn bản) của bạn: nó đếm tần suất, chọn ra một bộ từ vựng gồm các mảnh từ con đến kích thước mục tiêu, nhờ đó từ lạ vẫn được tách thành các mảnh đã biết thay vì thành token OOV. Nói cho trung thực, cả bốn tên hàm đều không phải API thật; hàm thật là tfds.deprecated.text.SubwordTextEncoder.build_from_corpus của TensorFlow Datasets, nhận một generator duyệt qua các câu và tham số target_vocab_size. Phương án được chọn là phương án duy nhất gọi đúng lớp SubwordTextEncoder cùng phương thức dựng bộ mã hoá từ corpus của riêng mình, nên nó gần với API thật nhất. "tf.text.train_subword_encoder_from_file()" không tồn tại, và build_from_corpus nhận dữ liệu qua generator chứ không cần một hàm riêng để đọc tệp. "tf.text.train_subword_encoder()" cũng không có trong TensorFlow Text và không gắn với lớp SubwordTextEncoder. "tf.text.train_from_corpus_subword_encoder()" chỉ đảo trật tự các chữ thành một hàm độc lập không có thật.
Mở trang câu hỏi này →
Atf.dot(v1, v2)
Btf.matmul(v1, v2)
Ctf.multiply(v1, v2)
Dtf.dot_product(v1, v2)
Lời giải
Đáp án đúng: "tf.matmul(v1, v2)". Tích vô hướng là nhân từng cặp phần tử rồi cộng lại; tf.matmul thực hiện phép nhân ma trận nên cho đúng kết quả đó khi hai vector được đưa về dạng hàng nhân cột, ví dụ reshape v1 thành [1, n] và v2 thành [n, 1] để được ma trận 1×1 chứa tích vô hướng, vì tf.matmul đòi tensor có ít nhất hai chiều; ngoài các lựa chọn ở đây, cách gọn hơn là tf.tensordot(v1, v2, axes=1). "tf.dot(v1, v2)" không tồn tại trong TensorFlow, tên này quen thuộc từ NumPy là np.dot. "tf.multiply(v1, v2)" chỉ nhân từng phần tử và trả về một vector cùng độ dài, còn phải cộng thêm bằng tf.reduce_sum mới thành tích vô hướng. "tf.dot_product(v1, v2)" cũng là tên không có trong API TensorFlow.
Mở trang câu hỏi này →
AThey are removed from the tokens.
BThey are included as part of the tokens.
CThey are replaced with special symbols.
DThey are ignored during tokenization.
Lời giải
Đáp án đúng: "They are removed from the tokens.". WhitespaceTokenizer của TensorFlow Text tách chuỗi tại các ký tự khoảng trắng (dấu cách, tab, xuống dòng) và bỏ chính các ký tự đó đi, nên khoảng trắng ở đầu và cuối chuỗi không tạo ra token rỗng và không dính vào token nào; ví dụ chuỗi " hello world " cho ra hai token hello và world. "They are ignored during tokenization." diễn đạt gần cùng ý, vì bộ tách quả thật không coi khoảng trắng là nội dung, nhưng phương án được chọn nêu đúng kết quả quan sát được trên đầu ra: token không chứa khoảng trắng nào. "They are included as part of the tokens." sai vì nếu khoảng trắng còn dính vào token thì cùng một từ sẽ thành nhiều token khác nhau tuỳ vị trí, làm hỏng từ điển. "They are replaced with special symbols." là cách của một số tokenizer khác như SentencePiece, vốn thay dấu cách bằng ký hiệu riêng để khôi phục văn bản, chứ WhitespaceTokenizer không thêm ký hiệu nào.
Mở trang câu hỏi này →
ANeutral emotions
BNegative emotions
CPositive emotions
DAmbiguous emotions
Lời giải
Đáp án đúng: "Positive emotions". Trong phân tích cảm xúc, nhãn tích cực cho biết văn bản thể hiện thái độ hài lòng, yêu thích hay khen ngợi, ví dụ một đánh giá phim viết rằng diễn xuất tuyệt vời; với mô hình nhị phân dùng Dense sigmoid, đầu ra gần 1 thường được hiểu là tích cực và gần 0 là tiêu cực. "Neutral emotions" sai vì trung tính là lớp riêng dành cho văn bản không bộc lộ thái độ rõ ràng, như một câu chỉ thuật lại sự kiện. "Negative emotions" sai vì đó là cực đối lập, ứng với chê bai, thất vọng hay tức giận. "Ambiguous emotions" sai vì văn bản mơ hồ, ví dụ khen chê lẫn lộn hoặc mỉa mai, là trường hợp khó phân loại, không phải ý nghĩa của nhãn tích cực.
Mở trang câu hỏi này →
AIt allows for a flexible representation of words as subword units.
BIt efficiently handles punctuation marks.
CIt captures contextual information by splitting words into subword units.
DIt effectively handles tokenization based on whitespace.
Lời giải
Đáp án đúng: "It allows for a flexible representation of words as subword units.". SentencepieceTokenizer dùng mô hình SentencePiece đã học từ dữ liệu để chia văn bản thô thành các mảnh subword (từ con) như "▁learn" và "ing"; từ phổ biến giữ nguyên, từ hiếm được ghép từ các mảnh nhỏ, nên bộ từ vựng gọn mà vẫn biểu diễn được từ chưa gặp, giảm vấn đề ngoài từ vựng. "It efficiently handles punctuation marks." sai vì xử lý dấu câu chỉ là hệ quả phụ, không phải đóng góp chính. Phương án nói rằng nó "captures contextual information" sai vì việc cắt từ thành mảnh không mã hoá ngữ cảnh; thông tin ngữ cảnh do các lớp phía sau như RNN hay Transformer học, tokenizer chỉ cung cấp đơn vị đầu vào. "It effectively handles tokenization based on whitespace." sai vì SentencePiece không dựa vào khoảng trắng, nó coi khoảng trắng là một ký tự thường nên dùng được cho ngôn ngữ không có khoảng trắng.
Mở trang câu hỏi này →
ADifficulty capturing long-term dependencies
BIncreased training time
CReduced model complexity
DImproved generalization to new data
Lời giải
Đáp án đúng: "Difficulty capturing long-term dependencies". Khi chỉ cho mô hình nhìn một số từ cố định đứng trước để đoán từ tiếp theo, mọi thông tin nằm ngoài cửa sổ đều bị cắt bỏ, nên những phụ thuộc xa như chủ ngữ ở đầu câu dài quyết định cách dùng từ ở cuối câu không được nắm bắt; đây là lý do mô hình sinh văn bản dùng LSTM với trạng thái nhớ truyền qua nhiều bước. "Increased training time" không phải nhược điểm đặc trưng, cửa sổ cố định thậm chí giữ cho chi phí mỗi mẫu ổn định và có giới hạn. "Reduced model complexity" là một đặc điểm thường được xem là ưu điểm vì mô hình gọn hơn, không phải nhược điểm. "Improved generalization to new data" là lợi ích, và bản thân cửa sổ cố định không đảm bảo điều đó.
Mở trang câu hỏi này →