tóm tắt về linear model trong ml
TRANSCRIPT
![Page 1: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/1.jpg)
3. DL as hierarchical func finder:3.0. Tóm tắt về linear model3.1. 1 unit perceptron3.2. 1 layer perceptron3.3. XOR problem3.4. 1 hidden layer perceptron3.5. Why need deep?3.6. Representation learning3.7. multi-layer perceptrons3.8. Backprop - deep func finder tool.3.8. NN Variants: CNN, RNN.(Practical case example across)
1
![Page 2: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/2.jpg)
Tóm tắt về Linear model trong ML “Cỗ máy tham số”
2
- Linear model sử dụng tham số để mô hình hoá bước mapping từ input ra output.
- Không nhất thiết phép mapping này cho ra kết quả hoàn toàn chính xác với thực tế, mà có thể xấp xỉ với kết quả thực tế (hay một phép mapping chuẩn).
- Chẳng hạn như hình bên, không nhất thiết đầu ra phải là 1 khối lập phương chuẩn mực, mà có thể có những lỗi nhỏ cũng không sao!
![Page 3: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/3.jpg)
Tóm tắt về Linear model trong ML “Cỗ máy tham số”
3
Bài toán Hồi quy
Bài toán Phân loại
![Page 4: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/4.jpg)
Tóm tắt về Linear model trong ML Ví dụ 1: Tính cân nặng của một người bình thường
4
x (chiều cao)(input)
f(x)(cân nặng)(output)
+∞
0
- Chỉ số BMI của 1 người có sức khoẻ bình thường là mối liên hệ (pattern) giữa chiều cao và cân nặng của người đó, được tìm ra từ 1 tập ví dụ có sẵn.
![Page 5: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/5.jpg)
Tóm tắt về Linear model trong ML Ví dụ 1: Tính cân nặng của một người bình thường
5
x (chiều cao)(input)
f(x)(cân nặng)(output)
(Dữ liệu có sẵn: chiều cao - cân nặng)
+∞
0
- Chỉ số BMI của 1 người có sức khoẻ bình thường là mối liên hệ (pattern) giữa chiều cao và cân nặng của người đó, được tìm ra từ 1 tập ví dụ có sẵn.
![Page 6: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/6.jpg)
Tóm tắt về Linear model trong ML Ví dụ 1: Tính cân nặng của một người bình thường
6
x (chiều cao)(input)
f(x)(cân nặng)(output)
BMI “Pattern”f(x) = x + 100
+∞
0
- Chỉ số BMI của 1 người có sức khoẻ bình thường là mối liên hệ (pattern) giữa chiều cao và cân nặng của người đó, được tìm ra từ 1 tập ví dụ có sẵn.
![Page 7: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/7.jpg)
Tóm tắt về Linear model trong ML Ví dụ 1: Tính cân nặng của một người bình thường
7
x (chiều cao)(input)
f(x)(cân nặng)(output)
Input: Chiều cao của 1 người
+∞
0
- Chỉ số BMI của 1 người có sức khoẻ bình thường là mối liên hệ (pattern) giữa chiều cao và cân nặng của người đó, được tìm ra từ 1 tập ví dụ có sẵn.
- Khi biết chiều cao của một người (có vóc dáng bình thường), dựa trên chỉ số BMI của người bth, ta có thể dự đoán số cân nặng của người đó.
![Page 8: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/8.jpg)
Tóm tắt về Linear model trong ML Ví dụ 1: Tính cân nặng của một người bình thường
8
x (chiều cao)(input)
f(x)(cân nặng)(output)
Output:
Bài toán Hồi quy
Input
+∞
0
- Chỉ số BMI của 1 người có sức khoẻ bình thường là mối liên hệ (pattern) giữa chiều cao và cân nặng của người đó, được tìm ra từ 1 tập ví dụ có sẵn.
- Khi biết chiều cao của một người (có vóc dáng bình thường), dựa trên chỉ số BMI của người bth, ta có thể dự đoán số cân nặng của người đó.
![Page 9: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/9.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
9
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
![Page 10: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/10.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
10
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
f(x)(spam or not)(output)
x (số từ)(input)
(Dữ liệu có sẵn:“số từ -> spam hay không”)
spam
not spam
![Page 11: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/11.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
11
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
f(x)(spam value)Codomain: (-∞,+∞)
x (số từ)(input)
Spam value “pattern”f(x) = x + 100
+∞
0
1.Suy diễn
![Page 12: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/12.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
12
x (số từ)(input)
Not yet Output!
Input
+∞
0
f(x)(spam value)Codomain: (-∞,+∞)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
![Page 13: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/13.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
13
x (số từ)(input)
Not yet Output!
+∞
0
f(x)(spam value)Codomain: (-∞,+∞)
(0,1)
Input
(squeezed spam value)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
![Page 14: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/14.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
14
x (số từ)(input)
Not yet Output!
Input
1
0
f(x)(Squeezedspam value)Codomain: (0,1)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
![Page 15: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/15.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
15
x (số từ)(input)
Not yet Output!
Input
1
0
f(x)(Squeezedspam value)Codomain: (0,1)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
Đường quyết định
![Page 16: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/16.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
16
x (số từ)(input)
Output!
Input
1(Spam)
0(!Spam)
f(x)(Squeezedspam value)Codomain: (0,1)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
Đường quyết định
2.Quyết định
![Page 17: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/17.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
17
x (số từ)(input)
f(x)(Squeezedspam value)Codomain: (0,1)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
Đường quyết định
Input: Số từ
1(Spam)
0(!Spam)
![Page 18: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/18.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
18
x (số từ)(input)
f(x)(Squeezedspam value)Codomain: (0,1)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
Đường quyết định
1(Spam)
0(!Spam)
Quyết định
Suy diễn
![Page 19: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/19.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
19
x (số từ)(input)
f(x)(Squeezedspam value)Codomain: (0,1)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
Đường quyết định
1(Spam)
0(!Spam)
Bài toán Phân loại
![Page 20: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/20.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
20
x (số từ)(input)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
Đường quyết định
0(!Spam)
Bài toán Phân loại
Đường quyết định ở không gian input
![Page 21: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/21.jpg)
Tóm tắt về Linear model trong ML Ví dụ 2: Phát hiện spam email
21
x (số từ)(input)
- Dựa trên số lượng từ “giảm giá” trong email, ta có thể dự đoán email đó là spam hay không.
- Bài toán này gồm 2 bước: Suy diễn và Quyết định
Đường quyết định
0(!Spam)
Bài toán Phân loại
Đường quyết định ở không gian input
![Page 22: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/22.jpg)
Neural Network
22
- Dạng cơ bản nhất của NN là một Linear model, output là tổ hợp tuyến tính của các input.
- Mạng Deep NN là dạng mở rộng của NN, gồm Linear model (I) với hàm phi tuyến (II) và cấu trúc phân cấp (III) (hierarchical structure)
![Page 23: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/23.jpg)
Neural Network
23
- Dạng cơ bản nhất của NN là một Linear model(Perceptron), output là tổ hợp tuyến tính của các input.
- Mạng Deep NN là dạng mở rộng của NN, gồm Linear model với hàm phi tuyến và cấu trúc phân cấp (hierarchical structure)
p = w1x1+ w2x2+ b
Một đơn vị
![Page 24: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/24.jpg)
Neural Network
24
p = w1x1+ w2x2+ b
Liên quan gì tới Nơ-ron thần kinh của con người ?
Một đơn vị
- Dạng cơ bản nhất của NN là một Linear model, output là tổ hợp tuyến tính của các input.
- Mạng Deep NN là dạng mở rộng của NN, gồm Linear model với hàm phi tuyến và cấu trúc phân cấp (hierarchical structure)
![Page 25: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/25.jpg)
Neural Network
25
- Dạng cơ bản nhất của NN là một Linear model, output là tổ hợp tuyến tính của các input.
- Mạng NN sâu hơn là dạng mở rộng của Linear model với hàm non-linear và cấu trúc phân cấp(hierarchical structure)
Liên quan gì tới Nơ-ron thần kinh của con người ?
p = w1x1+ w2x2+ b
Một đơn vị
![Page 26: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/26.jpg)
Neural Network
26
p = w1x1+ w2x2+ b
Một đơn vị (mở rộng: 2 input features)
x2
x1
Bài toán Phân loại
Không gian input
http://playground.tensorflow.org/
![Page 27: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/27.jpg)
Perceptron
Mô phỏng hoạt động của Neuron bằng hàm tuyến tính
“Dễ” tìm tham số: ∃thuật toán nhanh (Perceptron Algorithm) tìm tham số
Dễ giải thích
Tuy nhiên, khả năng biểu diễn giới hạn
![Page 28: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/28.jpg)
Neural Network
28
p = w1x1+ w2x2+ b
Một đơn vị (mở rộng: 2 input features)
x2
x1
Bài toán Phân loại
Easy!
- Linear model (I) cũng như hầu hết các ML models hoạt động tốt khi mối quan hệ giữa input features và output rõ ràng.
x2
x1
!Easy
C(-1,1)
A(1,1)
D(1,-1)
B(-1,-1)
![Page 29: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/29.jpg)
Neural Network
29
p = w1x1+ w2x2+ b
Một đơn vị (mở rộng: 2 input features)
x2
x1
Bài toán Phân loại
Easy!
- Linear model (I) cũng như hầu hết các ML models hoạt động tốt khi mối quan hệ giữa input features và output rõ ràng.
x2
x1
!Easy
C(-1,1)
A(1,1)
D(1,-1)
B(-1,-1)
Không thể giải quyết
![Page 30: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/30.jpg)
Neural Network
30
XOR: ML models sử dụng feature engineering
x1+x2
(x1-x2)2
A,B(2,0)
C,D(0,4)
- Các kỹ sử ML thông thường phải tìm bằng cách thử-sai và lựa chọn các features phù hợp cho bài toán ML cụ thể.
x2
x1
C(-1,1)
A(1,1)
D(1,-1)
B(-1,-1)
![Page 31: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/31.jpg)
Neural Network
31
XOR: “automate” feature engineering
x1+x2
(x1-x2)2
A,B(2,0)
C,D(0,4)features mới
- Cơ bản, bước feature engineering sử dụng tổ hợp tuyến tính của input features, sau đó sử dụng 1 hàm nào đó để biến đổi tổ hợp này: f(w1x1+w2x2) để tạo được các features mong muốn.
- Tại sao ta không học luôn quá trình extract features này?
![Page 32: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/32.jpg)
Neural Network
32
XOR: “automate” feature engineering
x1+x2
(x1-x2)2
A,B(2,0)
C,D(0,4)
- Cơ bản, bước feature engineering sử dụng tổ hợp tuyến tính của input features, sau đó sử dụng 1 hàm nào đó để biến đổi tổ hợp này: f(w1x1+w2x2) để tạo được các features mong muốn.
- Tại sao ta không học luôn quá trình extract features này? -> NN với hàm phi tuyến
features mới
![Page 33: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/33.jpg)
Neural Network
33
Hàm phi tuyến (Non-linear/Activation function)
logisticREctified Linear
Unit (RELU)
tanh
- Hàm phi tuyến giúp biến đổi không gian input features, tạo ra những features phù hợp giúp nhiệm vụ Hồi quy/Phân loại ở bước sau ở nên “straightforward”
![Page 34: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/34.jpg)
Neural Network
34
Hàm phi tuyến (Non-linear/Activation function) - ví dụ
W*-->
f()-->
!Easy
![Page 35: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/35.jpg)
Neural Network
35
Hàm phi tuyến (Non-linear/Activation function) - ví dụ
W*-->
f()-->
Easy! !Easy
https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html
![Page 36: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/36.jpg)
Neural Network
36
Một lớp ẩn
Tạo feature mới
- Tạo ra feautures mới từ raw input, lớp này gọi là hidden layer H
fff
![Page 37: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/37.jpg)
Neural Network
37
Một lớp ẩn
- Tạo ra feautures mới từ raw input, lớp này gọi là hidden layer H- Các features này được sử dụng cho nhiệm vụ Hồi quy/Phân loại như ở các slide trước
Tạo feature mới
Squeezing function
fff
![Page 38: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/38.jpg)
Neural Network
38
Một lớp ẩn
- Tạo ra feautures mới từ raw input, lớp này gọi là hidden layer H- Các features này được sử dụng cho nhiệm vụ Hồi quy/Phân loại như ở các slides trước
=> p = V*W*X = (V*W)*X
Squeezing function
fff vẫn là Linear model!
Lưu ý, nếu k có hàm f biến đổi phi tuyến
![Page 39: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/39.jpg)
Neural Network
39
Một lớp ẩn
Tạo feature mới
Squeezing function
fff
Feature extractor
Công thức tạo Hidden layer: Linear model (I) + hàm phi tuyến (II)
![Page 40: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/40.jpg)
Neural Network
40
Một lớp ẩn
Tạo feature mới
Squeezing function
fff
Feature extractor
Linear model
Công thức tạo Hidden layer: Linear model (I) + hàm phi tuyến (II)
![Page 41: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/41.jpg)
Neural NetworkMột lớp ẩn gỉai quyết XOR problem
41https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html
x1 h1
x2 h2
w11
wb1
w12
wb2
1
w21w22
Relux2
x1
C(-1,1)
A(1,1)
D(1,-1)
B(-1,-1)
XOR
![Page 42: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/42.jpg)
A,B(1,0)
C(0,0)
Neural NetworkMột lớp ẩn gỉai quyết XOR problem
42https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html
x1 h1
x2 h2
x2
x1
C(-1,1)
A(1,1)
D(1,-1)
B(-1,-1)
XOR
11
-1
1-1
-1
1h2
h1
D(3,1)
Transformed XOR
![Page 43: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/43.jpg)
A,B(1,0)
C(0,0)
Neural Network
43https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html
x1 h1
x2 h2
x2
x1
C(-1,1)
A(1,1)
D(1,-1)
B(-1,-1)
XOR
11
-1
1-1
-1
1h2
h1
D(3,1)
Transformed XOR
Easy! line
Một lớp ẩn gỉai quyết XOR problem
![Page 44: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/44.jpg)
Neural Network
44https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html
3
(3,1)
Một lớp ẩn gỉai quyết XOR problem
![Page 45: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/45.jpg)
Neural NetworkMột lớp ẩn được xem có thể xấp xỉ mọi hàm số (visual proof 1D)
45http://neuralnetworksanddeeplearning.com/chap4.html
x
f(x)
![Page 46: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/46.jpg)
Neural Network
46
- 1 cặp hidden units (với hàm sigmoid) có thể tạo thành 1 “bump”.
- Tổ hợp các bumps có thể tạo thành 1 hàm số bất kì
Một lớp ẩn được xem có thể xấp xỉ mọi hàm số (visual proof 1D)
...
![Page 47: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/47.jpg)
- 1 cặp hidden units (với hàm sigmoid) có thể tạo thành 1 “bump”.
- Tổ hợp các bumps có thể tạo thành 1 hàm số bất kì
Một lớp ẩn được xem có thể xấp xỉ mọi hàm số (visual proof 1D)
Neural Network
47http://neuralnetworksanddeeplearning.com/movies/create_step_function.mp4
bias
...
vị trí của bump
w
chiều cao của bump
![Page 48: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/48.jpg)
Neural Network
48
- 1 cặp hidden units (với hàm sigmoid) có thể tạo thành 1 “bump”.
- Tổ hợp các bumps có thể tạo thành 1 hàm số bất kì
Một lớp ẩn được xem có thể xấp xỉ mọi hàm số (visual proof 1D)
...
Dễ thấy sẽ cần rất nhiều cặp neurons như vậy
![Page 49: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/49.jpg)
- 1 hidden layer cần rất nhiều hidden units để biểu diễn 1 arbitrary function
- Curse of dimensionality: Hiểu đơn giản, khi số chiều của dữ liệu tăng lên, độ phức tạp của model phải tăng lên theo cấp số mũ để đảm bảo khả năng giải quyết bài toán được giữ nguyên.
Neural Network
49
Tại sao cần mạng NN với nhiều hơn 1 hidden layer?
![Page 50: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/50.jpg)
Neural Network
50
Tại sao cần mạng NN với nhiều hơn 1 hidden layer?
- 1 hidden layer cần rất nhiều hidden units để biểu diễn 1 arbitrary function
- Curse of dimensionality- Có thể xem mỗi lớp như hàm mapping độc
lập. Những lớp sau có thể tận dụng lạinhững hàm mapping đơn giản từ lớp trước đó để tạo ra hàm mapping có khả năng biểu diễn cực kì phức tạp (tính kế thừa) -> cấu trúc phân cấp (III)
Ex: phép đếm -> phép cộng (đếm nhiều lần) -> phép nhân (cộng nhiều lần) -> phép mũ luỹ thừa (nhân nhiều lần)
![Page 51: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/51.jpg)
Neural Network
51
Cấu trúc phân cấp (visual intuition)
Gấp không gian (Folding space)
- Một lớp hidden layer sẽ thực hiện phép biến đổi không gian phi tuyến, giúp quá trình phân loại ở các bước sau được dễ dàng hơn.
- Một trong những phép biến đổi phi tuyến khả dĩ là gấp những vùng không gian thuộc chung 1 lớp lại với nhau. (Xem lại ví dụ NN vs XOR problem)
A
1 Hidden layer
![Page 52: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/52.jpg)
Neural Network
52
- Mỗi cặp NNs ở hidden layer với hàm ReLU có thể thực hiện phép biến đổi “gấp” không gian input của lớp hidden này 1 lần. Chẳng hạn f(x) = f(-x) (Gấp đôi không gian ở x = 0)
Ex: h1 = Relu(-x), h2 = Relu(x) f(x) = h1 + h2 = |x|
1D
2D
Cấu trúc phân cấp (visual intuition)
![Page 53: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/53.jpg)
Neural Network
53
1D
2D
Cấu trúc phân cấp (visual intuition)
Bài tập
- Mỗi cặp NNs ở hidden layer với hàm ReLU có thể thực hiện phép biến đổi “gấp” không gian input của lớp hidden này 1 lần. Chẳng hạn f(x) = f(-x) (Gấp đôi không gian ở x = 0)
Ex: h1 = Relu(-x), h2 = Relu(x) f(x) = h1 + h2 = |x|
![Page 54: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/54.jpg)
Neural Network
54
- Mỗi cặp NNs ở hidden layer với hàm ReLU có thể thực hiện phép biến đổi “gấp” không gian input của lớp hidden này 1 lần.
Cấu trúc phân cấp (visual intuition)
1 2 3 4
3 cặp NNs
![Page 55: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/55.jpg)
Neural Network
55
- Mỗi cặp NNs ở hidden layer với hàm ReLU có thể thực hiện phép biến đổi “gấp” không gian input của lớp hidden này 1 lần.
- Nhiều vùng cùng chia sẻ chung 1 phép mapping. Ta có thể dùng ý tưởng này để giảm số phép toán.
Cấu trúc phân cấp (visual intuition)
1 2 3 4
2,3 1,4
![Page 56: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/56.jpg)
- Mỗi cặp NNs ở hidden layer với hàm ReLU có thể thực hiện phép biến đổi “gấp” không gian input của lớp hidden này 1 lần.
- Nhiều vùng cùng chia sẻ chung 1 phép mapping. Ta có thể dùng ý tưởng này để giảm số phép toán.
Neural Network
56
Cấu trúc phân cấp (visual intuition)
1 2 3 4
2,3 1,4
2 cặp NNs
![Page 57: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/57.jpg)
Neural Network
57
- Mỗi cặp NNs ở hidden layer với hàm ReLU có thể thực hiện phép biến đổi “gấp” không gian input của lớp hidden này 1 lần.
- Nhiều vùng cùng chia sẻ chung 1 phép mapping.
- Nếu thực hiện các hàm “folding space” này lần lượt (tương đương với qua nhiều lớp) sẽ dẫn tới việc phân chia số vùng ở cấp số mũ.
328
2
Cấu trúc phân cấp (visual intuition)
![Page 58: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/58.jpg)
Neural Network
58
* Trên thực tế, quá trình biến đổi không gian input ở các lớp hidden layer diễn ra phức tạp hơn và khó kiểm soát hơn so với những ví dụ trên.
Cấu trúc phân cấp
![Page 59: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/59.jpg)
Neural Network
59
Cấu trúc phân cấp
- Cấu trúc phân cấp giúp phân đoạn hàm mapping phức tạp ra thành từng bước một với những hàm đơn giản hơn. Như ví dụ ở hình trên.
![Page 60: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/60.jpg)
Neural Network
60
NN với 1 lớp ẩn
NN với nhiều hơn 1 lớp ẩn
W1*-->
f1()-->
W2*-->
f2()-->
W3*^|
Quá trình biến đổi trở nên đơn giản hơn
Cấu trúc phân cấp
![Page 61: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/61.jpg)
Neural Network
61
Deep Neural Network = Linear model (I)+ Hàm phi tuyến (II) + Cấu trúc phân cấp(III)
![Page 62: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/62.jpg)
Function FinderĐi tìm hàm số
x
f(x)
- Ta đã đề cập tới NNs như một “cỗ máy” có thể xấp xỉ bất kì hàm số nào.
- Tuy nhiên Universial Approximation Theorem (UAT) chỉ đề cập tới khả năng của NNs, không phải là một lời chỉ dẫn cho việc tìm ra “set-up” của cỗ máy này (set-up = tham số)
- Làm sao để tìm ra các tham số của NNs để đạt được phép mapping như ý?
62
![Page 63: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/63.jpg)
Mỗi điểm data có vô số đường thẳng đi qua, tập hợp trọng số của những đường thẳng này tạo thành một đường thằng trong không gian trọng số.
Mỗi đường thẳng trong không gian data tương đương với 1 điểm trong không gian trọng số
Function FinderHough Transfrom: Biến đổi data space -> weight space
y
x
w2
w1(w1 ,w2)
y
x
w2
w1
w2= - w1/x + y/x
y = w1 + w2x
(x,y)
63
![Page 64: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/64.jpg)
Function FinderHough Transfrom: Biến đổi data space -> weight space
y
x
w2
w1
64
![Page 65: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/65.jpg)
Function FinderHough Transfrom: Biến đổi data space -> weight space
y
x
w2
w1
Modeling!a.k.a tìm tham số tốt nhất
Có thể hình dung mỗi đáp án cho một bài toán giờ đây trở thành một điểm trong không gian tham số (giả định mọi bài toán đều có đáp án trong không gian này)
65
![Page 66: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/66.jpg)
Function FinderHough Transfrom: Biến đổi data space -> weight space
y
x
w2
w1
Modeling!a.k.a tìm tham số tốt nhất
Để biết chính xác là đáp án tốt nhất với tiêu chí gì, ta đạt ra một hàm mục tiêu. Hàm mục tiêu thường thấy: Mean square error (MSE)
66
![Page 67: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/67.jpg)
Function FinderTìm hàm số (tham số)
y
x
MSE: Loss function L(f*) = Σi ||yi - f*(xi)||2
Tìm w1,w2: argminw1,w2[L(f*)]
67
![Page 68: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/68.jpg)
Function Finder
y
x
w2=
w1=
MSE: Loss function L(f*) = Σi ||yi - f*(xi)||2
Tìm w1,w2: argminw1,w2[L(f*)]
Analytical solution Your work!
Tìm hàm số (tham số)
Dựa trên data
68
![Page 69: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/69.jpg)
Function FinderTìm hàm số (tham số)
MSE: Loss function L(f*) = Σi ||yi - f*(xi)||2
Tìm w1,w2: argminw1,w2[L(f*)]
Numerical solution: Gradient Decent
w2
w1
Đoán trước!w2
w1
y
x
69
![Page 70: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/70.jpg)
Function FinderTìm hàm số (tham số)
MSE: Loss function L(f*) = Σi ||yi - f*(xi)||2
Tìm w1,w2: argminw1,w2[L(f*)]
Numerical solution: Gradient Decent
w2
w1
Đoán trước!w2
w1
y
x
Dựa trên data
70
![Page 71: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/71.jpg)
Function FinderTìm hàm số (tham số)
MSE: Loss function L(f*) = Σi ||yi - f*(xi)||2
Tìm w1,w2: argminw1,w2[L(f*)]
Numerical solution: Gradient Decent
w2
w1
Đoán trước!w2
w1
y
x
Dựa trên data
Update đáp án từng bước một
71Sync all j: wj(t+1) = wj(t) - η Σi∇Li(wj), for all i in |data|
![Page 72: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/72.jpg)
Function FinderTìm hàm số (tham số)
MSE: Loss function L(f*) = Σi ||yi - f*(xi)||2
Tìm w1,w2: argminw1,w2[L(f*)]
Numerical solution: Gradient Decent
w2
w1
Đoán trước!w2
w1
y
x
Dựa trên data
Update đáp án từng bước một
72Sync all j: wj(t+1) = wj(t) - η Σi∇Li(wj), for all i in |data|
-∇L(w1)
- ∇L(w2)
![Page 73: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/73.jpg)
Function FinderTìm hàm số (tham số)
MSE: Loss function L(f*) = Σi ||yi - f*(xi)||2
Tìm w1,w2: argminw1,w2[L(f*)]
Numerical solution: Gradient Decent
w2
w1
Đoán trước!
Update đáp án từng bước một
L(f*)
w1 ,w2
Loss function
73Sync all j: wj(t+1) = wj(t) - η Σi∇Li(wj), for all i in |data|
![Page 74: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/74.jpg)
Function FinderTìm hàm số (tham số)
MSE: Loss function L(f*) = Σi ||yi - f*(xi)||2
Tìm w1,w2: argminw1,w2[L(f*)]
Numerical solution: Gradient Decent
w2
w1
Đoán trước!
Update đáp án từng bước một
L(f*)
w1 ,w2,...wn
Loss function
Sync all j: wj(t+1) = wj(t) - η Σi∇Li(wj), for all i in |data|
74
w... Mở rộng: tăng số lượng tham số
![Page 75: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/75.jpg)
Function FinderTìm hàm số (tham số)
MSE: Loss function L(f*) = Σi ||yi - f*(xi)||2
Tìm w1,w2: argminw1,w2[L(f*)]
Numerical solution: Gradient Decent
w2
w1
Đoán trước!
Update đáp án từng bước một
L(f*)
w1 ,w2,...wn
Loss function
Sync all j: wj(t+1) = wj(t) - η Σi∇Li(wj), for all i in |data| 75
w...
Không phải TH nào đạo hàm tham số cũng có thể tính đồng thời
Mở rộng: tăng số lượng tham số
![Page 76: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/76.jpg)
Hierarchical Function FinderTìm hàm số (tham số)
76
Back Propagation
∂L/∂p
∂L/∂w2?
![Page 77: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/77.jpg)
Hierarchical Function FinderTìm hàm số (tham số)
77
Back Propagation
∂L/∂p
∂L/∂h1
∂L/∂w2?
![Page 78: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/78.jpg)
Hierarchical Function FinderTìm hàm số (tham số)
78
Back Propagation
∂L/∂p
∂L/∂h1∂L/∂(w1x1 + w2x2)
f’(x1w1+x2w2)∂L/∂w2?
![Page 79: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/79.jpg)
Hierarchical Function FinderTìm hàm số (tham số)
79
Back Propagation
∂L/∂p
∂L/∂h1∂L/∂(w1x1 + w2x2)
f’(x1w1+x2w2)∂L/∂w2
Sẽ quay lại trong phần Guest Lecture
![Page 80: Tóm tắt về Linear model trong ML](https://reader030.vdocuments.net/reader030/viewer/2022012703/61a56fc5ace9174862575b38/html5/thumbnails/80.jpg)
p
Neural NetworkMột lớp ẩn vs XOR problem
80https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html
x1 h1
x2 h2
x2
x1
C(-1,1)
A(1,1)
D(1,-1)
B(-1,-1)
XOR
1
1
1
-1
1-1
-1