SlideShare a Scribd company logo
1 of 40
Top Error Rate
Top 1 Error : mẫu sau khi thử nghiệm cho ra kết quả có
xác suất cao nhất không đúng với label chính xác.
𝑇𝑜𝑝 1 𝑒𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑒 =
𝑠ố 𝑙ượ𝑛𝑔 𝒕𝒐𝒑 𝟏
𝑇ổ𝑛𝑔 𝑠ố 𝑙ượ𝑛𝑔 ℎì𝑛ℎ ả𝑛ℎ
Top 5 Error : mẫu sau khi thử nghiệm cho ra 5 kết quả
có xác suất cao nhất mà 5 kết quả đó không có chứa
label chính xác
𝑇𝑜𝑝 5 𝑒𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑒 =
𝑠ố 𝑙ượ𝑛𝑔 𝒕𝒐𝒑 𝟓
𝑇ổ𝑛𝑔 𝑠ố 𝑙ượ𝑛𝑔 ℎì𝑛ℎ ả𝑛ℎ
Top Error Rate
** Tùy theo từng dạng bài toán sẽ có cách tính Error rate khác nhau.
Thứ hạng, cấp bậc. Dựa trên điểm số ở Error rate, với các
đội có tỷ lệ error càng thấp sẽ được tranh hạng càng cao.
Rank
Các dạng bài toán
ImageNet
- Là một cơ sở dữ liệu hình ảnh với quy mô lớn
- Năm 2010, tổ chức cuộc thi về Thử thách nhận diện
trực quan quy mô lớn của ImageNet Challenge
(ILSVRC – ImageNet Large Scale Visual Recognition)
Website : http://www.image-net.org/
ILSVRC 2010 task
Classification: Từ các thuật toán sẽ gán tối đa 5 đối
tượng nhãn vào mỗi ảnh. Và các đối tượng nhãn đó sẽ
được sắp xếp theo thứ tự giảm dần.
http://image-net.org/challenges/LSVRC/2010/
Classification
Input: tập dữ liệu N hình ảnh với mỗi ảnh được gán label
Output: class label
Evaluation metric: Độ chính xác accuracy
Error cho dạng bài toán Classification:
𝑒 =
1
𝑛
.
𝑘
𝑚𝑖𝑛𝑖 𝑑 𝑐𝑖, 𝐶 𝑘
với 𝑑 𝑐𝑖, 𝐶 𝑘 =
0 𝑖𝑓 𝑥 = 𝑦
1
𝑐𝑖: label dự đoán với 𝑖 = 1 … 5
𝐶 𝑘: Ground truth label với k = 1 … 𝑛
𝑛 ∶ số lượng class labels
ILSVRC 2011 task
1. Classification
2. Classification with localization
Object Localization = Image Classification + Object Localization
Không chỉ là gán nhãn label cho đối tượng mà còn
phải định vị vị trí bounding box (khung giới hạn) mô tả
đối tượng.
Localization: định vị ví trí cũa đối tượng
http://image-net.org/challenges/LSVRC/2011/
Object Localization
Error cho dạng bài toán Location:
𝑒 =
1
𝑛
.
𝑘
𝑚𝑖𝑛𝑖 𝑚𝑖𝑛 𝑚max{𝑑 𝑐𝑖, 𝐶 𝑘 , 𝑓 𝑏𝑖, 𝐵 𝑘𝑚 }
với 𝑓 𝑏𝑖, 𝐵 𝑘 =
0
1
𝑏𝑖: bounding boxes (khung giới hạn) với 𝑖 = 1 … 5
𝐵 𝑘𝑚: Ground truth bounding boxes với m = 1 … 𝑀 𝑘
𝑀 𝑘: số lượng trường hợp của đối tượng thứ k trên image
Input: Image
Output: khung dữ liệu trong image (x, y, w, h)
Evaluation metric: Intersection over Union
Object Localization (2)
Intersection over Union - IoU: chỉ số đánh giá được
sử dụng để đo độ chính xác . Gồm có 2 giá trị:
Ground-truth & Predicted bounding box.
Object Localization (3)
Poor : IoU <= 0.5
Good : IoU > 0.5
Excellent : IoU > 0.7
ILSVRC 2012 task
1. Classification
2. Classification with localization
3. Fine-grained classification
Fine-grained classification: phân loại các loài / đối tượng
gần giống nhau. Các đối tượng có thể khác nhau nhưng có
chung cơ cấu / bộ phận cấu tạo
http://image-net.org/challenges/LSVRC/2012/
ILSVRC 2013 task
1. Classification
2. Classification with localization
3. Detection
Object Detection: Nhận diện nhiều vật thể - định vị các
đối tượng trong image và xác định từng đối tượng.
http://image-net.org/challenges/LSVRC/2013/
Object Detection
ILSVRC 2014 task
1. Classification
2. Classification with localization
3. Detection
http://image-net.org/challenges/LSVRC/2014/
ILSVRC 2015 task
1. Object detection (DET)
2. Object localization (CLS-LOC)
3. Object detection from video (VID)
4. Scene classification
Object detection from video : Nhận diện các đối tượng
từ tập video.
Scene classification : Phân loại ảnh theo ngữ cảnh.
Không chỉ tập chung đối tượng chính mà còn dựa trên
background các đối tượng phụ trong ảnh để phân loại.
http://image-net.org/challenges/LSVRC/2015/
Tasks
Segmentation
- Bài toán phân vùng ảnh: chia bức ảnh ra thành nhiều
phần khác nhau, dùng để xác định đối tượng và xác
định đường biên chính xác cho mỗi pixel trong ảnh.
- Gồm 2 dạng :
 Semantic Segmentation
 Instance Segmentation
Segmentation (2)
- COCO detection challenge: dataset Microsoft COCO –
Common Objects in Context: đánh mạnh vào các bài
toán liên quan đến phát hiện đánh dấu và sự phân chia
đường biên của các đối tượng.
- PASCAL VOC challenge (20 classes): dataset cho việc
xây dựng và đánh giá các thuật toán để phân loại hình
ảnh, phát hiện đối tượng, và phân khúc.
Input: Image
Output: regions (vùng), structures (cấu trúc) có
các classes khác nhau.
http://host.robots.ox.ac.uk/pascal/VOC/ http://host.robots.ox.ac.uk/pascal/VOC/
Weight Initializers
Weight
Trọng số ( kí hiệu W) có tầm quan trọng trong NN
- Trọng số quá nhỏ  sau khi variance input qua nhiều
lớp thì giá trị nhỏ dần vượt ngưỡng cho phép (vd trong
hàm sigmoid là đến mức quá thấp không thể thấy non-
linearity)
- Trọng số quá lớn  variance tăng qua các lớp trở nên
phẳng hơn dẫn đến hiện tượng bão hòa mất đi độ
gradient
- Thông thường chúng ta đều cho xử lí trọng số 1 cách
random – navite scheme
Variance – phương sai
“Trung bình của bình phương khoảng cách của mỗi điểm dữ
liệu đến điểm trung bình”  giá trị trung bình của bình
phương độ lệch
▷ Kí hiệu: 𝑉𝑎𝑟 𝑥 , 𝜎2 𝑥
▷ Có giá trị ≥ 0
▷ Variance của mẫu (𝑥1 … 𝑥 𝑛)
▷ 𝜇: giá trị trung bình / giá trị kì vọng của tập mẫu
𝑉𝑎𝑟 𝑥 = 𝐸((𝑥 − 𝜇)2)
𝜎2 𝑥 =
1
𝑛
𝑖=1
𝑛
(𝑥 − 𝜇)2
Dữ liệu tốt  Variance dao động ở khoảng giá trị trung
bình  input ≈ output
Xavier / Glorot Initialization
- Người sáng lập: Xavier Glorot và Yoshua Bengio:
Understanding the difficulty of training deep
feedforward neural networks [1]
- Variance (phương sai) của Input = Ouput
- Phụ thuộc vào Lớp Activation function
- Thích hợp sử dụng cho các layer có hàm sigmoid /
Tanh làm activation function
[1] https://towardsdatascience.com/hyper-parameters-in-action-part-ii-
weight-initializers-35aee1a28404
Xavier / Glorot Initialization (2)
Giá trị x : inputs / activation values từ layer trước
W: trọng số
Variance:
𝑉𝑎𝑟 𝑥𝑊 = 𝐸 𝑥 2
𝑉𝑎𝑟 𝑤 + 𝐸 𝑊 2
𝑉𝑎𝑟 𝑥 + 𝑉𝑎𝑟 𝑥 𝑉𝑎𝑟(𝑊)
Giả sử cho giá trị x = W = 0, ta có:
𝐸 𝑥 = 𝐸 𝑊 = 0 ⇒ 𝑉𝑎𝑟 𝑥𝑊 = 𝑉𝑎𝑟 𝑥 𝑉𝑎𝑟 𝑊
Xavier / Glorot Initialization (3)
Ex: Cho 2 hidden layer X và Y và có fully connected. Chú trọng
xem xét trọng số giữa 2 layer đó. Và Variance cả activations
(dọc theo forward pass) và gradients (lan theo backpropagate)
Tanh activation function
Xavier / Glorot Initialization (4)
Sử dụng hàm Tanh (activation là tuyến tính) có khoảng interval[-1,1]
Xavier / Glorot Initialization (5)
Giả sử x và W không phụ thuộc nhau nhưng phân giống nhau.
Variance ở y1 sẽ là :
𝑦1 = 𝑥1 𝑊11 + 𝑥2 𝑊21+ 𝑥3 𝑊31
Var(𝑦1) = 𝑉𝑎𝑟(𝑥1 𝑊11 + 𝑥2 𝑊21+ 𝑥3 𝑊31)
𝑉𝑎𝑟(𝑦1) = 𝑉𝑎𝑟(𝑥1 𝑊11) + 𝑉𝑎𝑟(𝑥2 𝑊21)+ Var(𝑥3 𝑊31)
Var(𝑦1) = 𝑖=1
3
𝑉𝑎𝑟 𝑥𝑖 𝑉𝑎𝑟(𝑊𝑖1)
Var 𝑦1 = 𝑛𝑖 𝑉𝑎𝑟 𝑥 𝑉𝑎𝑟(𝑊𝑖1)
Mục tiêu là để variance có thể dọc hết tất cả layer
 variance x = variance y
Var 𝑦1 = 𝑉𝑎𝑟 𝑥 ⇔ 𝑉𝑎𝑟 𝑊𝑖1 =
1
𝑛 𝑖
=
1
𝑓𝑎𝑛 𝑖𝑛
𝒇𝒂𝒏𝒊𝒏: 3 units in following layer
Xavier / Glorot Initialization (6)
Công thức trọng số tổng quát từ Normal distribution
(random weights) cho tất cả các hidden layer là:
𝑉𝑎𝑟 𝑊 =
1
𝑓𝑎𝑛 𝑖𝑛
; σ 𝑊 =
1
𝑓𝑎𝑛 𝑖𝑛
Công thức trọng số tổng quát từ Uniform distribution (ước
tính số lớn nhất và nhỏ nhất trong khoảng limits) cho tất cả
các hidden layer là:
𝑉𝑎𝑟 𝑈𝑛𝑖𝑓𝑜𝑟𝑚(−𝑙𝑖𝑚𝑖𝑡, 𝑙𝑖𝑚𝑖𝑡) =
𝑙𝑖𝑚𝑖𝑡2
3
Var 𝑊 =
1
𝑓𝑎𝑛𝑖𝑛
⇔ 𝑙𝑖𝑚𝑖𝑡 =
3
𝑓𝑎𝑛𝑖𝑛
Xavier / Glorot Initialization (7)
Tương tự như phần backpropagation:
∆ 𝑥1
= ∆ 𝑦1
𝑊11 + ∆ 𝑦2
𝑊12+ ∆ 𝑦3
𝑊13+ ∆ 𝑦4
𝑊14+ ∆ 𝑦5
𝑊15
…
Var(∆ 𝑥1
) =
𝑗=1
5
𝑉𝑎𝑟 ∆ 𝑦 𝑗
𝑉𝑎𝑟(𝑊1𝑗)
Var(∆ 𝑥1
) = 𝑛𝑗 𝑉𝑎𝑟 ∆ 𝑦 𝑉𝑎𝑟(𝑊1𝑗)
Mục tiêu là để variance có thể dọc hết
tất cả layer
Var ∆ 𝑥1
= Var ∆ 𝑦
⇔ 𝑉𝑎𝑟 𝑊1𝑗 =
1
𝑛𝑗
=
1
𝑓𝑎𝑛 𝑜𝑢𝑡
𝒇𝒂𝒏 𝒐𝒖𝒕: 5 units in following layer
Xavier / Glorot Initialization (8)
Kết hợp Forward và Backward passes
Normal distribution
Uniform distribution
Kaiming / He Initialization
- Người sáng lập: Kaiming He: Delving Deep into Rectifiers
(Surpassing Human-Level Performance on ImageNet
Classification)
- Cân bằng variance của activation function
- Thích hợp sử dụng cho các layer có hàm kích hoạt ReLU.
Trường hợp cần tăng (gấp đôi) trọng số để bù cho
variance bị giảm phân nửa.
- Thực thi : variance_scaling_initializer( ) – được mặc định
ReLU activation function
Kaiming / He Initialization (2)
Hàm ReLU biến 1 nửa giá trị Z-values (phần giá trị âm) thành giá
trị không nên gây ảnh hưởng đến variance  cần tang gâp đôi
giá trị trọng số
Cách thức tương tự như Glorot initialization:
Kaiming / He Initialization (3)
Normal distribution
Uniform distribution
Thực thi Xavier
Normal distribution
Uniform distribution
keras.initializers.glorot_normal(seed=None)
Dựa trên sự phân phối sắp xếp từ :
0 với stddev = sqrt(2 / (fan_in + fan_out))
keras.initializers.glorot_uniform(seed=None)
Dựa trên sự phân phối sắp xếp [-limit,limit] với
limit là sqrt(6 / (fan_in + fan_out))
Thực thi Kaiming
Normal distribution
Uniform distribution
keras.initializers.he_normal(seed=None)
Dựa trên sự phân phối sắp xếp từ :
0 với stddev = sqrt(2 / fan_in)
keras.initializers.he_uniform(seed=None)
Dựa trên sự phân phối sắp xếp [-limit,limit] với
limit là sqrt(6 / fan_in)
Sinh dữ liệu
ImageDataGenerator
Thuộc thư viện Keras
Imgae Preprocessing: Tiền xử lí image
- ImageDataGenerator: tạo thêm data bằng cách scale,
rotation, shifting, shearing, flipping,…
- https://keras.io/preprocessing/image/#imagedatagenerator-class
Câu lệnh :
keras.preprocessing.image import imagedatagenerator
Tài liệu tham khảo
Khởi tạo trọng số:
1. https://towardsdatascience.com/hyper-parameters-in-action-part-
ii-weight-initializers-35aee1a28404
2. https://keras.io/initializers/
3. https://prateekvjoshi.com/2016/03/29/understanding-xavier-
initialization-in-deep-neural-networks/
Các dạng bài toán
1. https://www.slideshare.net/leszekrybicki/tech-kitchen-object-
detection-and-classification
2. https://leonardoaraujosantos.gitbooks.io/artificial-
inteligence/content/object_localization_and_detection.html
3. http://www.cs.toronto.edu/~tingwuwang/semantic_segmentation.
pdf
Thanks!

More Related Content

What's hot

Bai06 mot sokythuattrongkethua
Bai06 mot sokythuattrongkethuaBai06 mot sokythuattrongkethua
Bai06 mot sokythuattrongkethuaNhuận Lê Văn
 
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )Đông Lương
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcmHong Phuoc Nguyen
 
Ky thuat l.trinh_java
Ky thuat l.trinh_javaKy thuat l.trinh_java
Ky thuat l.trinh_javaLam Man
 
Tai lieu boi duong doi tuyen quoc gia 2013 3
Tai lieu boi duong doi tuyen quoc gia 2013 3Tai lieu boi duong doi tuyen quoc gia 2013 3
Tai lieu boi duong doi tuyen quoc gia 2013 3nataliej4
 
Bai09 ngoai levaxulyngoaile
Bai09 ngoai levaxulyngoaileBai09 ngoai levaxulyngoaile
Bai09 ngoai levaxulyngoaileNhuận Lê Văn
 
Chuong 03-lop-kieudulieutruutuong
Chuong 03-lop-kieudulieutruutuongChuong 03-lop-kieudulieutruutuong
Chuong 03-lop-kieudulieutruutuongbarrister90
 
Oop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớpOop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớpTráng Hà Viết
 
Oop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaOop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaTráng Hà Viết
 
Oop unit 13 tổng quan về uml
Oop unit 13 tổng quan về umlOop unit 13 tổng quan về uml
Oop unit 13 tổng quan về umlTráng Hà Viết
 

What's hot (18)

Bai02 java introduction
Bai02 java introductionBai02 java introduction
Bai02 java introduction
 
Bai06 mot sokythuattrongkethua
Bai06 mot sokythuattrongkethuaBai06 mot sokythuattrongkethua
Bai06 mot sokythuattrongkethua
 
Bai01 oop overview
Bai01 oop overviewBai01 oop overview
Bai01 oop overview
 
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
 
Bai07 da hinh
Bai07 da hinhBai07 da hinh
Bai07 da hinh
 
Ky thuat l.trinh_java
Ky thuat l.trinh_javaKy thuat l.trinh_java
Ky thuat l.trinh_java
 
Tai lieu boi duong doi tuyen quoc gia 2013 3
Tai lieu boi duong doi tuyen quoc gia 2013 3Tai lieu boi duong doi tuyen quoc gia 2013 3
Tai lieu boi duong doi tuyen quoc gia 2013 3
 
Bai09 ngoai levaxulyngoaile
Bai09 ngoai levaxulyngoaileBai09 ngoai levaxulyngoaile
Bai09 ngoai levaxulyngoaile
 
Bai08 10 java_fx
Bai08 10 java_fxBai08 10 java_fx
Bai08 10 java_fx
 
Đề tài: Thuật toán phân cụm dữ liệu mờ, HAY
Đề tài: Thuật toán phân cụm dữ liệu mờ, HAYĐề tài: Thuật toán phân cụm dữ liệu mờ, HAY
Đề tài: Thuật toán phân cụm dữ liệu mờ, HAY
 
On thitotnghiep
On thitotnghiepOn thitotnghiep
On thitotnghiep
 
Chuong 03-lop-kieudulieutruutuong
Chuong 03-lop-kieudulieutruutuongChuong 03-lop-kieudulieutruutuong
Chuong 03-lop-kieudulieutruutuong
 
Java Tieng Viet
Java Tieng VietJava Tieng Viet
Java Tieng Viet
 
Oop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớpOop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớp
 
Oop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaOop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừa
 
Oop unit 13 tổng quan về uml
Oop unit 13 tổng quan về umlOop unit 13 tổng quan về uml
Oop unit 13 tổng quan về uml
 
Oop unit 06 kế thừa
Oop unit 06 kế thừaOop unit 06 kế thừa
Oop unit 06 kế thừa
 

Similar to Tasks in ILSVRC and Weights initialization

4 - Phan lop du lieu-Final.pptx
4 - Phan lop du lieu-Final.pptx4 - Phan lop du lieu-Final.pptx
4 - Phan lop du lieu-Final.pptxMUyn25
 
Unit Test with test JUNIT
Unit Test with test JUNIT Unit Test with test JUNIT
Unit Test with test JUNIT Cusanlui
 
Dinh thi-huong
Dinh thi-huongDinh thi-huong
Dinh thi-huongtrucmyx
 
MẠNG NƠRON VÀ QUÁ TRÌNH HỌC CỦA MẠNG NƠRON
MẠNG NƠRON VÀ QUÁ TRÌNH HỌC CỦA MẠNG NƠRON MẠNG NƠRON VÀ QUÁ TRÌNH HỌC CỦA MẠNG NƠRON
MẠNG NƠRON VÀ QUÁ TRÌNH HỌC CỦA MẠNG NƠRON Bông Bông
 
6 ds1728 bcvt cntt bac-vu
6 ds1728 bcvt cntt bac-vu6 ds1728 bcvt cntt bac-vu
6 ds1728 bcvt cntt bac-vugaquaysieugion
 
Exaplianable AI trong phân đoạn ảnh y khoa.pdf
Exaplianable AI trong phân đoạn ảnh y khoa.pdfExaplianable AI trong phân đoạn ảnh y khoa.pdf
Exaplianable AI trong phân đoạn ảnh y khoa.pdfThanh Minh Hoang
 

Similar to Tasks in ILSVRC and Weights initialization (9)

4 - Phan lop du lieu-Final.pptx
4 - Phan lop du lieu-Final.pptx4 - Phan lop du lieu-Final.pptx
4 - Phan lop du lieu-Final.pptx
 
Unit Test with test JUNIT
Unit Test with test JUNIT Unit Test with test JUNIT
Unit Test with test JUNIT
 
KPDL.pptx
KPDL.pptxKPDL.pptx
KPDL.pptx
 
Dinh thi-huong
Dinh thi-huongDinh thi-huong
Dinh thi-huong
 
MẠNG NƠRON VÀ QUÁ TRÌNH HỌC CỦA MẠNG NƠRON
MẠNG NƠRON VÀ QUÁ TRÌNH HỌC CỦA MẠNG NƠRON MẠNG NƠRON VÀ QUÁ TRÌNH HỌC CỦA MẠNG NƠRON
MẠNG NƠRON VÀ QUÁ TRÌNH HỌC CỦA MẠNG NƠRON
 
Hệ Cơ Sở Dữ Liệu Đa Phương Tiện PTIT
Hệ Cơ Sở Dữ Liệu Đa Phương Tiện PTITHệ Cơ Sở Dữ Liệu Đa Phương Tiện PTIT
Hệ Cơ Sở Dữ Liệu Đa Phương Tiện PTIT
 
6 ds1728 bcvt cntt bac-vu
6 ds1728 bcvt cntt bac-vu6 ds1728 bcvt cntt bac-vu
6 ds1728 bcvt cntt bac-vu
 
Exaplianable AI trong phân đoạn ảnh y khoa.pdf
Exaplianable AI trong phân đoạn ảnh y khoa.pdfExaplianable AI trong phân đoạn ảnh y khoa.pdf
Exaplianable AI trong phân đoạn ảnh y khoa.pdf
 
Luận văn: Định lí brauer và ứng dụng của nó, HAY, 9đ
Luận văn: Định lí brauer và ứng dụng của nó, HAY, 9đLuận văn: Định lí brauer và ứng dụng của nó, HAY, 9đ
Luận văn: Định lí brauer và ứng dụng của nó, HAY, 9đ
 

Tasks in ILSVRC and Weights initialization

  • 1.
  • 3. Top 1 Error : mẫu sau khi thử nghiệm cho ra kết quả có xác suất cao nhất không đúng với label chính xác. 𝑇𝑜𝑝 1 𝑒𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑒 = 𝑠ố 𝑙ượ𝑛𝑔 𝒕𝒐𝒑 𝟏 𝑇ổ𝑛𝑔 𝑠ố 𝑙ượ𝑛𝑔 ℎì𝑛ℎ ả𝑛ℎ Top 5 Error : mẫu sau khi thử nghiệm cho ra 5 kết quả có xác suất cao nhất mà 5 kết quả đó không có chứa label chính xác 𝑇𝑜𝑝 5 𝑒𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑒 = 𝑠ố 𝑙ượ𝑛𝑔 𝒕𝒐𝒑 𝟓 𝑇ổ𝑛𝑔 𝑠ố 𝑙ượ𝑛𝑔 ℎì𝑛ℎ ả𝑛ℎ Top Error Rate ** Tùy theo từng dạng bài toán sẽ có cách tính Error rate khác nhau.
  • 4. Thứ hạng, cấp bậc. Dựa trên điểm số ở Error rate, với các đội có tỷ lệ error càng thấp sẽ được tranh hạng càng cao. Rank
  • 6. ImageNet - Là một cơ sở dữ liệu hình ảnh với quy mô lớn - Năm 2010, tổ chức cuộc thi về Thử thách nhận diện trực quan quy mô lớn của ImageNet Challenge (ILSVRC – ImageNet Large Scale Visual Recognition) Website : http://www.image-net.org/
  • 7. ILSVRC 2010 task Classification: Từ các thuật toán sẽ gán tối đa 5 đối tượng nhãn vào mỗi ảnh. Và các đối tượng nhãn đó sẽ được sắp xếp theo thứ tự giảm dần. http://image-net.org/challenges/LSVRC/2010/
  • 8. Classification Input: tập dữ liệu N hình ảnh với mỗi ảnh được gán label Output: class label Evaluation metric: Độ chính xác accuracy Error cho dạng bài toán Classification: 𝑒 = 1 𝑛 . 𝑘 𝑚𝑖𝑛𝑖 𝑑 𝑐𝑖, 𝐶 𝑘 với 𝑑 𝑐𝑖, 𝐶 𝑘 = 0 𝑖𝑓 𝑥 = 𝑦 1 𝑐𝑖: label dự đoán với 𝑖 = 1 … 5 𝐶 𝑘: Ground truth label với k = 1 … 𝑛 𝑛 ∶ số lượng class labels
  • 9. ILSVRC 2011 task 1. Classification 2. Classification with localization Object Localization = Image Classification + Object Localization Không chỉ là gán nhãn label cho đối tượng mà còn phải định vị vị trí bounding box (khung giới hạn) mô tả đối tượng. Localization: định vị ví trí cũa đối tượng http://image-net.org/challenges/LSVRC/2011/
  • 10. Object Localization Error cho dạng bài toán Location: 𝑒 = 1 𝑛 . 𝑘 𝑚𝑖𝑛𝑖 𝑚𝑖𝑛 𝑚max{𝑑 𝑐𝑖, 𝐶 𝑘 , 𝑓 𝑏𝑖, 𝐵 𝑘𝑚 } với 𝑓 𝑏𝑖, 𝐵 𝑘 = 0 1 𝑏𝑖: bounding boxes (khung giới hạn) với 𝑖 = 1 … 5 𝐵 𝑘𝑚: Ground truth bounding boxes với m = 1 … 𝑀 𝑘 𝑀 𝑘: số lượng trường hợp của đối tượng thứ k trên image Input: Image Output: khung dữ liệu trong image (x, y, w, h) Evaluation metric: Intersection over Union
  • 11. Object Localization (2) Intersection over Union - IoU: chỉ số đánh giá được sử dụng để đo độ chính xác . Gồm có 2 giá trị: Ground-truth & Predicted bounding box.
  • 12. Object Localization (3) Poor : IoU <= 0.5 Good : IoU > 0.5 Excellent : IoU > 0.7
  • 13. ILSVRC 2012 task 1. Classification 2. Classification with localization 3. Fine-grained classification Fine-grained classification: phân loại các loài / đối tượng gần giống nhau. Các đối tượng có thể khác nhau nhưng có chung cơ cấu / bộ phận cấu tạo http://image-net.org/challenges/LSVRC/2012/
  • 14. ILSVRC 2013 task 1. Classification 2. Classification with localization 3. Detection Object Detection: Nhận diện nhiều vật thể - định vị các đối tượng trong image và xác định từng đối tượng. http://image-net.org/challenges/LSVRC/2013/
  • 16. ILSVRC 2014 task 1. Classification 2. Classification with localization 3. Detection http://image-net.org/challenges/LSVRC/2014/
  • 17. ILSVRC 2015 task 1. Object detection (DET) 2. Object localization (CLS-LOC) 3. Object detection from video (VID) 4. Scene classification Object detection from video : Nhận diện các đối tượng từ tập video. Scene classification : Phân loại ảnh theo ngữ cảnh. Không chỉ tập chung đối tượng chính mà còn dựa trên background các đối tượng phụ trong ảnh để phân loại. http://image-net.org/challenges/LSVRC/2015/
  • 18. Tasks
  • 19. Segmentation - Bài toán phân vùng ảnh: chia bức ảnh ra thành nhiều phần khác nhau, dùng để xác định đối tượng và xác định đường biên chính xác cho mỗi pixel trong ảnh. - Gồm 2 dạng :  Semantic Segmentation  Instance Segmentation
  • 20. Segmentation (2) - COCO detection challenge: dataset Microsoft COCO – Common Objects in Context: đánh mạnh vào các bài toán liên quan đến phát hiện đánh dấu và sự phân chia đường biên của các đối tượng. - PASCAL VOC challenge (20 classes): dataset cho việc xây dựng và đánh giá các thuật toán để phân loại hình ảnh, phát hiện đối tượng, và phân khúc. Input: Image Output: regions (vùng), structures (cấu trúc) có các classes khác nhau. http://host.robots.ox.ac.uk/pascal/VOC/ http://host.robots.ox.ac.uk/pascal/VOC/
  • 22. Weight Trọng số ( kí hiệu W) có tầm quan trọng trong NN - Trọng số quá nhỏ  sau khi variance input qua nhiều lớp thì giá trị nhỏ dần vượt ngưỡng cho phép (vd trong hàm sigmoid là đến mức quá thấp không thể thấy non- linearity) - Trọng số quá lớn  variance tăng qua các lớp trở nên phẳng hơn dẫn đến hiện tượng bão hòa mất đi độ gradient - Thông thường chúng ta đều cho xử lí trọng số 1 cách random – navite scheme
  • 23. Variance – phương sai “Trung bình của bình phương khoảng cách của mỗi điểm dữ liệu đến điểm trung bình”  giá trị trung bình của bình phương độ lệch ▷ Kí hiệu: 𝑉𝑎𝑟 𝑥 , 𝜎2 𝑥 ▷ Có giá trị ≥ 0 ▷ Variance của mẫu (𝑥1 … 𝑥 𝑛) ▷ 𝜇: giá trị trung bình / giá trị kì vọng của tập mẫu 𝑉𝑎𝑟 𝑥 = 𝐸((𝑥 − 𝜇)2) 𝜎2 𝑥 = 1 𝑛 𝑖=1 𝑛 (𝑥 − 𝜇)2 Dữ liệu tốt  Variance dao động ở khoảng giá trị trung bình  input ≈ output
  • 24. Xavier / Glorot Initialization - Người sáng lập: Xavier Glorot và Yoshua Bengio: Understanding the difficulty of training deep feedforward neural networks [1] - Variance (phương sai) của Input = Ouput - Phụ thuộc vào Lớp Activation function - Thích hợp sử dụng cho các layer có hàm sigmoid / Tanh làm activation function [1] https://towardsdatascience.com/hyper-parameters-in-action-part-ii- weight-initializers-35aee1a28404
  • 25. Xavier / Glorot Initialization (2) Giá trị x : inputs / activation values từ layer trước W: trọng số Variance: 𝑉𝑎𝑟 𝑥𝑊 = 𝐸 𝑥 2 𝑉𝑎𝑟 𝑤 + 𝐸 𝑊 2 𝑉𝑎𝑟 𝑥 + 𝑉𝑎𝑟 𝑥 𝑉𝑎𝑟(𝑊) Giả sử cho giá trị x = W = 0, ta có: 𝐸 𝑥 = 𝐸 𝑊 = 0 ⇒ 𝑉𝑎𝑟 𝑥𝑊 = 𝑉𝑎𝑟 𝑥 𝑉𝑎𝑟 𝑊
  • 26. Xavier / Glorot Initialization (3) Ex: Cho 2 hidden layer X và Y và có fully connected. Chú trọng xem xét trọng số giữa 2 layer đó. Và Variance cả activations (dọc theo forward pass) và gradients (lan theo backpropagate) Tanh activation function
  • 27. Xavier / Glorot Initialization (4) Sử dụng hàm Tanh (activation là tuyến tính) có khoảng interval[-1,1]
  • 28. Xavier / Glorot Initialization (5) Giả sử x và W không phụ thuộc nhau nhưng phân giống nhau. Variance ở y1 sẽ là : 𝑦1 = 𝑥1 𝑊11 + 𝑥2 𝑊21+ 𝑥3 𝑊31 Var(𝑦1) = 𝑉𝑎𝑟(𝑥1 𝑊11 + 𝑥2 𝑊21+ 𝑥3 𝑊31) 𝑉𝑎𝑟(𝑦1) = 𝑉𝑎𝑟(𝑥1 𝑊11) + 𝑉𝑎𝑟(𝑥2 𝑊21)+ Var(𝑥3 𝑊31) Var(𝑦1) = 𝑖=1 3 𝑉𝑎𝑟 𝑥𝑖 𝑉𝑎𝑟(𝑊𝑖1) Var 𝑦1 = 𝑛𝑖 𝑉𝑎𝑟 𝑥 𝑉𝑎𝑟(𝑊𝑖1) Mục tiêu là để variance có thể dọc hết tất cả layer  variance x = variance y Var 𝑦1 = 𝑉𝑎𝑟 𝑥 ⇔ 𝑉𝑎𝑟 𝑊𝑖1 = 1 𝑛 𝑖 = 1 𝑓𝑎𝑛 𝑖𝑛 𝒇𝒂𝒏𝒊𝒏: 3 units in following layer
  • 29. Xavier / Glorot Initialization (6) Công thức trọng số tổng quát từ Normal distribution (random weights) cho tất cả các hidden layer là: 𝑉𝑎𝑟 𝑊 = 1 𝑓𝑎𝑛 𝑖𝑛 ; σ 𝑊 = 1 𝑓𝑎𝑛 𝑖𝑛 Công thức trọng số tổng quát từ Uniform distribution (ước tính số lớn nhất và nhỏ nhất trong khoảng limits) cho tất cả các hidden layer là: 𝑉𝑎𝑟 𝑈𝑛𝑖𝑓𝑜𝑟𝑚(−𝑙𝑖𝑚𝑖𝑡, 𝑙𝑖𝑚𝑖𝑡) = 𝑙𝑖𝑚𝑖𝑡2 3 Var 𝑊 = 1 𝑓𝑎𝑛𝑖𝑛 ⇔ 𝑙𝑖𝑚𝑖𝑡 = 3 𝑓𝑎𝑛𝑖𝑛
  • 30. Xavier / Glorot Initialization (7) Tương tự như phần backpropagation: ∆ 𝑥1 = ∆ 𝑦1 𝑊11 + ∆ 𝑦2 𝑊12+ ∆ 𝑦3 𝑊13+ ∆ 𝑦4 𝑊14+ ∆ 𝑦5 𝑊15 … Var(∆ 𝑥1 ) = 𝑗=1 5 𝑉𝑎𝑟 ∆ 𝑦 𝑗 𝑉𝑎𝑟(𝑊1𝑗) Var(∆ 𝑥1 ) = 𝑛𝑗 𝑉𝑎𝑟 ∆ 𝑦 𝑉𝑎𝑟(𝑊1𝑗) Mục tiêu là để variance có thể dọc hết tất cả layer Var ∆ 𝑥1 = Var ∆ 𝑦 ⇔ 𝑉𝑎𝑟 𝑊1𝑗 = 1 𝑛𝑗 = 1 𝑓𝑎𝑛 𝑜𝑢𝑡 𝒇𝒂𝒏 𝒐𝒖𝒕: 5 units in following layer
  • 31. Xavier / Glorot Initialization (8) Kết hợp Forward và Backward passes Normal distribution Uniform distribution
  • 32. Kaiming / He Initialization - Người sáng lập: Kaiming He: Delving Deep into Rectifiers (Surpassing Human-Level Performance on ImageNet Classification) - Cân bằng variance của activation function - Thích hợp sử dụng cho các layer có hàm kích hoạt ReLU. Trường hợp cần tăng (gấp đôi) trọng số để bù cho variance bị giảm phân nửa. - Thực thi : variance_scaling_initializer( ) – được mặc định ReLU activation function
  • 33. Kaiming / He Initialization (2) Hàm ReLU biến 1 nửa giá trị Z-values (phần giá trị âm) thành giá trị không nên gây ảnh hưởng đến variance  cần tang gâp đôi giá trị trọng số Cách thức tương tự như Glorot initialization:
  • 34. Kaiming / He Initialization (3) Normal distribution Uniform distribution
  • 35. Thực thi Xavier Normal distribution Uniform distribution keras.initializers.glorot_normal(seed=None) Dựa trên sự phân phối sắp xếp từ : 0 với stddev = sqrt(2 / (fan_in + fan_out)) keras.initializers.glorot_uniform(seed=None) Dựa trên sự phân phối sắp xếp [-limit,limit] với limit là sqrt(6 / (fan_in + fan_out))
  • 36. Thực thi Kaiming Normal distribution Uniform distribution keras.initializers.he_normal(seed=None) Dựa trên sự phân phối sắp xếp từ : 0 với stddev = sqrt(2 / fan_in) keras.initializers.he_uniform(seed=None) Dựa trên sự phân phối sắp xếp [-limit,limit] với limit là sqrt(6 / fan_in)
  • 38. ImageDataGenerator Thuộc thư viện Keras Imgae Preprocessing: Tiền xử lí image - ImageDataGenerator: tạo thêm data bằng cách scale, rotation, shifting, shearing, flipping,… - https://keras.io/preprocessing/image/#imagedatagenerator-class Câu lệnh : keras.preprocessing.image import imagedatagenerator
  • 39. Tài liệu tham khảo Khởi tạo trọng số: 1. https://towardsdatascience.com/hyper-parameters-in-action-part- ii-weight-initializers-35aee1a28404 2. https://keras.io/initializers/ 3. https://prateekvjoshi.com/2016/03/29/understanding-xavier- initialization-in-deep-neural-networks/ Các dạng bài toán 1. https://www.slideshare.net/leszekrybicki/tech-kitchen-object- detection-and-classification 2. https://leonardoaraujosantos.gitbooks.io/artificial- inteligence/content/object_localization_and_detection.html 3. http://www.cs.toronto.edu/~tingwuwang/semantic_segmentation. pdf