Skip to content

Prediction of Well Log Values through Neural Networks, utilizing Keras

Daily, vast volumes of data are collected from global wells. Despite this, the caliber of this data can fluctuate significantly, encompassing missing data, data influenced by sensor malfunctions, and data affected by borehole conditions. These discrepancies can lead to repercussions in other...

Predicting Well Log Values via Neural Networks with Keras
Predicting Well Log Values via Neural Networks with Keras

Prediction of Well Log Values through Neural Networks, utilizing Keras

In the realm of subsurface projects, well log data plays a crucial role. However, missing data can lead to delays and inaccurate assumptions. To tackle this issue, a machine-learning model was built using Keras and MinMaxScaler to predict bulk density (RHOB) from well log data in the Volve Field, located off the west coast of Norway.

1. Data Preprocessing & Feature Engineering

The first step involved cleaning the well logs by checking for missing or invalid values, removing outliers, and normalizing the input data using MinMaxScaler. Relevant logs such as gamma ray, resistivity, neutron porosity, sonic (DT), and additional features like log derivatives, moving averages, or cross-plots were included.

2. Model Architecture & Training in Keras

A moderately deep feed-forward dense neural network (MLP) was chosen as the model architecture. Batch normalization and dropout layers were added to improve training stability and reduce overfitting. The model was compiled with Mean Absolute Error (MAE) as the loss function and the optimizer set to 'Adam'.

3. Training Strategies and Workflow

The model was trained for 30 epochs, and the training history was saved for future reference. A validation set was used to monitor the model's performance, and early stopping was implemented to prevent overfitting.

4. Advanced Techniques (If Baseline Doesn't Satisfy)

If the baseline model's performance was unsatisfactory, more advanced techniques could be employed, such as sequence models (1D CNNs or RNNs) for sequential depth logs, ensemble learning, or incorporating domain knowledge or physics-based constraints.

Example Keras Model Skeleton for RHOB Prediction

```python from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout, BatchNormalization from tensorflow.keras.callbacks import EarlyStopping

model = Sequential([ Dense(64, input_shape=(num_features,), activation='relu'), BatchNormalization(), Dropout(0.2), Dense(64, activation='relu'), BatchNormalization(), Dropout(0.2), Dense(1, activation='linear') # RHOB regression output ])

model.compile(optimizer='adam', loss='mse', metrics=['mae'])

early_stop = EarlyStopping(monitor='val_loss', patience=20, restore_best_weights=True)

history = model.fit( X_train_scaled, y_train, validation_data=(X_val_scaled, y_val), epochs=200, batch_size=32, callbacks=[early_stop] ) ```

Summary

By carefully preprocessing and engineering features from well logs, properly scaling data with MinMaxScaler, building a moderately deep NN with regularization and batch norm, and using early stopping and validation sets for generalization, we were able to improve the performance in predicting bulk density from Volve Field well logs.

Consistent experimentation and validation with domain insight will lead to even better results. If you need help with specific code or troubleshooting, feel free to ask!

The initial model yielded an MAE of 0.0757 g/cc and an RMSE of 0.1105. After normalization, the model's performance improved, with an MAE of 0.0292 g/cc and an RMSE of 0.0455.

The model was built using Keras, a high-level neural networks API that runs on top of TensorFlow. In this tutorial, we focused on predicting bulk density (RHOB), a commonly acquired logging measurement that can be impacted by bad hole conditions or tool failures. The dataset used in the tutorial was a subset of the Volve Dataset that Equinor released in 2018, with full details and licensing information available online.

A scatter plot was created to visualize the error results, showing most data points sitting close to the 1:1 relationship line, but a higher spread of values between 2.2g/cc and 2.6 g/cc, indicating under-prediction by the model in this range. After re-running the model with normalized inputs, the scatter plot showed a significant improvement around the 2.2g/cc and 2.6 g/cc range.

Large amounts of well log data are acquired daily from around the world, but the quality can vary significantly due to factors like missing data, sensor failure, and borehole conditions. By employing machine learning techniques, we can help mitigate these issues and improve the accuracy of subsurface projects.

Read also:

Latest