Машинне навчання · Обчислювальна хімія
📅 Липень 2026 ⏱ ≈ 13 хв читання 🎯 Просунутий рівень · Останнє оновлення: 9 липня 2026 р.

Графові нейронні мережі для молекулярної динаміки: навчання силових полів з квантових даних

Класична молекулярна динаміка працює на вручну підібраних силових полях — швидких, але грубих наближеннях квантової реальності. Методи ab initio («з перших принципів») на кшталт DFT (теорія функціонала густини — спосіб обчислювати квантові енергії без розв'язання повного багатоелектронного рівняння) точні, але надто повільні, щоб симулювати більше кількох сотень атомів протягом пікосекунд. Графові нейронні мережі знаходять компроміс: навчені на даних квантової точності, вони передбачають енергії та сили майже так само швидко, як класичні силові поля, наближаючись до квантово-хімічної точності.

Коротко: Замість вручну підібраних силових полів або повільних квантових розрахунків, графові нейронні мережі представляють молекулу як атоми (вузли) і зв'язки (ребра), обмінюються повідомленнями між сусідами й передбачають єдину скалярну енергію, градієнт якої дає сили, що автоматично зберігають енергію. Вбудована обертальна еквіваріантність скорочує потрібний обсяг навчальних даних на порядки.

Молекули як графи

Молекула природно є графом: атоми — це вузли з ознаками (тип елемента, заряд), а зв'язки — або просто сусідні атоми в межах радіуса обрізання — це ребра з геометричними ознаками (відстань, іноді порядок зв'язку). На відміну від веб-графа PageRank, цей граф живе вбудованим у 3D-простір, тому його ребра кодують неперервну геометрію, а не лише дискретну зв'язність:

Вузол i: h_i⁽⁰⁾ = embed(атомний_номер_i)
Ребро (i, j): r_ij = ‖x_i − x_j‖,  e_ij = RBF(r_ij)
RBF = розклад міжатомної відстані за радіальними базисними функціями

Саме таке представлення графа робить потенціали GNN переносними за розміром: модель, навчена на 100-атомних молекулах, у принципі може виконувати інференс для системи з 10 000 атомів, оскільки вона завжди оперує лише локальними околами, а не всією системою одразу.

Передача повідомлень: базова операція

Кожен шар message-passing GNN повторює одні й ті самі два кроки: кожен вузол збирає «повідомлення» від сусідів, а потім оновлює свій прихований стан на основі агрегованого повідомлення:

m_i = Σ_{j ∈ N(i)} φ_msg(h_i, h_j, e_ij)   агрегація по сусідах j
h_i' = φ_update(h_i, m_i)   оновлення прихованого стану вузла i

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

Чому важлива еквіваріантність

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

Родина архітектурОбробка симетріїПриклад
Інваріантні GNNВикористовують лише інваріантні до обертання ознаки (відстані, кути)SchNet
Еквіваріантні GNNЗберігають векторні/тензорні ознаки, що коректно трансформуються при обертанніNequIP, MACE
Message passing + увагаПоєднує еквіваріантну геометрію з увагою у стилі трансформерівEquiformer
Виграш: вбудовування еквіваріантності в архітектуру (замість надії, що мережа сама її вивчить) зазвичай скорочує потрібний обсяг навчальних даних на порядки, оскільки моделі більше не доводиться заново відкривати закон фізики, який їй просто дали безкоштовно.

Передбачення енергозберігаючих сил

Щоб траєкторія молекулярної динаміки була фізично коректною, сили мають бути від'ємним градієнтом єдиної скалярної потенційної енергії — інакше енергія витікатиме або накопичуватиметься нефізично протягом довгих симуляцій. Стандартний трюк: передбачити скалярну повну енергію E, а сили отримати автоматичним диференціюванням, ніколи не передбачаючи векторів сили напряму:

E = Σ_i E_i(h_i)   сума внесків енергії кожного атома
F_i = −∂E / ∂x_i   сили через автодиференціювання — автоматично зберігають енергію

Оскільки E гарантовано є дійсною скалярною функцією позицій, її диференціювання ніколи не може дати силове поле з «завихренням» — модель архітектурно не здатна порушити збереження енергії, чого не можна гарантувати при наївному прямому передбаченні сил.

Шар message passing на JavaScript

function messagePassingLayer(nodeFeatures, edges, mlpMsg, mlpUpdate) {
  const n = nodeFeatures.length;
  const messages = new Array(n).fill(null).map(() => zeros(mlpMsg.outDim));

  // Крок 1: кожне ребро генерує повідомлення, що сумується у вузлі-отримувачі
  for (const { i, j, rij } of edges) {
    const eij = radialBasisExpand(rij);
    const msg = mlpMsg.forward([...nodeFeatures[i], ...nodeFeatures[j], ...eij]);
    messages[i] = addVec(messages[i], msg);
  }

  // Крок 2: об'єднати агреговане повідомлення зі старим станом, щоб отримати новий
  return nodeFeatures.map((h, i) => mlpUpdate.forward([...h, ...messages[i]]));
}

function predictEnergyAndForces(positions, atomicNumbers, layers) {
  let h = atomicNumbers.map(embed);
  const edges = buildNeighborList(positions, 5.0); // радіус обрізання 5 Å
  for (const layer of layers) h = messagePassingLayer(h, edges, layer.msg, layer.update);

  const perAtomEnergy = h.map(hi => layers.readout.forward(hi)[0]);
  const totalEnergy = perAtomEnergy.reduce((a, b) => a + b, 0);
  const forces = autodiffGradient(totalEnergy, positions).map(g => scale(g, -1));
  return { energy: totalEnergy, forces };
}

Навчання на квантових еталонних даних

Ці моделі навчаються з учителем на наборах даних із трійок (геометрія, енергія, сили), обчислених методами DFT або coupled-cluster — таких наборах, як MD17, ANI-1 чи OC20. Функція втрат поєднує помилку енергії та сил, причому силам зазвичай надається значно більша вага, оскільки саме вони безпосередньо керують динамікою:

L = λ_E · (E_pred − E_ref)² + λ_F · (1/3N) Σ_i ‖F_i,pred − F_i,ref‖²
зазвичай λ_F ≫ λ_E, оскільки помилки сил накопичуються вздовж траєкторії
Ризик екстраполяції: потенціал GNN настільки хороший, наскільки хороший розподіл його навчальних даних — геометрії, далекі від будь-чого, баченого при навчанні (розрив зв'язків, екзотичні конформації), можуть давати впевнено неправильні, нефізичні енергії. Цикли активного навчання, що позначають конфігурації з високою невизначеністю для нових DFT-міток, — стандартна практика у виробничих конвеєрах.

Застосування поза дизайном ліків і матеріалів

🧪 Дослідити молекулярну динаміку наживо

Спостерігайте, як атоми взаємодіють під силовим полем — від потенціалів Леннарда-Джонса до вивчених потенціалів GNN

Відкрити симуляцію →