Simulating reservoir behavior using computer models can provide information that can guide petroleum extraction efforts. Therefore, petroleum extraction may be performed together with simulation of the respective reservoir's behavior. However, reservoirs can include complex geometry and experience complicated actions. Examples of such geometry and actions include high-contrast fluvial sands, fractured carbonate reservoirs, other fractures, faults, pinch-outs, wells that get turned on or off, and wells that exhibit large changes in well controls. Reservoirs with these and other features can be difficult to accurately simulate using computer models.
Recently, artificial intelligence has been proposed to assist in the identification of faults in subterranean domains, thereby facilitating the creation of the geological models. Artificial intelligence generally has to be trained, however, to make appropriate inferences. Training such artificial intelligence can be both time-consuming and expensive. Moreover, the data relied upon to undertake such training is often proprietary, and thus training data that might be used to train artificial intelligence for one user may not be available to train the artificial intelligence for another user.
Embodiments of the disclosure may provide a method for processing geological data. The method includes receiving a geological data processing tool at a client system. The geological data processing tool includes artificial intelligence, and the geological data processing tool is generated by a geological processing tool provider. The method also includes obtaining training data for the geological data processing tool. The training data includes a plurality of labels. The method also includes training the geological data processing tool based on the training data, receiving data representing a physical, subterranean volume, identifying one or more geological features in the subterranean volume by using the geological data processing tool after training the geological data processing tool, and modifying, using the client system, one or more parameters of the geological data processing tool, or one or more labels of the plurality of labels.
In an embodiment, the training data is protected from exposure to a provider system from which the geological processing tool is received.
In an embodiment, the client system comprises a remote server accessible over the internet, and wherein the training data is held in an encrypted database accessible by the remote server and not accessible to the provider system.
In an embodiment, the artificial intelligence includes a convolutional neural network, a support vector machine, or both.
In an embodiment, training the geological data processing tool includes receiving an identification of one or more geological features in one or more images of the training data, and the plurality of labels are extensible by the client system.
In an embodiment, the one or more geological features includes at least one of horizons, layer interfaces, geobodies, faults, sand channels, gas chimneys, pipelines, boreholes, well top markers, or pore pressure.
In an embodiment, receiving the training data includes obtaining the training data from a database accessible to the geological tool provider.
In an embodiment, receiving the training data includes receiving the training data from the client system, and the geological processing tool is not accessible to the geological processing tool provider after being trained.
Embodiments of the disclosure may also provide a computing system including one or more processors, and a memory system including one or more non-transitory computer-readable media storing instructions that, when executed by at least one of the one or more processors, cause the computing system to perform operations. The operations include receiving a geological data processing tool at a client system. The geological data processing tool includes artificial intelligence, and the geological data processing tool is generated by a geological processing tool provider. The operations also include obtaining training data for the geological data processing tool. The training data includes a plurality of labels. The operations also include training the geological data processing tool based on the training data, receiving data representing a physical, subterranean volume, identifying one or more geological features in the subterranean volume by using the geological data processing tool after training the geological data processing tool, and modifying, using the client system, one or more parameters of the geological data processing tool, or one or more labels of the plurality of labels.
Embodiments of the disclosure may further provide a non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations. The operations include receiving a geological data processing tool at a client system. The geological data processing tool includes artificial intelligence, and the geological data processing tool is generated by a geological processing tool provider. The operations also include obtaining training data for the geological data processing tool. The training data includes a plurality of labels. The operations also include training the geological data processing tool based on the training data, receiving data representing a physical, subterranean volume, identifying one or more geological features in the subterranean volume by using the geological data processing tool after training the geological data processing tool, and modifying, using the client system, one or more parameters of the geological data processing tool, or one or more labels of the plurality of labels.
It will be appreciated that this summary is intended merely to introduce some aspects of the present methods, systems, and media, which are more fully described and/or claimed below. Accordingly, this summary is not intended to be limiting.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the present teachings and together with the description, serve to explain the principles of the present teachings. In the figures:
In general, embodiments of the present disclosure may provide a flexible artificial intelligence (AI) tool for detecting and classifying geological features, e.g., in seismic data, in order to assist in generating a model of a subterranean domain. The tool may be provided as part of a “kit” which may be executed by a client system and/or on a remote server, such as a commercially-available, hosted computing environments. Further, the AI tool may be included in the kit in an “untrained” state, such that the user (e.g., a corporate client) may employ the user's training data to train the AI tool. Encapsulating the training data (and associated ground-truth data) in the client's (or a remote) system and away from the tool-provider's system may, in some embodiments, protect proprietary training data belonging to the client from exposure to the tool-provider's system. In other embodiments, the AI tool may be provided in the kit in a trained state, with the provider having trained the AI tool with available training data. In either situation, the client may be able to modify the AI tool, changing hyperparameters and/or the layers of the algorithm employed by the AI tool. Further, either case may allow the client's users develop their own training data, ground-truth data, classifiers.
Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings and figures. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
It will also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first object or step could be termed a second object or step, and, similarly, a second object or step could be termed a first object or step, without departing from the scope of the present disclosure. The first object or step, and the second object or step, are both, objects or steps, respectively, but they are not to be considered the same object or step.
The terminology used in the description herein is for the purpose of describing particular embodiments and is not intended to be limiting. As used in this description and the appended claims, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Further, as used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context.
Attention is now directed to processing procedures, methods, techniques, and workflows that are in accordance with some embodiments. Some operations in the processing procedures, methods, techniques, and workflows disclosed herein may be combined and/or the order of some operations may be changed.
In the example of
In an example embodiment, the simulation component 120 may rely on entities 122. Entities 122 may include earth entities or geological objects such as wells, surfaces, bodies, reservoirs, etc. In the system 100, the entities 122 can include virtual representations of actual physical entities that are reconstructed for purposes of simulation. The entities 122 may include entities based on data acquired via sensing, observation, etc. (e.g., the seismic data 112 and other information 114). An entity may be characterized by one or more properties (e.g., a geometrical pillar grid entity of an earth model may be characterized by a porosity property). Such properties may represent one or more measurements (e.g., acquired data), calculations, etc.
In an example embodiment, the simulation component 120 may operate in conjunction with a software framework such as an object-based framework. In such a framework, entities may include entities based on pre-defined classes to facilitate modeling and simulation. A commercially available example of an object-based framework is the MICROSOFT® .NET® framework (Redmond, Wash.), which provides a set of extensible object classes. In the .NET® framework, an object class encapsulates a module of reusable code and associated data structures. Object classes can be used to instantiate object instances for use in by a program, script, etc. For example, borehole classes may define objects for representing boreholes based on well data.
In the example of
As an example, the simulation component 120 may include one or more features of a simulator such as the ECLIPSE™ reservoir simulator (Schlumberger Limited, Houston Tex.), the INTERSECT™ reservoir simulator (Schlumberger Limited, Houston Tex.), etc. As an example, a simulation component, a simulator, etc. may include features to implement one or more meshless techniques (e.g., to solve one or more equations, etc.). As an example, a reservoir or reservoirs may be simulated with respect to one or more enhanced recovery techniques (e.g., consider a thermal process such as SAGD, etc.).
In an example embodiment, the management components 110 may include features of a commercially available framework such as the PETREL® seismic to simulation software framework (Schlumberger Limited, Houston, Tex.). The PETREL® framework provides components that allow for optimization of exploration and development operations. The PETREL® framework includes seismic to simulation software components that can output information for use in increasing reservoir performance, for example, by improving asset team productivity. Through use of such a framework, various professionals (e.g., geophysicists, geologists, and reservoir engineers) can develop collaborative workflows and integrate operations to streamline processes. Such a framework may be considered an application and may be considered a data-driven application (e.g., where data is input for purposes of modeling, simulating, etc.).
In an example embodiment, various aspects of the management components 110 may include add-ons or plug-ins that operate according to specifications of a framework environment. For example, a commercially available framework environment marketed as the OCEAN® framework environment (Schlumberger Limited, Houston, Tex.) allows for integration of add-ons (or plug-ins) into a PETREL® framework workflow. The OCEAN® framework environment leverages .NET® tools (Microsoft Corporation, Redmond, Wash.) and offers stable, user-friendly interfaces for efficient development. In an example embodiment, various components may be implemented as add-ons (or plug-ins) that conform to and operate according to specifications of a framework environment (e.g., according to application programming interface (API) specifications, etc.).
As an example, a framework may include features for implementing one or more mesh generation techniques. For example, a framework may include an input component for receipt of information from interpretation of seismic data, one or more attributes based at least in part on seismic data, log data, image data, etc. Such a framework may include a mesh generation component that processes input information, optionally in conjunction with other information, to generate a mesh.
In the example of
As an example, the domain objects 182 can include entity objects, property objects and optionally other objects. Entity objects may be used to geometrically represent wells, surfaces, bodies, reservoirs, etc., while property objects may be used to provide property values as well as data versions and display parameters. For example, an entity object may represent a well where a property object provides log information as well as version information and display information (e.g., to display the well as part of a model).
In the example of
In the example of
As mentioned, the system 100 may be used to perform one or more workflows. A workflow may be a process that includes a number of worksteps. A workstep may operate on data, for example, to create new data, to update existing data, etc. As an example, a may operate on one or more inputs and create one or more results, for example, based on one or more algorithms. As an example, a system may include a workflow editor for creation, editing, executing, etc. of a workflow. In such an example, the workflow editor may provide for selection of one or more pre-defined worksteps, one or more customized worksteps, etc. As an example, a workflow may be a workflow implementable in the PETREL® software, for example, that operates on seismic data, seismic attribute(s), etc. As an example, a workflow may be a process implementable in the OCEAN® framework. As an example, a workflow may include one or more worksteps that access a module such as a plug-in (e.g., external executable code, etc.).
In some embodiments, the remote server 206 may be locally-hosted on the client system 202 (and thereby accessible thereto). In other embodiments, as shown, the remote server 206 may be accessible to the client system 202 remotely via a network (e.g., the internet) 208. The remote server 206 may, in some embodiments, also be accessible to the provider system 204. For example, the provider system 204 may be able to transmit a geological data processing tool, as will be described in greater detail below, to the remote server 206 for access by the client system 202. In other embodiments, the provider system 204 may be prevented from accessing the remote server 206, and such a geological data processing tool may be uploaded thereto from the client system 202 after being transmitted thereto from the provider system 204.
The remote server 206 may have access to one or more databases (four are shown: 210, 211, 212, 213). These databases 210-213 may store information, including, for example, training data, ground-truth data, seismic cubes, and/or other data. Some databases 210-213 may be encrypted or otherwise may not be accessible to the provider system 204. Accordingly, proprietary data loaded into the remote server 106 may be secured. Similarly, the client system 202 may include one or more databases (one shown: 214). The database 214 may contain client-specific data, such as propriety training data, ground truths, seismic cubes, etc. The contents of the database 214 may be uploaded, in whole or in part, to one or more of the databases 210-213 of the remote server 106 and/or may be secured from access by the provider system 204.
The method 300 may begin, on the provider system 204 side, by generating an untrained geological data processing tool, as at 302. The processing tool may be an artificial intelligence system. A variety of such systems are known and may be employed. One such system is a convolution neural network, as will be described in greater detail below. Another example is a support vector machine. Although convolution neural networks and support vector machines may be used, these are just two examples among many contemplated.
The method 300 may include the provider system 204 providing the untrained geological data processing tool to a system accessible to the client, as at 304. This may include providing the tool to the remote server 206 or to the client system 202, as shown. In turn, the client system 202 may upload the untrained geological data processing tool to the remote server 206.
The client system 202 may, in some embodiments, generate training data, as at 306. The training data may provide ground truth data about classifications of geological features. For example, as will be described in greater detail below, the training data may include seismic or other types of geological data (e.g., seismic cubes) that may be viewed, and geological features picked, by an expert human user, or using another reliable method of identifying and/or classifying geological features, so as to generate the training data. Examples of such geological features include horizons, layers, geobodies, faults, channels, gas chimneys, pipelines, boreholes, well top markers, and pore pressure.
The client system 202 may employ the training data generated at 306 to train the untrained geological data processing tool, thereby generating a trained geological data processing tool, as at 308. For example, the tool may include data converters configured to translate training data into a format that can be utilized by the tool, as will be described in greater detail below. Further, the training data may be stored in a manner accessible to the tool, e.g., in one of the databases 210-213.
In some embodiments, the client system 202 may not have access to training data or may otherwise not be configured to develop such training data. Accordingly, rather than providing the untrained geological data processing tool to such a client system 202, the provider system 204 may obtain the training data, as at 310. Such training data may be non-proprietary, such as developed by academia or otherwise available for use by the provider system 204. In some embodiments, such training data may be stored in the provider system 204 and may be protected from exposure to the client system 202, but in other embodiments, may be available thereto.
The provider system 204 may then train the untrained geological processing tool to generate a trained geological processing tool, as at 312. Such training may proceed in any manner, with an example being provided below, and may rely on experts available to the provider system 204. With the tool trained, the tool may be provided to the system accessible to the client, as at 314. This latter case, with the trained tool provided to the system accessible to the client, may be suited for use with relatively small corporate clients that may not have access to training data or may lack expertise to generate the same. In other embodiments, the tool provider may train the tool, and the client may provider further training data/training of the tool. For example, the labels utilized by the tool may be adjusted or extended by the client during subsequent training.
Once the client system 202 has access to a trained geological data processing tool, the process of employing the tool may commence. Accordingly, the client system 202 may acquire data representing a subterranean formation, as at 316, e.g., including one or more unclassified features represented in a seismic cube, well profile, geological model, or any other data set representing one or more physical characteristics of the subterranean volume. The data may be collected using one or more sensors, e.g., seismic receivers (geophones or hydrophones), well logging sensors, and/or the like.
The method 300 may then include modifying the geological data processing tool, as at 320. Such modifying may proceed in response to user inputs. The user inputs may include editing hyperparameters of the geological processing tool, e.g., as part of the training and/or part of the classification components of the geological processing tool.
This training data may be employed in a training process or “brick” of the workflow 400, as indicated at 404. The training brick 404 may employ the training data to establish connections between neurons in a neural network of a neural network or otherwise train another type of artificial intelligence, as represented by brick 406.
Once the artificial intelligence 406 is trained at 404, the artificial intelligence may receive user input, as indicated at 408. The user-input may include seismic cubes and/or other geological data, to which a classification regime may be imposed, e.g., to identify and locate various geological features. The artificial intelligence 406 may thus output classification and/or detection of such geological features, as at 410.
As noted above, there are several different types of artificial intelligence that may be employed with a geological data processing tool. A convolutional neural network is one example.
Convolution neural networks (ConvNets) are a continuation of multiple layer perceptron (MLP). In an MLP, a core performs simple computations by taking the weighted sum of the other cores that serve as input to it. The network may be structured as different layers of cores, where each core in a layer is connected to the other cores in the previous layers. There are four kinds of layers in a ConvNet architecture: convolutional (cony), rectifying linear unit (ReLU), pooling (pool), and fully connected (fcLayer). Each convolutional layer transforms a set of feature maps to another set of feature maps using the convolution operation ⊗ based on a set of filters. Mathematically, if Wil and bil respectively denote the weight matrix and the bias vector of the ith filter of the lth convolutional layer and Mil it's activation map:
M
i
l
=M
l−1
⊗ W
i
l
+b
i
l
ReLU is the activation function, for the ith unit of layer l it is defined as follows:
M
i
l=max(Ml−1)*Wl⊗bl
Pooling layers perform a spatial down sampling of the input feature map. Pooling is used to decrease the input dimensionality of the next layer. Pooling may facilitate the representation becoming invariant to small translations of the input.
After potentially several convolutional and ReLU layers (as shown 1, 2, . . . n), the high-level reasoning in the neural network is done via fully connected layers (fcLayer). Let Wl denote the incoming weight matrix and bl the bias vector of a fully connected layer l then:
M
l
=htile(Ml−1)*Wl⊗bl
where the htile(.) operator tiles the feature-maps of the input volume along the height, * is matrix multiplication and ⊗ is elementwise addition.
The ConvNets may also employ a regularization method (e.g., dropout) to prevent overfitting. Further, Local Response Normalization (LRN) may be a layer useful when dealing with ReLU neurons. LRN may normalize ReLU functions, which may have unbounded activations. This facilitates detecting high frequency features with a large response.
The ConvNets may also apply a loss function to compare the network's output for a training example against the ground truth output. One loss function is a squared Euclidian distance, expressed as
where yi is the output of the i-th network output unit, and zi is the i-th value of the target output. Another loss function is cross-entropy loss, defined by:
Returning to
Modifying the hyperparameters may allow tuning the artificial intelligence for a faster convergence rate. Hyperparameters are variables set before optimizing the model's parameters. Setting the values of hyperparameters can be seen as model selection, e.g., choosing which model to use from the hypothesized set of possible models. Hyperparameters are often set by hand, selected by some search algorithm, or optimized by a “hyper-learner”. Neural networks may have many hyperparameters, including those which specify the structure of the network itself and those which determine how the network is trained.
The modifications/adjustments made via the user input 414 in the learning brick 412 may then be applied back to the artificial intelligence brick 406. The modified artificial intelligence brick 406 may then result in different output 410 than would have otherwise been provided without such learning. In an embodiment, the output 410 may be or be employed to create a subsurface model of the subterranean domain of interest, including an identification of one or more geological features.
The process of training the artificial intelligence is illustrated in greater detail in the example of
In some embodiments, simulated reservoir model 700 may be in data that is obtained by a computing device. In further embodiments, simulated reservoir model 700 may include analysis data, indicating, for example, positions of geological features, positions of fluids, etc. within the reservoir model. Accordingly, simulated reservoir model 700 and the analysis data may be in data that is obtained by the computing device.
In various embodiments, the simulated reservoir model 700 may be partitioned into subsections. For example, simulated reservoir model 700 may be split into four-dimensional voxels of equal size. Then, the subsections may be labeled, resulting in the generation of labeled data 710.
Labeled data 710 depicts subsection 1 (center at −10 meters, 10 meters, −10 meters (x,y,z)), subsection 50 (center at 0 meters, 8 meters, −10 meters (x,y,z)), and subsection 1,050 (center at 0 meters, 3 meters, −8 meters (x,y,z)). The subsections may indicate and/or visualize values of properties within the subsection, including any changes over time.
Subsection 1 is associated with a voxel in a position that may not have notable properties and/or features that are being analyzed. Accordingly, the integer label may indicate a value of 0.
Subsection 50 is associated with a voxel in a position that may show or indicate a second property and/or feature. Accordingly, the integer label may indicate a value of 2.
Subsection 1,050 is associated with a voxel in a position that may show or indicate a first property and/or feature. Accordingly, the integer label may indicate a value of 1.
In various embodiments, labeled data 710 may be used as part of a training data set to train a machine learning model.
Subsection 810 may represent a subsection that is classified based on a geological structure within the subsection, where the structure is also localized by a bounding box. For example, subsection 810 may include a fault, and interpreted data associated with subsection 810 may include an image of the subsection, metadata indicating that a fault is within the subsection, and/or metadata indicating xy coordinates of a bounding box surrounding the fault. Accordingly, a label may be generated indicating that subsection 810 is associated with a fault and coordinates of the bounding box.
Subsection 820 may represent a subsection that is associated with multiple detected objects within the subsection. For example, subsection 820 may include faults, salt bodies, and a horizon, and interpreted data associated with subsection 820 may include an image of the subsection and metadata indicating that faults, salt bodies, and a horizon are within the subsection. Accordingly, a label may be generated indicating that subsection 820 is associated with faults, salt bodies, and a horizon.
Subsection 830 may represent a subsection that is segmented based on multiple detected objects within the subsection. For example, subsection 830 may include faults, salt bodies, and a horizon, and interpreted data associated with subsection 820 may include an image of the subsection, metadata indicating that faults, salt bodies, and a horizon are within the subsection, and/or metadata indicating ranges of xy coordinates associated with the objects. Accordingly, a label may be generated indicating that subsection 820 is associated with faults, salt bodies, and a horizon, and indicating ranges of coordinates associated with the objects. Thus, the labels generated as in
In some embodiments, the methods of the present disclosure may be executed by a computing system.
A processor may include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device.
The storage media 906 may be implemented as one or more computer-readable or machine-readable storage media. Note that while in the example embodiment of
In some embodiments, computing system 900 contains one or more artificial intelligence (AI) module(s) 908. In the example of computing system 900, computer system 901A includes the AI module 908. In some embodiments, a single AI module may be used to perform some aspects of one or more embodiments of the methods disclosed herein. In other embodiments, a plurality of AI modules may be used to perform some aspects of methods herein.
It should be appreciated that computing system 900 is merely one example of a computing system, and that computing system 900 may have more or fewer components than shown, may combine additional components not depicted in the example embodiment of
Further, the steps in the processing methods described herein may be implemented by running one or more functional modules in information processing apparatus such as general purpose processors or application specific chips, such as ASICs, FPGAs, PLDs, or other appropriate devices. These modules, combinations of these modules, and/or their combination with general hardware are included within the scope of the present disclosure.
Geologic interpretations, models, and/or other interpretation aids may be refined in an iterative fashion; this concept is applicable to the methods discussed herein. This may include use of feedback loops executed on an algorithmic basis, such as at a computing device (e.g., computing system 900,
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or limiting to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. Moreover, the order in which the elements of the methods described herein are illustrate and described may be re-arranged, and/or two or more elements may occur simultaneously. The embodiments were chosen and described in order to best explain the principals of the disclosure and its practical applications, to thereby enable others skilled in the art to best utilize the disclosed embodiments and various embodiments with various modifications as are suited to the particular use contemplated.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2016/076828 | 11/7/2016 | WO | 00 |