Text-Guided Well Log-Constrained Realistic Subsurface Model Generation via Stable Diffusion

OlegOvcharenko 234 views 23 slides Jul 31, 2024
Slide 1
Slide 1 of 23
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23

About This Presentation

Building subsurface models requires the incorporation of geological knowledge that often comes in the form of text. Such knowledge is typically first converted into mathematical formulation and then used as part of an inverse problem as a penalty or constraint. Stable diffusion models can be used fo...


Slide Content

Text-Guided Well Log-Constrained High-Fidelity Subsurface Model Generation via Stable Diffusion Oleg Ovcharenko 1 , Vladimir Kazei 2 , Weichang Li 2 , Issam Said 1 1 – NVIDIA, Dubai, UAE 2 – Aramco Americas, Houston Research Center

Generation of random subsurface models from text description ”Anticlinal structure with potential reservoir below a salt dome"

Why do we need synthetic data? Train DL * models Create benchmarks

Problem Solution Latent diffusion Low-Rank Adaptation Method Data generation Training Results Conclusions

Problem Subsurface models Synthetic data Inverted data Well-logs Metadata Text Solver Training Text description of the desired model distribution is missing out

Solution Need to merge knowledge from different modalities Text  Image Leverage diffusion model for conditional image generation Example generated with OpenAI DALL-E Subsurface models Text

Getting Lost in the Noise Forward Diffusion t = 0 t = 1 t = 2 t = 3 t = 4 t = 5 t = 6 t = 7 t = 8 t = 9 t = 10   Generate noise from a standard normal distribution Multiply result by   Step 1: Multiply image at previous step by Add it to the result from step 1   Step 2: noise = torch.randn_like ( x_t ) x_t = torch.sqrt (1 - B[t]) * x_t + torch.sqrt (B[t]) * noise Code:

Getting Lost in the Noise Reverse Diffusion t = 0 t = 1 t = 2 t = 3 t = 4 t = 5 t = 6 t = 7 t = 8 t = 9 t = 10   The noise added at time This is what the neural network will estimate                                              

Model Training Training Data Noisy image at time   Noise added at time     “Skip ahead” function      

Down0 Copy Down1 Copy It’s About Time Feature Map (Down2) Feature Map (Down1) Latent Vector Down2 Copy Feature Map (Up0) Feature Map (Up1) Feature Map (Up2) Feature Map (Down0) Adding Time Time Time Embed 2 Time Embed 1

LoRA https://arxiv.org/pdf/2106.09685

Image b y Aayush Agrawal https://towardsdatascience.com/stable-diffusion-using-hugging-face-501d8dbdd8

Make text and image embeddings CLIP Contrastive Language-Image Pre-Training VAE Variational Autoencoder Image b y Aayush Agrawal https://towardsdatascience.com/stable-diffusion-using-hugging-face-501d8dbdd8

Dataset creation: fetch public subsurface models 2 D 3D https://wiki.seg.org/wiki/ SEG Salt model Overthrust 3D Marmousi II BP 2004 Sigsbee

Dataset creation: sample crops from base models Keep aspect ratio but rescale to min side of 512 Total 45 images after QC

Dataset creation: prompt for image annotation "Overhanging salt dome with flank collapse and potential hydrocarbon trap at crest." "Thrust faulting with folded sedimentary layers and potential hydrocarbon trap in anticlinal structure."

Dataset creation: prompt for image annotation Na ï ve image descriptions are far from ideal. Context-aware annotation is the way

Training takes 5 min on 1 GPU 11 121 231 451 1551

Condition generation by well-log and text

Results "Anticline fold layered structure with potential hydrocarbon traps" (t/l) "Flat sedimentary layers with angular unconformities" (t/r) "Salt dome intrusion with potential hydrocarbon traps" (b/l) "Complex layered geological environment” (b/r) Text and Log conditioned Text conditioned only

How to accelerate? https://github.com/NVIDIA/TensorRT/tree/release/8.6/demo/Diffusion

https://github.com/NVIDIA/TensorRT/blob/release/9.3/demo/experimental/HuggingFace-Diffusers/TensorRT-diffusers-txt2img.ipynb

Conclusion Stable diffusion allows to incorporate textual geological descriptions as a source of information into numerical subsurface model building Iterative nature of stable diffusion is a computational bottleneck Performance-efficient fine tuning (PEFT) methods such as LoRA are suitable to introduce domain knowledge even with limited data sets Diffusion hyperparameters affects the fidelity of generated data