ComPhy

Диференційні Рівняння й Машинне Навчання

[переклад сторінки англійською]

Враховуючи, що техніки машинного навчання (МН), як правило, пов'язані з оптимізацією, МН можна застосовувати для розв'язання доволі складних диференційних рівнянь, якщо ми зведемо їх до задач оптимізації. А саме, будь-яке диференційне рівняння (або навіть функціональне) вигляду \[L[f] = R[f]\] де \(f\) – невідома функція, \(L[f]\) та \(R[f]\) – якісь вирази з \(f\), може бути зведено до \[|L[f] - R[f]| = 0\] після чого ми просто мінімізуємо \[f(\textbf{x})=\underset{f}{\text{argmin}}|L[f] - R[f]|\] чисельно. Це правильно саме тому, що ми цим підбираємо \(f(\textbf{x})\) таку, що вона мінімізує наш вираз, мінімум якого явно є 0, а отже, ця ж сама \(f(\textbf{x})\) буде розв'язком нашого початкового рівняння. Наш підхід полягає в створенні нейронної мережі або просто параметризованої функції \(f(\textbf{p}, \textbf{x})\) якоїсь достатньо загальної форми і наближеному розв'язку мінімізації в термінах параметрів \(\textbf{p}\) \[\textbf{p}_{\text{min}} \approx \underset{\textbf{p}}{\text{argmin}}|L[f(\textbf{p}, \textbf{x})] - R[f(\textbf{p}, \textbf{x})]|\] Надалі ми вважаємо, що \(\tilde{f}(\textbf{x})=f(\textbf{p}_{\text{min}}, \textbf{x})\), де ми фіксуємо оптимальні параметри й варіюємо лише арґументи, є приблизно наша шукана функція. На мові машинного навчання, ми задаємо нашу функцію витрат (loss function) як \(|L[f] - R[f]|\) і використовуємо алгоритм мінімізації (як градієнтний спуск) для знаходження мінімуму.

Це дуже важлива ідеї, яка часто зустрічається в різних інтерпретаціях. Я дуже рекомендую подивитися англійською Parallel Computing and Scientific Machine Learning Course і оце для інших застосувань саме глибокого навчання у фізиці.

Atell Krasnopolski, 2022