EfficientNet nedir? Kısa bir genel bakış
EfficientNet mimarisini ve onun bileşik ölçekleme büyüsünü anla! En üst düzey görüntü sınıflandırma ve segmentasyon verimliliği için EfficientNet B0-B7'yi keşfet.

2019 yılında Google AI araştırmacıları, görüntülerdeki nesneleri ve desenleri tanımak için geliştirilmiş son teknoloji ürünü bir bilgisayarlı görü modeli olan EfficientNet'i tanıttı. Başlıca görüntü sınıflandırma için tasarlanmıştır; bu da bir görüntünün önceden tanımlanmış birkaç kategoriden birine atanmasını içerir. Ancak günümüzde EfficientNet, nesne algılama, bölütleme ve aktarımlı öğrenme gibi daha karmaşık görevler için de bir temel yapı (backbone) görevi görmektedir.
EfficientNet'ten önce, bu tür makine öğrenimi ve görü yapay zeka modelleri, daha fazla katman ekleyerek veya bu katmanların boyutunu artırarak doğruluğu iyileştirmeye çalışıyordu. Katmanlar, bir sinir ağı modelinde (insan beyninden esinlenen bir derin öğrenme modeli türü) desenleri öğrenmek ve doğruluğu artırmak için verileri işleyen adımlardır.
Bu değişiklikler bir ödünleşim (trade-off) yaratarak geleneksel yapay zeka modellerini daha büyük ve daha yavaş hale getirirken, elde edilen ekstra doğruluk genellikle gereken önemli işlem gücü artışına kıyasla minimum düzeyde kalıyordu.
EfficientNet farklı bir yaklaşım benimsedi. Derinliği (katman sayısı), genişliği (her katmandaki birim sayısı) ve görüntü çözünürlüğünü (girdi görüntülerinin ayrıntı düzeyi) dengeli bir şekilde birlikte artırdı. Bileşik ölçeklendirme (compound scaling) adı verilen bu yöntem, mevcut tüm işlem gücünü güvenilir bir şekilde kullanır. Sonuç olarak, ResNet veya DenseNet gibi eski modellerden daha iyi performans gösterebilen daha küçük ve daha hızlı bir model ortaya çıkar.
Bugün, Ultralytics YOLO11 gibi daha yeni bilgisayarlı görü modelleri daha fazla doğruluk, hız ve verimlilik sunuyor. Yine de EfficientNet, birçok gelişmiş mimarinin tasarımını etkileyen önemli bir kilometre taşı olmaya devam ediyor.
Bu makalede, EfficientNet'i beş dakikada parçalara ayıracak; nasıl çalıştığını, onu neyin benzersiz kıldığını ve bilgisayarlı görü alanında neden hala önemli olduğunu ele alacağız. Hadi başlayalım!
Link to this sectionEfficientNet nedir?#
EfficientNet tasarlanmadan önce, çoğu görüntü tanıma modeli doğruluğu artırmak için katmanlarını ayarlıyor veya daha fazla ayrıntı yakalamak için girdi görüntüsü boyutunu büyütüyordu. Bu stratejiler sonuçları iyileştirse de, aynı zamanda modelleri daha hantal ve daha zorlayıcı hale getiriyordu. Bu durum, daha fazla bellek ve daha iyi donanım gerektirdikleri anlamına geliyordu.
EfficientNet, bireysel katmanları değiştirmek yerine, bileşik ölçeklendirme adı verilen bir yöntem kullanarak derinliği, genişliği ve görüntü çözünürlüğünü birlikte ölçeklendirir. Bu yaklaşım, modelin herhangi bir yönüne aşırı yük bindirmeden verimli bir şekilde büyümesini sağlar.
EfficientNet mimarisi, her biri daha küçük modüllerden oluşan bir dizi blok aracılığıyla görüntüleri işler. Her bloktaki modül sayısı, modelin boyutuna bağlıdır.

Şekil 1. EfficientNet'in yapı taşları. (Kaynak)
Daha küçük sürümler daha az modül kullanırken, daha büyük sürümler modülleri daha sık tekrarlar. 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.
Link to this sectionBileşik ölçeklendirme nasıl çalışır?#
Bileşik ölçeklendirme yöntemi, modelin derinliğini, genişliğini ve görüntü çözünürlüğünü genişletir ancak bunları dengede tutar. Bu, işlem gücünü verimli bir şekilde kullanmayı mümkün kılar. Seri, diğer tüm sürümlerin temelini oluşturan EfficientNet-B0 adlı daha küçük bir temel modelle başlar.
B0'dan itibaren modeller, EfficientNet-B1'den EfficientNet-B7'ye kadar adlandırılan daha büyük varyantlara ölçeklenir. Her adımda ağ ek katmanlar kazanır, kanal sayısını (işleme için kullanılan birimler) artırır ve daha yüksek çözünürlüklü girdi görüntülerini işler. Her adımdaki büyüme miktarı, derinlik, genişlik ve çözünürlüğün bağımsız değil, sabit oranlarda artmasını sağlayan bileşik katsayı adı verilen bir parametre ile belirlenir.

Şekil 2. Bileşik ölçeklendirme, bir modelin genişliğini, derinliğini ve görüntü çözünürlüğünü artırır. (Kaynak)
Link to this sectionEfficientNet mimarisi#
Sırada, EfficientNet'in mimarisine göz atalım.
Mobil ve gömülü cihazlar için optimize edilmiş hafif bir bilgisayarlı görü modeli olan MobileNetV2 üzerine inşa edilmiştir. Çekirdeğinde, görüntü verilerini standart bir konvolüsyon gibi ancak daha az hesaplamayla işleyen ö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 hale getirir.
Her MBConv bloğunun içinde bir squeeze-and-excitation (SE) modülü bulunur. Bu modül, ağdaki farklı kanalların gücünü ayarlar. Temel kanalların gücünü artırır ve diğerlerinin gücünü azaltır. Modül, ağın geri kalanını göz ardı ederken görüntüdeki en önemli özelliklere odaklanmasına yardımcı olur. EfficientNet modeli ayrıca, ağın desenleri eski yöntemlerden daha iyi tespit etmesine yardımcı olan bir Swish aktivasyon fonksiyonu (ağın desenleri öğrenmesine yardımcı olan matematiksel bir fonksiyon) kullanır.
Bunun ötesinde, ağ içindeki bazı bağlantıların eğitim sırasında rastgele kapatıldığı DropConnect kullanır. Bu stokastik düzenlileştirme yöntemi (modelin eğitim verilerini ezberlemek yerine genelleştirmesini sağlamak için kullanılan bir rastgeleleştirme tekniği), ağın görülmemiş verilere daha iyi aktarılan daha sağlam özellik temsilleri (verideki daha güçlü, daha genel desenler) öğrenmeye zorlanmasıyla aşırı öğrenmeyi (overfitting) azaltır.

Şekil 3. EfficientNet-B0 mimarisi (Kaynak)
Link to this sectionEfficientNet model varyantlarına kısa bir bakış#
Artık EfficientNet modellerinin nasıl çalıştığını daha iyi anladığımıza göre, farklı model varyantlarını tartışalım.
EfficientNet modelleri, hız ve doğruluk dengesini kuran temel 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 bunlar aynı zamanda B1 ve B2'den yüksek performanslı B6 ve B7'ye kadar daha fazla hesaplama gücü gerektirir.
EfficientNet-B3 ve EfficientNet-B4 modelleri daha büyük görüntüler için bir denge sağlarken, B5 genellikle hassasiyet gerektiren karmaşık veri kümeleri için seçilir. Bu modellerin ötesinde, en yeni model olan EfficientNet V2, eğitim hızını artırabilir, küçük veri kümelerini daha iyi işleyebilir ve modern donanımlar için optimize edilmiştir.
Link to this sectionEfficientNet'in uygulamaları#
EfficientNet, diğer birçok modele göre daha az bellek ve işlem gücü kullanarak doğru sonuçlar üretebilir. Bu, onu bilimsel araştırmalardan insanların günlük hayatta kullandığı ürünlere kadar birçok alanda kullanışlı kılar.
Link to this sectionTıbbi görüntü analizi#
Akciğer BT taramaları gibi tıbbi görüntüler, genellikle doğru teşhis için kritik olan ince ayrıntılar içerir. Yapay zeka modelleri, insanların tespit etmesinin zor olabileceği desenleri ortaya çıkarmak için bu görüntülerin analiz edilmesine yardımcı olabilir. EfficientNet'in bu amaçla uyarlanmış bir sürümü, özellikle tıbbi görüntü analizi için tasarlanmış olan MONAI (Medical Open Network for AI) EfficientNet'tir.
EfficientNet'in mimarisi üzerine inşa edilen araştırmacılar, tümörleri tespit etmek için akciğer BT taramalarını sınıflandıran bir model olan Lung-EffNet geliştirdiler. Tümörleri iyi huylu, kötü huylu veya normal olarak kategorize edebilir ve deneysel ortamlarda %99'un üzerinde bir doğruluk oranına ulaşabilir.

Şekil 4. Lung-EffNet kullanılarak tümörlerin görüntü sınıflandırması. (Kaynak)
Link to this sectionGerçek zamanlı nesne algılama#
Nesne algılama, bir görüntüdeki nesneleri bulma ve konumlarını belirleme sürecidir. Güvenlik sistemleri, sürücüsüz arabalar ve dronlar gibi uygulamaların önemli bir parçasıdır.
EfficientNet, görüntülerden özellikler çıkarmak için çok verimli bir yol sunduğu için bu alanda önemli hale geldi. Derinlik, genişlik ve çözünürlüğü ölçeklendirme yöntemi, modellerin çok hantal veya yavaş olmadan nasıl doğru olabileceğini gösterdi. Bu nedenle EfficientDet gibi birçok algılama sistemi, temel yapı olarak EfficientNet'i kullanır.
Ultralytics YOLO11 gibi daha yeni modeller, hızı doğrulukla birleştirme hedefini paylaşır. Verimli modellere yönelik bu eğilim, EfficientNet gibi mimarilerden gelen fikirlerden güçlü bir şekilde etkilenmiştir.
Link to this sectionEfficientNet'in avantajları ve dezavantajları#
İşte bilgisayarlı görü projelerinde EfficientNet kullanmanın bazı faydaları:
- Daha az parametre ile yüksek doğruluk: EfficientNet, ResNet veya DenseNet gibi eski modellere benzer veya daha iyi doğruluk sunabilir. Ancak daha az parametre kullandığı için eğitilmesi daha hızlı ve dağıtılması daha kolaydır.
- Ölçeklenebilir model ailesi: B0'dan B7'ye kadar, temel ağı değiştirmeden donanımınıza ve hassasiyet gereksinimlerinize uyan bir sürüm seçebilirsiniz.
- Aktarımlı öğrenme için iyi: EfficientNet, önceden eğitilmiş bir modeli özel bir görev için yeniden eğitme süreci olan aktarımlı öğrenme için güvenilir model performansı sağlayabilir. Çeşitli bilgisayarlı görü görevleri için temel yapı olarak çalışabilir. Ayrıca ince ayar yapıldığında güçlü sonuçlar göstermiştir. Örneğin, yaygın olarak kullanılan bir görüntü sınıflandırma veri kümesi olan CIFAR-100 üzerinde, önceki modellere göre önemli ölçüde daha az parametre ile en üst düzey doğruluğa ulaşmıştır.
EfficientNet kullanmakla ilgili birçok avantaj olsa da, aklınızda bulundurmanız 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çeklendirme: Ölçeklendirme ayarları ImageNet veri kümesi için tasarlandığından, ince ayar yapılmadan çok farklı veri kümelerinde performans düşebilir. Bu, özellikle küçük veri kümeleri için geçerlidir, çünkü EfficientNet'in mimarisi ve ölçeklendirmesi, derinliğini ve genişliğini haklı çıkaracak kadar yeterli 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 verimlilik için tasarlanmış MBConv adlı katmanları kullanır. Eski GPU'larda veya CPU'larda bu katmanlar daha yavaş çalışabilir.
Link to this sectionÖne çıkanlar#
EfficientNet, derinliği, genişliği ve görüntü çözünürlüğünü dengede tutarak bilgisayarlı görü modellerinin büyüme şeklini değiştirdi. Hala önemli bir modeldir ve daha yeni mimarileri de etkilemiştir. Özellikle, bilgisayarlı görü tarihinde anlamlı bir yere sahiptir.
Yapay zeka hakkında daha fazla bilgi edinmek için topluluğumuza ve GitHub depomuza katıl. Sağlık hizmetlerinde yapay zeka 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ü ile geliştirmeye başla!






