Google Başlangıç ​​modeli: neden birden fazla softmax var?


13

Google Inception modelinin topolojisi şu adreste bulunabilir: Google Inception Netowrk

Bu modelde (# 154, # 152, # 145) 3 softmax katmanı olduğunu fark ettim ve bunlardan 2 tanesi bu modelin erken kaçış şekli.

Bildiğim kadarıyla, softmax katman nihai çıktı için, neden bu kadar çok var? diğer 2 katmanın amacı nedir?

Yanıtlar:


27

Kısa cevap: Derin mimariler ve özellikle GoogLeNet (22 katman) eğitim sırasında kaybolan gradyan problemi tehlikesiyle karşı karşıyadır (geri yayılma algoritması). GoogLeNet mühendisleri ara katmanlara sınıflandırıcılar ekleyerek bu sorunu ele aldılar, böylece nihai kayıp ara kayıp ve son kaybın bir kombinasyonu olacak. Bu nedenle, ağın son katmanı olarak her zamanki tek katmanın aksine toplam üç kayıp katmanı görüyorsunuz.

Daha uzun cevap: Klasik Makine Öğreniminde, genellikle özellik mühendisliği ve sınıflandırma arasında bir ayrım vardır. Sinir ağları, sorunları "uçtan uca" çözme yetenekleri ile ünlüdür, yani, veriler için bir temsili öğrenme ve bir sınıflandırıcı eğitimi aşamalarını birleştirirler. Bu nedenle, standart bir mimariye sahip bir sinir ağını (örneğin, AlexNet) bir "temsil öğrenme" aşamasından (öncekinden sonuncuya kadar katmanlar) ve beklendiği gibi aşağıdakileri içeren bir "sınıflandırma" aşamasından oluşur. bir kayıp işlevi.

Daha derin ağlar oluştururken, "yok olan degradeler" sorunu olarak ortaya çıkan bir sorun ortaya çıkar. Aslında sinir ağlarına özgü değildir; bunun yerine herhangi bir gradyan tabanlı öğrenme yöntemine Bu önemsiz değildir ve bu nedenle kendisi için uygun bir açıklamayı hak eder; iyi bir referans için buraya bakınız . Sezgisel olarak, ağın içinde ne kadar derine inersek, gitgide daha az bilgi taşıyan degradeleri düşünebilirsiniz, bu da büyük bir endişe kaynağıdır, çünkü ağın parametrelerini (ağırlıklarını) yalnızca degradelere dayalı olarak "back-prop" "algoritması.

GoogLeNet geliştiricileri bu sorunu nasıl ele aldı? Tüm ayrımcı bilgileri taşıyan sadece son katmanların özellikleri olmadığını fark ettiler: ara özellikler de farklı etiketleri ayırt edebiliyor; ve en önemlisi, degradenin daha fazla bilgi taşıdığı önceki katmanlardan çıkarıldıklarından değerleri daha "güvenilir" dir. Bu sezgiye dayanarak, iki ara katmana "yardımcı sınıflandırıcılar" eklediler. Sorunuzda atıfta bulunduğunuz ağın ortasındaki "erken kaçış" kayıp katmanlarının nedeni budur.

Toplam kayıp, bu üç kayıp katmanının bir kombinasyonudur. Orijinal makaleden alıntı yapıyorum:

Bu sınıflandırıcılar, Inception (4a) ve (4d) modüllerinin çıktısının üstüne konulan daha küçük kıvrımlı ağlar şeklindedir. Eğitim sırasında kayıpları, indirgenmiş bir ağırlıkla ağın toplam kaybına eklenir (yardımcı sınıflandırıcıların kayıpları 0,3 oranında ağırlıklandırılmıştır). Çıkarım sırasında, bu yardımcı ağlar atılır.

Görme:

resim açıklamasını buraya girin


1
"... degradenin daha fazla bilgi taşıdığı önceki katmanlar" - neden böyle?
maksimum

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.