Nội dung Giới thiệu các ứng dụng của học máy Định nghĩa bài toán học máy Phân loại mô hình học máy Ví dụ: Mô hình Perceptron và Hồi quy tuyến tính Giới thiệu học sâu Cấu trúc mạng MLP Mu
Trang 2Nội dung
Giới thiệu các ứng dụng của học máy
Định nghĩa bài toán học máy
Phân loại mô hình học máy
Ví dụ: Mô hình Perceptron và Hồi quy tuyến tính
Giới thiệu học sâu
Cấu trúc mạng MLP (Multilayer Perceptron)Hàm kích hoạt (activation function)
Đồ thị tính toán và Thuật toán lan truyền ngượcTổng kết vòng huấn luyện mô hình học sâu
Trang 3Ứng dụng của học máy
Netflix Source: Internet AlphaGo (2016) Source: Internet
Deepfake (2020) Source: Internet GPT3 (2020) Source: Internet
Trang 5Mô hình học máy
Mô hình học máy
Mô hình học máy là một hệ thống sử dụng dữ liệu để học/nhận
diện các mẫu (pattern) và đưa ra dự đoán hoặc quyết định mà
không cần được lập trình rõ ràng từng bước
Họ mô hình và bộ tham số
Họ mô hình là tập hợp các mô hình {f θ }, với θ ∈ Θ là bộ tham
số điều chỉnh hành vi của mô hình Việc huấn luyện tương ứng với
việc tìm tham số θ tốt nhất để f θ có hành vi phù hợp nhất
Trang 6Ví dụ:
Phân phối ảnh mèo
Phân phối âm thanh cá voi
Phân phối văn bản do mèo đi qua bàn phím
Trang 7Chụp ảnh mèo trên đường.
Ra biển ghi âm tiếng cá voi
Cho mèo chạy qua bàn phím máy tính
Trang 8d i là các điểm dữ liệu thu được từ việc lấy mẫu từ phân phối
dữ liệu
n là số điểm dữ liệu trong bộ dữ liệu.
Trang 9Hàm mục tiêu
Hàm mục tiêu là một hàm số thực với biến là tham số mô hình
và tham số là tập dữ liệu huấn luyện dùng để đánh giá mô hình
L(θ; D)
Trang 10Học máy
Định nghĩa
Ước lượng tham số / Huấn luyện mô hình
Ước lượng tham số
Là việc tìm ra bộ tham số tốt nhất cho họ mô hình dựa trên hàmmục tiêu
Trang 11Ước lượng tham số / Huấn luyện mô hình
Khi L(θ; D) khả vi ở hầu như mọi điểm, ta thường ước lượng
tham số bằng gì?
Trang 12Học máy
Phân loại
Phân loại mô hình học máy
Mô hình học máy được phân loại dựa trên bộ dữ liệu học máy:
Học máy giám sát
Học máy không giám sát
Trang 13Ví dụ
Dự đoán điểm thi dựa trên số giờhọc
Nhận diện spam email
Thuật toán tiêu biểu: Logistic
Regression, Support Vector Machine,Decision Tree, Neural Network
Trang 14dữ liệu dựa vào tính tương đồng.
Ví dụ
Phân nhóm khách hàng theo hành
vi mua sắmNhận diện mẫu nhạc để gợi ýplaylist
Thuật toán tiêu biểu: K-Means, PCA,
Hierarchical Clustering
Trang 15Bài toán hồi quy tuyến tính: Dự đoán giá nhà - Đề bài
Một công ty có một tập dữ liệu chứa giá các căn nhà trong khuvực X Công ty muốn: Dự đoán giá nhà dựa trên những yếu tố
(biến) Nguồn:
https://www.kaggle.com/code/ashydv/housing-price-prediction-linear-regression
Trang 16Học máy
Ví dụ: Mô hình Perceptron và Hồi quy tuyến tính
Bài toán hồi quy tuyến tính: Dự đoán giá nhà - Dữ liệu
Diện tích (m2) Phòng ngủ Tuổi nhà (năm) Giá nhà ($)
Trang 18Học máy
Ví dụ: Mô hình Perceptron và Hồi quy tuyến tính
Mô hình Perceptron / Hồi quy tuyến tính
Một trong những lựa chọn mô hình phổ biến cho bài toán dự đoángiá trị là mô hình hồi quy tuyến tính, còn gọi là Perceptron đơn lớptrong học sâu
Mô hình:
f θ(x) =w1x1+w2x2+ · · · +w d x d+b = w · x + b
Tham số mô hình:
w = (w1, w2, , w d): vector trọng số, học được từ dữ liệu
b: độ chệch (bias), giúp mô hình linh hoạt hơn
Mô hình học các tham số θ = (w, b) sao cho đầu ra f θ(x) gần với
giá trị thựcy nhất có thể.
Trang 19Mô hình Perceptron / Hồi quy tuyến tính
Đầu vào Trọng số Độ chệch Đầu ra
Trang 20Học máy
Ví dụ: Mô hình Perceptron và Hồi quy tuyến tính
Hàm mục tiêu của mô hình cho bài toán
Để huấn luyện mô hình hồi quy tuyến tính (Perceptron), ta cần
một hàm mục tiêu để đo sai số giữa dự đoán và giá trị thực tế
Hàm mục tiêu (hàm mất mát): Mean Squared Error (MSE)
D = {(x1, y1), (x2, y2), , (x n , y n)} là bộ dữ liệu bài toán
n: số lượng mẫu huấn luyện
Hàm mục tiêu này càng nhỏ thì mô hình dự đoán càng chính xác
→Mục tiêu của huấn luyện là tìm tham số θ∗
= arg minL(θ; D)
Trang 21Ước lượng tham số
Ước lượng tham số tương đương với bài toán tối ưu (tối thiểu hóa)
hàm mục tiêu đã đề ra Mục tiêu là tìm tham số θ = (w, b) sao
cho hàm mục tiêu đạt giá trị nhỏ nhất
Có hai cách chính để giải bài toán tối ưu này:
Giải bằng công thức toán học (đạo hàm = 0): Dành cho
bài toán đơn giản như hồi quy tuyến tính Ta lấy đạo hàm của
hàm mục tiêu theo θ, cho bằng 0 và giải ra nghiệm tối ưu.
Giải bằng thuật toán Gradient Descent: Đây là phương
pháp lặp phổ biến trong học máy Tại mỗi bước, ta cập nhậttham số theo hướng giảm của đạo hàm:
θ ← θ − η · ∇ θ L(θ; D) Trong đó η là tốc độ học (learning rate).
Trang 22Học máy
Ví dụ: Mô hình Perceptron và Hồi quy tuyến tính
Nhắc lại thuật toán Gradient Descent
Gradient Descent cập nhật tham số theo hướng giảm của đạo hàm(gradient) của hàm mục tiêu:
θ ← θ − η · ∇ θ L(θ) Trong đó η là tốc độ học (learning rate), và ∇ θL là gradient của
hàm mục tiêu theo tham số.
Đối với mô hình hồi quy tuyến tính:
Ta cần tính đạo hàm riêng theo từng trọng số w j
Và đạo hàm riêng theo độ chệch b
→ Gradient Descent cần thông tin về độ dốc của hàm mục tiêu để cập nhật tham số hiệu quả.
Trang 23Ước lượng tham số bằng Gradient Descent
Với mô hình hồi quy tuyến tính:
Trang 24Học sâu
Giới thiệu học sâu
Nhắc lại về tuyến tính và phi tuyến
Trang 25Nhắc lại về tuyến tính và phi tuyến
Thảo luận: Perceptron là mô hình tuyến tính hay phi tuyến?
Perceptron là mô hình tuyến tính
Trang 26Học sâu
Giới thiệu học sâu
Bài toán phi tuyến
Xét phân phối dữ liệu:
Trang 27Bài toán phi tuyến
Quá trình lấy mẫu thứi của phân phối p data;r có thể miêu tả nhưsau:
1 Lấy ngẫu nhiên một điểm trên hình vuông [−5, 5] × [−5, 5];
điểm nhận được gọi là xi = (x i ,1 , x i ,2)
2 Tính y i =f (x i) = (x i ,1−r)2+x2
i ,2
3 Điểm dữ liệu thứi nhận được là:
d i = (xi , y i)
Trang 28Học sâu
Giới thiệu học sâu
Bài toán phi tuyến
Bài toán: Giả sử bạn không biết họ phân phối dữ liệu và có bộ dữ
liệu được lấy mẫu từ phân phốip data;r với giá trị r cụ thể nào đó:
D = {(x1, y1), (x1, y2), , (x n , y n)}
Bạn cần xây dựng mô hình để dự đoány dựa trên đầu vào
x = (x1, x2) cho trước
Trang 30Học sâu
Giới thiệu học sâu
Giải quyết học máy: Rút trích đặc trưng
Với kiến thức tiên nghiệm về phân phối của dữ liệu, ta biếty có
tính đặc trưng phụ thuộc vào giá trị bậc 2 của inputx2
1, x2
2, x1x2.Dựa vào kiến thức tiên nghiệm, ta tạo thêm đặc trưng bậc 2 vàthêm vào mô hình Perceptron:
Trang 32Học sâu
Giới thiệu học sâu
Giải quyết học sâu: Máy tự học rút trích đặc trưng
Khi đối mặt với các bài toán thực tế, ta thường có ít kiến thức
tiên nghiệm về dữ liệu dẫn đến việc rút trích đặc trưng dữ liệu trởnên khó khăn
Vì thế ta thiết kế các mô hình có thể tự học các đặc trưng này
bằng các mạng nơ-ron
Mô hình học sâu
Mô hình học sâu là một loại mô hình học máy sử dụng mạng
nơ-ron nhân tạo nhiều lớp (deep neural networks) để học đặc trưngphức tạp từ dữ liệu mà không cần thiết kế thủ công như trong họcmáy truyền thống
Trang 34Dựa trên cấu trúc trên, MLP có giải quyết được những bài toán và
vấn đề phức tạp hơn Perceptron không?
Không hẳn
Trang 38Học sâu
Hàm kích hoạt (activation function)
Giới thiệu hàm kích hoạt
Thảo luận: Tại sao cần hàm kích hoạt σ?
Nếu không có hàm kích hoạt σ, mô hình MLP/mạng nhiều lớp vẫn
là mô hình tuyến tính → không thể học/giải quyết các bài toánphi tuyến
Thảo luận: Tại sao hàm phi tuyến lại quan trọng?
Nếu không có hàm phi tuyến, mỗi lớp chỉ là phép biến đổi
tuyến tính, và toàn bộ mạng chỉ là một hàm tuyến tính đơngiản
Đa số dữ liệu thực tế là phi tuyến và ta cần hàm phi tuyến đểgiải quyết
Trang 39Tạo ra tính phi tuyến cho mô hình
Giúp mô hình học được các mối quan hệ phức tạp trong dữliệu
Trang 41Công thức MLP đầy đủ với hàm kích hoạt σ
Ở lớp ẩn 1, đầu vào vector x được nhân với ma trận trọng sốW ,
cộng với vector độ chệch b và đưa qua hàm kích hoạt:
z1=W1x + b1→ a1= σ(z1)
Đầu ra a1 trở thành đầu vào của lớp ẩn 2:
z2 =W2a1+ b2 → a2= σ(z2)
Bài tập:
1 Viết công thức tổng quát tính zi của lớp ẩn i bất kì.
2 Viết công thức của kết quả đầu ra y
Trang 42Học sâu
Đồ thị tính toán và Thuật toán lan truyền ngược
Giới thiệu đồ thị tính toán
Trang 43Các phép toán quan trọng thứ tự (trừ, chia, ) sẽ đánh số thứ
tự đầu vào ở đuôi các cạnh
Tập hợp các phép toán tạo thành đồ thị tính toán
Trang 45Đồ thị tính toán: Ví dụ Perceptron
Đồ thị tính toán tương ứng:
Trang 47Thuật toán lan truyền ngược
Thuật toán lan truyền ngược
Thuật toán lan truyền ngược dùng để tính toán đạo hàm riêng
của một đỉnh phép toán đối với các biến đầu vào Thuật toán chỉđược thực hiện sau khi các phép tính toán được thực hiện
Thuật toán lan truyền ngược dùng để tính toán đạo hàm riêng củahàm mục tiêu đối với từng tham số mô hình
Trang 48Học sâu
Đồ thị tính toán và Thuật toán lan truyền ngược
Thuật toán lan truyền ngược
Thuật toán được miêu tả các bước đơn giản như sau:
1 Gán giá trị ban đầu grad cho các đỉnh bằng 0, riêng đỉnh mục
tiêu bằng 1
2 Chọn đỉnh chưa thực hiện phép lan truyền ngược đủ điều
kiện, sau đó thực hiện phép lan truyền ngược
3 Quay lại bước 2 đến khi không còn đỉnh có thể chọn
Điều kiện đủ cho đỉnh ở bước 2 là đỉnh thỏa mãn không có cạnhnối từ đỉnh đó đến đỉnh chưa thực hiện lan truyền ngược
Trang 49Phép lan truyền ngược
Phép lan truyền ngược cho một đỉnhu với n đầu vào
v1, v2, , v n để cập nhật grad của các đầu vào được miêu tả như
Khi kết thúc thuật toán, grad của các biến đầu vào tương ứng với
đạo hàm riêng của đỉnh mục tiêu ứng với biến đó
Trang 50Học sâu
Đồ thị tính toán và Thuật toán lan truyền ngược
Ví dụ thuật toán truyền ngược
Một số quy tắc lan truyền ngược:
1
2
Trang 54Sau khi lan truyền ngược và tính được đạo hàm riêng của hàm
mục tiêu theo tham số θ( W , b): ∇ θ L(θ; D), ta sẽ cập nhật tham
số θ theo công thức sau:
θ ← θ − η · ∇ θ L(θ; D) Trong đó η là tốc độ học (learning rate).
Trang 55Vòng huấn luyện mạng học sâu
Một vòng huấn luyện mô hình gồm những bước nào?
1 Lan truyền thuận (forward pass)
2 Tính hàm mục tiêu (objective function)
3 Lan truyền ngược (backpropagation)
4 Cập nhật trọng số (weight updates)
Trang 56Học sâu
Tổng kết vòng huấn luyện mô hình học sâu
Mô hình hiện đại mở rộng từ MLP
lưới (như ảnh) Sử dụng tích chập (convolution) để
tự động trích xuất đặc trưng không gian
bản, âm thanh) Có cơ chế nhớ (memory) để lưu trữthông tin từ các bước thời gian trước
CNN và RNN là những kiến trúc chuyên biệt giúp mở rộng khả
năng biểu diễn của mạng nơ-ron.
Trang 57Lời chào
Cảm ơn các bạn đã lắng nghe