DAT301MChưa đo Cập nhật 2 ngày trước
DAT301m - Phát triển UDTTNT với TensorFlow
100Câu hỏi
2Bộ đề
4Chủ đề
Câu hỏi của môn
100/100 câuHết danh sách
A
tf.text.train_subword_encoder_from_file()B
tf.text.train_subword_encoder()C
tf.train.experimental.SubwordTextEncoder.train_from_corpus()D
tf.text.train_from_corpus_subword_encoder()Lời giải
Mở trang câu hỏi này →Đá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.
86To calculate the dot product of two vectors v1 and v2 in TensorFlow, which function is appropriate?4 lựa chọn
A
tf.dot(v1, v2)B
tf.matmul(v1, v2)C
tf.multiply(v1, v2)D
tf.dot_product(v1, v2)Lời giải
Mở trang câu hỏi này →Đá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.
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
Mở trang câu hỏi này →Đá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.
ANeutral emotions
BNegative emotions
CPositive emotions
DAmbiguous emotions
Lời giải
Mở trang câu hỏi này →Đá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.
89How does the SentencepieceTokenizer contribute to better representation in neural networks?4 lựa chọn
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
Mở trang câu hỏi này →Đá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.
90In the context of next-word prediction, what is a drawback of using a fixed-size context window?4 lựa chọn
ADifficulty capturing long-term dependencies
BIncreased training time
CReduced model complexity
DImproved generalization to new data
Lời giải
Mở trang câu hỏi này →Đá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 đó.
91How can you randomly split a dataset into training, validation, and test sets in TensorFlow?4 lựa chọn
AUsing the tf.split_dataset() function
BUsing the tf.data.split() method
CUtilizing the train_test_split function from scikit-learn
DBy manually selecting samples in Python code
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Utilizing the train_test_split function from scikit-learn". Hàm train_test_split xáo trộn dữ liệu (shuffle=True mặc định) rồi tách theo tỉ lệ test_size, có random_state để lặp lại kết quả; muốn có ba tập, ta gọi hai lần, lần đầu tách tập test, lần hai chia phần còn lại thành train và validation, sau đó đưa vào model.fit hoặc tf.data.Dataset.from_tensor_slices. Keras cũng có tf.keras.utils.split_dataset nhưng nó không nằm trong các lựa chọn. "Using the tf.split_dataset() function" sai vì TensorFlow không có hàm nào ở đúng đường dẫn này. "Using the tf.data.split() method" sai vì tf.data không có phương thức split; với Dataset người ta thường kết hợp shuffle, take và skip. "By manually selecting samples in Python code" làm được về nguyên tắc nhưng không bảo đảm ngẫu nhiên, dễ sai và trùng mẫu giữa các tập, nên không phải cách được hỏi.
APrincipal Component Analysis (PCA)
BSingular Value Decomposition (SVD)
CExponential Smoothing (ETS)
DK-Means Clustering
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Exponential Smoothing (ETS)". Exponential Smoothing (làm mượt hàm mũ) dự báo giá trị tương lai bằng trung bình có trọng số của các quan sát quá khứ, với trọng số giảm dần theo cấp số nhân khi lùi xa về quá khứ; mô hình ETS (Error, Trend, Seasonality) mở rộng thêm thành phần xu hướng và mùa vụ, là phương pháp dự báo chuỗi thời gian kinh điển. "Principal Component Analysis (PCA)" sai vì PCA là kỹ thuật giảm chiều dữ liệu bằng cách chiếu lên các hướng có phương sai lớn nhất, không sinh dự báo theo thời gian. "Singular Value Decomposition (SVD)" sai vì SVD là phép phân rã ma trận, dùng cho giảm chiều hay hệ khuyến nghị, không phải mô hình dự báo. "K-Means Clustering" sai vì K-Means là thuật toán phân cụm không giám sát, gom điểm giống nhau thành nhóm chứ không dự đoán giá trị tương lai.
ASuperior performance on image classification tasks
BAbility to capture temporal dependencies and patterns
CFaster training compared to traditional machine learning models
DRobustness to noise in the input data
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Ability to capture temporal dependencies and patterns". RNN xử lý chuỗi từng bước theo thứ tự thời gian và mang theo trạng thái ẩn tổng hợp những gì đã thấy, nên giá trị dự báo phụ thuộc vào cả diễn biến trước đó chứ không chỉ một điểm riêng lẻ; trong Keras có thể dùng SimpleRNN hoặc LSTM với đầu vào dạng batch, số bước thời gian, số đặc trưng. "Superior performance on image classification tasks" thuộc thế mạnh của CNN, không phải lý do dùng RNN cho chuỗi thời gian. "Faster training compared to traditional machine learning models" sai vì RNN xử lý tuần tự nên thường huấn luyện chậm hơn các mô hình truyền thống. "Robustness to noise in the input data" không phải ưu điểm riêng của RNN; nhiễu vẫn ảnh hưởng mô hình, thường phải làm mượt dữ liệu hoặc dùng hàm mất mát như Huber để giảm tác động.
94What is the key characteristic that distinguishes time series data from other types of data?4 lựa chọn
AUnstructured format
BLack of temporal ordering
CSequential dependence of observations
DConstant feature values
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Sequential dependence of observations". Dữ liệu chuỗi thời gian được ghi theo thứ tự thời gian và giá trị ở bước t phụ thuộc vào các bước trước nó, nên thứ tự mang thông tin: xáo trộn các quan sát sẽ phá huỷ xu hướng, mùa vụ và tự tương quan; đó là lý do ta tạo cửa sổ trượt từ các bước quá khứ để dự báo bước tiếp theo. "Unstructured format" sai vì chuỗi thời gian thường là các con số có cấu trúc rõ ràng theo mốc thời gian, khác với văn bản hay ảnh. "Lack of temporal ordering" sai vì nó ngược với bản chất, thứ tự thời gian chính là đặc điểm cốt lõi của loại dữ liệu này. "Constant feature values" sai vì giá trị không đổi thì không có gì để phân tích hay dự báo; chuỗi thời gian biến động theo thời gian, kể cả khi các đặc trưng thống kê của nó ổn định.
AMean Absolute Error (MAE)
BConfidence Interval Width (CIW)
CPrediction Interval Coverage (PIC)
DR-squared (R2)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Prediction Interval Coverage (PIC)". Độ phủ khoảng dự báo đo tỉ lệ giá trị thực tế rơi vào khoảng dự báo mà mô hình đưa ra ở một mức tin cậy định trước; ví dụ với khoảng 95%, độ phủ thực tế gần 95% nghĩa là khoảng được hiệu chỉnh tốt, còn thấp hơn nhiều thì mô hình tự tin quá mức. "Mean Absolute Error (MAE)" sai vì MAE là trung bình trị tuyệt đối sai số của dự báo điểm, không xét khoảng tin cậy nào. "Confidence Interval Width (CIW)" chỉ đo độ rộng khoảng; khoảng hẹp trông chính xác nhưng có thể bỏ sót giá trị thực, nên độ rộng một mình không cho biết dự báo có nằm đúng trong khoảng hay không. "R-squared (R2)" sai vì R2 đo tỉ lệ phương sai của dữ liệu được mô hình giải thích, cũng là thước đo cho dự báo điểm chứ không cho khoảng.
ATo perform clustering on time series data
BTo identify seasonality patterns in the data
CTo predict future values based on historical data
DTo calculate the mean squared error of a model
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To predict future values based on historical data". LSTM (Long Short-Term Memory) là biến thể RNN có cổng quên, cổng vào và cổng ra để giữ thông tin qua nhiều bước, nên ứng dụng chính trong chuỗi thời gian là dự báo: đưa vào một cửa sổ các giá trị quá khứ và để lớp Dense đầu ra dự đoán giá trị kế tiếp. "To perform clustering on time series data" là bài toán không giám sát gom nhóm các chuỗi giống nhau, thường dùng thuật toán phân cụm chứ không phải ứng dụng tiêu biểu của LSTM dự báo. "To identify seasonality patterns in the data" là bước phân tích, thường làm bằng vẽ biểu đồ hay xem tự tương quan; LSTM có thể học ngầm mùa vụ nhưng mục đích dùng nó là dự báo. "To calculate the mean squared error of a model" là phép tính thước đo sai số đơn giản, làm trực tiếp bằng hàm mất mát chứ không cần mạng nơ-ron.
AIt is a technique for avoiding overfitting during training.
BIt is a way to speed up the convergence of RNNs.
CIt involves providing the correct output from the training data as input during training.
DIt is a regularization technique applied to the hidden states.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It involves providing the correct output from the training data as input during training.". Với teacher forcing, ở mỗi bước huấn luyện mạng hồi quy nhận giá trị thật của bước trước lấy từ dữ liệu làm đầu vào thay cho giá trị chính nó vừa dự đoán, nhờ vậy lỗi không bị cộng dồn dọc chuỗi; khi dự báo thật thì không còn giá trị thật nên mô hình phải dùng đầu ra của mình. "It is a way to speed up the convergence of RNNs." chỉ là hệ quả: huấn luyện thường hội tụ nhanh và ổn định hơn, nhưng đó không phải định nghĩa của kỹ thuật. "It is a technique for avoiding overfitting during training." sai vì teacher forcing không chống quá khớp, nó còn có thể gây lệch giữa lúc huấn luyện và lúc dự báo (exposure bias). "It is a regularization technique applied to the hidden states." sai vì điều chuẩn trên trạng thái ẩn là các kỹ thuật như recurrent_dropout của lớp LSTM, không liên quan tới việc chọn đầu vào.
ABidirectional RNNs are more computationally efficient.
BThey can capture information from both past and future contexts.
CThey are less prone to overfitting.
DBidirectional RNNs have a simpler architecture.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "They can capture information from both past and future contexts.". Lớp Bidirectional trong Keras bọc một RNN như LSTM và chạy hai bản song song, một đọc chuỗi từ đầu tới cuối, một đọc ngược từ cuối về đầu, rồi ghép trạng thái của hai chiều; vì vậy tại mỗi bước, biểu diễn chứa cả thông tin phía trước lẫn phía sau trong cửa sổ đầu vào, giúp nắm mẫu hình tốt hơn. "Bidirectional RNNs are more computationally efficient." sai vì chạy hai chiều làm số tham số và thời gian tính gần gấp đôi. "They are less prone to overfitting." sai vì nhiều tham số hơn nếu có thì còn làm tăng nguy cơ quá khớp; chống quá khớp phải nhờ dropout hay chính quy hoá. "Bidirectional RNNs have a simpler architecture." sai vì kiến trúc hai chiều phức tạp hơn RNN một chiều, gồm hai tầng hồi quy và bước ghép đầu ra.
AUsing NumPy arrays
BAs pandas DataFrames
CAs tensors
DAll of the above
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All of the above". tf.data.Dataset.from_tensor_slices nhận nhiều dạng đầu vào và cắt theo chiều đầu tiên thành từng cặp đặc trưng và nhãn, sau đó mọi phần tử trong dataset đều được chuyển thành tensor. "Using NumPy arrays" đúng vì có thể truyền thẳng cặp mảng NumPy đặc trưng và nhãn vào hàm này, đây là cách hay gặp nhất; nhưng chỉ chọn nó là chưa đủ. "As pandas DataFrames" cũng đúng, vì có thể truyền dict(df) cùng cột nhãn để mỗi cột thành một đặc trưng có tên; chọn riêng nó lại bỏ sót hai cách kia. "As tensors" đúng vì dataset có thể được tạo trực tiếp từ tensor như tf.constant và mọi phần tử bên trong rốt cuộc đều là tensor; chọn riêng nó cũng chưa trọn. Do cả ba cách đều dùng được nên lựa chọn bao gồm tất cả là câu trả lời đầy đủ.
100In time series forecasting, what is the significance of the output gate in an LSTM cell?4 lựa chọn
AIt controls the flow of information into the memory cell.
BIt decides which information to store in the memory cell.
CIt determines the output of the LSTM cell.
DIt regulates the input to the memory cell.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It determines the output of the LSTM cell.". Trong LSTM, cổng ra tính o_t = σ(W·[h_(t−1), x_t] + b) với giá trị trong khoảng 0 tới 1, rồi trạng thái ẩn h_t bằng o_t nhân từng phần tử với tanh(c_t); nghĩa là cổng ra chọn phần nào của trạng thái ô nhớ được đưa ra làm đầu ra ở bước hiện tại và truyền sang bước sau, còn với dự báo chuỗi thời gian h_t này đi vào lớp Dense để ra giá trị dự báo. "It controls the flow of information into the memory cell." sai vì kiểm soát luồng thông tin đi vào ô nhớ là việc của cổng vào. "It decides which information to store in the memory cell." sai vì quyết định lưu gì là cổng vào cùng giá trị ứng viên, còn quyết định quên gì là cổng quên. "It regulates the input to the memory cell." sai vì đó cũng là mô tả của cổng vào; cổng ra chỉ tác động ở phía đọc ô nhớ, không làm thay đổi nội dung được ghi vào.