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

**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 only)

Course materials: Syngram and PSDesign (Windows executables)

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