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

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

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

Вправа 1

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

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

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

  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 мала чотири параметри: w 11 , w 21 , w 31 та b. Оскільки ця модель містить прихований шар, параметрів більше.
12
Зверніть увагу, що загальна кількість параметрів включає як параметри, що використовуються для обчислення значень вузлів у прихованому шарі з вхідних значень, так і параметри, що використовуються для обчислення вихідного значення з значень вузлів у прихованому шарі.
16
Зверніть увагу, що загальна кількість параметрів включає як вагові параметри, так і параметри зміщення.
21 рік
Для обчислення кожного з 4 значень вузлів у прихованому шарі використовується 4 параметри — 3 ваги (по одній для кожного вхідного значення) та зміщення — що в сумі дає 16 параметрів. Потім є 5 параметрів, що використовуються для обчислення вихідного значення: 4 ваги (по одній для кожного вузла в прихованому шарі) та зміщення. Загалом ця нейронна мережа має 21 параметр.

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

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

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

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

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