Gizli təbəqələrə təsadüfi səs-küy əlavə edilməsi nizamlama hesab olunurmu? Düşmə və toplu normallaşdırma ilə əlavə etmə arasındakı fərq nədir?


cavab 1:

Bəli, gizli təbəqələrə təsadüfi səs-küy əlavə etmək, açılan kimi nizamlamadır. Buradakı əsas intuisiya, hər bir növbədə sinir cavabının yüksək olduğu təqdirdə, məşqdə səs-küydən daha çox məsafəyə sahib olan ayrı-ayrı kateqoriyalara çəkilər düzəltməli olacaqdır. Buna görə səs-küy təsnifatı olmadığı zaman təsnifat daha sabit olmalıdır. Bu, Max Margin Təsnifatının necə işlədiyinə çox bənzəyir və hamımızın Max Margin üsullarının (məsələn, Dəstək Vektor Maşınları) nə qədər uğurlu olduğunu bilirik. Bununla birlikdə səs-küyün siqnaldan yayınmadığına əmin olmalısınız.

Buraxma bir ortalama bir model həyata keçirdiyinə görə nizamlama metodu sayılır. Yəni, təlim əsnasında, model əslində ağırlıqların sabit olduğu sinir şəbəkə modelləri sinfi arasında bir nöqtədə bir ehtimal bölgüsüdür, ancaq modeldəki neyronlardan biri itkin ola bilər. Hər bir sinir şəbəkəsinin ümumi ehtimalı müəyyən bir neyronun olması və ya itkin düşməsinin fərdi ehtimalı ilə müəyyən edilir. Bu ayrı-ayrı instansiyaların təhrifinə görə ortalama olduğu üçün xərcləmə funksiyasını hamarlaşdıran bir nizamlamadır.

Gizli təbəqəyə təsadüfi səs-küy əlavə etmək eyni şəkildə işləyir, lakin fərqli bir ehtimal paylanması ilə. Sabit çəkilər əvəzinə sabit bir topologiyanız var və ehtimal paylanması "əsl" çəkilərə, yəni sabit diskinizdə saxladığınız çəkilərə əsaslanan Gaussian paylanmasına görə təsadüfi olaraq çəkiləri seçir. Bu da ortalama bir modeldir və səs-küyün (dəyişkənliyin) siqnalın altına girməməsi üçün məhdudlaşdırma ilə tənzimləyici təsir göstərməlidir. Məsələn, BatchNorm'u ilk dəfə istifadə edirsinizsə, təxminən normal bir standart çıxış profiliniz var (bir dəyişmə ilə sıfır nöqtədə mərkəzləşdirilmiş bölmələr) və daha sonra, məsələn, 0,1 nisbətində səs-küy tətbiq edə bilərsiniz. Nəyin işlədiyini görmək üçün ixtilafla oynaya bilərsiniz.

Düzəliş: BatchNorm sualda xatırlandığından, BatchNorm-un həqiqətən nizamlama üçün istifadə edilmədiyini qeyd etmək istədim. Yəni BatchNorm xərcləri hamarlaşdırmır. Bunun əvəzinə BatchNorm arxa yayılmanın işini yaxşılaşdırmaq üçün əlavə olunur. Əslində, geri yayılan qradiyonun qurtarılması və yenidən mərkəzləşdirilməsi ilə çox böyük və ya çox kiçik olmasının qarşısını alır. Bir texnika olaraq, xərc səthinin əyriliyini modelləşdirməyə çalışan ikinci dərəcəli optimallaşdırma metodlarına daha dərin əlaqələrə malikdir. Yuxarıda qeyd edildiyi kimi, BatchNorm sinir fəaliyyətlərinə təsadüfi səs-küy əlavə etdikdə nisbi miqyasın düzgün olmasını təmin etmək üçün də istifadə edilə bilər.


cavab 2:

Bunu nizamlama yox, optimallaşdırma hiyləsi hesab edərdim.

Təsir SGD-də stoxastikliyin təsirinə uyğun olmalıdır.

SGD və onun ilham verdiyi Monte Carlo üsulları, dik enmə istiqamətinə ciddi şəkildə getmək əvəzinə zaman-zaman təsadüfi bir addım ataraq pis yerli minimaya ilişməkdən qaçın. və ya onların müxtəlif təcəssümlərində, məsələn, ekvivalent bir şey etmək. B. Müntəzəm olaraq təsadüfi bir addım atmağın əvəzinə hər bir addım üçün təsadüfi bir komponent əlavə edin.

Ağırlıqlara zəif təsadüfi səs-küy əlavə etmək eyni şeyi edir. [Qeyd: Gradient enməsi hər iterasiyada çəkilərə bir şey əlavə edir!]


cavab 3:

Düzəliş et:

Hər bir təbəqənin giriş məlumatlarına Gaussian tərəfindən paylanmış təsadüfi səs-küy əlavə etməklə modeliniz məlumatların kiçik dəyişikliklərinə daha möhkəm ola bilər, beləliklə şəbəkəniz səs-küyü siqnaldan daha yaxşı ayırd edə bilər. Zeeshan Zia'nın dediyi kimi, bu mahiyyətcə layiqli bir stoxastik gradient olardı. Hələ bu nizamlılığı düşünməzdim. Səsinizi siqnaldan ayırmaq üçün nümunənizi öyrənmək üçün modelinizin istifadə edə biləcəyi bir texnikadır.

Düşmə təsadüfi hər keçid ilə gizli səviyyədə düyünlərin müəyyən bir nisbətini aktivləşdirir. Bu şəbəkəni inkişaf etdirir, çünki eyni nümunələri fərqli yollarla tanımağı öyrənməlidir, daha yaxşı bir modelə səbəb olur.

Toplu normallaşdırma zamanı girişləri bir səviyyədə aparın və hamısının 0 ilə 1 arasında normallaşdığını təmin edin. Bu, şəbəkəni daha yaxşı öyrənməyə kömək edir, çünki gradient daha layiqli və bərabər qalır. Bu yolla, yamacınız çox böyük olduğu üçün minima ətrafında atlanmağın qarşısını alırsınız.