Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024

EfficientNet là gì? Tổng quan nhanh.

Abirami Vina

6 phút đọc

29 tháng 8, 2025

Tìm hiểu kiến trúc EfficientNet và sự kỳ diệu của việc mở rộng quy mô tổng hợp! Khám phá EfficientNet B0-B7 để phân loại và phân đoạn hình ảnh hiệu quả hàng đầu.

Năm 2019, các nhà nghiên cứu tại Google AI đã giới thiệu EfficientNet, một mô hình computer vision hiện đại được xây dựng để nhận dạng các đối tượng và mẫu trong hình ảnh. Nó được thiết kế chủ yếu để phân loại hình ảnh, bao gồm việc gán một hình ảnh vào một trong số các danh mục được xác định trước. Tuy nhiên, ngày nay, EfficientNet cũng đóng vai trò là xương sống cho các tác vụ phức tạp hơn như phát hiện đối tượng, phân đoạn và transfer learning.

Trước EfficientNet, các mô hình Vision AI và machine learning như vậy đã cố gắng cải thiện độ chính xác bằng cách thêm nhiều lớp hơn hoặc tăng kích thước của các lớp đó. Các lớp là các bước trong mô hình mạng nơ-ron (một loại mô hình deep learning lấy cảm hứng từ bộ não con người) xử lý dữ liệu để học các mẫu và cải thiện độ chính xác. 

Những thay đổi này tạo ra sự đánh đổi, làm cho các mô hình AI truyền thống lớn hơn và chậm hơn, trong khi độ chính xác tăng thêm thường là tối thiểu so với mức tăng đáng kể về sức mạnh tính toán cần thiết.

EfficientNet đã thực hiện một cách tiếp cận khác. Nó tăng chiều sâu (số lớp), chiều rộng (số đơn vị trong mỗi lớp) và độ phân giải hình ảnh (mức độ chi tiết của hình ảnh đầu vào) cùng nhau một cách cân bằng. Phương pháp này, được gọi là mở rộng hỗn hợp (compound scaling), sử dụng một cách đáng tin cậy tất cả sức mạnh xử lý có sẵn. Kết quả cuối cùng là một mô hình nhỏ hơn và nhanh hơn có thể hoạt động tốt hơn các mô hình cũ hơn như ResNet hoặc DenseNet.

Ngày nay, các mô hình thị giác máy tính mới hơn như Ultralytics YOLO11 mang lại độ chính xác, tốc độ và hiệu quả cao hơn. Mặc dù vậy, EfficientNet vẫn là một cột mốc quan trọng ảnh hưởng đến thiết kế của nhiều kiến trúc tiên tiến. 

Trong bài viết này, chúng ta sẽ phân tích EfficientNet trong năm phút, bao gồm cách nó hoạt động, điều gì làm cho nó trở nên độc đáo và tại sao nó vẫn quan trọng trong thị giác máy tính. Hãy bắt đầu!

EfficientNet là gì?

Trước khi EfficientNet được thiết kế, hầu hết các mô hình nhận dạng hình ảnh đều cải thiện độ chính xác bằng cách điều chỉnh các lớp hoặc tăng kích thước hình ảnh đầu vào để thu thập nhiều chi tiết hơn. Mặc dù các chiến lược này đã cải thiện kết quả, nhưng chúng cũng làm cho các mô hình nặng hơn và đòi hỏi khắt khe hơn. Điều này có nghĩa là chúng cần nhiều bộ nhớ hơn và phần cứng tốt hơn. 

Thay vì thay đổi các lớp riêng lẻ, EfficientNet mở rộng chiều sâu, chiều rộng và độ phân giải hình ảnh cùng nhau bằng một phương pháp gọi là mở rộng hợp chất. Cách tiếp cận này cho phép mô hình phát triển hiệu quả mà không làm quá tải bất kỳ khía cạnh đơn lẻ nào.

Kiến trúc EfficientNet xử lý hình ảnh thông qua một loạt các khối, mỗi khối được xây dựng từ các mô-đun nhỏ hơn. Số lượng mô-đun trong mỗi khối phụ thuộc vào kích thước mô hình. 

Hình 1. Các khối xây dựng của EfficientNet. (Nguồn)

Các phiên bản nhỏ hơn sử dụng ít mô-đun hơn, trong khi các phiên bản lớn hơn lặp lại các mô-đun thường xuyên hơn. Thiết kế linh hoạt này cho phép EfficientNet mang lại độ chính xác và hiệu quả cao trên nhiều ứng dụng, từ thiết bị di động đến hệ thống quy mô lớn.

Cách thức hoạt động của compound scaling

Phương pháp mở rộng hỗn hợp mở rộng độ sâu, chiều rộng và độ phân giải hình ảnh của mô hình nhưng vẫn giữ chúng ở trạng thái cân bằng. Điều này giúp có thể sử dụng hiệu quả sức mạnh tính toán. Chuỗi bắt đầu với một mô hình cơ sở nhỏ hơn có tên là EfficientNet-B0, đóng vai trò là nền tảng cho tất cả các phiên bản khác.

Từ B0, các mô hình mở rộng thành các biến thể lớn hơn có tên là EfficientNet-B1 đến EfficientNet-B7. Với mỗi bước, mạng lưới có thêm các lớp, tăng số lượng kênh (các đơn vị được sử dụng để xử lý) và xử lý hình ảnh đầu vào có độ phân giải cao hơn. Mức tăng trưởng ở mỗi bước được xác định bởi một tham số gọi là hệ số hợp chất, đảm bảo rằng độ sâu, chiều rộng và độ phân giải tăng theo tỷ lệ cố định thay vì độc lập.

Hình 2. Compound scaling (tỉ lệ hợp chất) làm tăng chiều rộng, chiều sâu và độ phân giải hình ảnh của mô hình. (Nguồn)

Kiến trúc EfficientNet

Tiếp theo, hãy xem xét kiến trúc của EfficientNet. 

Nó được xây dựng dựa trên MobileNetV2, một mô hình computer vision gọn nhẹ được tối ưu hóa cho các thiết bị di động và nhúng. Cốt lõi của nó là khối Mobile Inverted Bottleneck Convolution (MBConv), một lớp đặc biệt xử lý dữ liệu hình ảnh giống như một phép convolution tiêu chuẩn nhưng với ít phép tính hơn. Khối này làm cho mô hình vừa nhanh vừa tiết kiệm bộ nhớ hơn.

Bên trong mỗi khối MBConv là một mô-đun squeeze-and-excitation (SE). Mô-đun này điều chỉnh cường độ của các kênh khác nhau trong mạng. Nó tăng cường độ của các kênh thiết yếu và giảm cường độ của các kênh khác. Mô-đun này giúp mạng tập trung vào các đặc điểm quan trọng nhất trong ảnh, đồng thời bỏ qua những đặc điểm còn lại. Mô hình EfficientNet cũng sử dụng hàm kích hoạt Swish (một hàm toán học giúp mạng học các mẫu), giúp nó phát hiện các mẫu trong ảnh tốt hơn so với các phương pháp cũ. 

Ngoài ra, nó sử dụng DropConnect, trong đó một số kết nối bên trong mạng bị tắt ngẫu nhiên trong quá trình huấn luyện. Phương pháp điều chuẩn ngẫu nhiên này (một kỹ thuật ngẫu nhiên hóa để ngăn mô hình ghi nhớ dữ liệu huấn luyện thay vì khái quát hóa) làm giảm tình trạng overfitting bằng cách buộc mạng phải học các biểu diễn đặc trưng mạnh mẽ hơn (các mẫu mạnh hơn, tổng quát hơn trong dữ liệu) để chuyển đổi tốt hơn sang dữ liệu chưa thấy.

Hình 3. Kiến trúc của EfficientNet-B0 (Nguồn)

Tổng quan ngắn gọn về các biến thể mô hình EfficientNet

Bây giờ chúng ta đã hiểu rõ hơn về cách các mô hình EfficientNet hoạt động, hãy cùng thảo luận về các biến thể mô hình khác nhau. 

Các mô hình EfficientNet mở rộng từ B0 đến B7, bắt đầu với B0 làm đường cơ sở cân bằng giữa tốc độ và độ chính xác. Mỗi phiên bản tăng chiều sâu, chiều rộng và độ phân giải hình ảnh, cải thiện độ chính xác. Tuy nhiên, chúng cũng đòi hỏi nhiều sức mạnh tính toán hơn, từ B1 và B2 đến B6 và B7 hiệu suất cao. 

Trong khi các mô hình EfficientNet-B3 và EfficientNet-B4 đạt được sự cân bằng cho các hình ảnh lớn hơn, thì B5 thường được chọn cho các bộ dữ liệu phức tạp đòi hỏi độ chính xác. Vượt xa các mô hình này, mô hình mới nhất, EfficientNet V2, có thể cải thiện tốc độ huấn luyện, xử lý các bộ dữ liệu nhỏ tốt hơn và được tối ưu hóa cho phần cứng hiện đại.

Ứng dụng của EfficientNet

EfficientNet có thể tạo ra kết quả chính xác trong khi sử dụng ít bộ nhớ và sức mạnh xử lý hơn nhiều mô hình khác. Điều này làm cho nó hữu ích trong nhiều lĩnh vực, từ nghiên cứu khoa học đến các sản phẩm mà mọi người sử dụng hàng ngày.

Phân tích hình ảnh y tế

Hình ảnh y tế, chẳng hạn như ảnh chụp CT phổi, thường chứa các chi tiết nhỏ rất quan trọng để chẩn đoán chính xác. Các mô hình AI có thể hỗ trợ phân tích những hình ảnh này để khám phá các mẫu mà con người khó có thể phát hiện ra. Một sự điều chỉnh của EfficientNet cho mục đích này là MONAI (Mạng mở y tế cho AI) EfficientNet, được thiết kế đặc biệt để phân tích hình ảnh y tế.

Dựa trên kiến trúc của EfficientNet, các nhà nghiên cứu cũng đã phát triển Lung-EffNet, một mô hình phân loại ảnh chụp CT phổi để phát hiện khối u. Nó có thể phân loại các khối u là lành tính, ác tính hoặc bình thường, đạt độ chính xác được báo cáo là trên 99% trong các thiết lập thử nghiệm.

Hình 4. Phân loại ảnh khối u bằng Lung-EffNet. (Nguồn)

Nhận dạng đối tượng theo thời gian thực

Phát hiện đối tượng là quá trình tìm kiếm các đối tượng trong một hình ảnh và xác định vị trí của chúng. Đây là một phần quan trọng của các ứng dụng như hệ thống an ninh, xe tự lái và máy bay không người lái.

EfficientNet trở nên quan trọng trong lĩnh vực này vì nó cung cấp một cách rất hiệu quả để trích xuất các đặc trưng từ hình ảnh. Phương pháp mở rộng chiều sâu, chiều rộng và độ phân giải của nó cho thấy các mô hình có thể chính xác mà không quá nặng hoặc chậm. Đây là lý do tại sao nhiều hệ thống phát hiện, như EfficientDet, sử dụng EfficientNet làm xương sống của chúng.

Các mô hình mới hơn, chẳng hạn như Ultralytics YOLO11, có chung mục tiêu kết hợp tốc độ với độ chính xác. Xu hướng hướng tới các mô hình hiệu quả này chịu ảnh hưởng mạnh mẽ từ các ý tưởng từ các kiến trúc như EfficientNet.

Ưu và nhược điểm của EfficientNet

Dưới đây là một số lợi ích của việc sử dụng EfficientNet trong các dự án thị giác máy tính:

  • Độ chính xác cao với ít tham số hơn: EfficientNet có thể mang lại độ chính xác tương đương hoặc tốt hơn so với các mô hình cũ hơn như ResNet hoặc DenseNet. Tuy nhiên, nó sử dụng ít tham số hơn, giúp huấn luyện nhanh hơn và dễ triển khai hơn.
  • Họ mô hình có khả năng mở rộng: Với các phiên bản từ B0 đến B7, bạn có thể chọn một phiên bản phù hợp với yêu cầu về phần cứng và độ chính xác của bạn mà không cần thay đổi mạng cơ sở.
  • Phù hợp để học chuyển giao: EfficientNet có thể mang lại hiệu suất mô hình đáng tin cậy cho học chuyển giao (transfer learning), là một quy trình đào tạo lại một mô hình được đào tạo trước cho một tác vụ tùy chỉnh. Nó có thể hoạt động như một xương sống (backbone) cho nhiều tác vụ thị giác máy tính. Nó cũng đã cho thấy kết quả tốt khi được tinh chỉnh (fine-tuned). Ví dụ: nó đã đạt được độ chính xác hiện đại trên CIFAR-100, một bộ dữ liệu phân loại ảnh được sử dụng rộng rãi, với số lượng tham số ít hơn đáng kể so với các mô hình trước đây.

Mặc dù có nhiều lợi ích liên quan đến việc sử dụng EfficientNet, nhưng đây là một số hạn chế của EfficientNet cần lưu ý:

  • Yêu cầu nhiều bộ nhớ hơn: Các phiên bản như EfficientNet-B6 và EfficientNet-B7 yêu cầu rất nhiều bộ nhớ GPU.
  • Điều chỉnh tỷ lệ được tinh chỉnh cho ImageNet: Các cài đặt tỷ lệ được thiết kế cho tập dữ liệu ImageNet, vì vậy hiệu suất có thể giảm trên các tập dữ liệu rất khác mà không cần tinh chỉnh. Điều này đặc biệt đúng đối với các tập dữ liệu nhỏ, vì kiến trúc và tỷ lệ của EfficientNet được thiết kế cho một tập dữ liệu lớn và đa dạng như ImageNet, cung cấp đủ dữ liệu để biện minh cho độ sâu và độ rộng của nó.
  • Chậm hơn trên một số phần cứng: EfficientNet sử dụng các lớp gọi là MBConv được thiết kế để đạt hiệu quả trên phần cứng hiện đại. Trên các GPU hoặc CPU cũ hơn, các lớp này có thể chạy chậm hơn.

Những điều cần nhớ

EfficientNet đã thay đổi cách các mô hình thị giác máy tính phát triển bằng cách giữ cho chiều sâu, chiều rộng và độ phân giải hình ảnh cân bằng. Nó vẫn là một mô hình quan trọng và cũng đã ảnh hưởng đến các kiến trúc mới hơn. Đặc biệt, nó giữ một vị trí có ý nghĩa trong lịch sử của thị giác máy tính.

Tham gia cộng đồngkho lưu trữ GitHub của chúng tôi để khám phá thêm về AI. Xem các trang giải pháp của chúng tôi để đọc về AI trong lĩnh vực chăm sóc sức khỏethị giác máy tính trong ngành công nghiệp ô tô. Khám phá các tùy chọn cấp phép của chúng tôi và bắt đầu xây dựng với thị giác máy tính ngay hôm nay!

Hãy cùng nhau xây dựng tương lai
của AI!

Bắt đầu hành trình của bạn với tương lai của học máy

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard