Kapasitas adalah istilah informal. Sangat dekat (jika bukan sinonim) untuk kompleksitas model. Ini adalah cara untuk berbicara tentang betapa rumitnya suatu pola atau hubungan yang dapat diekspresikan oleh seorang model. Anda bisa mengharapkan model dengan kapasitas lebih tinggi untuk dapat memodelkan lebih banyak hubungan antara lebih banyak variabel daripada model dengan kapasitas lebih rendah.
Menggambar analogi dari definisi sehari-hari kapasitas, Anda dapat menganggapnya sebagai kemampuan model untuk belajar dari lebih banyak data, hingga benar-benar "diisi" dengan informasi.
Ada berbagai cara untuk memformalkan kapasitas dan menghitung nilai numerik untuknya, tetapi yang penting ini hanyalah beberapa "operasionalisasi" kapasitas yang mungkin (dengan cara yang sama seperti itu, jika seseorang datang dengan formula untuk menghitung kecantikan, Anda akan menyadari bahwa rumusnya hanyalah satu interpretasi yang keliru tentang keindahan).
Dimensi VC adalah formulasi kapasitas matematis yang ketat. Namun, bisa ada kesenjangan besar antara dimensi VC suatu model dan kemampuan aktual model untuk mencocokkan data. Meskipun mengetahui VC redup memberi batasan pada kesalahan generalisasi model, ini biasanya terlalu longgar untuk berguna dengan jaringan saraf.
Garis lain dari penelitian lihat di sini adalah untuk menggunakan norma spektral dari matriks berat dalam jaringan saraf sebagai ukuran kapasitas. Salah satu cara untuk memahami ini adalah bahwa norma spektral membatasi konstanta Lipschitz dari jaringan.
Cara paling umum untuk memperkirakan kapasitas suatu model adalah dengan menghitung jumlah parameter. Semakin banyak parameter, semakin tinggi kapasitas secara umum. Tentu saja, seringkali jaringan yang lebih kecil belajar memodelkan data yang lebih kompleks lebih baik daripada jaringan yang lebih besar, sehingga ukuran ini juga jauh dari sempurna.
Cara lain untuk mengukur kapasitas mungkin dengan melatih model Anda dengan label acak ( Neyshabur et. Al ) - jika jaringan Anda dapat dengan benar mengingat banyak input bersama dengan label acak, itu pada dasarnya menunjukkan bahwa model memiliki kemampuan untuk mengingat semua titik data secara individual. Semakin banyak pasangan input / output yang dapat "dipelajari", semakin tinggi kapasitasnya.
Mengadaptasi ini ke auto-encoder, Anda dapat menghasilkan input acak, melatih jaringan untuk merekonstruksi mereka, dan kemudian menghitung berapa banyak input acak yang Anda dapat berhasil merekonstruksi dengan kesalahan kurang dari .ϵ