Щоб побудувати нейронну мережу, яка вивчає нелінійності, почніть зі знайомої структури: лінійної моделі, що має форму $y' = b + w_1x_1 + w_2x_2 + w_3x_3$.
Це рівняння можна візуалізувати, як показано нижче. Змінні $x_1$, $x_2$ й $x_3$ – це три вхідні вузли (сині), а $y'$ – вихідний вузол (зелений).
Вправа 1
У моделі, наведеній вище, значення ваги й зсуву було ініціалізовано випадковим чином. Виконайте завдання, наведені нижче, щоб ознайомитися з інтерфейсом і дослідити лінійну модель. Зараз ви можете ігнорувати спадне меню Activation Function (Функція активації); ця тема розглядається в модулі пізніше.
Натисніть кнопку запуску (▶️) над мережею, щоб обчислити значення вихідного вузла для вхідних значень $x_1 = 1,00$, $x_2 = 2,00$ і $x_3 = 3,00$.
Натисніть на другий вузол у вхідному шарі й збільште значення з 2,00 до 2,50. Зверніть увагу, що значення вихідного вузла змінилося. Виберіть вихідні вузли (зелені) і перегляньте панель Calculations (Обчислення), щоб побачити, як було отримано вихідне значення.
Натисніть вихідний вузол (зелений), щоб побачити значення ваги ($w_1$, $w_2$, $w_3$) і зсуву ($b$) параметрів. Зменште вагу для $w_3$ (зауважте, що значення вихідного вузла й обчислення, наведені нижче, змінилися). Потім збільште значення зсуву. Подивіться, як ці зміни вплинули на результат роботи моделі.
Додавання шарів до мережі
Зауважте, що коли ви відкоригували значення ваги й зсуву мережі у вправі 1, це не змінило загального математичного співвідношення між вхідними й вихідними даними. Модель залишається лінійною.
Але якщо додати до мережі ще один шар між вхідним і вихідним шарами? У термінології нейронних мереж додаткові шари, розміщені між вхідним і вихідним, називають прихованими шарами, а їх вузли – нейронами.
Значення кожного нейрона прихованого шару обчислюється так само, як вихідні дані лінійної моделі: знайдіть добутки кожної пари вхідних даних (нейронів із попереднього шару) і унікального параметра ваги, а потім обчисліть суму їх усіх і додайте зсув. Подібним чином обчислюються нейрони наступного шару (тут він вихідний), при цьому як вхідні дані використовуються значення нейронів прихованого шару.
Цей новий прихований шар дає змогу моделі рекомбінувати вхідні дані за допомогою іншого набору параметрів. Чи може це допомогти моделі вивчити нелінійні зв’язки?
Вправа 2
Ми додали до моделі прихований шар, що містить чотири нейрони.
Натисніть кнопку запуску (▶️) над мережею, щоб обчислити значення чотирьох вузлів прихованого шару й вихідного вузла для вхідних значень $x_1 = 1,00$, $x_2 = 2,00$ і $x_3 = 3,00$.
Потім вивчіть модель і використовуйте її, щоб відповісти на запитання нижче.
Спробуйте змінити параметри моделі й спостерігайте, як це впливає на значення вузлів прихованого шару й вихідне значення (ви можете переглянути панель Calculations (Обчислення), щоб побачити, як отримано ці значення).
Чи може ця модель вивчати нелінійності?
Якщо натиснути на кожен із вузлів прихованого шару й переглянути обчислення нижче, ви побачите, що всі вони лінійні (включають операції множення й додавання).
Якщо потім натиснути на вихідний вузол і переглянути обчислення нижче, ви побачите, що воно також лінійне. Лінійні обчислення, виконані на основі вихідних даних лінійних обчислень, також є такими. А це означає, що модель не може вивчати нелінійності.