EfficientNet nedir? Kısa bir genel bakış
EfficientNet'in B0'dan B7'ye uzanan sürümlerinde doğruluk ve verimliliği dengelemek için bileşik ölçeklendirme, MBConv blokları ve sıkıştırma-uyarma yöntemini nasıl kullandığını öğren.
Abirami Vina7 dakikalık okuma
2019'da Google AI araştırmacıları, görüntülerdeki nesneleri ve örüntüleri tanımak üzere geliştirilmiş, son teknoloji bir bilgisayarlı görü modeli olan EfficientNet'i tanıttı. Model öncelikle, bir görüntüyü önceden tanımlanmış kategorilerden birine atamayı içeren görüntü sınıflandırması için tasarlanmıştı. Ancak günümüzde EfficientNet, nesne algılama, bölütleme ve aktarım öğrenimi gibi daha karmaşık görevlerde de omurga olarak kullanılıyor.
EfficientNet'ten önce bu tür makine öğrenimi ve görsel yapay zekâ modelleri, daha fazla katman ekleyerek veya katmanların boyutunu büyüterek doğruluğu artırmaya çalışıyordu. Katmanlar, verileri işleyerek örüntüleri öğrenen ve doğruluğu artıran bir sinir ağı modelinin (insan beyninden esinlenen bir derin öğrenme modeli türü) aşamalarıdır.
Bu değişiklikler bir ödünleşime yol açtı: Geleneksel yapay zekâ modelleri büyüyüp yavaşlarken, doğruluktaki artış, gereken işlem gücündeki önemli artışa kıyasla genellikle sınırlı kaldı.
EfficientNet farklı bir yaklaşım benimsedi. Derinliği (katman sayısını), genişliği (her katmandaki birim sayısını) ve görüntü çözünürlüğünü (girdi görüntülerinin ayrıntı düzeyini) dengeli biçimde birlikte artırdı. Bu yönteme bileşik ölçekleme denir. Sonuç, ResNet veya DenseNet gibi eski modellerden daha iyi performans gösterebilen, daha küçük ve daha hızlı bir modeldir.
Günümüzde Ultralytics YOLO11 ve halefi Ultralytics YOLO26 gibi daha yeni bilgisayarlı görü modelleri daha yüksek doğruluk, hız ve verimlilik sunuyor. Buna rağmen EfficientNet, pek çok gelişmiş mimarinin tasarımını etkileyen önemli bir kilometre taşı olmaya devam ediyor.
Bu makalede EfficientNet'i beş dakikada ele alacak; nasıl çalıştığını, onu benzersiz kılan özellikleri ve bilgisayarlı görü açısından neden hâlâ önemli olduğunu inceleyeceğiz.
EfficientNet nedir?#
EfficientNet tasarlanmadan önce çoğu görüntü tanıma modeli, katmanlarını ayarlayarak veya daha fazla ayrıntı yakalamak için giriş görüntüsünün boyutunu artırarak doğruluğu iyileştiriyordu. Bu stratejiler sonuçları iyileştirse de modelleri ağırlaştırıyor ve daha fazla kaynak gerektirmelerine neden oluyordu. Bu da daha fazla belleğe ve daha iyi donanıma ihtiyaç duydukları anlamına geliyordu.
EfficientNet, katmanları tek tek değiştirmek yerine bileşik ölçekleme adı verilen bir yöntemle derinliği, genişliği ve görüntü çözünürlüğünü birlikte ölçeklendirir. Bu yaklaşım, tek bir boyutu aşırı yüklemeden modelin verimli biçimde büyümesini sağlar.
EfficientNet mimarisi, her biri daha küçük modüllerden oluşan bir dizi blok üzerinden görüntüleri işler. Her bloktaki modül sayısı, model boyutuna bağlıdır.

Şekil 1. EfficientNet'in yapı taşları. (Kaynak)
Daha küçük sürümlerde daha az modül kullanılırken, daha büyük sürümlerde modüller daha fazla tekrarlanır. Bu esnek tasarım, EfficientNet'in mobil cihazlardan büyük ölçekli sistemlere kadar geniş bir uygulama yelpazesinde yüksek doğruluk ve verimlilik sunmasını sağlar.
Bileşik ölçekleme nasıl çalışır?#
Bileşik ölçekleme yöntemi, modelin derinliğini, genişliğini ve görüntü çözünürlüğünü artırırken bunların dengesini korur. Böylece işlem gücünü verimli biçimde kullanmak mümkün olur. Seri, diğer tüm sürümlerin temelini oluşturan EfficientNet-B0 adlı daha küçük bir temel modelle başlar.
B0'dan başlayarak modeller EfficientNet-B1'den EfficientNet-B7'ye kadar daha büyük varyantlara ölçeklenir. Her adımda ağa yeni katmanlar eklenir, kanal sayısı (işlemede kullanılan birimler) artırılır ve daha yüksek çözünürlüklü giriş görüntüleri işlenir. Her adımda gerçekleşen büyüme miktarı, bileşik katsayı adı verilen bir parametreyle belirlenir. Bu katsayı, derinliğin, genişliğin ve çözünürlüğün birbirinden bağımsız değil, sabit oranlarda artmasını sağlar.

Şekil 2. Bileşik ölçekleme modelin genişliğini, derinliğini ve görüntü çözünürlüğünü artırır. (Kaynak)
EfficientNet mimarisi#
Şimdi EfficientNet'in mimarisine bakalım.
EfficientNet, mobil ve gömülü cihazlar için optimize edilmiş hafif bir bilgisayarlı görü modeli olan MobileNetV2'yi temel alır. Modelin merkezinde, görüntü verilerini standart bir evrişim gibi işleyen ancak daha az hesaplama gerektiren özel bir katman olan Mobile Inverted Bottleneck Convolution (MBConv) bloğu bulunur. Bu blok, modeli hem hızlı hem de bellek açısından daha verimli hâle getirir.
Her MBConv bloğunun içinde bir sıkıştırma ve uyarma (SE) modülü bulunur. Bu modül, ağdaki farklı kanalların gücünü ayarlar. Temel kanalların gücünü artırırken diğerlerininkini azaltır. Ağın, görüntüdeki en önemli özelliklere odaklanıp geri kalanları göz ardı etmesine yardımcı olur. EfficientNet modeli ayrıca, ağın örüntüleri öğrenmesine yardımcı olan matematiksel bir işlev olan Swish aktivasyon işlevini kullanır; bu işlev de eski yöntemlere kıyasla görüntülerdeki örüntüleri daha iyi fark etmesini sağlar.
Bunun yanı sıra EfficientNet, eğitim sırasında ağ içindeki bazı bağlantıların rastgele kapatıldığı DropConnect yöntemini kullanır. Bu stokastik düzenlileştirme yöntemi (modelin genelleme yapmak yerine eğitim verilerini ezberlemesini önleyen rastgeleleştirme tekniği), ağı daha sağlam özellik temsilleri (verilerdeki daha güçlü ve genel örüntüler) öğrenmeye zorlayarak aşırı öğrenmeyi azaltır. Böylece model, öğrenilenleri daha önce görülmemiş verilere daha iyi aktarabilir.

Şekil 3. EfficientNet-B0 mimarisi (Kaynak)
EfficientNet model varyantlarına kısa bir bakış#
EfficientNet modellerinin nasıl çalıştığını artık daha iyi anladığımıza göre farklı model varyantlarını ele alalım.
EfficientNet modelleri, hız ve doğruluk arasında denge sağlayan temel model B0'dan başlayarak B0'dan B7'ye kadar ölçeklenir. Her sürüm derinliği, genişliği ve görüntü çözünürlüğünü artırarak doğruluğu iyileştirir. Ancak B1 ve B2'den yüksek performanslı B6 ve B7'ye kadar her model daha fazla işlem gücü gerektirir.
EfficientNet-B3 ve EfficientNet-B4 modelleri daha büyük görüntüler için denge sağlarken, hassasiyet gerektiren karmaşık veri kümelerinde genellikle B5 tercih edilir. Bu modellerin halefi EfficientNetV2 ise daha hızlı eğitilir ve parametreleri daha verimli kullanır.
EfficientNet'in uygulamaları#
EfficientNet, diğer birçok modele kıyasla daha az bellek ve işlem gücü kullanırken doğru sonuçlar üretebilir. Bu özelliği, bilimsel araştırmalardan insanların her gün kullandığı ürünlere kadar pek çok alanda kullanışlı olmasını sağlar.
Tıbbi görüntü analizi#
Akciğerlerin BT taramaları gibi tıbbi görüntüler, doğru tanı için kritik önem taşıyan ince ayrıntılar içerir. Yapay zekâ modelleri, insanların fark etmesi zor olabilecek örüntüleri ortaya çıkarmak için bu görüntülerin analizine yardımcı olabilir. EfficientNet'in bu amaçla uyarlanmış sürümlerinden biri, özellikle tıbbi görüntü analizi için tasarlanan MONAI (Yapay Zekâ için Tıbbi Açık Ağ) EfficientNet'tir.
Araştırmacılar EfficientNet mimarisini temel alarak, tümörleri tespit etmek için akciğer BT taramalarını sınıflandıran bir model olan Lung-EffNet'i de geliştirdi. Taramaları iyi huylu, kötü huylu veya normal olarak sınıflandırabilen model, deneysel koşullarda raporlanan %99'un üzerinde doğruluk elde ediyor.

Şekil 4. Lung-EffNet kullanılarak tümörlerin görüntü sınıflandırması. (Kaynak)
Gerçek zamanlı nesne algılama#
Nesne algılama, bir görüntüdeki nesneleri bulma ve konumlarını belirleme işlemidir. Güvenlik sistemleri, otonom araçlar ve insansız hava araçları gibi uygulamaların temel bir parçasıdır.
EfficientNet, görüntülerden özellik çıkarmanın son derece verimli bir yolunu sunduğu için bu alanda önem kazandı. Derinliği, genişliği ve çözünürlüğü ölçeklendirme yöntemi, modellerin aşırı ağır veya yavaş olmadan nasıl doğru sonuçlar üretebileceğini gösterdi. Bu nedenle EfficientDet gibi birçok algılama sistemi, EfficientNet'i omurga olarak kullanıyor.
Ultralytics YOLO11 gibi daha yeni modeller de hızı doğrulukla birleştirmeyi hedefliyor. Verimli modellere yönelen bu eğilim, EfficientNet gibi mimarilerden alınan fikirlerden büyük ölçüde etkilendi.
EfficientNet'in artıları ve eksileri#
Bilgisayarlı görü projelerinde EfficientNet kullanmanın bazı avantajları şunlardır:
- Daha az parametreyle yüksek doğruluk: EfficientNet, ResNet veya DenseNet gibi eski modellerle benzer ya da daha yüksek doğruluk sağlayabilir. Bununla birlikte daha az parametre kullanır; bu da eğitimi hızlandırır ve dağıtımı kolaylaştırır.
- Ölçeklenebilir model ailesi: B0'dan B7'ye kadar uzanan seçenekler arasından, temel ağı değiştirmeden donanımına ve kesinlik gereksinimlerine uygun bir sürüm seçebilirsin.
- Aktarım öğrenimi için uygun: EfficientNet, önceden eğitilmiş bir modeli özel bir görev için yeniden eğitme süreci olan aktarım öğreniminde güvenilir model performansı sunabilir. Çeşitli bilgisayarlı görü görevlerinde omurga olarak kullanılabilir. İnce ayar yapıldığında da güçlü sonuçlar verdiği görülmüştür. Örneğin, yaygın olarak kullanılan bir görüntü sınıflandırma veri kümesi olan CIFAR-100'de önceki modellere kıyasla çok daha az parametreyle en gelişmiş doğruluk düzeyine ulaşmıştır.
EfficientNet kullanmanın birçok avantajı olsa da göz önünde bulundurman gereken bazı sınırlamaları şunlardır:
- Daha fazla bellek gerektirir: EfficientNet-B6 ve EfficientNet-B7 gibi sürümler çok fazla GPU belleği gerektirir.
- ImageNet için ayarlanmış ölçekleme: Ölçekleme ayarları ImageNet veri kümesi için tasarlandığından, çok farklı veri kümelerinde ince ayar yapılmadan performans düşebilir. Bu durum özellikle küçük veri kümeleri için geçerlidir; EfficientNet'in mimarisi ve ölçeklemesi, derinliğini ve genişliğini haklı çıkaracak kadar veri sağlayan ImageNet gibi büyük ve çeşitli bir veri kümesi için tasarlanmıştır.
- Bazı donanımlarda daha yavaş: EfficientNet, modern donanımlarda verimli çalışacak şekilde tasarlanmış MBConv adlı katmanları kullanır. Eski GPU veya CPU'larda bu katmanlar daha yavaş çalışabilir.
Önemli çıkarımlar#
EfficientNet, derinliği, genişliği ve görüntü çözünürlüğünü dengede tutarak bilgisayarlı görü modellerinin büyüme biçimini değiştirdi. Hâlâ önemli bir model ve daha yeni mimarileri de etkiledi. Özellikle bilgisayarlı görü tarihindeki yeri anlamlıdır.
Yapay zekâ hakkında daha fazlasını keşfetmek için topluluğumuza ve GitHub depomuza katıl. Sağlık hizmetlerinde yapay zekâ ve otomotivde bilgisayarlı görü hakkında bilgi edinmek için çözüm sayfalarımıza göz at. Lisanslama seçeneklerimizi keşfet ve bugün bilgisayarlı görüyle geliştirmeye başla!
Yazan
Yorumlar
Soru sor, sonuçlarını paylaş veya başka birine yardım et.










