Blind Deconvolution by Vanilla Recurrent Neural
Network
November 24th, 2019
Figure 1: (a) Input seismogram, (b) true and predict reflectivity by VRNN.
1 Objective
In this lab, we will go through vanilla recurrent neural network (VRNN) to blind deconvolution.
2 Prerequisties
- Matlab with Neural Network Toolbox
3 How to use the RNN lab
Download the codes ./RNN_lab.zip and unzip it. Change your Matlab working
directory under this file so you may able to use all necessary sub-functions. The main
function is function RNN_deconv.m, open it in the matlab script and run.
4 Procedure of RNN
- Build training sets. Build a 1D reflectivity model and convolve a ricker wavelet with it to simulate a seismogram.
- Use the seismogram as input and reflectivity model as output. Use RNN algorithms to estimate a optimal set of weights and bias.
- Use another simulated seismogram to test the performance of the RNN network.
5 Recurrent Neural Network
Figure 2: The structure of the recurrent neural network.
6 Questions
- Use the reflectvity as the input data and the seismogram as the output, which means using RNN to mimic convolution. How does the result looks like? Why is that?
- Modify the structure and the parameters of RNN. See how the RNN parameter will change
the result.
- This lab uses the conventional RNN without gate. If you are interested in LSTM, a binary caculator trained by LSIM is in ./RNN_binary_lstm.m
7 PS
If there are any errors in this lab, please contact: shihang.feng@kaust.edu.sa