--- tags: COTAI LHP --- # Lecture Notes ML4AI 2021 ## Session 1 -- Linear Predictors - AI as prediction machines: $x\overset{f}{\to}\hat{y}$ - Feature extraction & concept embedding spce: $x\overset{B}{\to}z\overset{P}{\to}\hat{y}$ - Types of predictions: regression & classification (supervise & unsupervised). - Linear regression = linear combination = weighted sum - 4 popular similarity measures: dot product, convolution, distance, angle - Linear classification = argmax of some similarity score - Confidence/uncertainty of classifications: softmax probability - Linear predictor general form : $\hat{y} = s(Wz+b)$ ### Feature extraction & embedding concept spaces - Embedding space Z allows to measure semantic similarity & make predictions - Watch: Concept representation in the human brain '15 by Jeffrey Binder\ $x \to\text{features}\varphi_i(x) \to\text{weighted sum} \sum_{i=1}^n\alpha_i\varphi_i(x) \to\text{prediction} \Psi(x) = \Omega\Big(\sum_i{i=1}^n\alpha_i\varphi_i(x)\Big)$ $\text{Input X} \to \text{Embedding Coordinates Z} \to \text{Prediction } \hat{Y}$ ## Session 2 -- Feature extraction Dimensionality Reduction (giảm chiều dữ liệu), là một trong nnhững kĩ tthuật quan trọng nhất trong machine learning. Các feature vector thực tế có thể có số chiều rất lớn lên tới vài nghìn. Thêm vào đó số lượng điểm dữ liệu rất lớn. Nếu thực hiện lưu trữ và tính toán. Giảm số chiều dữ liệu cũng được coi là một phương pháp nén dữ liệu. Và một trong những phương pháp đơn giản nhất trong feture extracion là Pricipal Component anlysis ### 5 cách trích xuất đặc trưng - **Principle (Principal) component analysis** (PCA): bài hôm nay @vlsJbX7pSw6_C26-iEQGig **principal**, not principle - pca giúp trích xuất thành phần quan trọng - ví dụ tái tạo khuôn mặt: khuôn mặt trung bình nhân trọng số = khuôn mặt gốc - Những thành phần chính đầu tiền là quan trọng - ví dụ: khuôn mặt chính 512 chiều có thể dùng pca để ép xuống còn 2 thành phần chính - có tấm hình phải làm dẹp - word embeddings: language understanding - mỗi từ có dạng một vector - một không gian nhúng tốt - ví dụ: biểu diễn sở thích từng khách hàng bằng ma trận nhúng - feature engineering - sparse coding - convolutional kernals ### Độ lệch chuẩn : sự phân tán dữ liệu - std: độ lệch chuẩn - nếu độ lệch chuẩn nhỏ dữ liệu tập trung lại một chỗ - nếu độ lệch chuẩn lơn hình bè ra dữ liệu phân tán nhiều - hàm fit(data) tính mean và độ lệch chuẩn ### Thành phần chính - Thành phần chính đầu tiên mang nhiều thông tin nhất ### Thực hiện PCA bằng sklearn - Standardize dataset (đảm bảo dữ liệu có trung bình =0 và độ lệch chuẩn=1) - Import class StandardScaler ``` from sklearn.preprocessing import StandardScaler ``` - Khởi tạo StandardScaler ``` scaler = StandardScaler().fit(data) ``` - Áp dụng StandardScaler ``` data_scaled = scaler.transform(data) ``` - Thực hiện PCA - Import class PCA ``` from sklearn.decomposition import PCA ``` - Khởi tạo PCA ``` pca = PCA(param).fit(data_scaled) # nếu param là float, ví dụ 0.9 tức là ta muốn giảm chiều xuống sao cho lượng thông tin được giữ lại là 0.9 # nếu param là int, ví dụ 2 tức là ta muốn giảm xuống 2 chiều ``` - Sau khi khởi tạo PCA ta có thể: - In ra số chiều sau khi giảm ``` pca.n_components_ ``` - In ra % thông tin được giữ lại: ``` pca.explained_variance_ratio_ ``` - Áp dụng PCA ``` data_pca = pca.transform(data_scaled) ``` ### StandardScaler - ví dụ: số phòng (1-10) và diện tích (25-100) về (-1,1) để giúp các trọng số có ý nghĩa hơn dùng biểu đồ nhiệt (heatmap) để dễ hình dung ## Session 3 - Nonlinear Predictors ví dụ $\{(x^t,y^t)\}_{t=1}^n$ hiểu nguyên lí bằng framework x->y regression, closìication có thể đưa qua hàm chuẩn háo về xác suất như softmax để làm được đièu này cần linear regression z là đặc trưng đầu vào là x qua b1 được z1 z là âm những cái ngược với b b giống như filter $$y = s(Wz+b)$$ bài hôm nay MLP Regression Curves đường gọi là Curve mặt gọi là surface Làm sao để tìm được mặt cong Có một vung không xác định: decision boundary nơi mà không xác định được điểm đó thuộc class nào vì nơi đó niềm tin bằng nhau $$ W^1z + b^1 = W^2z+ b^2 $$ ta không thể dùng những lát cắt thế nào là nonlinearly sêprable: ví dụ có 2 đặc trưng lúc dấu cộng lúc là dấu trừ gọi là noisy data. Do đó ta phải chấp nhận đây là những lỗi Slide 9 Nhận xét: từ không gian z của chúng ta chúng ta đưa thành không gian z' khi làm việc và nghiên cứu những công việc được phân bố trong dải không gian nhiều chiều những vùng khái niệm tạo thành những lớp Ngoài ra: một giả thiết khác ngôn ngữ, âm thanh, giọng nói được mô tả trong không gian chung phải nắn không gian mới dùng linear model được từ những dải khái niệm (non linear) ta transform nó để có thể linear được làm sao để biết được dùng transform nào cái transformation đó chính là $$ y =(Wz +b) $$ đầu vào là vật phẳng đầu ra là phẳng là linear đầu vào là vật phẳng đầu ra là cong là nonllinear người ta phát minh ra ma trận và đại số tuyến tính vì phép nhân ma trận là phép transform non linear transform là vật phẳng thành cong transformation có 2 - linear - non linear Thêm gamma vào để bóp méo A.z tích chấm là từng thành phần nhân nhau cộng lại đầu ra là con số, giống nhau về kích thước Az phép nhân ma trận đầu ra là ma trận, hàng nhân cột, kích thước mxn , nxz bản chất có 3 phép đầu tiên là xoay/lật , co dãn, xoay/lật nên nó không bị méo mó một ma trận có thể phân tích ra xoay, co dãn, xoay cốt lõi của đại số tuyến tính là xoay co dãn xoay Tại sao hay dùng ReLU những hàm cắt không gian ra nhiều phần nó có thể xấp xỉ bất cứ hàm số nào Tóm lại: từ không gian đầu vào z ta biến đổi phi tuyến để thành không gian z' rồi linear model để dự báo - feature engineering deep learning: ta không phải đi tìm những hàm phi - MLP (multi-layer perceptron): chồng những mô hình này lên nắn những không gian từng lớp một ### MLP ### Kernal ta không cần đi tính phi ta đang tưởng tượng chuyển nó qua không gian z' không gian x hàm ta chuyển qua không gian z' để tính dot product chia nhỏ không gian đầu vào ra mỗi không gian nhỏ $$ X\xrightarrow{{B1,B2}}Z $$ ## Practice những hidden là những phép biến đổi $$ \phi $$ từ 2 đặc trưng chuyển thành 3 đặc trưng có một bộ quay có 9 trọng số cần học mô hình này có 25 trọng số framework hôm nay là tensorflow các điểm luôn được kết nối với nhau gọi là fully connected trong tensorflow gọi là dense có những activation, và nó thường là ReLU Sequential là tuần tự input shape nhận vào số lượng đặc trưng để so sánh 2 xác suất dùng binary_crossentropy loss tùy theo bài toán - bài toán phân loại là crossentropy đầu tiên: random trọng số bước 2: $$ \hat{y} = Wx +b $$ bước 3 tính $$ loss(\hat{y}, y) $$ bước chọn weights(optimizer) quay lại bước 2 @vlsJbX7pSw6_C26-iEQGig notes của em rời rác quá vì đc viết trong suốt buổi học. Em cần hệ thống hóa lại liền mạch hơn sau mỗi buổi học, nếu ko khi làm bài hoặc sau này đọc lại sẽ ko xâu chuỗi đc. ## Session 4 Recommeder Systems Recommender Systems: được sử dụng rất nhiều trong thực tế như - trong bán hàng - trong core egine of any user platforms như Amazon, Facebook, Youtube,... - Trong cobot: những robot thông minh có thể làm việc được với con người - Trong chatbot - Nhiều ứng dụng khác Mỗi sản phẩm thành công đều có recommender Systems Hệ thống Ai có khả năng recommend tốt là: - Generalization counts (khái quát hóa) - Personalization counts (cá nhân hóa): -> vấn đề này là Long-tail issues Cách hình thành bài toán RecSys: ví dụ bán hàng: - User-based filtering - Item-based filtering: nếu một người mua nho, dâu dưa hấu và cam, người còn lại mua nho, dâu, dưa hấu thì hệ thống khuyến nghị mua cam ### 2 nhóm chính của Recommended Systems Content-based systems: đánh giá đặc tính của items được recommended. Ví dụ: một user xem rất nhiều các bộ phim về cảnh sát hình sự, vậy thì gơi ý một bộ phim trong cơ sở dữ liệu có chung đặc tính hình sự tới user này, ví dụ phim Người phán xử. Cách tiếp cận này yêu cầu việc sắp xếp các items vào từng nhóm hoặc đi tìm các đặc trưng của từng item. Tuy nhiên, có những items không có nhóm cụ thể và việc xác định nhóm hoặc đặc trưng của từng item đôi khi là bất khả thi. Collaborative filtering: hệ thống gợi ý items dựa trên sự tương quan (similarity) giữa các users và/hoặc items. Có thể hiểu rằng ở nhóm này một item được recommended tới một user dựa trên những users có hành vi tương tự. Ví dụ: users A, B, C đều thích các bài hát của Noo Phước Thịnh. Ngoài ra, hệ thống biết rằng users B, C cũng thích các bài hát của Bích Phương nhưng chưa có thông tin về việc liệu user A có thích Bích Phương hay không. Dựa trên thông tin của những users tương tự là B và C, hệ thống có thể dự đoán rằng A cũng thích Bích Phương và gợi ý các bài hát của ca sĩ này tới A. (nguồn MLCB 23) Lưu ý: RecSys đôi khi cũng được coi là Matrix completion ### RecSys taxonomy: - Collaborative filtering: Item-based CF - bước 1: hình thành ma trận - bước 2: tính cosine similarity (xem mỗi người như 1 đặc trưng) - bước 3: lấy cái đó làm trọng số - Collaborative filtering: User-based CF Lưu ý nếu chuyển vị thì sẽ thành Item-based CF - bước 1: tính similarity cho User - Collaborative filtering: Matrix factorization - phân tích ma trận thành nhân tử ## Session 5. Evalution: Metrics and losses Nội dung bài này: tìm hiểu sâu làm thế nào để đánh giá một hàm số trí tuệ Tìm hiểu cách chia tập dữ liệu và tập test Tìm hiểu chuẩn đánh giá cho baì regression Tìm hiểu chuẩn đánh giá cho bài classification How good is your model Quy trình xây dựng một predictor $$\text{Input } X \xrightarrow[B]{Features}\text{ Embedding Coordinates }Z \xrightarrow[L_\theta]{LinearPredictor}\text{Prediction } \hat{Y} = W\cdot Z+b$$ Dataset. chia thành 2 phần: Training set và test set Training set. chia thành 3 phần: learn models, vadilation models, select models Mô hình tốt thì phải khái quát hóa tốt Dữ liệu đưa vào nằm trong vùng mong muốn gọi là Interpolation nếu nằm ngoài gọi là extrapolation $$\text{interpolation(easier)} \rightarrow \text{extrapolation} \rightarrow \text{combinatorics(hardder)}$$ ### Common metrics and losses có 4 chuẩn đánh giá - Mean squared error: - error càng lớn thì chuẩn đánh giá càng tệ - Root mean squared error - Mean absolute error: ít bị ảnh hưởng bởi nhiễu - Mean absolute precentage error ### Classification. #### Confusion matrix & accuracy nếu mô hình dự báo đúng với class thực tế thì không có lỗi nếu sai class thực tế thì có lỗi và đếm số lỗi thì đúng với class thực tế #### Precision & Recall Chúng ta cần tưởng tượng mỗi điểm gán mỗi nhãn cho nó ví dụ một hình cần nhiều nhãn một hình gồm chó và mèo nếu nó được detect gọi là positive nếu đúng là True sai là False nếu nó ko được detect gọi là negative = ignorednếu đúng là True sai là False (nghĩa là nên được detect) Recall là độ nhạy của kết quả $$ \text{Precision} \rightarrow \text{Predicted. Recall} \rightarrow \text{Recover/Retrieval}$$ ### Mô hình linear model (SVM) ## Session6- bullet points 1. [**5** Point] Given a set of inputs $(X^1,\dots,X^N)$, we use PCA to represent them as $X^t = X_0 + z_1U_1+\dots+z_nU_n$ with $X_0$ the mean input and $U_i$ the orthonormal principal components. - [**2** Points] Write down equation for $X_0$, and equations for properties of $U_i,U_j$: unit length & mutual orthogonal. **Solution**: $$ U_i.U_j =0 $$ - [**1** Point] We need to reduce the dimensions of $X^t$ to visualize them on 2D. What is the embedding vector ${\bf z}^t$ of $X^t$ if we use only 2 first principal components to represent it? What is the last feature of ${\bf z}^t$ in this case? **Solution**: $$z_t = X_0 + z_1U_1 + z_2U_2$$ - [**1** Point] What are the main differences between representations by PCA and by sparse coding? **Solution** Khác nhau: PCA represent a collection of vectors as a linear combination of basis vectors Sparse coding is a problem of representing a collection of N vectors in d-dimensional space as linear combinations of some basis vectors, with the requirement that the weights (in linear combinations) should be sparse. - [**1** Point] If we cluster the dataset into 3 groups with centroids $({\bf m}_1, {\bf m}_2, {\bf m}_3),$ what is the label embedding coordinates of $X^t$ if it belongs to cluster 2? **Solution**: 2. [**1** Point] If we use each song as a feature to represent the users, what is the embedding coordinates ${\bf z}_A$ of user A in the dataset below? **Solution**: ![](https://i.imgur.com/PseEFdZ.png) 3. [**3** Point] From the general form of linear predictors: $\hat{y}=\mathsf{s}(Wz+b)$ with $\mathsf{s}(\cdot)$ a transfer function for desired output interpretation. - [**1** Point] What is $W$ for - 1 dimentional linear regression? **Solution**: W là một con số - sofmax regression with 3 classes? **Solution**: $$ W = [w1,w2,w3] $$ - [**1** Point] What is function $\mathsf{s}(\cdot)$ for - 1 dimentional linear regression? **Solution**: linear - SVM binary classification? **Solution**: softmax - [**1** Point] Why logistic regression (for binary classification) has only 1 probability output while there are 2 classes? **Solution**: 4. [**2** Points] Evaluation procedure - [**1** Point] Explain the main use of the train--dev (validation)--test sets. **Solution**: Khi được tập dữ liệu ta chia nó thành tập train, test, validation hay có thể xem như bài giảng bài tập và đề thi. Khi mô hình được huấn luyện với tập train, ta sẽ dùng tập test để đánh giá độ chính xác của mô hình - [**1** Point] What are the main similarity and differences between linear SVM and logistic regression? **Solution**: Giống nhau:linear SVM và logicstic regression đều là mô hình linear thuộc supervised machine - Khác nhau logicstic regression được ứng dụng trong bài toán classification. Linear SVM được ứng dụng trong cả Regression và Classification 5. [**2** Points] There are **1100 items** and **one million users**. We need to build a content-based RecSys by extracting **120 features** ${\bf z}_i$ describing each item $i$ then learn a classifier ${\bf \theta}_j$ for each user $j$ to predict **ratings from 1 to 5 stars** of each user for each item. ![](https://i.imgur.com/PseEFdZ.png) - [**1** Point] How many classes do we need? **Solution**: 5 - [**1** Point] What is the size of $W$ if we use softmax regression $\hat{y}=s(Wz+b)$ for to classify ratings? **Solution**: 6. [**2** Points] Nonlinear predictors have general form $\hat{y}=s(W'\phi(z)+b')$. For Multilayer Perceptrons (MLP) in particular: $\phi(z) = \gamma(Wz+b)$ recursively, each called a "hidden layer". - [**1** Point] Give explicit equation of an MLP with 2 hidden layers. **Solution**: $$ \hat{y} = s(W''\gamma(W's(Wz+b)+b') +b'') $$ - [**1** Point] What are the parameters of the fully-connected layer in your equation? **Solution**: W'', W', b'', b' 7. [**2** Points] Kernel machines use "kernel trick" $\phi(z_i)\cdot\phi(z_j) = \kappa(z_i,z_j)$. - [**1** Point] Explain why kernel trick is useful. **Solution**: bởi vì việc tính toán trực tiếp hàm $\phi()$ cho mỗi điểm dữ liệu sẽ tốn rất nhiều nhiều thời gian vì số chiều của $\phi(x)$ là rất lớn với kĩ thuật kernal trick ta sẽ không cần tính trực tiếp. Điều này sẽ tiết kiệm thời gian - [**1** Point] Explain how we can use kernel trick in feature-space prediction $\hat{y}=s(W^\phi\phi(z)+b)$ to turn a linear predictor into a nonlinear one. **Solution**: --- Câu trả lời: ## Midterm Coding (1 hour) [Đề thi](https://colab.research.google.com/drive/1WuytAqhN_6EBZQK-0S7YYDiiu_MHy41V?usp=sharing). ## Session 7 Optimization & Training TEFPA: task T, experience E, function space F, performance P, and search algorithm Giả sử đưa data vào Lưu ý: sai số nhỏ nhất chưa phải là tốt phải tốt trên bộ test Hàm tốt: sai số nhỏ và tốt trên bộ tốt Khi đưa dữ liệu vào tính ra sai số thì điểm đó gọi là loss tập hợp loss gọi là loss surface Nhiệm vụ bắt đầu từ một điểm bất kì Nhiệm vụ của mỗi giải thuật từ một điểm bất kì tính ra loss thấp nhất tức là loss surface trũng tìm $$ \theta = \text{argmin}J(\theta:X,y) $$ muốn hàm loss giảm nhanh nhất tìm vector vận tốc thay đổi của hàm đi ngược hướng vector nhanh nhất là giảm nhanh nhất Gradient vector: là vector hàm số tăng nhanh nhất Nếu điểm đó là tối ưu thì gradient = 0 $$ \nabla $$ back-propagration: giải thuật được phát minh để update cho MLP. Giải thuật quan trọng nhất trong deep learning Lưu ý: Nếu gradient quá lớn thì loss tăng giảm tăng giảm. Nếu Gradient quá bé thì đi quá lâu Batch : lấy cả dataset -> mini-batch- sgd: lấy từng điểm trong D để tính ## Session 8 Convutional neural networks CNN được xử lí trong hình ảnh, video, frame padding: - mục đích để giữ nguyên kích thước đầu vào - tránh thất thoát thông tin ở góc cạnh Stride: filter trượt theo Stride (mặc định Stride = 1) ## S9 Recurrent neural networks (RNNs) Mô hình dự đoán một chuỗi thông tin - Sequential Data: âm thanh, giọng nói, giá vàng, giá đô la, chứng khoán etc. Robot muốn cầm một cái chai thì cần dự đoán một chuỗi hành động - CNN: một chuỗi dữ liệu được xem như là một input - Sinh ra một khái niệm gọi là thời gian - Di chuyển trong không gian khái niệm: ta có thế sáng tạo ra một cái mới - Lưu ý: máy tính có thể sáng tạo - Chúng ta tính toán ra một khái niệm, rồi từ khái niệm đó tính ra khái niệm mới gọi là recurrent - Vanilla RNN - tất cả những mô hình này đều có chung U và W - backpropagate: nếu sai truyền lỗi về để update nếu đúng thì giữ lại - Common structures of RNNs ![](https://i.imgur.com/X2j5xWc.png) - Vanishing gradient Problem - short-term memory: dùng Tóm lại: một mô hình cần khái cái mô hình đơn giản nhất là cộng input vào và nắn đầu ra, xảy ra 2 trường hợp short-term memory, và khi trải ## Session 10 K-means CLustering: Unsupervised learning Vấn đề 1: Biểu diễn 1 cụm Mỗi cụm biểu diễn bằng 1 centroid, centroid là trung bình các điểm trong cụm Cách xác định z thuộc centroid nào tìm khoảng cách từ điểm tới từng centroid. Sau đó lấy argmin Preformance metric: tổng khoảng cách intra-cluster là nhỏ nhất Làm sao để chọn được k: theo kinh nghiệm, theo elbowcureve, theo silhouse ## Session 11 MDP Planning Vấn đề: - Planning là gì? plan là một chuỗi hành động để đạt kết quả mong muốn nhanh nhất kết qủa như thế nào trạng thái như thế nào cần nhớ fail to plan = plan to fail - Formulate là gì? planning cần phải có transition model ví dụ đường kẹt xe không thể chuyển sang đi ô tô mà phải chuyển sang đi bộ hoặc xe đạp Mô hình MDP gồm 5 thành phần (S,A,T,R, $\gamma$) ![](https://i.imgur.com/1qfg2Br.png) $\gamma$ cho phép chúng ta - Định nghĩa các chuỗi hành động chuyển thành MDP phải xác định được 5 thành phần của MDP, xác định được policy ![](https://i.imgur.com/fEV54IN.png) Cái nào có nhiều reward sẽ được chọn --- tags: COTAI AI4HighSchool slideOptions: transition: slide width: 1920 height: 1080 margin: 0.1 minScale: 0.2 maxScale: 1.5 --- # ML4AI Session 12 Final Exam (for Students) <br> ![](https://i.imgur.com/eDOwrsO.png) <br> CoTAI AI Training Program for Highschool Students © [CoTAI](https://gem.cot.ai) 2021 --- Open book. Choose to answer as many questions as possible, as concisely as possible. Ask instructors if you have difficulty in understanding the questions. **Questions** 1. [**8** Points] The unified TEFPA framework to build a ML model: task $\mathcal{T}$, experience $\mathcal{E}$, function space $\mathcal{F}$, performance $\mathcal{P}$, and algorithm $\mathcal{A}$ to search. What are the elements in TEFPA framework... - 1.1 [**2** Point, 3.1] to build a face recognition model using a DCNN? Trả lời: T: input là ảnh có ba kênh màu dữ liệu dạng 3 chiều đầu E: bưc ảnh được trích xuất đặc trưng qua convolution F: hàm relu P: cosine similarity A: Tích chập, relu maxpool,... - 1.2 [**2** Point, 3.1] to build a RecSys? (using one of the models you have learned: item-based, user-based, content-based, MF) T: - 1.3 [**2** Point, 3.1] to build a customer segmentation model using k-means? T: đầu vào là một nhóm lớn dữ liệu và siêu tham số k (clusters) đầu ra là số cluster được khoanh vùng E: F: P:Elbow, Silhouette A: euclidean distance Trả lời: cumstomer segmentation có thể sử dụng k-means gom nhóm khác hành có cùng hành vi lại với nhau - 1.4 [**2** Point, 3.1] to build a sentiment analysis model (good, bad, neutral comments) using RNN+Softmax Classifier? T: đầu vào là các dữ liệu được dán nhãn đầu ra là good, bad hoặc comment E: LSTM F:relu P: A: 2. [**6** Points] Convolutional filters (or kernels) - 2.1 [**1** Point, 1.1, 3.2] How do we extend them from dot product? Trả lời Các filter được nhân với vecto có sẵn do con người tạo ra để tạo ra filter mới gần giống với vecto có sẵn - 2.2 [**1** Point, 1.1, 3.2, 3.4] Why do we call their outputs "feature maps"? Bộ filters này sẽ trượt qua từng vị trí trên bức ảnh để tính tích chập (convolution) giữa bộ filter và phần tương ứng trên bức ảnh. Phần tương ứng này trên bức ảnh gọi là receptive field, tức là vùng mà một neuron có thể nhìn thấy để đưa ra quyết định, và mà trận cho ra bởi quá trình này được gọi là feature map - 2.3 [**1** Point, 3.2] Explain padding: how to do & main purpose Trả lời: padding giúp giữ nguyên hoặc tăng kích thước đầu vào, Tránh thất thông tin ở góc cạnh - 2.4 [**1** Point, 3.2] Explain pooling: how to do & main purpose Trả lời: giúp giảm kích thước đầu vào nhanh chóng, giúp mô hình vững chắc trước các sai lệch nhỏ - 2.5 [**1** Point, 3.2] Explain stride: how to do & main purpose Trả lời: Stride quyết định cách filter di chuyển và tốc độ thu nhỏ dữ liệu - 2.6 [**1** Point, 3.2, 3.4] Explain their **effective** receptive field: why do they produce highly absstract features? Trả lời: một vấn đề quan trọng trong nhiều tác vụ trực quan, vì đầu ra phải đáp ứng các vùng đủ lớn trong hình ảnh để nắm bắt thông tin về các đối tượng lớn 3. [**6** Points] Recurrent neural networks (RNNs) can be used for sequential modeling. - 3.1 [**1** Point, 3.2] What does sequential data mean? Trả lời: sequential data là dữ liệu theo thời gian như ảnh tách ra từ một video, hay tính liên tục trong lời nói của một con người - 3.2 [**1** Point, 1.1, 3.2, 3.4] Explain each element in this basic equation of RNNs $h_t = \mathsf{\gamma}(Ah_{t-1}+Wz_t)$ Trả lời: $$ \gamma \text{ là hàm kích hoạt thường có thể là relu hoặc tanh, } z_t \text{là input} $$ $$ h_t \text{ là state hiện tại, } h_{t1} \text {là state trước đó ,} A,W \text{là hệ số} $$ - 3.3 [**2** Point, 1.3, 2.1, 3.2] WWhat does back-propagation-through-time mean, why do we need it instead of using plain back-prop, and how does it work for training RNNs? - 3.4 [**1** Point, 1.3, 3.2] Explain vanishing gradient problem for simple RNNs. Trả lời: Vanishing gradient problem là cản trở việc học long data sequence, gradient mang thông tin được sử dụng trong cập nhật tham số RNN và khi gradient ngày càng nhỏ hơn, các cập nhật tham số trở nên không đáng kể có nghĩa là không có việc học thực sự nào được thực hiện. - 3.5 [**1** Point, 3.1, 3.3] If we want to classify the sentiment of each user comment (good, bad, neutral) at the end of each sequence using RNN+Softmax classifier: explain briefly the model architecture. 4. [**6** Points] Planning in Markov Decision Process (MDP) $(S,A,T,R,\gamma)$. - 4.1 [**1** Point, 3.1, 3.2] Explain 5 elements in MDP model (equation of each element if available). Trả lời S: state A: action T: transtion R: reward y: hệ số chiết khấu - 4.2 [**1** Point, 3.2] Following a policy $\pi(s)$ to generate a trajectory of 10 time steps $(s_t,a_t,s_{t+1},r_{t+1})$. Compute the return. Equation of $a_t$? - 4.3 [**1** Point, 1.2, 3.2] Repeat for 10 days: from $s_0 = \text{HOME}$ take action $a_0 = \text{GET_BUS}$ with cost $r_1 = 6000 \text{VNĐ}$ then following policy $\pi(s)$ to generate $K=10$ trajectories, each with total cost $G_k$. Compute the average cost of taking bus then following $\pi$: $Q^\pi(\text{HOME, GET_BUS})$. - 4.4 [**1** Point, 1.1, 1.3, 2.1, 3.2] How do we compute an optimal plan (i.e., optimal policy $\pi^*$) of a known MDP $(S,A,T,R,\gamma)$? Trả lời: π∗=argmaxπqπ(s,a),∀s∈S - 4.5 [**1** Point, 3.2] Why do we say that the action value function $Q^\pi(s,a)$ gives predictions into very far future? - 4.6 [**1** Point, 1.2, 3.2] What is the meaning of action value function when we set $\gamma = 1$? $\gamma = 0$? Trả lời: khi $$ \gamma = 0 \text{ thì } q*(s,a)= R(s,a) $$ 5. [**7** Points] Unified ML models $\text{Input } X \xrightarrow[B_{\beta}]{\text{Features}}\text{ Embedding Coordinates }Z \xrightarrow[P_{\theta}]{\text{Predictor}}\text{ Predictions }\hat{Y} \xrightarrow[{\pi^*}]{\text{Policy}}\text{ Action }A$ - 5.1 [**2** Points] List all *taught* algorithms for feature extraction and their main ideas. - 5.2 [**2** Points] List all *taught* algorithms for making predictions and their main ideas. - 5.3 [**2** Points] What are the main *general* differences between linear predictors? And in your opinion why do we need different algorithms? - 5.4 [**1** Points] For MDPs, what are the predictions $\hat{Y}$ used to make decisions $A$? 6. [**2** Points] RecSys ![](https://i.imgur.com/PseEFdZ.png) We build item embeddings ${\bf z}_i \in \mathbb{R}^2$ as in table, and use **softmax regression** to predict ratings 1 to 5. Choose a specific user $X\in \{A,\dots,F\}$, what is the training set for learning $\theta_X$? What are the parameters $\theta_X$ to be learned (with their shapes)? 7. [**6** Points] MDP Planning for playing Chess. Let rewards = 1 for winning, -1 for losing, and 0 for a draw or unfinished game, and no discount. - 7.1 [**2** Points] What is the range of value of the optimal action-value function $Q^*(s,a)$, and how to derive probability of win/loss from it? - 7.2 [**2** Points] If we use all the games already played in history to compute $Q^*(s,a)$, explain the method? - 7.3 [**2** Points] Because there are so many state and action pairs $(s,a)$, we need to use *learning* to approximate and generalize for all $(s,a)$ pairs. If we use MLP to learn $Q^*(s,a)$, what is the dataset and possible network structure?