Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 41

BÁO CÁO

MÁY HỌC VÀ TRÍ TUỆ NHÂN TẠO


Chủ đề:
AlexNet
Thành viên:

Tô Đình Phúc 20119366


Nguyễn Trung Hậu 21119194
Nguyễn Thanh Phú 22119211
AlexNet / Giới thiệu

“What important truth do very few people agree


with you on?”
- Peter Thiel -

Tạm dịch: “Sự thật quan trọng nào mà ít người đồng ý với bạn?”
AlexNet / Giới thiệu
Bài báo "ImageNet Classification with Deep Convolutional Neural Networks" của nhóm tác giả Alex Krizhevsky, Ilya
Sutskever, và Geoffrey E. Hinton được phát hành 2012.

page 1 - https://proceedings.neurips.cc/paper_files/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf
AlexNet / Giới thiệu

Bài báo này đề xuất một mạng tích chập sâu DCNN, sau này có tên là AlexNet được đặt theo tên của tác
giả đã xuất sắc chiến thắng cuộc thi ILSVRC năm 2012 bằng cách giải quyết bài toán phân loại một bức
ảnh vào 1 trong 1000 lớp khác nhau.

AlexNet là một bước đột phá trong phát triển của các mạng neural network, đặc biệt là trong lĩnh vực thị giác
máy tính.

page 8 - https://proceedings.neurips.cc/paper_files/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf
AlexNet / Đặc điểm chính

#1 Sử dụng hàm ReLU (Rectified Linear Unit) thay vì Tanh (Tan hyperbolic)

Sigmod(x) Tanh(x)
AlexNet / Đặc điểm chính

#1 Sử dụng hàm ReLU thay vì Tanh


#2 Batch size = 128
#3 Huấn luyện bằng SGD Mommentum
#4 Tăng cường dữ liệu (lật, cắt, chuẩn hoá màu, …)
AlexNet / Kiến trúc
AlexNet / Kiến trúc / Input

Đầu vào là ảnh màu 256x256 pixel. Mọi ảnh


trong tập train và test đều được chuẩn hóa về
kích thước này.
AlexNet / Kiến trúc / Input

Nếu đầu vào là ảnh


mức xám 1 kênh, thì
ra tiến hành sao
chép giá trị này cho
cả ba kênh của một
bức ảnh màu.
AlexNet / Kiến trúc / Input

Random-crop để thu được ảnh vừa với lớp tích chập đầu tiên.
AlexNet / Kiến trúc / Ouput

https://learnopencv.com/understanding-alexnet/
AlexNet / Kiến trúc / Ouput

Ngõ ra của AlaxNet là một vector chứa 1000 số. Phần tử thứ # được hiểu là
xác suất ảnh đầu vào được phân loại vào lớp #.
AlexNet / Kiến trúc
Bao gồm: 5 convolution layers, 3 max-pooling layers, 2 Normalized layers, 2 fully
connected layers and 1 SoftMax layer.

https://learnopencv.com/understanding-alexnet/
AlexNet / Kiến trúc
Bao gồm: 5 convolution layers, 3 max-pooling layers, 2 Normalized layers, 2 fully
connected layers and 1 SoftMax layer.

https://learnopencv.com/understanding-alexnet/
AlexNet / Kiến trúc
Bao gồm: 5 convolution layers, 3 max-pooling layers, 2 Normalized layers, 2 fully
connected layers and 1 SoftMax layer.

Hai lớp chuẩn hoá (normalized layer) bị bỏ qua vì không có ảnh hưởng đáng kể!
https://learnopencv.com/understanding-alexnet/
AlexNet / Kiến trúc
Bao gồm: 5 convolution layers, 3 max-pooling layers, 2 Normalized layers, 2 fully
connected layers and 1 SoftMax layer.

https://learnopencv.com/understanding-alexnet/
AlexNet / Kiến trúc
Bao gồm: 5 convolution layers, 3 max-pooling layers, 2 Normalized layers, 2 fully
connected layers and 1 SoftMax layer.

https://learnopencv.com/understanding-alexnet/
AlexNet / Kiến trúc
Bao gồm: 60 000 000 tham số, và 650 000 neuron.

https://learnopencv.com/understanding-alexnet/
AlexNet / Kiến trúc
Các lớp tích chập (convolution layer) giúp trích xuất thông tin quan trọng của các bức
ảnh bằng cách sử dụng nhiều kernel khác nhau.

https://learnopencv.com/understanding-alexnet/
AlexNet / Kiến trúc
Các lớp tích tập 1,2, 5 nối với nhau thông qua phép max-pooling (overlapping max
pooling).

https://learnopencv.com/understanding-alexnet/
AlexNet / Overlapping max-pooling

Max Pooling layer thường được sử dụng để giảm chiều rộng và


chiều dài của một tensor nhưng vẫn giữ nguyên chiều sâu.
AlexNet / Overlapping max-pooling

Overlapping Max Pool layter cũng tương tự như Max Pool


layter, ngoại trừ việc là một window của bước này sẽ có một
phần chồng lên window của bước tiếp theo.
AlexNet / Overlapping max-pooling

Overlapping Max Pool layter cũng tương tự như Max Pool


layter, ngoại trừ việc là một window của bước này sẽ có một
phần chồng lên window của bước tiếp theo.
AlexNet / Overlapping max-pooling

Overlapping Max Pool layter cũng tương tự như Max Pool


layter, ngoại trừ việc là một window của bước này sẽ có một
phần chồng lên window của bước tiếp theo.
AlexNet / Overlapping max-pooling

Overlapping Max Pool layter cũng tương tự như Max Pool


layter, ngoại trừ việc là một window của bước này sẽ có một
phần chồng lên window của bước tiếp theo.
AlexNet / Overlapping max-pooling

Overlapping Max Pool layter cũng tương tự như Max Pool


layter, ngoại trừ việc là một window của bước này sẽ có một
phần chồng lên window của bước tiếp theo.
AlexNet / Overlapping max-pooling

Lớp conv đầu tiên của AlexNet sử dụng 96 kernel kích thước 11x11x3,
stride = 4 pixel.
AlexNet / Overlapping max-pooling

Overlapping giữa các pooling giúp giảm độ lỗi với cùng kích thước output:
- Top-1 accuracy: 0.4%
- Top-5 accuracy: 0.3%
So với việc sử dụng pooling có kích thước 2x2 và bước nhảy 2
AlexNet / ReLU Nonlinearity

Một cải tiến quan trọng khác của


ALexNet là sử dụng hàm ReLU
làm hàm kích hoạt.
Kết quả là tốc độ hội tụ nhanh
hơn hơn. Hình bên trái cho thấy
tỉ lệ training error đạt 25% trên
tập CIFAR-10 nhanh hơn 6 lần
với khi dùng hàm tanh(x).

https://proceedings.neurips.cc/paper_files/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf
AlexNet / ReLU Nonlinearity

ReLU, vì sao?
1. Không có Vanishing Gradient Descent.
2. Tính toán nhanh hơn (chỉ dùng hàm max thay vì mũ)

Ảnh: https://machinelearningmastery.com/rectified-linear-activation-function-for-deep-learning-neural-networks/
(1) : Page 194 - Deep Learning by Ian Goodfellow (Author), Yoshua Bengio (Author), Aaron Courville (Author) (2016)
(2): https://proceedings.mlr.press/v15/glorot11a/glorot11a.pdf
AlexNet / ReLU Nonlinearity

ReLU, vì sao?
1. Không có Vanishing Gradient Descent.
2. Tính toán nhanh hơn (chỉ dùng hàm max thay vì mũ)
3. Biểu diễn thưa thớt(“Representational Sparsity”) –
khả năng cho ra giá trị 0 thực (true-zero). (1)
4. Hành vi tuyến tính (“Linear Behavior”) : Mô hình dễ
tối ưu hoá hơn nếu hàm kích hoạt tuyến tính hoặc gần
tuyến tính. (2)
5. Không bị bão hoà.

Ảnh: https://en.wikipedia.org/wiki/Sigmoid_function
(1) : Page 194 - Deep Learning by Ian Goodfellow (Author), Yoshua Bengio (Author), Aaron Courville (Author) (2016)
(2): https://proceedings.mlr.press/v15/glorot11a/glorot11a.pdf
AlexNet / Local Respone Normalization

Do đặc tính của hàm ReLU nên không yêu cầu chuẩn hoá đầu vào để ngăn chúng bão hoà.
Việc chuẩn hoá này sẽ dựa trên các kernel lân cận và lấy cảm hứng từ các neuron trong thực tế,
tạo ra sự cạnh tranh cho các hoạt động lớn (“big-activaties”) giữa các neuron ngõ ra bằng cách
sử dụng các kernel với các kích thước khác nhau.

Giảm 1,4% và 1,5% cho top-1 error và top-5 error khi test trên tập CIFAR-10.

https://proceedings.neurips.cc/paper_files/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf
AlexNet / Overfitting

Overfitting là hiện tượng khi mô hình xây dựng thể hiện được chi tiết bộ dữ liệu huấn luyện. Điều
này có nghĩa là cả dữ liệu nhiễu, hoặc dữ liệu bất thường trong tập huấn luyện đều được chọn và học
để đưa ra quy luật mô hình.
AlexNet / Overfitting
Những quy luật này sẽ không có ý nghĩa nhiều khi áp dụng với bộ dữ liệu mới có thể có dạng dữ
liệu nhiễu khác. Khi đó, nó ảnh hưởng tiêu cực tới độ chính xác của mô hình nói chung.
AlexNet / Overfitting
Nguyên nhân: Mô hình quá phức tạp để mô phỏng training data trong khi tập huấn luyện lại đơn
giản, quá ít.
AlexNet / Giảm overfitting / Data Augmentation (Tạm dịch: tăng cường ảnh)
Việc sử dụng nhiều phép xử lý ảnh để tạo và sử dụng nhiều biến thể khác nhau của một bức ảnh giúp làm
phong phú thêm tập huấn luyện với cùng kích cở.
AlexNet / Giảm overfitting / Data Augmentation / Mirror
AlexNet / Giảm overfitting / Drop-out
Loại bỏ một vài neuron bất kỳ thay vì tính toán tất cả.
AlexNet / Giảm overfitting / Drop-out
Loại bỏ một vài neuron bất kỳ thay vì tính toán tất cả.
BÁO CÁO
MÁY HỌC VÀ TRÍ TUỆ NHÂN TẠO
Chủ đề:
AlexNet

--
**** HẾT ****

You might also like