Professional Documents
Culture Documents
thuật toán perceptron là một thuật toán supervised learning (có câu trả lời mẫu)
reinforcement learning (không cần câu trả lời mẫu, nhưng máy tính nhận được phản hồi cho mỗi hành
động)
Observation: kí hiệu là x, input trong các bài toán. Observation thường có dạng một vector , gọi là
feature vector. Mỗi x gọi là một feature
Label: kí hiệu là y, output của bài toán. Mỗi observation sẽ có một label tương ứng
Model: một hàm số f(x), nhận vào một observation x và trả về một label f(x)
Parameter: mọi thứ của model được sử dụng để tính toán ra output
Một bài toán được gọi là classification nếu các label của input data được chia thành một số hữu hạn
nhóm
Nếu label không được chia thành các nhóm mà là một giá trị thực cụ thể
Một bài toán phân nhóm toàn bộ dữ liệu X thành các nhóm nhỏ dựa trên sự liên quan giữa các dữ liệu
trong mỗi nhóm
Association
Là bài toán khi chúng ta muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước
Semi-Supervised Learning (Học bán giám sát)
Các bài toán khi chúng ta có một lượng lớn dữ liệu X nhưng chỉ một phần trong chúng được gán nhãn
được gọi là Semi-Supervised Learning
Linear Regression
trong đó w1,w2,w3,w0 là các hằng số, w0 còn được gọi là bias. Mối quan hệ y≈f(x)y≈f(x) bên trên là một
mối quan hệ tuyến tính (linear). Bài toán chúng ta đang làm là một bài toán thuộc loại regression. Bài
toán đi tìm các hệ số tối ưu {w1,w2,w3,w0} chính vì vậy được gọi là bài toán Linear Regression.
Phương trình
Sai số dự đoán
với ∥z∥2 là Euclidean norm (chuẩn Euclid, hay khoảng cách Euclid), nói cách khác ∥z∥22 là tổng của bình
phương mỗi phần tử của vector z
Giá trị của w làm cho hàm mất mát đạt giá trị nhỏ nhất được gọi là điểm tối ưu (optimal point), ký hiệu:
Nghiệm cho bài toán Linear Regression
Cách phổ biến nhất để tìm nghiệm cho một bài toán tối ưu (chúng ta đã biết từ khi học cấp 3) là giải
phương trình đạo hàm (gradient) bằng 0
tại sao không dùng trị tuyệt đối mà lại dùng bình phương. Câu trả lời là hàm bình phương có đạo hàm
tại mọi nơi, trong khi hàm trị tuyệt đối thì không (đạo hàm không xác định tại 0).
Nếu ma trận vuông khả nghịch (non-singular hay invertible) thì phương trình (4) có
là một hàm tuyến tính theo cả w và x. Trên thực tế, Linear Regression có thể áp
dụng cho các mô hình chỉ cần tuyến tính theo w
Vì vậy, trước khi thực hiện Linear Regression, các nhiễu (outlier) cần phải được loại bỏ. Bước này được
gọi là tiền xử lý (pre-processing).
Hạn chế thứ hai của Linear Regression là nó không biễu diễn được các mô hình phức tạp.
K-means Clustering
thuật toán cơ bản nhất trong Unsupervised learning - thuật toán K-means clustering
(phân cụm K-means).
Trong thuật toán K-means clustering, chúng ta không biết nhãn (label) của từng điểm dữ liệu. Mục đích
là làm thể nào để phân dữ liệu thành các cụm (cluster) khác nhau sao cho dữ liệu trong cùng một cụm có
tính chất giống nhau.
Chúng ta thấy rằng đường phân định giữa các lãnh hải là các đường thẳng (chính xác hơn thì chúng là
các đường trung trực của các cặp điểm gần nhau). Vì vậy, lãnh hải của một đảo sẽ là một hình đa giác.
Cách phân chia này trong toán học được gọi là Voronoi Diagram.
y là label vector, một điểm dữ liệu có label vector là: [1,0,0,…,0] thì nó thuộc vào cluster 1
Cách mã hóa label của dữ liệu như thế này được goi là biểu diễn one-hot.
X: dữ liệu
Y: labels
M: centers
Cố định M, tìm Y
Giả sử đã tìm được các centers, hãy tìm các label vector để hàm mất mát đạt giá trị nhỏ nhất
Cố định Y, tìm M
Giả sử đã tìm được cluster cho từng điểm, hãy tìm center mới cho mỗi cluster để hàm mất mát đạt giá
trị nhỏ nhất.
Tới đây tôi xin được tóm tắt lại thuật toán (đặc biệt quan trọng với các bạn bỏ qua phần toán học bên
trên) như sau:
Hạn chế:
Nghiệm cuối cùng phụ thuộc vào các centers được khởi tạo ban đầu
Khi test, đưa ra kết quả gần nhất với giá trị đã lưu
Việc dự đoán kết quả của dữ liệu mới rất đơn giản.
Tốn thời gian test, không phù hợp với dữ liệu lớn
Gradient Descent
để tìm điểm thấp nhất có đạo hàm bằng 0, ta cần đi ngược dấu với đạo hàm
η (đọc là eta) là một số dương được gọi là learning rate (tốc độ học)
Điểm khởi tạo: phụ thuộc vào độ dốc của đồ thị mà hội tụ nhanh hoặc chậm
Tốc độ học:
- nhỏ: mất thời gian, có khả năng đến đích nhưng rất chậm hoặc không thể tới
Đạo hàm của hàm số đó tại một điểm θ bất kỳ được ký hiệu là ∇0f(θ) (hình tam giác ngược đọc là nabla)
Quy tắc cần nhớ: luôn luôn đi ngược hướng với đạo hàm.
nghiệm cuối cùng của Gradient Descent phụ thuộc rất nhiều vào điểm khởi tạo và learning rate
Với momentum thông thường: lượng thay đổi là tổng của hai vector: momentum vector và
gradient ở thời điểm hiện tại.
Với Nesterove momentum: lượng thay đổi là tổng của hai vector: momentum vector và gradient
ở thời điểm được xấp xỉ là điểm tiếp theo.
Việc phải tính toán lại đạo hàm với tất cả các điểm này sau mỗi vòng lặp trở nên cồng kềnh và không
hiệu quả. Thêm nữa, thuật toán này được coi là không hiệu quả với online learning.
- liệt kê các đặc trưng của ảnh -> feature map (ma trận đặc trưng)
- nhân mỗi pixel ma trận đặc trưng với các pixel tương ứng của ảnh
- cộng tổng -> rồi chia cho kích thước feature map
Nomalization (ReLU)
Deep stacking
- sau khi được train, các ô thường có giá trị cao sẽ được +bias
- khi test, những nơi giá trị cao có bias cao -> % dự đoán đúng
Learning???
- Feature của lớp tích chập, voting weight của lớp fully connected? -> Lan truyền ngược
Gradient descent
- với mỗi feature pixel, tăng giảm weight để đạt được error nhỏ nhất
Hyperparameters
Convolution:
Bước trượt
Fully connected
Số nơ ron
Rule of thumb
- Nếu dữ liệu của bạn hữu ích sau khi hoán đổi bất kỳ cột nào của bạn với nhau, bạn không thể sử dụng
CNN
ResNet 50 (Residual Neural Network)
Training càng khó khăn với càng nhiều lớp CNN
Các lớp bổ sung này giúp giải quyết các vấn đề phức tạp hiệu quả hơn vì các lớp khác nhau có thể được
đào tạo cho các nhiệm vụ khác nhau để có được kết quả chính xác cao.
Mặc dù số lượng các lớp có thể làm phong phú thêm các tính năng của mô hình, nhưng một mạng sâu
hơn có thể giảm chất lượng, xuất hiện Vanishing Gradient (triệt dốc)
Nói cách khác, khi số lượng lớp của mạng nơ-ron tăng lên, mức độ chính xác có thể bị bão hòa và giảm
dần sau một thời điểm. Kết quả là, hiệu suất của mô hình kém đi cả về dữ liệu training và testing
điểm mạnh của mô hình này là “skip connections”, giúp tạo một đường tắt ở những nơi không có
gradient, tìm được độ chính xác tối ưu với sai số nhỏ nhất
Trong khi Resnet ban đầu có 34 lớp và sử dụng các khối 2 lớp, các biến thể nâng cao khác như Resnet50
đã sử dụng các khối nút cổ chai 3 lớp để đảm bảo độ chính xác được cải thiện và thời gian đào tạo ít
hơn.