Чому у нейромережах використовуються упереджені вузли?


29
  1. Чому у нейромережах використовуються упереджені вузли?
  2. Скільки ви повинні використовувати?
  3. У яких шарах ви повинні їх використовувати: усі приховані шари та вихідний шар?

1
Це питання трохи широке для цього форуму. Я думаю, що було б найкраще проконсультуватися з підручником, який обговорюватиме нейронні мережі, такі як Нейронні мережі Бішопа для розпізнавання візерунків або Дизайн нейронної мережі Хагана .
Sycorax каже, що повернеться до Моніки

2
FTR, я не думаю, що це занадто широко.
gung - Відновіть Моніку

Відповіді:


24

Вузол зміщення в нейронній мережі - це вузол, який завжди "увімкнено". Тобто його значення встановлюється на без урахування даних у заданій схемі. Він аналогічний перехопленню в регресійній моделі і виконує ту саму функцію. Якщо нейронна мережа не має вузла зміщення в заданому шарі, вона не зможе виробляти вихід у наступному шарі, який відрізняється від 0 (у лінійній шкалі, або значення, що відповідає перетворенню 0 при проходженні через функція активації), коли значення функції дорівнюють 0 .1000

введіть тут опис зображення

x1x2yx1x2x1=x2=00w1w2y.5

50%(0,1)x1=x2=0jNj+1Nj+1j+1

Маючи на увазі це розуміння, ми можемо відповісти на ваші чіткі запитання:

  1. 0
  2. Як правило, для вхідного шару та кожного прихованого шару у мережі подачі додається один вузол зміщення. Ви ніколи не додасте два або більше до заданого шару, але ви можете додати нуль. Таким чином, загальна кількість значною мірою визначається структурою вашої мережі, хоча можуть бути застосовані й інші міркування. (Мені менш зрозуміло, як вузли зміщення додаються до нейронних мережних структур, окрім feedforward.)
  3. Здебільшого це було висвітлено, але щоб бути явним: ви ніколи не додасте вузол зміщення у вихідний шар; це не мало б сенсу.

Чи відрізняється CNN в цьому плані? оскільки коли я додаю упередженість до своїх шарів conv, продуктивність (точність) знижується! а коли я їх знімаю, то насправді йде вище!
Ріка

@Hossein, не те, що я знаю, але ви можете задати нове запитання. Я там не великий експерт.
gung - Відновіть Моніку

Мені все-таки потрібні вузли зміщення, якщо мої входи ніколи не переходять до 0?
alec_djinn

1
@alec_djinn, так. Майже напевно модель не буде упереджена без них, навіть якщо у вас ніколи не буде 0 для вхідного значення. За аналогією, це може допомогти прочитати: Коли нормально зняти перехоплення в лінійній регресійній моделі?
gung - Відновити Моніку

1
1

2

Прості, короткі відповіді:

  1. Перемістити функцію введення / бути більш гнучким щодо засвоєної функції.
  2. Єдиний вузол зміщення на шар.
  3. Додайте їх до всіх прихованих шарів, а вхідний шар - за допомогою деяких виносок

У кількох експериментах моєї дипломної роботи (наприклад, стор. 59) я виявив, що зміщення може бути важливим для першого шару (ив), але особливо на повністю з'єднаних шарах в кінці, здається, це не відіграє великої ролі. Отже, їх можна мати на перших шарах, а не на останніх. Просто тренуйте мережу, побудуйте розподіл ваг вузлів зміщення та обріжте їх, якщо ваги здаються занадто близькими до нуля.

Це може сильно залежати від мережевої архітектури / набору даних.


Чи буде у вузолі зсуву стрілки, що підключаються до нього з попереднього шару? або він просто сприяє наступному шару, помноживши його значення "1" на вагу на зважену суму, передану активації. Відповідь на це допоможе заощадити години, будь ласка, допоможіть
krupesh Anadkat

1
Зміщення - це лише додане число до активації наступних шарів. Один із способів візуалізації - це постійне 1значення попереднього шару та одна вага (одне значення зміщення) для кожного з наступних шарів нейронів.
Мартін Тома

2

У контексті нейронних мереж Batch Normalization на даний момент є золотим стандартом для створення розумних "упереджених вузлів". Замість того, щоб затискати значення зміщення нейрона, ви замість цього налаштовуєте для коваріації входу нейрона. Тож у CNN ви застосували пакетну нормалізацію саме між згортковим шаром та наступним повністю пов'язаним шаром (скажімо, ReLus). Теоретично всі повністю пов'язані шари можуть отримати вигоду від пакетної нормалізації, але це на практиці стає дуже дорогим для впровадження, оскільки кожна нормалізація партії має свої параметри.

Щодо того, більшість відповідей уже пояснювали, що, зокрема, нейрони чутливі до насичених градієнтів, коли вхід підштовхує активацію до крайньої межі. У випадку ReLu це буде натиснуто наліво, даючи градієнт 0. Загалом, коли ви тренуєте модель, ви спочатку нормалізуєте входи в нейронну мережу. Нормалізація партії - це спосіб нормалізації входів всередині нейронної мережі, між шарами.

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