When planning the path of a well, it is advantageous to know the lithology, saturation, and associated physical properties of subsurface rock formations at the drill bit of a drilling system while drilling. This allows preemptive wellbore trajectory changes to be made before the wellbore reaches its target zone, e.g., a hydrocarbon reservoir, and to maintain the wellbore in the target zone. Information used to update the path of the well may be derived from a suite of logging while drilling (LWD) tools configured as part of the bottom hole assembly of the drilling system. A measurement acquired using a LWD tool is typically recorded and stored as a function of depth and/or time as the drill bit penetrates and traverses the subsurface, the recorded and stored measurement known as a LWD log. Given a suite of LWD tools, multiple LWD logs (“logs”) may be acquired where both the independent and joint evaluation of the logs can be used to determine properties of the subsurface (e.g., lithology) proximate the drill bit.
Logging while drilling (LWD) logs are typically telemetered from the bottom hole assembly to the surface for analysis and interpretation and are used to adjust and steer the drill bit (i.e., geosteering). However, there is often a significant constraint on the quantity and transmission speed of telemetered logs. For example, mud pulse telemetry (MPT) is often associated with low transmission rates, channel distortion, and noise interference. Thus, the quantity of LWD data that can be used to inform geosteering decisions is limited. Further, real time analysis of high-resolution logs is difficult, if not prevented.
This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter.
Embodiments disclosed herein generally relate to a method that includes obtaining, with an edge computing device disposed in a bottom hole assembly of a drilling system, logging while drilling data acquired while drilling a well through a subsurface with the drilling system. The method further includes determining, with the edge computing device, at least one interpreted quantity of the subsurface using one or more artificial intelligence (AI) models processing the logging while drilling (LWD) data. The method further includes determining, with the edge computing device, an optimal set of data transfer parameters for a telemetry system of the drilling system that is governed by a set of data transfer parameters, to telemeter the at least one interpreted quantity, where the set of data transfer parameters are continually updated to the optimal set of data transfer parameters while the logging while drilling data is being acquired. The method further includes transmitting, with the edge computing device, one or more guidance control parameters to a geosteering system of the drilling system based on the at least one interpreted quantity.
Embodiments disclosed herein generally relate to a non-transitory computer-readable memory comprising computer-executable instructions stored thereon that, when executed on a processor, cause the processor to perform steps. The steps include obtaining logging while drilling data acquired while drilling a well through a subsurface with a drilling system and determining at least one interpreted quantity of the subsurface using one or more artificial intelligence (AI) models processing the logging while drilling (LWD) data. The steps further include determining an optimal set of data transfer parameters for a telemetry system of the drilling system that is governed by a set of data transfer parameters, to telemeter the at least one interpreted quantity, where the set of data transfer parameters are continually updated to the optimal set of data transfer parameters while the logging while drilling data is being acquired. The steps further include transmitting one or more guidance control parameters to a geosteering system of the drilling system based on the at least one interpreted quantity.
Embodiments disclosed herein generally relate to a system including a drilling system with a bottom hole assembly. The drilling system further includes a drill bit to drill a well in a subsurface, a suite of logging while drilling (LWD) tools with at least one logging while drilling tool proximate the drill bit, an edge computing device configured to obtain logging while drilling data from the suite of LWD tools while drilling the well through the subsurface with the drilling system, and a telemetry system governed by a set of data transfer parameters and configured to telemeter data from the bottom hole assembly to a surface. The edge computing device is further configured to determine at least one interpreted quantity of the subsurface using one or more artificial intelligence (AI) models processing the logging while drilling (LWD) data and determine an optimal set of data transfer parameters for the telemetry system to telemeter the at least one interpreted quantity. The edge computing device is further configured to transmit one or more guidance control parameters to a geosteering system of the drilling system based on the at least one interpreted quantity.
Other aspects and advantages of the claimed subject matter will be apparent from the following description and the appended claims.
Specific embodiments of the disclosed technology will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency. The sizes and relative positions of elements in the drawings are not necessarily drawn to scale. For example, the shapes of various elements and angles are not necessarily drawn to scale, and some of these elements may be arbitrarily enlarged and positioned to improve drawing legibility. Further, the particular shapes of the elements as drawn are not necessarily intended to convey any information regarding the actual shape of the particular elements and have been solely selected for ease of recognition in the drawing.
In the following detailed description of embodiments of the disclosure, numerous specific details are set forth in order to provide a more thorough understanding of the disclosure. However, it will be apparent to one of ordinary skill in the art that the disclosure may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.
Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as an adjective for an element (i.e., any noun in the application). The use of ordinal numbers is not to imply or create any particular ordering of the elements nor to limit any element to being only a single element unless expressly disclosed, such as using the terms “before,” “after,” “single,” and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements. By way of an example, a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.
It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. For example, a “logging while drilling log (or, more simply, a log),” may include any number of “logging while drilling logs (or, more simply, logs),” without limitation.
Terms such as “approximately,” “substantially,” etc., mean that the recited characteristic, parameter, or value need not be achieved exactly, but that deviations or variations, including for example, tolerances, measurement error, measurement accuracy limitations and other factors known to those of skill in the art, may occur in amounts that do not preclude the effect the characteristic was intended to provide.
It is to be understood that one or more of the steps shown in the flowcharts may be omitted, repeated, and/or performed in a different order than the order shown. Accordingly, the scope disclosed herein should not be considered limited to the specific arrangement of steps shown in the flowcharts.
Although multiple dependent claims are not introduced, it would be apparent to one of ordinary skill that the subject matter of the dependent claims of one or more embodiments may be combined with other dependent claims.
In the following description of
Embodiments disclosed herein generally relate to an edge computing device, such as a microprocessor, disposed as part of the bottom hole assembly (BHA) of a drilling system. The edge computing device receives logging while drilling (LWD) data (i.e., one or more LWD logs) from a suite of LWD tools, processes the LWD data with one or more artificial intelligence (AI) models to determine properties of the subsurface proximate the drill bit in real time, and further optimizes telemetry of transferred information from the BHA to the surface, where that transferred information may be some LWD data, determined properties, or some combination thereof. A LWD log can be categorized according to the type of tool used and/or the type of measured value (e.g., voltage, current, etc.), where this categorization is described herein as a data type of the LWD log. As such, LWD data may be composed of more than one LWD log, each log having a data type and a data size. In one or more embodiments, the edge computing device processes LWD data with the one or more AI models based on the data type and data size. For example, in one or more embodiments, the an AI model is provided and specified to process each data type. LWD data, and the processed results of the one or more AI models, are stored either on a storage medium associated with the edge computing device itself or on separate and dedicated storage media disposed in the BHA.
Artificial intelligence (AI), broadly defined, is the extraction of patterns and insights from data. The phrases “artificial intelligence”, “machine learning”, “deep learning”, and “pattern recognition” are often convoluted, interchanged, and used synonymously throughout the literature. This ambiguity arises because the field of “extracting patterns and insights from data” was developed simultaneously and disjointedly among a number of classical arts like mathematics, statistics, and computer science. For consistency, the term artificial intelligence (AI) will be adopted herein, however, one skilled in the art will recognize that the concepts and methods detailed hereafter are not limited by this choice of nomenclature.
Additionally, and in accordance with one or more embodiments, the edge computing device optimizes the transmission of data to be transferred to the surface via either wired pipe telemetry or mud pulse telemetry (MPT). The data transferring optimization involves both the determination of which data are to be prioritized to be transferred and a bandwidth and data consistency optimization. The edge computing device can directly interface with a telemetry system of the drilling system (e.g., a telemetry module of the BHA) to automatically control and adjust a set of data transfer parameters according to the data transfer optimization. As such, methods and systems disclosed herein both enhance LWD data processing and optimize the telemetry of data enabling real time data interpretation and decision making for geosteering.
A general overview of the subsurface activities associated with a drilling process are provided in
While cutting rock with a drill bit (110), typically, a drilling fluid (112) is circulated (with a pump) through the drill string (108), out of the drilling fluid nozzle of the drill bit (110), and back to the surface (104) through the presumably annular space between the wellbore (102) and the drill string (108). Moreover, the drill string (108) may contain a bottom hole assembly (BHA) (114) disposed at the distal end, or down-hole portion, of the conduit. To guide the drill bit (110), monitor the drilling process, and collect data about the subsurface (106) formations, among other objectives, the BHA (114) of the drill string (108) may be outfitted with “logging while drilling” (LWD) tools, “measurement while drilling” tools (MWD), and a telemetry module. An MWD or LWD tool is generally a sensor, or measuring device, which collects information in an associated log during the drilling process. The measurements and/or logs may be transmitted to the surface (104) using any suitable telemetry system known in the art. The BHA (114) and the drill string (108) may contain other drilling tools known in the art but not specifically stated. By means of example, common logs, or information collected by LWD tools, may include, but are not limited to, the density of the subsurface (106) formation, the effective porosity of the subsurface (106) formation, resistivity, wellbore diameter, and temperature.
Depending on the depth of hydrocarbon bearing formation and other geological complexes, a well can have several hole sizes before it reaches its target depth. A steel pipe, or casing (109), may be lowered in each hole and a cement slurry may be pumped from the bottom up through the presumably annular space between the casing (109) and the wellbore (102) to fix the casing (109), seal the wellbore (102) from the surrounding subsurface (106) formations, and ensure proper well integrity throughout the lifecycle of the well.
Upon finishing drilling the wellbore (102), the well may undergo a “completions” process to facilitate accessibility to the well and access the desired hydrocarbons. In some implementations, the final wellbore (102) can be completed using either cased and cemented pipe, which is later perforated to access the hydrocarbon, or it may be completed using a multi-stage open-hole packers assembly.
The open-hole space between sets of packers can be stimulated through an injection port in each stage allowing the hydrocarbons to flow to the surface. In the case of poor cementation, or improper sealing of packers with surrounding subsurface (106) formations, during completions, the well integrity can become compromised leading to the loss of the well or negative environmental impacts.
Further, it is noted that the example LWD logs (200) of
Drilling events that may cause a drilling operation to be paused and/or the drill bit (110) to be retracted and subsequently extended back into the wellbore (102) may include, but are not limited to: making drill string (108) connections; circulating drilling fluid (112); cleaning the wellbore (102); and removing and/or freeing drilling equipment stuck or lodged in the wellbore (102). For example, when using a top drive, drill string (108) connections are typically made every 90 feet. Further, when using a Kelly bushing and a rotary table, the drill string (108) must be retracted by 30 feet in order to add a single 30-foot section of drill pipe to the drill string (108). During the drilling operation, drilling fluid (112) may be circulated in order to control the density and/or rheology of the contents of the wellbore (102). During a period of drilling fluid (112) circulation, the drill bit (110) may be retracted by distances of hundreds of feet or more. Further, portions of the wellbore (102) may swell or otherwise constrict the wellbore (102) requiring that the drill bit (110) be retracted to make multiple cutting passes through those portions of the wellbore (102). One with ordinary skill in the art will appreciate that there are many events during a drilling operation that could trigger the need to pause, reverse, cycle, slow, or otherwise alter the progression of the drill bit (110) through one or more subsurface formations (106) during a drilling operation, such that not all possible events need be enumerated herein without posing a limitation on the instant disclosure.
As stated, to produce an LWD log with a single value for each depth, LWD logs may be processed and combined together using a time-depth merge algorithm. In general, the time-depth merge algorithm advances well depth at a specified resolution (e.g., 0.5 ft increments) and retains the first instance with respect to time. This is because the first temporal instance of recorded data at a given depth is typically considered the most representative (i.e., accurate) of the local subsurface formation (106). As such, in a single value per depth LWD log, such as the example logs (200) of
While
Moreover, when completing a well, casing may be inserted into the wellbore (102). The sides of the wellbore (102) may require support, and thus the casing may be used for supporting the sides of the wellbore (102). As such, a space between the casing and the untreated sides of the wellbore (102) may be cemented to hold the casing in place. The cement may be forced through a lower end of the casing and into an annulus between the casing and a wall of the wellbore (102). More specifically, a cementing plug may be used for pushing the cement from the casing. For example, the cementing plug may be a rubber plug used to separate cement slurry from other fluids, reducing contamination and maintaining predictable slurry performance. A displacement fluid, such as water, or an appropriately weighted drilling mud, may be pumped into the casing above the cementing plug. This displacement fluid may be pressurized fluid that serves to urge the cementing plug downward through the casing to extrude the cement from the casing outlet and back up into the annulus.
The control system (344) may receive LWD data, or other information, from the BHA (114) in order to perform various program functions for up-down steering and left-right steering of the drill bit (110) through the wellbore (102). More specifically, the control system (344) may include hardware and/or software with functionality for geosteering a drill bit through a formation in a lateral well using LWD data, such as downhole resistivity measurements. For example, the formation may be a reservoir region, such as a pay zone, bed rock, or cap rock.
The control system (344) may include hardware and/or software for managing drilling operations and/or maintenance operations. For example, the control system (344) may include one or more programmable logic controllers (PLCs) that include hardware and/or software with functionality to control one or more processes performed by the drilling system (300). Specifically, a programmable logic controller may control valve states, fluid levels, pipe pressures, warning alarms, and/or pressure releases throughout a drilling rig. In particular, a programmable logic controller may be a ruggedized computer system with functionality to withstand vibrations, extreme temperatures, wet conditions, and/or dusty conditions, for example, around a drilling rig. Without loss of generality, the term “control system” may refer to a drilling operation control system that is used to operate and control the equipment, a drilling data acquisition and monitoring system that is used to acquire drilling process and equipment data and to monitor the operation of the drilling process, or a drilling interpretation software system that is used to analyze and understand drilling events and progress. Further, the control system can (344) can adjust operation of the drilling system (300).
Turning to geosteering, geosteering may be used to position the drill bit (110) or drill string (108) relative to a boundary between different subsurface layers (e.g., overlying, underlying, and lateral layers of a pay zone) during drilling operations. In particular, measuring rock properties during drilling may provide the drilling system (300) with the ability to steer the drill bit (110) in the direction of desired hydrocarbon concentrations. As such, a geosteering system may use various LWD tools located inside or adjacent to the drill string (108) to determine different rock formations within a wellbore's path. In some geosteering systems, drilling tools may use resistivity or acoustic measurements to guide the drill bit (110) during horizontal or lateral drilling.
Keeping with
During the lateral drilling of the wellbore (102), preliminary upper and lower boundaries of a formation layer's thickness may be derived from a geophysical survey and/or an offset well obtained before drilling the wellbore (102). If a vertical section (335) of the well is drilled, the actual upper and lower boundaries of a formation layer (i.e., actual pay zone boundaries (A, A′)) and the pay zone thickness (i.e., A to A′) at the vertical section (335) may be determined. Based on this well data, an operator may steer the drill bit (110) through a lateral section (360) of the wellbore (102). In particular, a logging tool may monitor a detected sensor signature proximate the drill bit (110), where the detected sensor signature may continuously be compared against prior sensor signatures, e.g., of the cap rock (330), pay zone (340), and bed rock (350), respectively. As such, if the detected sensor signature of drilled rock is the same or similar to the sensor signature of the pay zone (340), the drill bit (110) may still be drilling in the pay zone (340). In this scenario, the drill bit (110) may be operated to continue drilling along its current path and at a predetermined distance (0.5 h) from a boundary of a formation layer. If the detected sensor signature is same as or similar to the prior sensor signatures of the cap rock (330) or the bed rock (350), respectively, then the control system (344) may determine that the drill bit (110) is drilling out of the pay zone (340) and into the upper or lower boundary of the pay zone (340). At this point, the vertical position of the drill bit (110) at this lateral position within the wellbore (102) may be determined and the upper and lower boundaries of the pay zone (340) may be updated, (for example, positions B and C in
While
As depicted in
The edge computing device (410) further includes one or more artificial intelligence (AI) models (512). Artificial intelligence (AI) model types may include, but are not limited to, neural networks, random forests, generalized linear models, and Bayesian regression. AI model types are usually associated with additional “hyperparameters” which further describe the model. For example, hyperparameters providing further detail about a neural network may include, but are not limited to, the number of layers in the neural network, choice of activation functions, inclusion of batch normalization layers, and regularization strength. The selection of hyperparameters surrounding a model is referred to as selecting the model “architecture.” Generally, multiple model types and associated hyperparameters are tested and the model type and hyperparameters that yield the greatest predictive performance on a hold-out set of data is selected.
Once an AI model type and architecture have been selected, the AI model is typically trained using a training set of data. The training data is composed of input and target pairs. Common training techniques, such as early stopping, adaptive or scheduled learning rates, and cross-validation may be used during training without departing from the scope of this disclosure. A greater discussion surrounding AI model training is provided later in the instant disclosure.
The raw LWD data (514) (which may be filtered or otherwise preprocessed) is processed by the one or more AI models (512) to automatically determine subsurface formation parameters such as porosity, saturation, lithology. In one or more embodiments, the AI models (512) process the raw LWD data (514) based on the LWD metadata (516). For example, an AI model may be prescribed for each type of LWD log such that the LWD metadata (516) is used to dispatch a particular LWD log of the raw LWD data (514) to a particular AI model.
In one or more embodiments, the edge computing device (410) is further informed by LWD tool uncertainties (518). Physical measurements, including the measurements obtained using LWD tools, have measurement uncertainties, where the measurement uncertainty of a given LWD tool can usually be stated as range centered on the returned measurement of the tool (i.e., plus or minus some value). The measurement uncertainty of each tool is contained in the LWD tool uncertainties (518), In one or more embodiments, the LWD tool uncertainties (518) are propagated through the one or more AI models (512) when processing the raw LWD data (514) in view of the LWD metadata (516) to provide uncertainty estimates on the results (i.e., the determined subsurface formation properties/parameters).
As depicted in
The telemetry system (430) can use any form of telemetry known in the art to transmit data from the BHA (114) to the surface, such as wired pipe telemetry or mud pulse telemetry (MPT). Generally, there is often a significant constraint on the quantity and transmission speed of data telemetered from the BHA (114) to the surface. For example, MPT is often associated with low transmission rates, channel distortion, and noise interference. In one or more embodiments, the edge computing device is connected to or contains a data transfer optimizer (520) that interacts with the telemetry system (430) to optimize the transfer of data from the BHA (114) to the surface. In one or more embodiments, data transmission using the telemetry system (430) is governed by a set of data transfer parameters (532). The data transfer optimizer (520) determines which data are to be prioritized to be transferred, followed by a bandwidth and data consistency optimization. Upon optimization, the set of data transfer parameters (532) are automatically updated in the telemetry system (430). The effectiveness of the set of data transfer parameters (532) are continually monitored in terms of bandwidth and latency. In one or more embodiments, the data transfer optimizer (520) is or includes a reinforcement Q-learner (525) that learns or otherwise adjusts the set of data transfer parameters (532) based on the processed raw LWD data (514) (processed using the one or more AI models (512)) in view of both the LWD metadata (516) and observable telemetry metrics such as bandwidth and latency.
In accordance with one or more embodiments, the data transfer optimizer (520) improves the bandwidth and latency of telemetered data through one or more of the following methods. First, raw LWD data (514), which is typically very large, is reduced by interpreting the raw LWD data (514) to useful subsurface properties downhole (i.e., without the need to telemeter the raw LWD data (514)) using the one or more AI models (512). Thus, interpreted results, which typically have a smaller data size than their raw LWD data counterpart, can be telemetered to the surface instead of the raw LWD data (514) itself. Second, data to be telemetered to prioritized by the data transfer optimizer (520). Basic or already interpreted properties such as lithology, porosity, saturation, and bound fluid volume are given higher priority by the data transfer optimizer (520) than more data intensive (in terms of data size) measurements such as borehole images and NMR T2 distributions for rock pore structure characterization. Third, bandwidth and data consistency are implemented by the data transfer optimizer via changing the frequency data transmission of the mud pulse or wired connection while simultaneously ensuring that the data maintain consistency and the error rates during the transmission are not excessive, such as experiencing data losses. Finally, in one or more embodiments, the data transfer optimizer (520) uses a reinforcement learning approach (e.g., reinforcement Q-learner (525)) that changes transfer bandwidth and frequency to maximize data transfer rates depending on amount of data to be transmitted and the current telemetry conditions.
Turning to reinforcement learning, a reinforcement learning algorithm may train an artificial intelligence model (where, here, the AI model is part of the data transfer optimizer (520)) to make a sequence of decisions. For example, a recurrent neural network (RNN) may be trained by a reinforcement learning algorithm to achieve a predetermined objective in a possibly uncertain, potentially complex environment. In particular, the predetermined objective may be an optimal set of data transfer parameters. Thus, a reinforcement learning algorithm may employ a trial-and-error procedure to determine a solution to a complex problem. For example, a reinforcement learning algorithm may include a reward function that teaches a recurrent neural network (RNN) to follow certain rules, while still allowing the network to retain information learned from filtered, processed (e.g., using the AI models (512)), and prioritized LWD data.
Continuing with
In Block 807, geosteering decision are made in real time, downhole without human intervention, based on the at least one interpreted quantity. The edge computing device (410) automatically adjusts one or more guidance control parameters, where the guidance control parameters guide and direct a drill bit of the drilling system along some wellbore path. As such, the edge computing device (410) determines, based on at least the at least one interpreted quantity, a wellbore path (or updates to the wellbore path) in real time and automatically adjusts the one or more guidance control parameters accordingly. Consequently, the edge computing device (410) enables autonomous and real time geosteering informed by LWD data acquired proximate the drill bit while performing a drilling operation.
Finally, it is again emphasized that the processes of
Embodiments of the present disclosure may provide at least one of the following advantages. The edge computing device (410) enables downhole data processing transforming measurement signals of LWD logs to formation properties. Further, the formation properties can be used to support geosteering. The methods and systems disclosed herein allow for geosteering recommendations to be made downhole based on, among other things, raw LWD data (514) also processed downhole such that the geosteeering recommendations can be implemented autonomously in real time. The supported geosteering can enhance well placement, optimize reservoir contact, and/or ultimately increase recovery. In one or more embodiments, the methods and systems disclosed herein may be of particular interest for long horizontal wells, which often require geo-navigation in thin reservoir layers. Additionally, the real time and downhole determination of formation properties produces fit-for-purpose petrophysical models. The edge computing device (410) and data transfer optimizer (520) are computer language agnostic and are thus capable of running several programming languages and/or compilers. The edge computing device (410) and data transfer optimizer (520) optimize data transmitted from the BHA (114) to the surface where transmission occurs through a telemetry method governed by a set of data transfer parameters (532). The edge computing device (410) (and data transfer optimizer (520) if considered a separate entity) are disposed within the BHA (114) allowing for direct communication with the suite of LWD tools and the telemetry system (430).
In accordance with one or more embodiments, any of the one or more AI models (512) and/or an AI model used by the data transfer optimizer (520) may be a neural network. A diagram of a neural network is shown in
Nodes (902) and edges (904) carry additional associations. Namely, every edge is associated with a numerical value. The edge numerical values, or even the edges (904) themselves, are often referred to as “weights” or “parameters.” While training a neural network (900), numerical values are assigned to each edge (904). Additionally, every node (902) is associated with a numerical variable and an activation function. Activation functions are not limited to any functional class, but traditionally follow the form:
A=ƒ(Σi∈(incoming)[(node value)i(edge value)i]), (1),
where i is an index that spans the set of “incoming” nodes (902) and edges (904) and ƒ is a user-defined function. Incoming nodes (902) are those that, when viewed as a graph (as in
When the neural network (900) receives an input, the input is propagated through the network according to the activation functions and incoming node (902) values and edge (904) values to compute a value for each node (902). That is, the numerical value for each node (902) may change for each received input. Occasionally, nodes (902) are assigned fixed numerical values, such as the value of 1, that are not affected by the input or altered according to edge (904) values and activation functions. Fixed nodes (902) are often referred to as “biases” or “bias nodes” (906), displayed in
In some implementations, the neural network (900) may contain specialized layers (905), such as a normalization layer, or additional connection procedures, like concatenation. One skilled in the art will appreciate that these alterations do not exceed the scope of this disclosure.
As noted, the training procedure for the neural network (900) comprises assigning values to the edges (904). To begin training the edges (904) are assigned initial values. These values may be assigned randomly, assigned according to a prescribed distribution, assigned manually, or by some other assignment mechanism. Once edge (904) values have been initialized, the neural network (900) may act as a function, such that it may receive inputs and produce an output. As such, at least one input is propagated through the neural network (900) to produce an output. Recall, that a given data set will be composed of inputs and associated target(s), where the target(s) represent the “ground truth,” or the otherwise desired output. In accordance with one or more embodiments, the input of the neural network is an LWD log (e.g., gamma ray (202)) and the target is a formation property (e.g., lithology).
The neural network (900) output is compared to the associated input data target(s). The comparison of the neural network (900) output to the target(s) is typically performed by a so-called “loss function;” although other names for this comparison function such as “error function,” “misfit function,” and “cost function” are commonly employed. Many types of loss functions are available, such as the mean-squared-error function, however, the general characteristic of a loss function is that the loss function provides a numerical evaluation of the similarity between the neural network (900) output and the associated target(s). The loss function may also be constructed to impose additional constraints on the values assumed by the edges (904), for example, by adding a penalty term, which may be physics-based, or a regularization term. Generally, the goal of a training procedure is to alter the edge (904) values to promote similarity between the neural network (900) output and associated target(s) over the data set. Thus, the loss function is used to guide changes made to the edge (904) values, typically through a process called “backpropagation.”
While a full review of the backpropagation process exceeds the scope of this disclosure, a brief summary is provided. Backpropagation consists of computing the gradient of the loss function over the edge (904) values. The gradient indicates the direction of change in the edge (904) values that results in the greatest change to the loss function. Because the gradient is local to the current edge (904) values, the edge (904) values are typically updated by a “step” in the direction indicated by the gradient. The step size is often referred to as the “learning rate” and need not remain fixed during the training process. Additionally, the step size and direction may be informed by previously seen edge (904) values or previously computed gradients. Such methods for determining the step direction are usually referred to as “momentum” based methods.
Once the edge (904) values have been updated, or altered from their initial values, through a backpropagation step, the neural network (900) will likely produce different outputs. Thus, the procedure of propagating at least one input through the neural network (900), comparing the neural network (900) output with the associated target(s) with a loss function, computing the gradient of the loss function with respect to the edge (904) values, and updating the edge (904) values with a step guided by the gradient, is repeated until a termination criterion is reached. Common termination criteria are: reaching a fixed number of edge (904) updates, otherwise known as an iteration counter; a diminishing learning rate; noting no appreciable change in the loss function between iterations; reaching a specified performance metric as evaluated on the data or a separate hold-out data set. Once the termination criterion is satisfied, and the edge (904) values are no longer intended to be altered, the neural network (900) is said to be “trained”.
Embodiments disclosed herein may be implemented on a computer system, or the edge computing device (410) itself may be considered a computer system.
Additionally, the computer (1002) may include a computer that includes an input device, such as a keypad, keyboard, touch screen, or other device that can accept user information, and an output device that conveys information associated with the operation of the computer (1002), including digital data, visual, or audio information (or a combination of information), or a GUI.
The computer (1002) can serve in a role as a client, network component, a server, a database or other persistency, or any other component (or a combination of roles) of a computer system for performing the subject matter described in the instant disclosure. In some implementations, one or more components of the computer (1002) may be configured to operate within environments, including cloud-computing-based, local, global, or other environment (or a combination of environments).
At a high level, the computer (1002) is an electronic computing device operable to receive, transmit, process, store, or manage data and information associated with the described subject matter. According to some implementations, the computer (1002) may also include or be communicably coupled with an application server, e-mail server, web server, caching server, streaming data server, business intelligence (BI) server, or other server (or a combination of servers).
The computer (1002) can receive requests over network (1030) from a client application (for example, executing on another computer (1002) and responding to the received requests by processing the said requests in an appropriate software application. In addition, requests may also be sent to the computer (1002) from internal users (for example, from a command console or by other appropriate access method), external or third-parties, other automated applications, as well as any other appropriate entities, individuals, systems, or computers.
Each of the components of the computer (1002) can communicate using a system bus (1003). In some implementations, any or all of the components of the computer (1002), both hardware or software (or a combination of hardware and software), may interface with each other or the interface (1004) (or a combination of both) over the system bus (1003) using an application programming interface (API) (1012) or a service layer (1013) (or a combination of the API (1012) and service layer (1013). The API (1012) may include specifications for routines, data structures, and object classes. The API (1012) may be either computer-language independent or dependent and refer to a complete interface, a single function, or even a set of APIs. The service layer (1013) provides software services to the computer (1002) or other components (whether or not illustrated) that are communicably coupled to the computer (1002). The functionality of the computer (1002) may be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer (1013), provide reusable, defined business functionalities through a defined interface. For example, the interface may be software written in JAVA, C++, or other suitable language providing data in extensible markup language (XML) format or another suitable format. While illustrated as an integrated component of the computer (1002), alternative implementations may illustrate the API (1012) or the service layer (1013) as stand-alone components in relation to other components of the computer (1002) or other components (whether or not illustrated) that are communicably coupled to the computer (1002). Moreover, any or all parts of the API (1012) or the service layer (1013) may be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of this disclosure.
The computer (1002) includes an interface (1004). Although illustrated as a single interface (1004) in
The computer (1002) includes at least one computer processor (1005). Although illustrated as a single computer processor (1005) in
The computer (1002) also includes a memory (1006) that holds data for the computer (1002) or other components (or a combination of both) that can be connected to the network (1030). The memory may be a non-transitory computer readable medium. For example, memory (1006) can be a database storing data consistent with this disclosure. Although illustrated as a single memory (1006) in
The application (1007) is an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer (1002), particularly with respect to functionality described in this disclosure. For example, application (1007) can serve as one or more components, modules, applications, etc. Further, although illustrated as a single application (1007), the application (1007) may be implemented as multiple applications (1007) on the computer (1002). In addition, although illustrated as integral to the computer (1002), in alternative implementations, the application (1007) can be external to the computer (1002).
There may be any number of computers (1002) associated with, or external to, a computer system containing computer (1002), wherein each computer (1002) communicates over network (1030). Further, the term “client,” “user,” and other appropriate terminology may be used interchangeably as appropriate without departing from the scope of this disclosure. Moreover, this disclosure contemplates that many users may use one computer (1002), or that one user may use multiple computers (1002).
Although only a few example embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments without materially departing from this invention. Accordingly, all such modifications are intended to be included within the scope of this disclosure as defined in the following claims.