У машинному навчанні нейронне поле (також відоме як неявне нейронне подання, неявна нейронна модель або координатно-орієнтована нейронна мережа) — це математичне поле, яке повністю або частково параметризується нейронною мережею. Спочатку нейронні поля розробляли для задач візуальних обчислень, таких як рендеринг або об'ємна відбудова (наприклад, нейронні поля випромінюваності). Згодом нейронні поля проявили себе як перспективна стратегія для ширшого класу задач, зокрема для сурогатного моделювання диференціальних рівнянь з частинними похідними, як-от у нейронних мережах, поінформованих фізикою.
На відміну від традиційних алгоритмів машинного навчання, зокрема нейронних мереж прямого поширення, згорткових мереж або трансформерів, нейронні поля працюють не з дискретними даними (наприклад, послідовностями, ми, токенами), а відображають неперервні входи (наприклад, просторові координати, час) у неперервні виходи (тобто скаляри, вектори тощо). Це робить нейронні поля не лише незалежними від дискретизації, а й такими, що легко диференціюються. Крім того, робота з неперервними даними дозволяє істотно зменшити просторову складність, що означає значно «легшу» мережу.
Формулювання та навчання Згідно з теоремою універсальної апроксимації, за умови належного навчання, достатньої кількості прихованих нейронів та наявності детермінованого зв'язку між входом і виходом, нейронна мережа може апроксимувати будь-яку функцію з довільною точністю.
Отже, у математичних термінах, якщо задано поле , де і , то нейронне поле з параметрами має властивість:
Навчання
Для задач навчання з учителем, маючи зразків у навчальному наборі даних (тобто ), параметри нейронного поля можна знайти шляхом мінімізації функції втрат (наприклад, середньоквадратичної похибки). Параметри , що розв'язують задачу оптимізації, визначаються як:Зауважимо, що знати аналітичний вираз не обов'язково, адже наведена процедура навчання потребує лише пар «вхід–вихід». Справді, нейронне поле здатне надавати неперервний і диференційовний сурогат істинного поля навіть за наявності суто експериментальних даних.
Крім того, нейронні поля можна застосовувати і в режимі навчання без учителя, з цілями навчання, що залежать від конкретної задачі. Наприклад, нейронні мережі, поінформовані фізикою, можуть навчатися лише на нев'язці.
Спектральне зміщення
Як і для будь-якої штучної нейронної мережі, для нейронних полів характерне спектральне зміщення (тобто тенденція переважно вивчати низькочастотний частотний вміст поля), що може призводити до поганого відтворення істинного розв'язку. Щоб подолати це обмеження, розроблено кілька стратегій. Наприклад, SIREN використовує синусоїдні функції активації, тоді як підхід Fourier-features вбудовує вхід через синуси й косинуси.
Умовні нейронні поля Однак у багатьох реальних випадках навчити одне поле недостатньо. Наприклад, під час відновлення 3D-форм транспортних засобів із даних лідара бажано мати модель машинного навчання, що може працювати з довільними формами (наприклад, автомобілем, велосипедом, вантажівкою тощо). Розв'язанням є введення додаткових параметрів — латентних змінних (або латентного коду) , які змінюють поле й дають змогу адаптувати його до різних задач.
Отримання латентного коду
Під час роботи з умовними нейронними полями перший вибір проєктування полягає у способі отримання латентного коду. Зокрема, можна виділити дві основні стратегії:
Енкодер: латентний код є виходом другої нейронної мережі, що виконує роль енкодера. Під час навчання функція втрат слугує ціллю для навчання параметрів і нейронного поля, і енкодера. Автодекодування: кожен навчальний приклад має власний латентний код, який навчається спільно з параметрами нейронного поля. Коли модель має обробляти нові приклади (тобто такі, що не входили до навчального набору даних), розв'язується невелика задача оптимізації: параметри мережі фіксуються, а навчаються лише нові латентні змінні.
Оскільки друга стратегія потребує додаткових кроків оптимізації під час виконання моделі, вона жертвує швидкістю, але робить загальну модель меншою. Крім того, хоча енкодер простіше реалізувати, він може погіршувати здатність моделі до узагальнення. Наприклад, для фізичного скалярного поля (наприклад, тиску 2D рідини), умовне нейронне поле на основі автодекодування може відображати одну точку у відповідне значення поля, керуючись вивченим латентним кодом . Однак якби латентні змінні продукувалися енкодером, це вимагало б доступу до повного набору точок і відповідних значень (наприклад, у вигляді регулярної ґратки або сітки-графа), що приводило б до менш стійкої моделі.
Глобальне та локальне кондиціювання У нейронному полі з глобальним кондиціюванням латентний код не залежить від входу і, отже, задає глобальне подання (наприклад, загальну форму транспортного засобу). Однак залежно від задачі може бути корисніше розбити область визначення на кілька підобластей і навчати окремі латентні коди для кожної з них (наприклад, розбиття великої й складної сцени на підсцени для ефективнішого рендерингу). Це називається локальним кондиціюванням.
Стратегії кондиціювання Існує кілька стратегій включення інформації кондиціювання в нейронне поле. У загальній математичній схемі кондиціювання нейронного поля латентними змінними еквівалентне відображенню їх у підмножину параметрів нейронного поля:На практиці поширені такі підходи:
Конкатенація: нейронне поле отримує на вхід конкатенацію початкового входу з латентними кодами . Для мереж прямого поширення це еквівалентно тому, щоб розглядати як зміщення першого шару, а — як афінне перетворення. Гіпермережі: гіпермережа — це нейронна мережа, яка видає параметри іншої нейронної мережі. Зокрема, ідея полягає в апроксимації нейронною мережею , де — треновані параметри гіпермережі. Це найзагальніший підхід, оскільки він дозволяє навчити оптимальне відображення від латентних кодів до параметрів нейронного поля. Однак гіпермережі мають вищу обчислювальну та пам'яттєву складність через велику кількість тренованих параметрів, тому розроблено «легші» альтернативи. Наприклад, у Feature-wise Linear Modulation (FiLM) гіпермережа продукує лише коефіцієнти масштабу та зміщення для шарів нейронного поля.
Мета-навчання
Замість того щоб покладатися на латентний код для адаптації нейронного поля до конкретної задачі, можна використати градієнтно-орієнтоване мета-навчання. У цьому разі нейронне поле розглядається як спеціалізація базового мета-нейронного поля, параметри якого модифікуються під конкретну задачу за кілька кроків градієнтного спуску. Розширенням цього підходу є алгоритм CAVIA, який ділить треновані параметри на контекстно-специфічні та спільні групи, покращуючи паралелізацію й інтерпретованість та зменшуючи мета-перенавчання. Ця стратегія подібна до умовного нейронного поля з автодекодуванням, однак процедура навчання суттєво відрізняється.
Застосування Завдяки можливості ефективно моделювати різноманітні математичні поля нейронними мережами, нейронні поля застосовують у широкому спектрі задач:
3D-реконструкція сцен: нейронні поля можна використовувати для моделювання властивостей 3D-сцен (тобто геометрії, візуального вигляду, матеріалів і освітлення) як у статичних, так і в динамічних випадках. Наприклад, нейронне поле може навчатися знаковим функціям відстані (SDF), або функціям заповненості, які дають ефективне й неперервне подання геометрії. Інший приклад — нейронні поля випромінюваності (NeRF), що вчаться рендерити 3D-сцени, відображаючи координати та кути огляду у відповідні випромінюваність і густину. Цифрові люди: нейронні поля можуть моделювати форму й вигляд людини та включати інформацію про складні рухи людського тіла. Генеративне моделювання: завдяки кондиціюванню нейронні поля можуть працювати і як глибокі генеративні моделі. Обробка зображень: порівняно зі згортковими мережами, нейронні поля дають неперервне подання зображення і тому не обмежені початковою піксельною дискретизацією. Робототехніка: переваги нейронних полів у реконструкції сцен корисні й у робототехніці, оскільки навігація вимагає відновлення оточення за даними сенсорів. Крім того, нейронні поля можна використовувати для планування та керування. Компресія даних із втратами Обробка сигналів
Наукові обчислення: наукове машинне навчання (SciML) нещодавно сформувалося як поєднання фізично-орієнтованих і орієнтованих на дані моделей для чисельного розв'язування диференціальних рівнянь. У цьому контексті здатність нейронних полів моделювати вхід і розв'язок у неперервний та диференційовний спосіб є надзвичайно цінною. Наприклад, physics-informed neural networks (PINN) використовують нейронні поля, щоб включати до цілі навчання нев'язку, обчислену через автоматичне диференціювання. Натомість архітектури типу encode-process-decode (наприклад, CORAL), побудовані на умовних нейронних полях, досліджували як альтернативний підхід до навчання операторів.
Див. також
Штучний інтелект Машинне навчання Нейронна мережа
Примітки
Посилання
База даних архітектур нейронних полів Університету Брауна Neural Radiance Fields: застосування у візуальних обчисленнях GitHub-Awesome список неявних нейронних подань