Deep machine learning corrects neutron, gamma ray logs

March 6, 2023
SLB developed a multiwell automatic log correction (MALC) workflow which corrects neutron and gamma ray logs using machine learning (ML) to correlate regional and contextual references in historic log and geological data.

SLB developed a multiwell automatic log correction (MALC) workflow which corrects neutron and gamma ray logs using machine learning (ML) to correlate regional and contextual references in historic log and geological data. Once trained, the ML model applies faster and more accurate corrections to nearby wells with triple or quad-combo log data compared with manual correction.

MALC was applied on the Bakken formation and Groningen gas field in the northeastern part of the Netherlands. In the Bakken dataset, MALC successfully corrected gamma ray and neutron porosity errors. For Groningen, it correctly identified halite and anhydrite zones.


Wellbore-log preprocessing steps traditionally include manual log normalizations using histograms and cross plots, reference values for specific formation types, percentile-based normalizations, or synthetically generated logs. The processed logs subsequently compute shale volume, porosity, and formation markers, but manually identifying formations requires time and accurate reference lithology correlations. ML models can speed up the process, but consistently inaccurate log data from limited information on tool specifications and drilling fluids can mislead models and produce erroneous lithology predictions, reservoir estimates, and pay flags.

MALC’s ability to train on large log datasets minimizes systematic errors. A trained MALC model identifies log inconsistencies, performs log corrections, and quantifies log uncertainty with faster turnover time than traditional methods. Once trained, MALC’s strength lies in reinterpreting a mature field with hundreds of wells limited to triple combo data, extrapolating log responses when there are only a few expertly corrected logs, and attenuating noise which is not related to the formation. A workflow for building and applying a MALC-trained model is shown in Fig. 1.

Training is accomplished by introducing synthetic errors into a portion of a qualified dataset to represent typical errors associated with original well logs. The model learns proper corrections by comparing induced errors to the qualified dataset. Once trained, original well logs are processed through the trained MALC program for correction.

The first training step selects high-quality training data which contain formation types and corrections expected for the input logs. Statistics identify logs with similar distributions along an interval of interest and calculate divergence in logs from different wells using a Kullback-Leibler (KL) dissimilarity parameter.

The second step trains a one-dimensional (1D) ML model by sampling random intervals from multiple training well logs to correct shifts, differences in scaling factors, random noises, and minor local disturbance systematic errors. Input sample distortions trained the ML for log correction using shifts and scaling with varying intensity and some local and minor random alterations. Examples of noise and artifacts added during training include lateral shifts for neutron and gamma ray logs, differences in scaling factor for gamma ray logs, slight vertical shift for all wellbore logs, random noise for all logs, and local disturbances on density and neutron porosity logs (NPHI).

Fig. 2 shows examples of altering log data for training sets. For Sample 1, the compressional wave transit time (DTC) track was removed from the log. For Sample 2, gamma ray was laterally shifted by about 50 API units. Sample sizes were about 130 ft long to capture large-scale formation property variations.

Once the trained model is applied to multiple wells in the same formation, the output corrects log curves and provides depth-by-depth standard deviation and uncertainty estimates among the multiple model realizations using the Monte Carlo dropout technique. An uncertainty band described by the 10th and 90th percentile around averages from numerous realizations varies with depth to identify zones requiring further manual review.

MALC qualification exercises were performed for the model on data from Bakken and Groningen fields to correct for systematic and local errors in gamma ray logs. The Bakken dataset contained a subset of wells with good quality logs and no predominant shift, and this dataset evaluated MALC using synthetically induced errors in the wellbore logs. The Groningen dataset contained wells with systematic shifts in the gamma ray and neutron porosity logs across halite and anhydrite zones, and MALC successfully corrected logs in these zones, bringing log responses in line with training wells.

Case studies

The Bakken study included 21 wells with triple-combo logs in the training set. Estimated porosity in logged intervals was 0-13%, clay volumes were 0-40%, and logged measured depths were 7,300-11,700 ft.

The log data had no indication of washout effects, missing intervals, or substantial depth shift. The logs were randomly split for training and validation. Synthetic noise was added to half of the training set logs, initially to the gamma ray log only and then to the gamma ray and neutron porosity simultaneously. In the latter case, constant shifts and scaling factors were altered over the entire well.

The untrained ML model’s ability to accurately predict correct gamma ray logs used artificially altered gamma ray, neutron porosity, density, and logarithmic resistivity as input. The model was trained with a set of 1D intervals with gamma ray neutron porosity and density target logs. Synthetic noise was added to the gamma ray log to test the untrained model’s response to noise.

Once the model was trained, MALC tested wells with altered gamma ray logs. The model processed and corrected logs back in line with the original data set (Fig. 3). Fig. 4 shows MALC processing results throughout the log depth in a test well. The input test log (green) has a gamma ray shift from the original (red). After ML correction, the corrected log (blue) and original log are similar in trend and intensity.

Dissimilarity between log sets using KL divergence calculations identifies outliers in the original distribution that require further analysis. Dissimilarity arises from formation variations across the field, diagenetic processes altering mineralogy, and vertical resolution changes.

Table 1 contains the dissimilarity matrix between Wells A, B, and C for the original logs, Table 2 contains the dissimilarity matrix for the training set logs with alterations, and Table 3 contains the dissimilarity matrix for MALC-corrected logs. Comparison of Table 1 and 2 shows that dissimilarity increased after adding synthetic noise, as expected for the altered training set. After MALC correction, dissimilarity reduced to at-or-better-than original values.

MALC performed a second test on the Bakken data by simultaneously altering neutron porosity and gamma ray curves. As with the gamma ray only correction, MALC-corrected neutron and gamma ray logs brought the responses back to original, unaltered values, but did not affect the density log during the correction.

A final test of MALC applied the model to three test wells without synthetic alteration. No systematic shifts or scaling in gamma ray or neutron porosity logs occurred after applying MALC, indicating that the model did not apply corrections that were not warranted from the input data.

For the Groningen field study, halite and anhydrite layers were altered in test logs from 86 wells with gamma ray, neutron porosity, density compressional slowness, and resistivity logs. The logs contain intervals with sandstones, shale, anhydrite, and halite. Many have systematic inconsistencies in gamma ray and neutron porosity. Like the Bakken study, a test well training set was constructed by synthetically altering a subset of logs to test the correction against unaltered, validated well logs.

The dataset contained non-validated wells with apparent shifts in gamma ray and neutron porosity. A subset of these wells was selected based on dissimilarity calculations to test the trained MALC’s ability to correct gamma and neutron porosity in the presence of field noise.

To evaluate MALC’s ability to discern petrophysical properties through natural field noise, layers containing anhydrite and halite provided training signatures for the model to detect other intervals with similar signatures. Anhydrite log responses show high density and low compressional slowness, and halite responses show low density and high resistivity. Many predominantly halite intervals in Groningen have low vertical variation.

Fig. 5 shows MALC-corrected logs of a test well which includes halite and anhydrite zones. Track 1 contains measured depths. Track 2 shows gamma ray logs. And Track 3 contains neutron porosity logs. MALC-corrected logs are blue, original logs are red, and the uncertainty range is outlined in yellow. Track 4 contains the density log, and Track 5 shows compressional slowness.

There is a nearly systematic shift in neutron porosity in the 9,650-9,940 ft halite interval and 10,060-10,100 ft anhydrite interval, indicating that MALC learned petrophysical context over multiple formation types and applied appropriate corrections to those intervals. The corrected gamma ray log shifts to a lower value than the logged data and reveals high uncertainty in those intervals reflecting systematic errors and noise in the original logs in those intervals. After ML correction for three test wells, KL divergence shows that the halite and anhydrite zones have mode and distribution shapes brought closer in line to those in the training wells. This effect is illustrated in Fig. 6 for the gamma ray distribution of Test Wells A (magenta), B (green), and D (blue) compared with the training well (black). After ML correction, test well gamma ray distributions are narrowed and brought closer to the training well peak at about 14 API units.