Нейронні мережі: вузли й приховані шари

Щоб побудувати нейронну мережу, яка вивчає нелінійності, почніть зі знайомої структури: лінійної моделі, що має форму $y' = b + w_1x_1 + w_2x_2 + w_3x_3$.

Це рівняння можна візуалізувати, як показано нижче. Змінні $x_1$, $x_2$ й $x_3$ – це три вхідні вузли (сині), а $y'$ – вихідний вузол (зелений).

Вправа 1

У моделі, наведеній вище, значення ваги й зсуву було ініціалізовано випадковим чином. Виконайте завдання, наведені нижче, щоб ознайомитися з інтерфейсом і дослідити лінійну модель. Зараз ви можете ігнорувати спадне меню Activation Function (Функція активації); ця тема розглядається в модулі пізніше.

  1. Натисніть кнопку запуску (▶️) над мережею, щоб обчислити значення вихідного вузла для вхідних значень $x_1 = 1,00$, $x_2 = 2,00$ і $x_3 = 3,00$.

  2. Натисніть на другий вузол у вхідному шарі й збільште значення з 2,00 до 2,50. Зверніть увагу, що значення вихідного вузла змінилося. Виберіть вихідні вузли (зелені) і перегляньте панель Calculations (Обчислення), щоб побачити, як було отримано вихідне значення.

  3. Натисніть вихідний вузол (зелений), щоб побачити значення ваги ($w_1$, $w_2$, $w_3$) і зсуву ($b$) параметрів. Зменште вагу для $w_3$ (зауважте, що значення вихідного вузла й обчислення, наведені нижче, змінилися). Потім збільште значення зсуву. Подивіться, як ці зміни вплинули на результат роботи моделі.

Додавання шарів до мережі

Зауважте, що коли ви відкоригували значення ваги й зсуву мережі у вправі 1, це не змінило загального математичного співвідношення між вхідними й вихідними даними. Модель залишається лінійною.

Але якщо додати до мережі ще один шар між вхідним і вихідним шарами? У термінології нейронних мереж додаткові шари, розміщені між вхідним і вихідним, називають прихованими шарами, а їх вузли – нейронами.

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

Цей новий прихований шар дає змогу моделі рекомбінувати вхідні дані за допомогою іншого набору параметрів. Чи може це допомогти моделі вивчити нелінійні зв’язки?

Вправа 2

Ми додали до моделі прихований шар, що містить чотири нейрони.

Натисніть кнопку запуску (▶️) над мережею, щоб обчислити значення чотирьох вузлів прихованого шару й вихідного вузла для вхідних значень $x_1 = 1,00$, $x_2 = 2,00$ і $x_3 = 3,00$.

Потім вивчіть модель і використовуйте її, щоб відповісти на запитання нижче.

Скільки параметрів (значень ваги й зсуву) має ця модель нейронної мережі?
4
Наша початкова модель із вправи 1 мала чотири параметри: w11, w21, w31 і b. Оскільки ця модель містить прихований шар, параметрів більше.
12
Зверніть увагу, що загальна кількість параметрів включає як ті, що використовуються для обчислення значень вузлів прихованого шару на основі вхідних значень, так і ті, які потрібні для обчислення вихідного значення на основі значень вузлів прихованого шару.
16
Зверніть увагу, що загальна кількість параметрів включає значення як ваги, так і зсуву.
21
Є 4 параметри, які використовуються для обчислення кожного із 4 значень вузлів прихованого шару: 3 значення ваги (по одному для кожного вхідного значення) і зсув. Загалом це 16 параметрів. Потім для обчислення вихідного значення використовується 5 параметрів: 4 значення ваги (по одному для кожного вузла прихованого шару) і зсув. Усього ця нейронна мережа має 21 параметр.

Спробуйте змінити параметри моделі й спостерігайте, як це впливає на значення вузлів прихованого шару й вихідне значення (ви можете переглянути панель Calculations (Обчислення), щоб побачити, як отримано ці значення).

Чи може ця модель вивчати нелінійності?

Так
Натисніть на кожний із вузлів у прихованому шарі й на вихідний вузол і перегляньте наведені нижче обчислення. Що ви помічаєте в усіх цих обчисленнях?
Ні

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

Якщо потім натиснути на вихідний вузол і переглянути обчислення нижче, ви побачите, що воно також лінійне. Лінійні обчислення, виконані на основі вихідних даних лінійних обчислень, також є такими. А це означає, що модель не може вивчати нелінійності.