Open makeabhishek opened 2 days ago
Do you mean that you wish to calculate the gradient/sensitivity kernel of a cross-correlation loss function? If so, then I suggest calculating the cross-correlation loss function, calling .backward() on it, and looking at the .grad attribute of the model.
I'm a little confuse. Why there would be a loss function in RTM? Will it not be direct cross correlation of forward and backward wavefield?
In RTM the loss function is typically the L2 norm of the difference between the modelled and observed data. This is then backpropagated to obtain the gradient of the loss function with respect to the model.
The gradient/sensitivity kernel indicates how much the loss function you have chosen will change when the values at each point in the model are varied.
I am not completely sure what you want, but I now suspect that you may just want the gradient/sensitivity kernel of the regular L2 norm loss function. In that case, you would use the same approach as I gave before, but use the L2 norm instead of a cross-correlation loss function. If you do not have observed data and just want to calculate how sensitive the L2 norm of the receiver amplitudes is to changes in the model, you could use the L2 norm of the modelled data as your loss function.
I'm looking something like the below image from the reference "Elastic reflection waveform inversion based on the decomposition of sensitivity kernels"
Figure: The separated waveform sensitivity kernels for the two-layered model. PP kernels associated with (a) $\lambda$ and (b). $\mu$ PS kernels associated with (c) $\lambda$ and (d) $\mu$. .
I think something like that is mentioned at deepwave website https://ausargeo.com/deepwave/example_large_edge_gradient.
Need to consider P-wave and S-wave excitation sources.
Thank you for clarifying what you wish to calculate. The images show gradients/sensitivity kernels. Gradients/sensitivity kernels are calculated in the way that I described. However, I think the gradients/sensitivity kernels in the paper that you linked to involve performing elastic LSRTM using an elastic Born propagator. Deepwave does not have an elastic Born propagator, and so it is probably not possible to produce those particular images with Deepwave.
Hi Alan, I hope you are doing good.
I want to perform cross correlation sensitivity kernel analysis in RTM. What is the best way to perform that?