Denoising Diffusion Generative Models ในกราฟ ML

Nov 28 2022
Denoising Diffusion ทั้งหมดที่คุณต้องการหรือไม่?
ความก้าวหน้าใน Denoising Diffusion Probabilistic Models (DDPM) เกิดขึ้นเมื่อประมาณ 2 ปีที่แล้ว ตั้งแต่นั้นมา เราสังเกตเห็นการปรับปรุงอย่างมากในงานการสร้าง: GLIDE, DALL-E 2, Imagen, Stable Diffusion สำหรับรูปภาพ, Diffusion-LM ในการสร้างแบบจำลองภาษา, การแพร่กระจายสำหรับลำดับวิดีโอ และแม้แต่การแพร่กระจายสำหรับการเรียนรู้เสริมกำลัง

ความก้าวหน้าในDenoising Diffusion Probabilistic Models (DDPM) เกิดขึ้นเมื่อประมาณ 2 ปีที่แล้ว ตั้งแต่นั้นมา เราสังเกตเห็นการปรับปรุงอย่างมากในงานการสร้าง: GLIDE , DALL-E 2 , Imagen , Stable Diffusionสำหรับรูปภาพ, Diffusion-LMในการสร้างแบบจำลองภาษา, การแพร่กระจายสำหรับลำดับวิดีโอและแม้แต่การแพร่กระจายเพื่อเสริมการเรียนรู้

การแพร่กระจายอาจเป็นแนวโน้มที่ใหญ่ที่สุดใน GraphML ในปี 2022 โดยเฉพาะอย่างยิ่งเมื่อนำไปใช้กับการค้นพบยา การสร้างโมเลกุลและสารที่สอดคล้องกัน และเคมีควอนตัมโดยทั่วไป บ่อยครั้งที่พวกเขาจับคู่กับความก้าวหน้าล่าสุดใน GNN ที่เท่าเทียมกัน

การสร้างโมเลกุล สร้างขึ้นด้วยการแพร่กระจายที่เสถียร 2

พื้นฐาน: การแพร่กระจายและการแพร่กระจายบนกราฟ

เรามาสรุปพื้นฐานของแบบจำลองการแพร่โดยใช้ตัวอย่างกระดาษ Equivariant Diffusion โดยHoogeboom และคณะโดยใช้สมการให้น้อยที่สุดเท่าที่จะทำได้

กระบวนการแพร่ไปข้างหน้าและย้อนกลับ กระบวนการไปข้างหน้า q(z|x,h) ค่อยๆ เพิ่มสัญญาณรบกวนในกราฟจนถึงระดับที่กลายเป็นสัญญาณรบกวนแบบเกาส์เซียน กระบวนการย้อนกลับ p(x,h|z) เริ่มจากสัญญาณรบกวน Gaussian และค่อย ๆ ลดสัญญาณรบกวนของกราฟจนถึงขั้นตอนเมื่อมันกลายเป็นกราฟที่ถูกต้อง ที่มา: Hoogeboom, Satorras, Vignac และ Welling
  • อินพุต: กราฟ ( N,E ) ที่มีโหนดN และ ขอบE
  • คุณลักษณะของโหนดมักมีสองส่วน: z=[x,h]โดยที่x ∈ R³ เป็นพิกัด 3 มิติ และh ∈ R^d เป็นคุณลักษณะเฉพาะ เช่น ประเภทอะตอม
  • (ไม่บังคับ) คุณสมบัติขอบเป็นประเภทพันธบัตร
  • เอาต์พุต: กราฟ ( N,E ) พร้อมโหนด ขอบ และคุณสมบัติที่เกี่ยวข้อง
  • ส่งต่อกระบวนการ แพร่กระจาย q(z_t | x,h) : ในแต่ละขั้นตอนtให้ใส่สัญญาณรบกวนไปยังคุณสมบัติดังกล่าว ซึ่งในขั้นตอนสุดท้ายTเสียงเหล่านั้นจะกลายเป็นสัญญาณรบกวนสีขาว
  • กระบวนการแพร่ย้อนกลับp(z_{t-1} | z_t) : ในแต่ละขั้นตอนt-1ขอให้แบบจำลองคาดการณ์สัญญาณรบกวนและ"ลบ" สัญญาณรบกวนออก จากอินพุต เพื่อให้ในขั้นตอนสุดท้ายt=0เรามี กราฟที่สร้างขึ้นใหม่ที่ถูกต้อง
  • เครือ ข่ายประสาท denoisingเรียนรู้ที่จะทำนายเสียงรบกวนที่ถูกฉีดเข้าไป
  • การแพร่กระจายของ Denoising นั้นเทียบเท่ากับการจับคู่ตามคะแนน [ Song and Ermon (2019 )และSong et al. (2021 ) ] ที่โครงข่ายประสาทเทียมเรียนรู้ที่จะทำนายคะแนน∇_x log p_t(x)ของข้อมูลที่ กระจัดกระจาย มุมมองตามคะแนนอธิบายกระบวนการไปข้างหน้า/ย้อนกลับด้วยสมการเชิงอนุพันธ์สโต แคสติ ก (SDEs) ด้วยกระบวนการ Wiener

งานนี้แนะนำแบบจำลองการแพร่กระจายสมมูล ( EDM ) สำหรับการสร้างโมเลกุลที่ต้องรักษาความแปรปรวน E(3) เหนือพิกัดอะตอมx (เกี่ยวกับการหมุน การแปลการสะท้อน)และในขณะที่คุณลักษณะโหนดh (เช่น ประเภทของอะตอม) ยังคงไม่แปรเปลี่ยน สิ่งสำคัญคือ อะตอมมีโมดัลลิตีของคุณลักษณะที่แตกต่างกัน: ประจุของอะตอมเป็นเลขจำนวนเต็มลำดับ ประเภทของอะตอมเป็นคุณลักษณะเฉพาะของหมวดหมู่แบบร้อน และพิกัดของอะตอมเป็นคุณลักษณะที่ต่อเนื่อง ดังนั้นผู้เขียนจึงออกแบบกระบวนการสร้างเสียงรบกวนและฟังก์ชันการสูญเสียเฉพาะคุณลักษณะ และคุณลักษณะอินพุตสเกลสำหรับการฝึกอบรม ความมั่นคง

EDM ใช้E(n) GNN ที่เทียบเท่า กันเป็นโครงข่ายประสาทเทียมที่คาดการณ์สัญญาณรบกวนตามคุณสมบัติอินพุตและขั้นตอนเวลา ในเวลาอนุมาน ก่อนอื่นเราจะสุ่มตัวอย่างจำนวนอะตอมM ที่ต้องการ จากนั้นเราสามารถกำหนดเงื่อนไข EDM ในคุณสมบัติที่ต้องการcและขอให้ EDM สร้างโมเลกุล (กำหนดโดยคุณสมบัติxและh ) เป็นx, h ~ p(x,h | ค, ม) .

จากการทดลอง EDM มีประสิทธิภาพดีกว่าวิธีปรับการไหลและ VAE ให้เป็นมาตรฐานโดยมีอัตรากำไรที่มากในแง่ของความเป็นไปได้ในการบันทึกเชิงลบ ความเสถียรของโมเลกุล และความเป็นเอกลักษณ์ Ablations แสดงให้เห็นว่าตัวเข้ารหัส GNN ที่เท่าเทียมกันนั้นมีความสำคัญอย่างยิ่ง เพราะการแทนที่ด้วย MPNN มาตรฐานจะทำให้ประสิทธิภาพการทำงานลดลงอย่างมาก

การแสดงภาพการสร้างตามการแพร่กระจาย ที่มา: ทวิตเตอร์

DiGress: การแพร่กระจายสำหรับการสร้างกราฟ

เคลมองต์ วิญัก, อิกอร์ คราวชุค, อองตวน ซิโรดิน, โบฮาน แวง, โวลคาน เซฟเฮอร์, ปาสคาล ฟรอสซาร์ด DiGress: การแพร่ของ Denoising แบบไม่ต่อเนื่องสำหรับการสร้างกราฟ GitHub

DiGressโดย Clemént Vignac, Igor Krawczuk และทีม EPFL เป็น แบบจำลอง การสร้างกราฟแบบ ไม่มีเงื่อนไข (แม้ว่าจะมีความเป็นไปได้ที่จะรวมฟังก์ชันอิงคะแนนสำหรับการปรับสภาพคุณลักษณะระดับกราฟ เช่น MAE พลังงาน) DiGress เป็นแบบจำลองการแพร่แบบไม่ต่อเนื่อง นั่นคือทำงานบนโหนดแบบแยก (เช่น อะตอมแบบ C, N, O) และแบบขอบ (เช่น พันธะเดี่ยว / สองเท่า / พันธะสาม) โดยที่การเพิ่มสัญญาณรบกวนในกราฟจะสอดคล้องกับการคูณด้วยการเปลี่ยนผ่าน เมทริกซ์ (จากประเภทหนึ่งไปอีกประเภทหนึ่ง) ขุดตามความน่าจะเป็นส่วนเพิ่มจากชุดการฝึก denoising neural net เป็น Graph Transformer ที่ดัดแปลงแล้ว DiGress ใช้ได้กับตระกูลกราฟหลายตระกูล — ระนาบ, SBM และโมเลกุลมีโค้ดให้ใช้งาน และดูวิดีโอจากการนำเสนอกลุ่มการอ่าน LoGaG!

กระบวนการแพร่ DiGress ที่มา: Vignac, Krawczuk และคณะ

GeoDiff และ Torsional Diffusion: การสร้าง Conformer ระดับโมเลกุล

การมีโมเลกุลที่มีพิกัด 3 มิติของอะตอม การสร้างคอน ฟอร์มเมอร์ คืองานสร้างชุด พิกัด 3 มิติ ที่ถูกต้อง อีกชุดหนึ่ง ซึ่งโมเลกุลสามารถมีอยู่ได้ เมื่อเร็ว ๆ นี้ เราได้เห็น GeoDiff และ Torsional Diffusion ที่ใช้กรอบการแพร่กระจายกับงานนี้

Minkai Xu, Lantao Yu, Yang Song, Chence Shi, Stefano Ermon, Jian Tang GeoDiff: โมเดลการแพร่กระจายทางเรขาคณิตสำหรับการสร้างโครงสร้างโมเลกุล ICLR 2022. GitHub

GeoDiffเป็นแบบจำลองการแพร่ที่สมมูล SE(3) สำหรับการสร้างสารที่สอดคล้องกันของโมเลกุลที่กำหนด การแพร่กระจายใช้กับพิกัด 3 มิติที่ค่อยๆ เปลี่ยนเป็นสัญญาณรบกวนแบบเกาส์เซียน (กระบวนการไปข้างหน้า) กระบวนการย้อนกลับจะทำให้ตัวอย่างสุ่มเป็นชุดพิกัดอะตอมที่ถูกต้อง GeoDiff กำหนดเฟรมเวิร์กการแพร่กระจายที่สมมูลในปริภูมิแบบยุคลิด (ซึ่งตั้งสมมติฐานว่าสัญญาณรบกวนชนิดใดที่สามารถเพิ่มได้) และใช้ GNN ที่สมมูลเป็นแบบจำลองการแยกสัญญาณรบกวน GNN denoising ซึ่งเป็นGraph Field Networkเป็นส่วนขยายของ EGNN ที่ค่อนข้างมาตรฐาน เป็นครั้งแรกที่ GeoDiff แสดงให้เห็นว่า แบบจำลองการแพร่กระจาย ดีกว่ามากเพียงใดเมื่อเปรียบเทียบกับแบบจำลองการไหลแบบปกติและแบบจำลองที่ใช้ VAE

GeoDiff ที่มา: Xu et al.

โบเวน จิง, กาเบรียล คอร์โซ, เจฟฟรีย์ ชาง, เรจิน่า บาร์ซิเลย์, ทอมมี่ จาคโคลา Torsional Diffusion สำหรับการสร้าง Conformer ของโมเลกุล NeurIPS 2022. GitHub

ในขณะที่ GeoDiff กระจายพิกัด 3 มิติของอะตอมในปริภูมิแบบยุคลิดTorsional Diffusionเสนอวิธีที่เหมาะสมในการรบกวนมุมบิดของพันธะโมเลกุลที่หมุนได้อย่างอิสระ เนื่องจากจำนวนของพันธะที่หมุนได้นั้นน้อยกว่าจำนวนอะตอมเสมอ (โดยเฉลี่ยใน GEOM-DRUGS คือ 44 อะตอมเทียบกับ 8 มุมบิดต่อโมเลกุล) การสร้างจึงเป็นไปได้เร็วกว่ามาก ส่วนที่ยุ่งยากคือมุมบิดไม่ได้ก่อตัวเป็นปริภูมิแบบยุคลิด แต่เป็น ไฮเปอร์ทอรัส (โดนัท ) ดังนั้นการเพิ่มสัญญาณรบกวนแบบเกาส์เซียนในพิกัดจึงใช้ไม่ได้ ผู้เขียนออกแบบเคอร์เนลก่อกวนใหม่เป็นการแจกแจงปกติแบบห่อ (จากพื้นที่จริงแต่มอดูเลตด้วย2pi )Torsional Diffusion ใช้มุมมองที่อิงตามคะแนนกับการฝึกและการสร้าง โดยที่โมเดลคะแนนต้องเป็น SE(3)- ไม่แปรผันและ มี ค่าเท่ากับเครื่องหมาย โมเดลคะแนนเป็นรูปแบบหนึ่งของTensor Field Network

จากการทดลอง Torsional Diffusion ทำงานได้เร็วกว่าจริง ๆ — ต้องการเพียง 5–20 ขั้นเมื่อเทียบกับ 5,000 ขั้นของ GeoDiff และปัจจุบันเป็น SOTA ในรุ่นที่สอดคล้องกัน

การกระจายแรงบิด ที่มา: Jing, Corso และคณะ

DiffDock: การแพร่กระจายสำหรับการเชื่อมต่อโมเลกุล

Gabriele Corso, Hannes Stärk, Bowen Jing, Regina Barzilay, Tommi Jaakkola DiffDock: ขั้นตอนการแพร่กระจาย บิด และหมุนสำหรับการเชื่อมต่อโมเลกุล GitHub

DiffDockเป็นแบบจำลองเชิงกำเนิดตามคะแนนสำหรับการ เทียบเคียง ระดับโมเลกุลเช่น ให้ลิแกนด์และโปรตีนทำนายว่าลิแกนด์จับกับโปรตีนเป้าหมายอย่างไร DiffDock ดำเนินกระบวนการแพร่ผ่านการแปล T(3) การหมุน SO(3) และมุมบิด SO(2)^m ในพื้นที่ผลิตภัณฑ์: (1) การวางตำแหน่งของลิแกนด์ wrt โปรตีน (มักเรียกว่าช่องจับ) กระเป๋าไม่เป็นที่รู้จักล่วงหน้าดังนั้นจึงเป็นการเชื่อมต่อแบบตาบอด (2) การกำหนดทิศทางการหมุนของลิแกนด์และ (3) การกำหนดมุมบิดของโครงสร้าง (ดู Torsional Diffusion ด้านบนสำหรับการอ้างอิง)

DiffDock ฝึกฝน 2 โมเดล: โมเดลคะแนนสำหรับการทำนายพิกัดจริงและโมเดลความเชื่อมั่นสำหรับการประมาณค่าความเป็นไปได้ของการคาดการณ์ที่สร้างขึ้น แบบจำลองทั้งสองเป็นเครือข่ายที่มีความแปรปรวน SE(3) บนพอยต์คลาวด์ แต่แบบจำลองคะแนนที่ใหญ่กว่า (ในแง่ของการนับพารามิเตอร์) ทำงานกับโปรตีนตกค้างจากอัลฟาคาร์บอน (เริ่มต้นจาก โปรตีน ESM2 ที่มีชื่อเสียง ในขณะนี้ ) ในขณะที่แบบจำลองความเชื่อมั่นใช้ การแสดงอะตอมแบบละเอียด โครงสร้างลิแกนด์เริ่มต้นสร้างโดย RDKit DiffDock ปรับปรุงคุณภาพการทำนายอย่างมาก และคุณยังสามารถอัปโหลดโปรตีน (PDB) และลิแกนด์ (SMILES) ของคุณเองในการสาธิตออนไลน์บนพื้นที่ HuggingFaceเพื่อทดสอบ!

สัญชาตญาณ DiffDock ที่มา: Corso, Stärk, Jing และอื่น ๆ

DiffSBDD: การแพร่กระจายสำหรับการสร้างแกนด์นวนิยาย

Arne Schneuing, Yuanqi Du, Charles Harris, Arian Jamasb, Ilia Igashov, Weitao Du, Tom Blundell, Pietro Lió, Carla Gomes, Max Welling, Michael Bronstein, Bruno Correia การออกแบบยาตามโครงสร้างด้วยแบบจำลองการแพร่ที่สมมูล GitHub

DiffSBDDเป็นแบบจำลองการแพร่กระจายสำหรับการสร้างลิแกนด์ใหม่ซึ่งถูกปรับสภาพบนกระเป๋าโปรตีน DiffSBDD สามารถดำเนินการได้ 2 วิธี: (1) การสร้างลิแกนด์แบบปรับสภาพกระเป๋าเมื่อกระเป๋าได้รับการแก้ไข; (2) การสร้างภาพที่เหมือนการวาดภาพซึ่งใกล้เคียงกับการกระจายตัวร่วมกันของคู่พอกเก็ต-ลิแกนด์ ในทั้งสองวิธี DiffSBDD อาศัยแบบจำลองการแพร่กระจายสมมูลที่ปรับค่าแล้ว ( EDM, ICML 2022 ) และEGNN สมมูลเป็นแบบจำลองการดีนอยส์ ในทางปฏิบัติ ลิแกนด์และโปรตีนถูกแสดงเป็นพอยต์คลาวด์ด้วยคุณสมบัติที่จัดหมวดหมู่และพิกัด 3 มิติ (โปรตีนอาจเป็นสารตกค้างของคาร์บอนแอลฟาหรืออะตอมทั้งหมด การเข้ารหัสแบบร้อนครั้งเดียวของสารตกค้าง - ESM2 อาจใช้ที่นี่ในอนาคต) ดังนั้นการแพร่กระจายจึงดำเนินการผ่าน พิกัด 3 มิติทำให้มั่นใจถึงความสมมูล

DiffSBDD. ที่มา: Schneuing, Du และคณะ

DiffLinker: การแพร่กระจายสำหรับการสร้างตัวเชื่อมโยงระดับโมเลกุล

Ilya Igashov, Hannes Stärk, Clément Vignac, Victor Garcia Satorras, Pascal Frossard, Max Welling, Michael Bronstein, Bruno Correia แบบจำลองการแพร่กระจายแบบมีเงื่อนไข 3 มิติที่เท่าเทียมกันสำหรับการออกแบบตัว เชื่อมโยงระดับโมเลกุล GitHub

DiffLinkerเป็นแบบจำลองการแพร่กระจายสำหรับการสร้างตัวเชื่อมโยงระดับโมเลกุล ที่ถูก กำหนดเงื่อนไขบนชิ้นส่วน 3 มิติ ในขณะที่รุ่นก่อนๆ เป็นแบบ autoregressive (จึงไม่ใช่การเรียงสับเปลี่ยนที่เท่ากัน) และสามารถเชื่อมโยงชิ้นส่วนได้เพียง 2 ชิ้นเท่านั้น DiffLinker จะสร้างโครงสร้างทั้งหมดและสามารถเชื่อมโยงชิ้นส่วนมากกว่า 2 ชิ้นได้ ใน DiffLinker แต่ละพอยต์คลาวด์ถูกกำหนดเงื่อนไขตามบริบท (ชิ้นส่วนและ/หรือกระเป๋าโปรตีนอื่นๆ ที่รู้จักทั้งหมด) บริบทมักจะได้รับการแก้ไข เฟรมเวิร์กการแพร่กระจายคล้ายกับ EDM แต่ปัจจุบันถูกกำหนดเงื่อนไขไว้ที่ข้อมูล 3 มิติแทนที่จะเป็นสเกลาร์ แบบจำลอง denoising เป็น EGNN สมมูลเดียวกัน ที่น่าสนใจคือ DiffLinker มีโมดูลเพิ่มเติมเพื่อทำนายขนาดตัวเชื่อมโยง (จำนวนโมเลกุล) คุณจึงไม่ต้องระบุล่วงหน้า

ดิฟลิงค์เกอร์. ที่มา: Igashov et al.

เรียนรู้เพิ่มเติม

  • SMCDiffสำหรับสร้างโครงสร้างโปรตีนที่มีเงื่อนไขตามบรรทัดฐานที่ต้องการ (รวมถึง EGNN)
  • โดยทั่วไปแล้ว ในการสร้างกราฟและโมเลกุล เราต้องการสนับสนุนความไม่ต่อเนื่อง ดังนั้น การปรับปรุงใด ๆ สำหรับการแพร่แบบไม่ต่อเนื่องจึงเป็นเรื่องที่น่ายินดี เช่นRichemond, Dieleman และ Doucet เสนอการแพร่แบบซิมเพล็กซ์ใหม่สำหรับข้อมูลเชิงหมวดหมู่ด้วย Cox-Ingersoll-Ross SDE (หายาก!)
  • นอกจากนี้ยังมีการศึกษาการแพร่กระจายแบบไม่ต่อเนื่องสำหรับการสร้างข้อความในDiffusERล่าสุด
  • Hugging Face ดูแลห้องสมุด Diffusersเริ่มหลักสูตรเปิดเกี่ยวกับแบบจำลองการแพร่กระจาย — ตรวจสอบคำแนะนำในการใช้งานจริง
  • ตรวจสอบบันทึกการสอน CVPR 2022 เกี่ยวกับแบบจำลองการแพร่กระจายโดย Karsten Kreis, Ruiqi Gao และ Arash Vahdat

ขอขอบคุณเป็นพิเศษสำหรับHannes StärkและLadislav Rampášekสำหรับการพิสูจน์อักษรโพสต์! ติดตามHannes , Ladislavและฉันบน Twitter หรือสมัครรับข้อมูล ช่อง GraphMLใน Telegram

การสร้างโมเลกุล สร้างขึ้นด้วยการแพร่กระจายที่เสถียร 2