Інтерактивне середовище для нейронних мереж

Пограйтеся з нейронною мережею прямо тут, у своєму вебпереглядачі.
Не хвилюйтеся, ви її не зламаєте. Обіцяємо.

Епохи 000,000

Дані

Який набір даних використовувати?

Ознаки

Які властивості ви хочете додати?

X1X2X12X22X1X2sin(X1)sin(X2)
Натисніть будь-де, щоб змінити значення.
Вага/упередженість становить 0,2.
Це вихідні дані одного нейрона. Наведіть курсор, щоб побачити більше.
Вихідні дані змішуються з різними значеннями ваги, що відображає товщина ліній.
4 neurons
2 neurons

2 Приховані шари

Вихідні дані

Втрати при тестуванні
0.508
Втрати при навчанні
0.509
-6-5-4-3-2-10123456-6-5-4-3-2-10123456
Кольори відображають значення даних, нейронів і ваги.
-101

То що таке нейронна мережа?

Це метод створення комп’ютерної програми, яка навчається на основі даних. Вона дуже наближена до того, як, на нашу думку, працює людський мозок. Спочатку створюється набір програмних "нейронів", з’єднаних між собою, що дає їм змогу надсилати повідомлення один одному. Потім мережу просять розв’язати задачу, і вона намагається зробити це знову й знову, щоразу посилюючи зв’язки, які ведуть до успіху, і послаблюючи ті, що спричиняють невдачу. Якщо ви хочете дізнатися більше про нейронні мережі, почитайте книгу Майкла Нільсена Neural Networks and Deep Learning (Нейронні мережі й глибинне навчання). Докладніше про технічні аспекти читайте в книзі Deep Learning (Глибинне навчання), автори – Ян Гудфеллоу, Йошуа Бенгіо й Аарон Курвілль.

Чудово. Та чи можу я використати це середовище для інших завдань?

Звісно! Ми зробили його загальнодоступним на GitHub, щоб нейронні мережі було легше освоїти й вони стали доступніші. Ви можете використовувати середовище в будь-який спосіб, який дозволяє наша ліцензія Apache. Якщо у вас є пропозиції щодо доповнень або змін, зв’яжіться з нами.

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

Що означають усі ці кольори?

Помаранчевий і синій кольори використовуються у візуалізації дещо по-різному, але загалом помаранчевий позначає від’ємні значення, а синій – додатні.

Точки даних (маленькі кола) спочатку забарвлюються помаранчевим або синім кольором, що відповідно означає додатні й від’ємні значення.

У розділі прихованих шарів лінії забарвлюються відповідно до значень ваги, присвоєних зв’язкам між нейронами. Синій колір означає додатну вагу. Це свідчить про те, що мережа використовує вихідні дані нейрона без змін. Помаранчева лінія показує, що мережа використовує від’ємне значення ваги.

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

Яку бібліотеку ви використовуєте?

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

Автори

Автори цього проекту – Даніель Смілков і Шан Картер. Це продовження попередніх напрацювань багатьох людей, зокрема демоверсії мережі convnet.js, яку створив Андрей Карпати, і статей Кріса Олаха про нейронні мережі. Щиро дякуємо також Д. Скаллі за допомогу з початковим задумом, а також Фернанді В’єгаш і Мартіну Ваттенбергу й решті команд Big Picture та Google Brain за відгуки й рекомендації.