Makine öğrenimi modelinin “kapasitesi” nedir?


15

Carl Doersch'in Variational Autoencoders üzerine olan bu eğitimini inceliyorum . İkinci sayfada şunları belirtir:

Bu tür en popüler çerçevelerden biri, bu öğreticinin konusu olan Variational Autoencoder [1, 3]. Bu modelin varsayımları zayıftır ve backpropagation yoluyla eğitim hızlıdır. VAE'ler bir tahmin yapar, ancak yüksek kapasiteli modeller göz önüne alındığında bu yaklaşımın getirdiği hata tartışmalıdır . Bu özellikler popülerliklerinde hızlı bir artışa katkıda bulunmuştur.

Geçmişte yüksek kapasiteli modeller hakkında bu tür iddiaları okudum , ancak bunun için net bir tanım bulamıyorum. Bu ilgili yığın akışı sorusunu da buldum, ancak bana cevap çok tatmin edici değil.

Bir modelin kapasitesi için bir tanım var mı? Ölçebilir misin?

Yanıtlar:


13

Kapasite gayri resmi bir terimdir. Model karmaşıklığına çok yakındır (eşanlamlı olmasa bile). Bir modelin veya modelin ne kadar karmaşık bir ifadeyi ifade edebileceği hakkında konuşmanın bir yolu. Daha yüksek kapasiteli bir modelin, daha düşük değişkenli bir modelden daha fazla değişken arasında daha fazla ilişki modelleyebilmesini bekleyebilirsiniz.

Konuşma dilinin tanımsal tanımından bir benzetme yaparak, bunu bir modelin tamamen bilgi ile "dolduruluncaya kadar" daha fazla veriyi öğrenme yeteneği olarak düşünebilirsiniz.

Kapasiteyi resmileştirmenin ve bunun için sayısal bir değeri hesaplamanın çeşitli yolları vardır, ancak daha da önemlisi, bunlar kapasitenin olası bazı "operasyonelleştirmeleridir" (tıpkı birisinin güzelliği hesaplamak için bir formül bulması durumunda, formül güzelliğin sadece bir yanlış yorumudur).


VC boyutu , kapasitenin matematiksel olarak titiz bir formülasyondur. Bununla birlikte, bir modelin VC boyutu ile modelin verilere uyması için gerçek yeteneği arasında büyük bir boşluk olabilir. VC loşunun bilinmesi modelin genelleme hatasına bir sınır verse de, bu genellikle sinir ağları için yararlı olamayacak kadar gevşek.

Burada görülen başka bir araştırma çizgisi, bir sinir ağındaki ağırlık matrislerinin spektral normunu bir kapasite ölçüsü olarak kullanmaktır. Bunu anlamanın bir yolu, spektral normun ağın Lipschitz sabitini sınırlamasıdır.

Bir modelin kapasitesini tahmin etmenin en yaygın yolu, parametre sayısını saymaktır. Daha fazla parametre, genel olarak kapasite artar. Tabii ki, genellikle daha küçük bir ağ, daha karmaşık verileri daha büyük bir ağdan daha iyi modellemeyi öğrenir, bu nedenle bu önlem de mükemmel olmaktan uzaktır.

Kapasiteyi ölçmenin başka bir yolu, modelinizi rastgele etiketlerle eğitmek olabilir ( Neyshabur ve diğerleri ) - ağınız rastgele etiketlerle birlikte bir grup girişi doğru bir şekilde hatırlayabilirse, temel olarak modelin tüm bunları hatırlama yeteneğine sahip olduğunu gösterir. ayrı ayrı veri noktaları. "Öğrenilebilen" giriş / çıkış çiftleri ne kadar fazla olursa, kapasite o kadar yüksek olur.

ϵ


1
Bu, stackoverflow'dan daha iyi bir cevap, teşekkürler. Hala gevşek bir şekilde tanımlanmış terimleri başka bir şey için bir gerekçe olarak görmekte biraz sorun yaşıyorum, ancak sanırım alan bu şekilde ilerliyor.
Andrés Marafioti

1
"Bir modelin VC boyutu ile modelin gerçek kapasitesi arasında büyük bir boşluk olabilir." "gerçek kapasite" tam olarak tanımlanmadığı için bu oldukça yanıltıcı bir ifadedir. Aslında, VC boyutu bir modelin kapasitesinin iyi bir ölçüsüdür. Sadece sinir ağları belirli sorunları çözdüğü için onları "son derece yetenekli" yapmaz. Aslında, çoğu zaman insanlar sinir ağlarının bir problemi çözdüğünü düşünürken, çok daha basit bir problemi çözerler ve aslında felaketle başarısız olurlar (çünkü daha basit bir problemi çözmek için "beklenmedik bir şekilde eğitildiler).
nbro
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.