Sponsors Meeting Courses

CREWES faculty and staff are willing to give talks or teach courses for sponsoring companies upon request. If you would be interested in arranging a talk or course at your company, please contact crewesinfo@crewes.org


Creating Machine Learning Apps in R with Shiny
Synopsis: In this course, instructor Dr. Marcelo Guarido introduces techniques for developing apps to solve classification and forecasting problems.

Requirements: Please complete the setup listed below. (Instructors: Marcelo Guarido).

Setup (please complete this before the course begins if you want to follow along on your own computer):

  • Download and install R, select the mirror location and OS version: R-Project
  • Download and install RStudio Desktop - free version - for your OS: RStudio
  • Download course material, unzip, and open all the coding files in RStudio so necessary libraries can be automatically installed:  Course materials
  • Create an account at Nasdaq: For the WTI Oil Price Forecast app, a QuandL key is needed. For that, go to your "Account Settings" to access your QuandL key: Nasdaq

Course:  01-Machine_Learning_Apps_in_R_with_Shiny.mp4


CREWES Online Workshop on Machine Learning
Synopsis: The purpose of the workshop is to teach some basics of Machine Learning used for the research presented during the sponsor meeting. The target level is mild difficulty (similar to a graduate course on ML). We will try to teach difficult concepts in simple terms, and use notebook examples to make these concepts more tangible. During the workshop, we will use Scikit-Learn + XGBoost, Keras and Pytorch (in that order).

Requirements: An Internet connection and a web browser: All examples will be done with Google Colab (no need for installation). To fully understand the course a basic understanding of Machine Learning and Python is necessary. People can take the course even without this background but this year we will not cover the very basics. (Instructors: Marcelo Guarido, David Emery, Daniel Trad, Zhan Niu, and Tianze Zhang).

Course materials:  01-Facies_Contest.mp4
Course materials:  01-Facies_Contest.zip
Course materials:  02-ConvolutionNetworks.mp4
Course materials:  02-ConvolutionNetworks.zip
Course materials:  03-PyTorch_Tutorial.mp4
Course materials:  03-PyTorch_Tutorial.zip
Course materials:  04-1D_viscoelastic_RNN_FWI.mp4
Course materials:  04-1D-viscoelastic-RNN-FWI.zip


Ideas, Algorithms, and Applications of Machine Learning in Geophysics
Synopsis: This is an evolved version of the course given last year. At the time, we introduced a 1-day short course, led by several CREWES researchers, on data science, analytics, and/or AI as they apply to geophysics. The course has now been delivered several times to sponsor companies in-house, and has experienced a bit of development and refinement. The new version of the course, based, as before, on various Python platforms (e.g., Jupyter notebook) is hands-on, full of real-time running of examples and generation of workflows and simple example codes. (Instructors: Marcelo Guarido, Daniel Trad, Raul Cova, Zhan Niu, Hongliang Zhang and Tianze Zhang).

Course materials:  Block_01_2019.zip
Course materials:  Block_02_2019.zip
Course materials:  Block_03_2019.zip
Course materials:  Data_2019.zip


Ideas, Algorithms and Applications of Machine Learning in Geophysics

Synopsis: In this one-day course we explore the application of different machine learning algorithms in geoscience. We first explain how to use machine learning methods to complete a missing well log by using a combination of other well logs available. For this, we explore the fundamentals of the linear, ridge and, lasso regressions, regression trees and neural networks. In the second part, we use well log data to perform a facies classification exercise. Four machine learning algorithms are explored in this section including logistic regression, support vector machines, decision trees and gradient boosting. A clustering exercise is also included in this section where we try to separate salt sediments from non-salt sediments based on their seismic response. This problem is approached as a texture segmentation problem using K-means clustering after extracting a set of features using bi-dimensional Gabor filters. In the last section, we explore two deep learning applications. First, we try to solve the salt identification problem by using convolutional neural networks in a U-net configuration. The last application explores the use of recursive neural networks for a 1D seismic inversion problem. (Instructors: Marcelo Guarido, Raul Cova, Junxiao Li and Jian Sun).

Course materials:  CREWES Matlab Toolbox
Course materials:  MachineLearningCourse.zip
Course materials:  02-Clustering.pptx
Course materials:  02-ClassificationAlgorithms.pptx


Quantum algorithms for seismic problems

Synopsis: In this course we introduce the concepts of quantum computing, emphasizing the potential benefits to applied seismology. The goals of the course will be (1) to explain how quantum computing algorithms are designed, and (2) to provide some simple Matlab codes which simulate quantum algorithms on standard computers. After introducing the logical concept of quantum gates, we will emphasize algorithms for: quantum database searching, quantum Fourier transforms, quantum wavelet transforms, and quantum finite difference modelling of wave propagation. (Instructor: Shahpoor Moradi).

Course materials:  CREWES Matlab Toolbox
Course materials:  MoradiCourse.zip

Implementation of Least squares migration for Kirchhoff and RTM

Synopsis: During this workshop we will discuss the theoretical and practical aspects of Kirchhoff and RTM least squares migrations. We will examine in detail how to implement simple versions of least squares Reverse time migration. For the implementation we will use open source software madagascar. (Instructor: Daniel Trad).

Course materials:  Madagascar
Course materials:  TradCourse.zip

Modelling the response of straight and helical DAS fibres

Synopsis: Distributed Acoustic Sensing (DAS) systems can be configured to act as quasi-continuous seismic receivers. The sensitivity of the fibre is such that only the component of longitudinal strain (or strain-rate) in the direction of the axis of the fibre registers. This means the fibre signal depends on the angle at which waves impinge, the type of impinging wave, and the shape of the fibre itself. Currently straight and helical-wound fibres are commercially available. In this course we will make use of some simple Matlab tools to model the shape of a fibre, and to understand and quantify its broadside and non-broadside responses to simple seismic motions. The effect of DAS gauge-length (which defines DAS inline spatial bandwidth) will be considered also. (Instructor: Kris Innanen).

Course materials:  CREWES Matlab Toolbox
Course materials:  InnanenCourse.zip


An introduction to the prediction of interbed multiples
Synopsis: In the 1990s, Weglein and Araujo and others showed that interbed multiples can be predicted (and subsequently subtracted) from surface reflection data without a velocity model. In this course the basic ideas underlying prediction are reviewed, and a 1D Matlab version of the algorithm is analyzed and applied. The origins of the algorithm parameter "epsilon" are discussed, as are guidelines for deciding its optimum value. (Instructor: Kris Inannen).

Course materials:   CREWES Matlab Toolbox
Course materials:  InnanenCourse.zip

Deconvolution and Wavelet Estimation
Synopsis: This computational lab will introduce attendees to the spiking deconvolution and wavelet estimation facilities in the CREWES Matlab toolbox. The course will begin with a short overview of statistical deconvolution and wavelet estimation algorithms and then transition into an extended hands-on exercise using both synthetic and real data. Methods examined will include stationary spiking decon and nonstationary Gabor decon for statistical deconvolution plus match filtering and Roy White's method for wavelet estimation at wells. The Matlab tools will have a GUI driver but some basic familiarity with deconvolution and programming will be helpful. (Instructor: Gary Margrave).

Course materials:   CREWES Matlab Toolbox
Course materials:  MargraveCourse.zip

Full-waveform inversion: from theory to practice
Synopsis: In this computational lab, we will introduce CREWES Matlab codes for full-waveform inversion. The short course will begin with the basic theory of geophysical inverse problems and full-waveform inversion (FWI). Then, we will review the numerical methods for solving wave equation and adjoint-state method for gradient calculation in FWI. Optimization methods including steepest-descent, non-linear conjugate-gradient, L-BFGS and Gauss-Newton methods will be introduced. Matlab codes will be provided for practicing FWI with synthetic examples. (Instructor: Wenyong Pan).

Course materials:   CREWES Matlab Toolbox
Course materials:  WenyongCourse.zip


Syngram and PSDesign: CREWES tools for multicomponent synthetic seismograms and designing converted wave surveys
Synopsis: The course demonstrates the use of Syngram and PSDesign (formerly QuadDes). Attendees will work through the generation of PP and PS offset synthetic seismograms and their attributes, and the subsequent use of Syngram outputs for designing simple multicomponent seismic surveys using PSDesign. (Instructor: Don Lawton).

Course materials:   CREWES Matlab Toolbox (Syngram)
Course materials: PSDesign (Windows executable; NO longer available)
Course materials:  LawtonCourse.zip
Course webcast:  Lawton webcast

Creation of 1D synthetic seismograms with Q and internal multiples directly from well logs
Synopsis: Instruction in the use of new CREWES modelling tools (in MATLAB) for the construction of 1D synthetic seismograms. The method is that of Ganley (1981, Geophysics, 1100:1107) and the CREWES code permits modelling with thousands of layers each with unique density, velocity, and Q. Models with hundreds of layers run in under a minute and show very realistic effects of attenuation, internal multiples, ghosts, etc. and are accurate for all frequencies. Most effects can be turned on or off to facilitate learning. Some familiarity with MATLAB would be helpful but is not essential. (Instructor: Gary Margrave).

Course materials:   CREWES Matlab Toolbox
Course materials:  MargraveCourse.zip
Course webcast:  Margrave webcast