Câu hỏi: AIE301m Ứng dụng trí tuệ nhân tạo cho giao dịch – Bộ ôn tập thi lại số 1
50 câu trắc nghiệm kèm lời giải của môn AIE301m - Ứng dụng trí tuệ nhân tạo cho giao dịch, xếp đúng thứ tự trong đề.
Danh sách câu hỏi
20/50 câuCòn 30
1What is a variable in TensorFlow?4 lựa chọn
AA fixed value that is used in a neural network
BA data structure that holds the input data for a neural network
CA data structure that holds the weights and biases of a neural network
DA fixed value that is used to compute the output of a neural network
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A data structure that holds the weights and biases of a neural network". Trong TensorFlow, tf.Variable là tensor có trạng thái, giá trị được giữ qua các lần chạy và có thể thay đổi bằng assign hay bởi bộ tối ưu; vì vậy nó dùng để chứa tham số học được là trọng số và độ lệch (bias), được cập nhật sau mỗi bước lan truyền ngược. "A fixed value that is used in a neural network" mô tả hằng số tf.constant, thứ không đổi được, ngược với biến. "holds the input data for a neural network" sai vì dữ liệu đầu vào thường được đưa vào qua tensor thường, tf.data hay placeholder thời TensorFlow 1, không cần lưu trạng thái để cập nhật. "A fixed value that is used to compute the output" cũng là hằng số, trong khi biến tồn tại chính là để giá trị của nó thay đổi trong quá trình huấn luyện.
2What is deep learning?4 lựa chọn
AA type of machine learning algorithm
BA branch of artificial intelligence
CA technique for training neural networks
DAll of the above
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All of the above". Học sâu (deep learning) cùng lúc thoả ba mô tả: nó là một loại thuật toán học máy vì học quy luật từ dữ liệu thay vì lập trình luật cứng, vì vậy "A type of machine learning algorithm" đúng; nó thuộc ngành trí tuệ nhân tạo vì học máy là một nhánh của AI, nên "A branch of artificial intelligence" đúng; và nó là kỹ thuật huấn luyện mạng nơ-ron nhiều lớp ẩn bằng lan truyền ngược và hạ gradient, nên "A technique for training neural networks" cũng đúng. Mỗi phương án đơn lẻ chỉ nói một mặt của khái niệm, vì thế chọn riêng một phương án là chưa đầy đủ.
AQuantify the hypothetical performance of your strategy for comparison with other strategies.
BPredict likely capital requirements, trade frequency and risk for your portfolio.
CEnsure that your strategy will be profitable in live trading.
DDetermine your maximum drawdown for your strategy in live trading
Lời giải
Mở trang câu hỏi này →Đáp án đúng gồm hai ý: "Quantify the hypothetical performance of your strategy for comparison with other strategies." và "Predict likely capital requirements, trade frequency and risk for your portfolio.". Kiểm thử ngược (backtesting) chạy chiến lược trên dữ liệu lịch sử để xem nó sẽ hoạt động ra sao nếu đã áp dụng trong quá khứ. Vì vậy nó cho ra hiệu suất giả định như lợi suất, tỉ số Sharpe để so sánh các chiến lược với nhau, và ước lượng được nhu cầu vốn, tần suất giao dịch, mức rủi ro để chuẩn bị danh mục. "Ensure that your strategy will be profitable in live trading." sai vì quá khứ không bảo đảm tương lai: chế độ thị trường thay đổi, có trượt giá, chi phí thật và nguy cơ quá khớp dữ liệu lịch sử, nên backtest tốt vẫn có thể thua lỗ khi chạy thật. "Determine your maximum drawdown for your strategy in live trading" sai vì backtest chỉ cho mức sụt giảm tối đa (maximum drawdown) trong lịch sử; khi giao dịch thật, mức sụt giảm có thể vượt xa con số đó, nên nó chỉ là ước lượng chứ không xác định được.
AInteger variable
BString variable
CFloat variable
DIt will give an error
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "String variable". Trong Python, giá trị đặt trong cặp nháy đơn hay nháy kép là chuỗi ký tự, nên câu lệnh N = '3.0' tạo ra một chuỗi gồm ba ký tự 3, dấu chấm và 0; gọi type(N) sẽ trả về str. Python định kiểu động theo giá trị được gán chứ không theo hình dáng của nội dung bên trong chuỗi. "Integer variable" sai vì số nguyên phải viết không có nháy và không có phần thập phân, như N = 3; thậm chí int('3.0') còn báo ValueError vì chuỗi có dấu chấm. "Float variable" sai vì chỉ N = 3.0 không có nháy mới là số thực; muốn có số thực từ chuỗi này phải gọi float(N). "It will give an error" sai vì gán một chuỗi cho biến là câu lệnh hoàn toàn hợp lệ, chạy không lỗi.
AVary the type of entry signal, profit exit levels, stop loss levels and trade completion time limits in backtesting with the objective of maximizing risk adjusted return (Sharpe ratio) within your tolerance for PnL volatility and maximum drawdown.
BVary the the type of entry signal and profit exit levels in backtesting with the objective of maximizing profit.
CVary the the type of entry signal and profit exit levels in backtesting with the objective of maximizing risk adjusted return (Sharpe ratio).
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Vary the type of entry signal, profit exit levels, stop loss levels and trade completion time limits in backtesting with the objective of maximizing risk adjusted return (Sharpe ratio) within your tolerance for PnL volatility and maximum drawdown.". Tối ưu mô hình giao dịch là dùng backtest như một bài toán tìm tham số: thay đổi đồng thời đủ bốn tham số gồm tín hiệu vào lệnh, mức chốt lời, mức cắt lỗ và thời hạn giữ lệnh, rồi chọn tổ hợp có lợi suất điều chỉnh theo rủi ro, tức tỉ số Sharpe, cao nhất mà vẫn nằm trong giới hạn chịu đựng về độ biến động lãi lỗ (PnL volatility) và mức sụt giảm tối đa (maximum drawdown). "in backtesting with the objective of maximizing profit." thiếu hai tham số cắt lỗ và thời hạn, lại tối đa hoá lợi nhuận thô nên dễ chọn ra cấu hình rủi ro rất cao. "profit exit levels in backtesting with the objective of maximizing risk adjusted return (Sharpe ratio)." đã dùng thước đo đúng là Sharpe nhưng vẫn bỏ sót cắt lỗ, thời hạn và không đặt ràng buộc về biến động hay sụt giảm, nên chưa tận dụng hết bốn tham số của mô hình cơ bản.
6What is an agent in reinforcement learning?3 lựa chọn
AAgent is the situation in which rewards are being exchanged
BAgent is the simple value in reinforcement learning.
CAn agent is an entity that explores the environment.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "An agent is an entity that explores the environment.". Trong học tăng cường, tác tử (agent) là thực thể quan sát trạng thái của môi trường, chọn hành động, nhận phần thưởng và cập nhật chính sách để tối đa tổng phần thưởng; nó vừa khám phá (exploration) hành động mới vừa khai thác (exploitation) điều đã biết. Trong giao dịch, agent là bot quyết định mua, bán hay giữ. "Agent is the situation in which rewards are being exchanged" mô tả gần với môi trường hoặc trạng thái, tức nơi agent tương tác, chứ không phải agent. "Agent is the simple value in reinforcement learning." sai vì giá trị (value) là ước lượng tổng phần thưởng kỳ vọng, chỉ là thứ agent học được, không phải bản thân agent.
AIdentify a strategy
BBacktest the strategy
CExecute the strategy
DManage risk
EAll of the above
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All of the above". Xây dựng một hệ thống giao dịch thuật toán là một quy trình nhiều bước, và cả bốn thành phần nêu ra đều không thể thiếu. "Identify a strategy" là bước đầu: tìm ý tưởng có lợi thế như theo đà (momentum), hồi quy về trung bình hay chênh lệch giá. "Backtest the strategy" là kiểm thử ngược trên dữ liệu lịch sử, có tính chi phí giao dịch và tránh sai lệch nhìn trước, để đánh giá chiến lược trước khi bỏ tiền thật. "Execute the strategy" là khâu thực thi: kết nối nhà môi giới, đặt lệnh tự động và giảm trượt giá. "Manage risk" là quản trị rủi ro: xác định khối lượng vị thế, điểm cắt lỗ, giới hạn đòn bẩy để hệ thống sống sót qua giai đoạn bất lợi. Chọn riêng một bước sẽ bỏ sót các bước còn lại của chu trình, nên đáp án tổng hợp là đúng.
AIt introduces non-linearity to the network
BIt determines the output of a neuron
CIt helps in backpropagation
DAll of the above
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All of the above". Mục đích cốt lõi của hàm kích hoạt là "It introduces non-linearity to the network": nếu không có nó, xếp chồng bao nhiêu tầng tuyến tính cũng chỉ tương đương một phép biến đổi tuyến tính, mạng không học được quan hệ phức tạp. Nhưng hai ý kia cũng đúng nên tổng hợp là lựa chọn đầy đủ nhất. "It determines the output of a neuron" đúng vì nơ-ron tính tổng có trọng số cộng bias rồi đưa qua hàm kích hoạt, kết quả chính là đầu ra của nơ-ron truyền sang tầng sau. "It helps in backpropagation" đúng vì khi lan truyền ngược, quy tắc dây chuyền nhân gradient với đạo hàm của hàm kích hoạt ở từng tầng; chọn hàm có đạo hàm thuận lợi như ReLU giúp giảm hiện tượng gradient biến mất so với sigmoid. Vì vậy chọn riêng một ý là chưa đủ, dù ý về tính phi tuyến là quan trọng nhất.
9Choose the RIGHT statement:4 lựa chọn
ATensorFlow is an closed-source, high-performance library for numerical computation that uses directed graphs
BTensorFlow is an open-source, low-performance library for numerical computation that uses directed graphs
CTensorFlow is an open-source, high-performance library for numerical computation that uses directed graphs
DTensorFlow is an closed-source, low-performance library for numerical computation that uses directed graphs
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "TensorFlow is an open-source, high-performance library for numerical computation that uses directed graphs". TensorFlow do Google phát triển và phát hành mã nguồn mở năm 2015, là thư viện tính toán số hiệu năng cao: phép tính được biểu diễn thành đồ thị có hướng, mỗi nút là một phép toán, mỗi cạnh là tensor chảy giữa các phép toán, nhờ đó có thể tối ưu và chạy song song trên CPU, GPU, TPU. "TensorFlow is an closed-source, high-performance library for numerical computation that uses directed graphs" sai ở chỗ closed-source, vì mã nguồn TensorFlow công khai theo giấy phép Apache 2.0. "TensorFlow is an open-source, low-performance library for numerical computation that uses directed graphs" sai ở chỗ low-performance, vì lõi viết bằng C++ và tận dụng phần cứng tăng tốc. "TensorFlow is an closed-source, low-performance library for numerical computation that uses directed graphs" sai ở cả hai điểm.
AIt always improves the model's accuracy.
BIt can lead to overfitting if too many terms are included.
CIt has no effect on the model's predictions.
DIt simplifies the model's structure.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It can lead to overfitting if too many terms are included.". Mô hình trung bình trượt MA(q) biểu diễn giá trị hiện tại bằng tổ hợp tuyến tính của q sai số ngẫu nhiên quá khứ; tăng q thêm tham số cần ước lượng, nên mô hình có thể bám theo nhiễu của mẫu, sai số trong mẫu giảm nhưng dự báo ngoài mẫu kém đi, đó là quá khớp, vì vậy bậc q thường được chọn bằng ACF và tiêu chí AIC hay BIC có phạt số tham số. "It always improves the model's accuracy." sai vì thêm số hạng chỉ chắc chắn làm khớp trong mẫu tốt hơn chứ không chắc chắn cải thiện dự báo. "It has no effect on the model's predictions." sai vì mỗi số hạng mới thay đổi cách mô hình phản ứng với các cú sốc quá khứ. "It simplifies the model's structure." ngược lại sự thật: nhiều số hạng hơn làm mô hình phức tạp hơn.
AThe model uses too few hyperparameters.
BThe model is not fully trained.
CWhen the model memorizes the training data its given.
DThe model is too simplistic for the data it's trying to represent.
Lời giải
Mở trang câu hỏi này →Đáp án đúng gồm ba ý: "The model uses too few hyperparameters.", "The model is not fully trained." và "The model is too simplistic for the data it's trying to represent.". Thiếu khớp (underfitting) là khi mô hình không nắm được quy luật của dữ liệu, sai số cao trên cả tập huấn luyện lẫn kiểm tra. Ý cốt lõi là mô hình quá đơn giản so với dữ liệu, như dùng đường thẳng cho quan hệ phi tuyến; nhiều tài liệu chỉ nêu đúng ý này, nhưng câu hỏi yêu cầu chọn ba ý. Huấn luyện chưa đủ số vòng là nguyên nhân trực tiếp: mô hình dừng trước khi kịp học quy luật. Ý quá ít siêu tham số là chỗ tranh cãi, vì số lượng siêu tham số tự nó không gây thiếu khớp và siêu tham số khác với tham số học được; ý này chỉ đứng được theo nghĩa lỏng là cấu hình siêu tham số khiến mô hình quá yếu, như quá ít tầng hay nơ-ron, hoặc chính quy hoá quá mạnh. "When the model memorizes the training data its given." là quá khớp (overfitting), hiện tượng ngược lại: sai số huấn luyện rất thấp nhưng tổng quát hoá kém.
12The statement: If you have lots of data, use cross-validation to evaluate the final model.2 lựa chọn
AFalse
BTrue
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". Kiểm định chéo (cross-validation) chia dữ liệu thành k phần, lần lượt huấn luyện trên k-1 phần và kiểm tra trên phần còn lại; giá trị lớn nhất của nó là khi dữ liệu ít, vì mỗi điểm dữ liệu được dùng cả để huấn luyện lẫn kiểm tra, cho ước lượng ổn định hơn. Khi có nhiều dữ liệu, một tập kiểm tra (test set) giữ riêng đã đủ lớn để cho ước lượng tin cậy, còn kiểm định chéo vừa tốn k lần chi phí huấn luyện vừa không thêm bao nhiêu độ chính xác; mô hình cuối nên được đánh giá một lần trên tập kiểm tra chưa từng chạm tới. Với chuỗi thời gian tài chính, k-fold xáo trộn còn gây rò rỉ thông tin tương lai. "True" vì thế không đúng: nó đảo ngược khuyến nghị thông thường, vốn là dùng kiểm định chéo khi dữ liệu khan hiếm và dùng tách tập huấn luyện, kiểm định, kiểm tra khi dữ liệu dồi dào.
AFalse
BTrue
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". Thoát lệnh theo thời gian (time-out exit, còn gọi là time stop) đóng vị thế khi đã giữ đủ một khoảng thời gian định trước hoặc tới cuối phiên, bất kể giá đang ở đâu, nên nó dựa trên thời gian chứ không dựa trên mức giá như dừng lỗ hay chốt lời. Nhà giao dịch trong ngày (day trader) dùng nó nhiều nhất vì họ đóng hết vị thế trước giờ đóng cửa để không phải ôm rủi ro qua đêm. Nếu giữ vị thế qua đêm thay vì thoát đúng giờ, tin tức ngoài giờ có thể tạo khoảng trống giá (gap) lúc mở cửa hôm sau, ảnh hưởng lớn tới lợi nhuận; vì vậy chọn có thoát theo thời gian hay không tác động mạnh tới kết quả giao dịch. "False" sai vì cả ba ý trong phát biểu đều khớp với cách quy tắc thoát lệnh theo thời gian hoạt động.
AQ-learning
BDeep Learning
CK-means clustering
DRandom Forest
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Q-learning". Q-learning là thuật toán học tăng cường không cần mô hình môi trường (model-free), học hàm giá trị hành động Q(s,a) bằng cập nhật theo phương trình Bellman: Q mới bằng Q cũ cộng tốc độ học nhân với sai số giữa phần thưởng cộng giá trị lớn nhất chiết khấu của trạng thái kế tiếp và Q cũ; nhiều phương pháp hiện đại như Deep Q-Network (DQN) và các biến thể đều xây trên ý tưởng này, nên nó được coi là nền tảng. "Deep Learning" là kỹ thuật xấp xỉ hàm bằng mạng nhiều tầng, có thể kết hợp với học tăng cường nhưng bản thân không phải thuật toán học tăng cường. "K-means clustering" là thuật toán phân cụm không giám sát, không có tác tử, hành động hay phần thưởng. "Random Forest" là tập hợp cây quyết định cho học có giám sát, cũng không giải bài toán ra quyết định tuần tự.
15When you have text data, you should use:4 lựa chọn
ABigQuery ML
BCNN
CAutoML NLP
DLSTM
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "AutoML NLP". Trong hệ sinh thái Google Cloud, AutoML Natural Language là dịch vụ được thiết kế riêng cho dữ liệu văn bản: chỉ cần tải lên văn bản đã gán nhãn, nó tự chọn kiến trúc, huấn luyện và triển khai mô hình phân loại, trích xuất thực thể hay phân tích cảm xúc. "BigQuery ML" phù hợp với dữ liệu dạng bảng nằm sẵn trong kho BigQuery, huấn luyện bằng câu lệnh SQL. "CNN" là mạng tích chập, mạnh nhất với ảnh và dữ liệu lưới không gian. "LSTM" xử lý được văn bản như một chuỗi, nhưng đó là một kiến trúc phải tự dựng và tinh chỉnh, còn câu hỏi hướng tới công cụ chuyên dụng sẵn có cho văn bản.
AQ-learning
BPolicy gradient
CTemporal Difference (TD) learning
DMonte Carlo methods
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Policy gradient". Phương pháp policy gradient tham số hoá trực tiếp chính sách bằng một mạng có trọng số theta và cập nhật theta theo hướng gradient của phần thưởng tích luỹ kỳ vọng J(theta); thuật toán REINFORCE ước lượng gradient này bằng log xác suất hành động nhân với lợi tức thu được. "Q-learning" là phương pháp dựa trên giá trị: nó học hàm Q(s, a) bằng phương trình Bellman, còn chính sách chỉ suy ra gián tiếp bằng cách chọn hành động có Q lớn nhất. "Temporal Difference (TD) learning" cũng ước lượng hàm giá trị, cập nhật theo sai số TD giữa ước lượng hiện tại và phần thưởng cộng giá trị trạng thái kế tiếp, không tối ưu chính sách trực tiếp. "Monte Carlo methods" ước lượng giá trị bằng trung bình lợi tức của các tập trọn vẹn; REINFORCE có dùng lợi tức kiểu Monte Carlo nhưng bản thân Monte Carlo là kỹ thuật ước lượng, không phải thuật toán tối ưu chính sách theo gradient.
APreservation of model stability
BIt optimizes model performance
CImproves predictive power
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Preservation of model stability". Chuỗi dừng (stationary) có trung bình, phương sai và tự hiệp phương sai không đổi theo thời gian. Các mô hình như AR, MA, ARMA giả định điều đó: chỉ khi quy luật thống kê không trôi đi thì hệ số ước lượng từ quá khứ mới ổn định và còn dùng được cho tương lai; với chuỗi không dừng như giá cổ phiếu, hệ số thay đổi theo giai đoạn và hồi quy dễ cho tương quan giả. Vì vậy người ta lấy sai phân hay chuyển sang lợi suất để có chuỗi dừng trước khi mô hình hoá. "It optimizes model performance" sai vì tính dừng không tự tối ưu hiệu năng; nó là điều kiện để mô hình hợp lệ, còn hiệu năng phụ thuộc chọn bậc, đặc trưng và dữ liệu. "Improves predictive power" chỉ là hệ quả gián tiếp có thể xảy ra, không phải lý do gốc, vì chuỗi đã dừng hoá như lợi suất thường lại khó dự báo hơn chuỗi giá.
18To compile and train the Keras model, we use:4 lựa chọn
A
model.compile()B
model.train()C
model.fit()D
model.compile_and_train()Lời giải
Mở trang câu hỏi này →Đáp án đúng: "model.compile()". Trong Keras, model.compile() là bước bắt buộc để cấu hình mô hình trước khi huấn luyện, khai báo bộ tối ưu (optimizer), hàm mất mát (loss) và các chỉ số (metrics); chưa compile thì không thể huấn luyện. Chỗ dễ tranh cãi là đề gộp cả hai bước compile và train mà chỉ cho chọn một, trong khi theo tài liệu Keras, "model.fit()" mới là hàm thực sự chạy vòng huấn luyện qua các epoch; đáp án vẫn là model.compile() vì câu hỏi nhấn vào bước khởi đầu bắt buộc của quy trình compile rồi train, và fit() chỉ chạy được sau khi compile đã xong. "model.train()" không phải phương thức của mô hình Keras, cách gọi này giống thói quen của PyTorch nơi train() chỉ bật chế độ huấn luyện. "model.compile_and_train()" cũng không tồn tại trong Keras, không có hàm nào gộp hai bước làm một.
ATo adjust the learning rate during training
BTo control the flow of information to the current output
CTo introduce non-linearity to the network
DNone of the above
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To control the flow of information to the current output". Mỗi ô LSTM có ba cổng: cổng quên quyết định bỏ gì khỏi trạng thái ô, cổng vào quyết định thêm gì, còn cổng ra (output gate) dùng hàm sigmoid để chọn phần nào của trạng thái ô, sau khi qua tanh, được đưa ra làm trạng thái ẩn tại bước hiện tại. "To adjust the learning rate during training" sai vì tốc độ học do bộ tối ưu điều khiển, không phải cổng trong mạng. "To introduce non-linearity to the network" sai vì tính phi tuyến đến từ hàm kích hoạt; cổng ra có dùng sigmoid nhưng vai trò của nó là điều tiết thông tin. "None of the above" sai vì đã có một mô tả đúng chức năng cổng ra.
20A time series consists of:4 lựa chọn
AShort-term variations
BLong-term variations
CIrregular variations
DAll of the above
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All of the above". Một chuỗi thời gian thường được phân rã thành nhiều thành phần chồng lên nhau, và cả ba loại biến động nêu ra đều có mặt. "Long-term variations" là xu hướng (trend) dài hạn, như giá một cổ phiếu tăng dần qua nhiều năm. "Short-term variations" gồm biến động mùa vụ (seasonal) lặp lại theo chu kỳ cố định như ngày trong tuần, tháng trong năm, và biến động chu kỳ (cyclical) gắn với chu kỳ kinh tế. "Irregular variations" là phần ngẫu nhiên, khó dự báo, do tin tức bất ngờ hay cú sốc thị trường gây ra, còn lại sau khi tách xu hướng và mùa vụ. Mô hình như ARIMA hay phép phân rã cộng, nhân đều xử lý đủ các thành phần này, nên chọn riêng một loại biến động là mô tả chưa đầy đủ cấu trúc của chuỗi thời gian.