2 Cơ sở lý thuyết
2.3 Các mạng CNN nổi tiếng
2.3.2 Kiến trúc mô hình EfficientNet-B0
Nhóm tác giả đã đề nghị một phương thức mở rộng tổ hợp (compound scaling) mới với một hệ số compound φ được dùng để mở rộng theo cả độ rộng, độ sâu và độ phân giải một cách đồng bộ.[5] depth: d=αφ width w=βφ resolution: r =γφ s.t.α·β2·γ2 ≈2 α ≥1,β ≥1,γ ≥1
Trong mô hình EfficientNet-B0, nhóm tác giả đã cố địnhφ=1 và sau đó tìm kiếm các giá trị α,β,γ. Cụ thể, nhóm tác giả đã tìm thấy giá trị tốt nhất cho mô hình EfficientNet-B0 lần lượt: α =1.2,β =1.1,γ =1.15 với điều kiện α·β2·γ2 ≈2.
Stage Operator Resolution #Channels #Layers
i Fbi Hci×Wci Cbi Lbi 1 Conv3x3 224 × 224 32 1 2 MBConv1, k3x3 112 × 112 16 1 3 MBConv6, k3x3 112 × 112 24 2 4 MBConv6, k5x5 56 × 56 40 2 5 MBConv6, k3x3 28 × 28 80 3 6 MBConv6, k5x5 14 × 14 112 3 7 MBConv6, k5x5 14 × 14 192 4 8 MBConv6, k3x3 7 × 7 320 1
9 Conv1x1 & Pooling & FC 7 × 7 1280 1
2.3. Các mạng CNN nổi tiếng
Dưới đây là một phần kiến trúc của mô hình EfficientNet-B0 được in ra từ thư viện Keras. Tổng cộng có 240 layers và 5,330,571 params gồm 5,288,548 Trainable params và 42,023 Non-trainable params.
Hình 2.19: Một phần kiến trúc EfficientNet-B0
Module và SubModule trong EfficientNet-B0
Cũng như các ConvNets khác, luôn có 2 module là stem và final trong mô hình.
2.3. Các mạng CNN nổi tiếng
Hình 2.21: Final module trong EfficientNet-B0
Tiếp theo mô hình EfficientNet-B0 sử dụng 7 block gồm 3 loại module: Module 1, Module 2, Module 3 và trong 3 module này sẽ tổ hợp bởi 5 sub-module.
Hình 2.22: Sub module 1 trong EfficientNet-B0
Hình 2.23: Sub module 2 trong EfficientNet-B0
2.3. Các mạng CNN nổi tiếng
Hình 2.25: Sub module 4 trong EfficientNet-B0
Hình 2.26: Sub module 5 trong EfficientNet-B0
Trong đó:
• Sub module 1: được sử dụng để bắt đầu cho Module 1.
• Sub module 2: được sử dụng để bắt đầu cho Module 2, và lặp lại trong 6
Block từ Block 2 đến Block 7.
• Sub module 3: có thể được sử dụng ở tất cả các Module.
• Sub module 4: được sử dụng để combined Sub module 3 và Sub module
đầu tiên ở các Module thứ nhất trong Block.
• Sub module 5: được sử dụng để combined Sub module 3 và Sub modue
đầu tiên ở các Module thứ hai trở đi trong Block.
Ba module được combined bởi các sub-module ở trên được mô tả và sử dụng như bên dưới.
2.3. Các mạng CNN nổi tiếng
Hình 2.27: Module 1, Module 2 và Module 3 trong EfficientNet-B0
Mô hình EfficientNet-B0
Sắp xếp các module ở trên theo thứ tự đã được định sẵn sẽ thu được mô hình EfficientNet-B0 hoàn chỉnh.