ไลบรารีนี้ให้บริการสมการเชิงอนุพันธ์ (SDE) Stochastic (SDE) ที่มีการสนับสนุน GPU และ backpropagation ที่มีประสิทธิภาพ

pip install torchsdeข้อกำหนด: Python> = 3.8 และ Pytorch> = 1.6.0
มีให้ที่นี่
import torch
import torchsde
batch_size , state_size , brownian_size = 32 , 3 , 2
t_size = 20
class SDE ( torch . nn . Module ):
noise_type = 'general'
sde_type = 'ito'
def __init__ ( self ):
super (). __init__ ()
self . mu = torch . nn . Linear ( state_size ,
state_size )
self . sigma = torch . nn . Linear ( state_size ,
state_size * brownian_size )
# Drift
def f ( self , t , y ):
return self . mu ( y ) # shape (batch_size, state_size)
# Diffusion
def g ( self , t , y ):
return self . sigma ( y ). view ( batch_size ,
state_size ,
brownian_size )
sde = SDE ()
y0 = torch . full (( batch_size , state_size ), 0.1 )
ts = torch . linspace ( 0 , 1 , t_size )
# Initial state y0, the SDE is solved over the interval [ts[0], ts[-1]].
# ys will have shape (t_size, batch_size, state_size)
ys = torchsde . sdeint ( sde , y0 , ts ) examples/demo.ipynb ให้คำแนะนำสั้น ๆ เกี่ยวกับวิธีการแก้ปัญหา SDE รวมถึงจุดที่ละเอียดอ่อนเช่นการแก้ไขการสุ่มในตัวแก้ปัญหาและการเลือก ประเภทเสียง
examples/latent_sde.py เรียนรู้ สมการเชิงอนุพันธ์สุ่มแฝง เช่นเดียวกับในส่วนที่ 5 ของ [1] ตัวอย่างที่เหมาะกับ SDE กับข้อมูลในขณะที่ทำให้เป็นเหมือนกระบวนการก่อนหน้าของ Ornstein-Uhlenbeck โมเดลสามารถดูได้อย่างหลวม ๆ เป็นตัวแปร Autoencoder ที่มีการแปรปรวนก่อนและหลังเป็น SDEs ก่อนหน้าและโดยประมาณ ตัวอย่างนี้สามารถเรียกใช้ผ่าน
python -m examples.latent_sde --train-dir < TRAIN_DIR > โปรแกรมส่งออกตัวเลขไปยังเส้นทางที่ระบุโดย <TRAIN_DIR> การฝึกอบรมควรรักษาเสถียรภาพหลังจากการวนซ้ำ 500 ครั้งด้วยพารามิเตอร์เริ่มต้น
examples/sde_gan.py เรียนรู้ SDE เป็น gan เช่นเดียวกับใน [2], [3] ตัวอย่างฝึก SDE เป็นเครื่องกำเนิดไฟฟ้าของ GAN ในขณะที่ใช้ CDE ประสาท [4] เป็นตัวเลือกปฏิบัติ ตัวอย่างนี้สามารถเรียกใช้ผ่าน
python -m examples.sde_ganหากคุณพบว่า codebase นี้มีประโยชน์ในการวิจัยของคุณโปรดพิจารณาอ้างถึงหรือทั้งสองอย่าง::
@article{li2020scalable,
title={Scalable gradients for stochastic differential equations},
author={Li, Xuechen and Wong, Ting-Kam Leonard and Chen, Ricky T. Q. and Duvenaud, David},
journal={International Conference on Artificial Intelligence and Statistics},
year={2020}
}
@article{kidger2021neuralsde,
title={Neural {SDE}s as {I}nfinite-{D}imensional {GAN}s},
author={Kidger, Patrick and Foster, James and Li, Xuechen and Oberhauser, Harald and Lyons, Terry},
journal={International Conference on Machine Learning},
year={2021}
}
[1] Xuechen Li, Ting-Kam Leonard Wong, Ricky TQ Chen, David Duvenaud "การไล่ระดับสีที่ปรับขนาดได้สำหรับสมการเชิงอนุพันธ์สุ่ม" การประชุมนานาชาติเกี่ยวกับปัญญาประดิษฐ์และสถิติ 2020. [arxiv]
[2] Patrick Kidger, James Foster, Xuechen Li, Harald Oberhauser, Terry Lyons "ระบบประสาท SDES เป็น Gans มิติที่ไม่มีที่สิ้นสุด" การประชุมนานาชาติเกี่ยวกับการเรียนรู้ของเครื่องจักร 2021 [arxiv]
[3] Patrick Kidger, James Foster, Xuechen Li, Terry Lyons "การไล่ระดับสีที่มีประสิทธิภาพและแม่นยำสำหรับ SDEs ของระบบประสาท" 2021. [arxiv]
[4] Patrick Kidger, James Morrill, James Foster, Terry Lyons, "สมการเชิงอนุพันธ์ของระบบประสาทสำหรับซีรีย์เวลาที่ผิดปกติ" ระบบประมวลผลข้อมูลประสาท 2020. [arxiv]
นี่คือโครงการวิจัยไม่ใช่ผลิตภัณฑ์ของ Google อย่างเป็นทางการ