Як знайти оптимальну кількість нейронів на шар?


28

Коли ви пишете свій алгоритм, як ви знаєте, скільки нейронів потрібно на один шар? Чи існують якісь методи пошуку оптимальної їх кількості, чи це правило?

Відповіді:


15

Немає прямого способу знайти їх оптимальну кількість: люди емпірично намагаються бачити (наприклад, використовуючи перехресну перевірку). Найпоширеніші методи пошуку - випадковий, ручний пошук та пошук по сітці.

Існують більш досконалі методи, такі як Гауссові процеси, наприклад, Оптимізація гіперпараметрів нейронної мережі за допомогою Гауссових процесів для класифікації актів діалогу , IEEE SLT 2016 .


7

Для більш розумного підходу, ніж випадкові чи вичерпні пошуки, ви можете спробувати генетичний алгоритм, такий як NEAT http://nn.cs.utexas.edu/?neat . Однак це не дає гарантії знайти глобальну оптиму, це просто алгоритм оптимізації, заснований на продуктивності, і тому він уразливий для того, щоб застрягти в локальній оптимі.


1
Все одно наблизиться до глобального оптимуму.
jjmerelo

4

Paper Szegedy C, Vanhoucke V, Ioffe S та ін. Переосмислення архітектури створення комп'ютерного зору [J]. arXiv preprint arXiv: 1512.00567, 2015. дає деякі загальні принципи дизайну:

  1. Уникайте уявних вузьких місць, особливо на початку роботи в мережі;

  2. Збалансуйте ширину та глибину мережі. Оптимальної продуктивності мережі можна досягти, врівноваживши кількість фільтрів на етап і глибину мережі. Збільшення як ширини, так і глибини мережі може сприяти підвищенню якості мережі. Однак оптимального поліпшення для постійної кількості обчислень можна досягти, якщо обидва збільшуються паралельно. Тому обчислювальний бюджет повинен розподілятися збалансовано між глибиною та шириною мережі.

Ці пропозиції, однак, не можуть принести вам оптимальну кількість нейронів у мережі.

Однак, є ще деякі модельні дослідження стиснення, наприклад, Structured Sparsity Learning (SSL) Deep Neural Networks , SqueezeNet , Pruning network, які можуть пролити деяке світло на оптимізацію нейронів на одному шарі.

Особливо в структурованому спорідненому навчанні глибоких нейронних мереж , він додає Group Lassoтермін регуляризації у функцію втрати для регуляризації структур (тобто фільтрів, каналів, форм фільтру та глибини шару) ДНЗ, а саме - нуль деяких компонентів ( тобто фільтри, канали, форми фільтру та глибина шару) структури мережі та досягають надзвичайно компактних та прискорених мереж, зберігаючи при цьому невеликі втрати точності класифікації.


3

Ви знаєте, коли у вас занадто багато нейронів, це коли ви переживаєте пристосування. Це означає, що це не добре, оскільки NN намагається активувати найдосконаліший матч, який неможливо. Як і дві різні кішки з однаковою кількістю атомів, або, скажімо так, це детектор NN, який активується лише на знімку вашої домашньої кішки і більше нічого. Ви хочете, щоб ширше діапазон активувався nn. Як і на будь-якій картині кота.

Переналагодження - це проблема, яка не має справжнього швидкого виправлення. Ви можете почати з занадто мало, а потім продовжувати додавати більше. Або почніть з великої кількості, а потім видаліть їх, поки це не спрацює правильно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.