Домашнє завдання

Активації та ініціалізація

Мета цієї роботи одна: перестати вірити на слово, що «ReLU краща за сигмоїду», і навчитись показувати числом, у чому саме різниця і де вона зникає. Усі три рівні спираються на ту саму дошку оголошень і ті самі функції з практики.


рівень 1Рівень 1 — База

Повтори дослід із затуханням градієнта, але зміни в ньому одну річ: ширину шарів. Функція норми_провини з практики бере ширину параметром — прожени її для ширини 8, 32 і 128 при десяти шарах, для сигмоїди й для ReLU.

Для кожного випадку випиши три числа: норму провини першого шару, відношення «перший до останнього» та множник на шар (це відношення в степені 1/9).

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


рівень 2Рівень 2 — Плюс

Перевір твердження, яке лекція проголосила, але не довела до кінця: He працює для ReLU, Xavier — для tanh, і навпаки вони не працюють.

Перепиши функцію дисперсії_по_шарах так, щоб активація теж була параметром, і побудуй таблицю на чотири стовпці:

Xavier He
tanh ? ?
ReLU ? ?

У клітинках — множник дисперсії на шар (геометричне середнє за десять шарів). Побудуй також графік із чотирма кривими.

Зроблено, якщо: таблиця заповнена числами, і для кожної з чотирьох клітинок написано одне речення, що з цією парою станеться на мережі з тридцяти шарів. Окремо назви, яка з чотирьох комбінацій найгірша, і поясни чому — не «бо так у статті», а через множник.


рівень 3Рівень 3 — Виклик

Побудуй карту виживання ReLU: як частка мертвих нейронів залежить одразу від двох речей — швидкості навчання й масштабу початкових ваг.

Що треба зробити:

  1. навчи мережу 2 → 64 → 1 на сітці: швидкість навчання з [0.5, 1, 2, 5, 10, 20, 50], масштаб ваг як множник × sqrt(2/n_in) з множник ∈ [0.1, 0.5, 1, 2, 5] — усього 35 запусків;
  2. для кожного запуску запиши частку мертвих нейронів і точність;
  3. намалюй теплову карту imshow: рядки — масштаб, стовпці — швидкість навчання, колір — частка мертвих;
  4. окремо познач на карті клітинки, де точність вища за 0.92.

Зроблено, якщо: карта побудована, і ти сформулював письмово дві межі, які на ній видно: (1) за яким приблизно добутком «крок × масштаб» починають масово вмирати нейрони і (2) чи існує на карті область, де нейрони живі, а точність усе одно погана. Якщо існує — поясни, що саме там заважає навчанню, якщо ні — покажи, що її нема.


Підказки