The extraction and production of oil and gas from a well, or an oil and gas field composed of at least one well, is a complex process. In general, optimization of an oil and gas field seeks to maximize hydrocarbon recovery while minimizing cost, where cost is accrued through the allocation of resources and energy.
A common byproduct of oil and gas production is water, often referred to as produced water or produced brine (or, sometimes simply brine). The composition of the produced water depends on the chemistry and thermophysical properties of the subsurface rocks with which the produced water has been in contact. The produced water may contain various alkali metals such as lithium, alkaline earth metals, and precipitated salts.
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 for joint and optimal production of hydrocarbons and lithium from a well, the method including obtaining field data for an oil and gas field with at least one well accessing at least one hydrocarbon reservoir. The method further includes obtaining a set of well operational parameters related to the oil and gas field and obtaining a set of lithium extraction configuration parameters related to the oil and gas field. The method further includes determining, with an artificial intelligence model, a predicted hydrocarbon production and a predicted lithium extraction from production fluids of the oil and gas field based on the field data, the set of well operational parameters, and the set of the lithium extraction configuration parameters and adjusting, automatically, the set of well operational parameters and the set of the lithium extraction configuration parameters to jointly optimize the predicted hydrocarbon production and the predicted lithium extraction.
Embodiments disclosed herein generally relate to a non-transitory computer-readable memory with computer-executable instructions stored thereon that, when executed on a processor, cause the processor to perform the following steps. The steps include obtaining field data for an oil and gas field with at least one well with access to at least one hydrocarbon reservoir. The field data includes a number of wells in the oil and gas field, well history data for each well in the oil and gas field, spatial data for each well in the oil and gas field, and water quality data. The steps further include obtaining a set of well operational parameters related to the oil and gas field and obtaining a set of lithium extraction configuration parameters related to the oil and gas field. The steps further include determining, with an artificial intelligence model, a predicted hydrocarbon production and a predicted lithium extraction from production fluids of the oil and gas field based on the field data, the set of well operational parameters, and the set of the lithium extraction configuration parameters. The steps further include adjusting, automatically, the set of well operational parameters and the set of the lithium extraction configuration parameters to jointly optimize the predicted hydrocarbon production and the predicted lithium extraction.
Embodiments disclosed herein generally relate to system including an oil and gas field with at least one well and at least one lithium extraction system, wherein operation of the at least one well is defined by a set of well operational parameters and operation and configuration of the at least one lithium extraction system is defined by a set of lithium extraction configuration parameters. The system further includes a plurality of field devices disposed throughout the oil and gas field, the plurality of field devices collecting field data for the oil and gas field. The field data includes a number of wells in the oil and gas field, well history data for each well in the oil and gas field, spatial data for each well in the oil and gas field, and water quality data. The system further includes a control system configured to adjust one or more of the field devices in the plurality of field devices and a computer. The computer is configured to obtain the field data for the oil and gas field, obtain the set of well operational parameters, obtain the set of lithium extraction configuration parameters, and determine, with an artificial intelligence model, a predicted hydrocarbon production and a predicted lithium extraction from production fluids of the oil and gas field based on the field data, the set of well operational parameters, and the set of the lithium extraction configuration parameters. The computer is further configured to adjust, automatically, the set of well operational parameters and the set of the lithium extraction configuration parameters to jointly optimize the predicted hydrocarbon production and the predicted lithium extraction.
Other aspects and advantages of the claimed subject matter will be apparent from the following description and the appended claims.
In general, embodiments of the disclosure include systems and methods for jointly optimizing lithium extraction and hydrocarbon production from an oil and gas field consisting of at least one production well. Herein, for simplicity, the material output of an oil and gas field, or that of a production well, is a produced fluid. The produced fluid may be multiphase and be composed of a variety of solid, liquid, and gaseous constituents. For example, the produced fluid may contain solid particulates like sand, mineral precipitates such as pipe scale, and corroded pipe, liquid such as water (referenced herein as “produced water”), hydrocarbons in both liquid (i.e., oil) and gas states (gaseous hydrocarbons may simply be referred to as “gas”), and other gases like carbon dioxide (CO2) and hydrogen sulfide (H2S).
In one or more embodiments, lithium is extracted from produced water acquired as a byproduct of hydrocarbon (i.e., oil and/or gas) production. The efficiency of a lithium extraction process and overall quantity lithium acquired are affected by a set of lithium extraction configuration parameters that define a lithium extraction system and its operation. Likewise, the operation of an oil and gas field is directly controlled through assignation of a set of well operational parameters to a given state or value. In general, an interaction exists between the set of lithium extraction configuration parameters, the set of well operational parameters, and the production and extraction rates of hydrocarbons and lithium, respectively. In one or more embodiments, the set of lithium extraction configuration parameters and the set of well operational parameters are adjusted, automatically and in real time, to simultaneously maximize both hydrocarbon production and lithium extraction from the produced fluid(s) of an oil and gas field.
In one or more embodiments, hydrocarbon production and lithium extraction from an oil and gas field, or a production well of the oil and gas field, are predicted using an artificial intelligence (AI) model based on (or accepts as inputs), at least, the set of lithium extraction configuration parameters and the set of well operational parameters. In one or more embodiments, the AI model may further make use of well history data (e.g., the historical production output of at least one production well) and a description of the produced water (e.g., lithium concentration). Using the AI model to predict hydrocarbon production and lithium extraction, an optimal set of both well operational parameters and lithium extraction configuration parameter may be determined using an optimization wrapper.
In some embodiments, the well system (106) includes a wellbore (120), a well sub-surface system (122), a well surface system (124), and a well control system (e.g., SCADA system (126)). The control system may control various operations of the well system (106), such as well production operations, well completion operations, well maintenance operations, and reservoir monitoring, assessment and development operations. In some embodiments, the control system includes a computer system that is the same as or similar to that of computer system depicted in
The wellbore (120) may include a bored hole that extends from the surface (108) into a target zone (i.e., a subterranean interval) of the formation (104), such as the reservoir (102). An upper end of the wellbore (120), terminating at or near the surface (108), may be referred to as the “up-hole” end of the wellbore (120), and a lower end of the wellbore, terminating in the formation (104), may be referred to as the “down-hole” end of the wellbore (120). The wellbore (120) may facilitate the circulation of drilling fluids during drilling operations, the flow the produced fluid (121) (e.g., hydrocarbons, water, etc.) from the subsurface to the surface (108) during production operations, the injection of substances (e.g., water) into the formation (104) or the reservoir (102) during injection operations, or the communication of monitoring devices (e.g., logging tools) into the formation (104) or the reservoir (102) during monitoring operations (e.g., during in situ logging operations). For example, the logging tools may include logging-while-drilling tool or logging-while-tripping tool for obtaining downhole logs.
In some embodiments, the well sub-surface system (122) includes casing installed in the wellbore (120). For example, the wellbore (120) may have a cased portion and an uncased (or “open-hole”) portion. The cased portion may include a portion of the wellbore having casing (e.g., casing pipe and casing cement) disposed therein. The uncased portion may include a portion of the wellbore not having casing disposed therein. In embodiments having a casing, the casing defines a central passage that provides a conduit for the transport of tools and substances through the wellbore (120). For example, the central passage may provide a conduit for lowering logging tools into the wellbore (120), a conduit for the flow of production (121) (e.g., oil and gas) from the reservoir (102) to the surface (108), or a conduit for the flow of injection substances (e.g., water) from the surface (108) into the formation (104). In some embodiments, the well sub-surface system (122) includes production tubing installed in the wellbore (120). The production tubing may provide a conduit for the transport of tools and substances through the wellbore (120). The production tubing may, for example, be disposed inside casing. In such an embodiment, the production tubing may provide a conduit for some or all of the produced fluid (121) (e.g., oil, gas, water) passing through the wellbore (120) and the casing.
In some embodiments, the well sub-surface system (122) further includes various control components and sensors disposed down-hole. For example, in one or more embodiments, the well sub-surface system (122) includes an inflow control valve (ICV). An ICV is an active component usually installed during well completion. The ICV may partially or completely choke flow into a well. Generally, multiple ICVs may be installed along the reservoir section of a wellbore. Each ICV is separated from the next by a packer. Each ICV can be adjusted and controlled to alter flow within the well and, as the reservoir depletes, prevent unwanted fluids from entering the wellbore. The well sub-surface system (122) may further include a subsurface safety valve (SSSV). The SSSV is designed to close and completely stop flow in the event of an emergency. Generally, an SSSV is designed to close on failure. That is, the SSSV requires a signal to stay open and loss of the signal results in the closing of the valve. The well sub-surface system (122) can further include a permanent downhole monitoring system (PDHMS) (170). The PDHMS (170) consists of a plurality of sensors, gauges, and controllers to monitor subsurface flowing and shut-in pressures and temperatures. As such, a PDHMS (170) may indicate, in real-time, the state or operating condition of subsurface equipment and the fluid flow.
In some embodiments, the well surface system (124) includes a wellhead (130). The wellhead (130) may include a rigid structure installed at the “up-hole” end of the wellbore (120), at or near where the wellbore (120) terminates at the Earth's surface (108). The wellhead (130) may include structures (called “wellhead casing hanger” for casing and “tubing hanger” for production tubing) for supporting (or “hanging”) casing and production tubing extending into the wellbore (120). Produced fluid (121) may flow through the wellhead (130), after exiting the wellbore (120) and the well sub-surface system (122), including, for example, the casing and the production tubing. In some embodiments, the well surface system (124) includes flow regulating devices that are operable to control the flow of substances into and out of the wellbore (120). For example, the well surface system (124) may include one or more production valves (132) that are operable to control the flow of the produced fluid (121). For example, a production valve (132) may be fully opened to enable unrestricted flow of the produced fluid (121) from the wellbore (120), the production valve (132) may be partially opened to partially restrict (or “throttle”) the flow of the produced fluid (121) from the wellbore (120), and production valve (132) may be fully closed to fully restrict (or “block”) the flow of produced fluid (121) from the wellbore (120), and through the well surface system (124).
In some embodiments, the wellhead (130) includes a choke assembly. For example, the choke assembly may include hardware with functionality for opening and closing the fluid flow through pipes in the well system (106). Likewise, the choke assembly may include a pipe manifold that may lower the pressure of fluid traversing the wellhead. As such, the choke assembly may include a set of high pressure valves and at least two chokes. These chokes may be fixed or adjustable or a mix of both. Redundancy may be provided so that if one choke has to be taken out of service, the flow can be directed through another choke. In some embodiments, pressure valves and chokes are communicatively coupled to the well control system (e.g., SCADA system (126)).
Keeping with
In one or more embodiments, the well surface system (124) includes a multiphase flow meter (MPFM). The MPFM monitors the flow rate of the produced fluid (121) by constituent. That is, the MPFM may detect the instantaneous amount of gas, oil, and water. As such, the MPFM indicates percent water cut (% WC) and the gas-to-oil ratio (GOR). Additionally, the MPFM (123) may measure pressure and fluid density.
In some embodiments, the surface sensing system (134) includes a surface pressure sensor (136) operable to sense the pressure of the produced fluid (121) flowing through the well surface system (124), after it exits the wellbore (120). The surface pressure sensor (136) may include, for example, a wellhead pressure sensor that senses a pressure of the produced fluid (121) flowing through or otherwise located in the wellhead (130). In some embodiments, the surface sensing system (134) includes a surface temperature sensor (138) operable to sense the temperature of the produced fluid (121) flowing through the well surface system (124), after it exits the wellbore (120). The surface temperature sensor (138) may include, for example, a wellhead temperature sensor that senses a temperature of the produced fluid (121) flowing through or otherwise located in the wellhead (130), referred to as “wellhead temperature” (Twh). In some embodiments, the surface sensing system (134) includes a flow rate sensor (139) operable to sense the flow rate of the produced fluid (121) flowing through the well surface system (124), after it exits the wellbore (120). The flow rate sensor (139) may include hardware that senses a flow rate of the produced fluid (121) (Qwh) passing through the wellhead (130).
In accordance with one or more embodiments, during operation of the well system (106), the control system (e.g., SCADA system (126)) collects and records well data (140) for the well system (106). The well data (140) may include, for example, a record of measurements of wellhead pressure (Pwh) (e.g., including flowing wellhead pressure), wellhead temperature (Twh) (e.g., including flowing wellhead temperature), wellhead volume flow rate (Qwh) over some or all of the life of the well (106), and water cut data. The well data (140) may further include wellhead data regarding the choke assembly and data referring to the states of subsurface valve(s) (e.g., ICV), if any, and other sensor data collected and received by the PDHMS (170).
In some embodiments, the measurements are recorded in real-time, and are available for review or use within seconds, minutes, or hours of the condition being sensed (e.g., the measurements are available within 1 hour of the condition being sensed). In such an embodiment, the wellhead data (140) may be referred to as “real-time” well data (140). Real-time well data (140) may enable an operator of the well (106) to assess a relatively current state of the well system (106), and make real-time decisions regarding development of the well system (106) and the reservoir (102), such as on-demand adjustments in regulation of the produced fluid (121) from the well.
The various valves, pressure gauges and transducers, sensors, and flow meters depicted of a well may be considered devices of an oil and gas field. As described, these devices may be disposed both above and below the surface of the Earth. These devices are used to monitor and control components and sub-processes of an oil and gas field. It is emphasized that the plurality of oil and gas field devices described in reference to
The plurality of oil and gas field devices may be distributed, local to the sub-processes and associated components, global, connected, etc. The devices may be of various control types, such as a programmable logic controller (PLC) or a remote terminal unit (RTU). For example, a programmable logic controller (PLC) may control valve states, pipe pressures, warning alarms, and/or pressure releases throughout the oil and gas field. In particular, a programmable logic controller (PLC) may be a ruggedized computer system with functionality to withstand vibrations, extreme temperatures, wet conditions, and/or dusty conditions, for example, around a well system (106). With respect to an RTU, an RTU may include hardware and/or software, such as a microprocessor, that connects sensors and/or actuators using network connections to perform various processes in the automation system. As such, a distributed control system may include various autonomous controllers (such as remote terminal units) positioned at different locations throughout the oil and gas field to manage operations and monitor sub-processes. Likewise, a distributed control system may include no single centralized computer for managing control loops and other operations.
In accordance with one or more embodiments,
In review, and in accordance with one or more embodiments, a plurality of field devices are disposed throughout a well system (106). A field device may be disposed below the surface (108) and considered part of the well subsurface system (122) (e.g., a component of the PDHMS (170)) or located above the surface (108) and considered part of the well surface system (124). Generally, field devices can measure or sense a property, control a state or process of the well system (106), or provide both sensory and control functionalities. For example, a state of a valve may include an indication of whether the valve is open or closed. In some instances, the state of a valve may be given by some percentage of openness (or closedness). As such, a field device, which may be the valve itself, can determine and transmit the state of the valve and therefore act as a sensor or sensory device. Further, a field device, which may be the valve itself, can alter or change the state of the valve by receiving a signal from the SCADA system (126). Sensed or measured properties of the well system (106) are stored and/or collected as well data (140) for the well, regardless if the sensed or measured property was determined by a field device of the well sub-surface system (122) or the well surface system (124).
Operation of the well system (106) may be controlled or dictated through one or more well control parameters (145). The well control parameters (145) may represent and/or prescribe an operational state of the devices of the well system. Thus, in one or more embodiments, the well system (106) is controlled through a control system (e.g., SCADA system (126)) that determines and transmits a command signal to the field devices of the well system (106) according to the well control parameters (145).
In one or more embodiments, the well system (106) may be an injection well. The injection well injects, or places, a fluid into porous subsurface formations such as a reservoir. The injected fluid may be composed of brine, freshwater, steam, polymers, carbon dioxide, and other chemical agents. The injected fluid may be tailored to the subsurface formations and further account for the location of one or more production wells in an oil and gas field to displace and aid in the extraction of oil and gas. Accordingly, well control parameters (145) for an injection well may include the composition of the injection fluid and its volume flow rate into the subsurface. When an oil and gas field is composed of more than one injection wells, the well control parameters (145) may further dictate a pattern injection strategy for the oil and gas field.
In one or more embodiments, the well system (106) may be a hydraulic fracturing well. In hydraulic fracturing, water, sand, and/or other chemicals may be injected into a well to break up underground bedrock and improve accessibility to oil and gas reserves. Again, the operation of a hydraulic fracturing well, as well as the composition of a fracturing fluid the processes driving its injection into the subsurface, are defined and controlled by well control parameters (145) for the hydraulic fracturing well.
Thus, regardless of the type of well system (106), the operation of the well system (106) and specification of materials and processes associated with the operation well system (106) are encompassed by the well control parameters (145) for the well system (106). The well control parameters (145) are both monitored and controlled by a control system (e.g., SCADA system (126)). The control system need not be proximate the well system (106) but may be located at a remote location relative to the well system (106).
In accordance with one or more embodiments, the well system (106) may be associated with or otherwise include a lithium extraction system (160). Lithium and its compounds are widely used in manufactured glass, ceramics, greases, batteries, refrigerants, chemical reagents, and other industries. Lithium demand is expected to grow continuously and dramatically in the coming years as different types of lithium batteries are the most promising candidates for powering electric or hybrid vehicles. Lithium can be present in produced water during the operation of a production well. The concentration of lithium in produced water is generally in the range of 100 to 1,000 mg/L. Because produced water is generally considered a waste byproduct in the pursuit of hydrocarbon extraction and production, the produced water represents an underutilized lithium resource.
In accordance with one or more embodiments, the lithium extraction system (160) removes lithium from the produced fluid (121) of a well; specifically, the lithium is removed from the produced water. In one or more embodiments, the lithium extraction system (160) uses evaporative methods to extract lithium from the produced water. In one or more embodiments, the lithium extraction system (160) uses ion exchange adsorption methods based on lithium-ion sieves to extract lithium from the produced water. An ion exchange adsorption method to remove lithium from the produced water will use at least one lithium adsorbent material, such as a mineral oxide, clay mineral, silicotitanates, or zirconium phosphate material. The types of lithium adsorbent materials and their sequence (if more than one is used) is specified using configuration parameters (164) of the lithium extraction system. In addition to specifying the configuration of adsorbent materials, the configuration parameters (164) of the lithium extraction system (160), similar to the well control parameters (145) of a well system (106), define and prescribe the operations of the lithium extraction system (160). As will be described later, determination of the configuration parameters (164) that result in optimal lithium extraction from produced water can depend on properties of the produced water (stored as water quality data (162)) and the operation of the well system (106) (i.e., the well control parameters (145)).
In accordance with one or more embodiments, one or more geochemical analysis techniques are applied, at least periodically, to the produced water of a well system (106). The results of the geochemical analysis techniques are stored as water quality data (162). The water quality data (162) indicates the concentration of, at least, lithium in the produced water. In some embodiments, the water quality data (162) may further indicate the presence and relative quantity (i.e., concentration) of other elements or compounds in the produced water such as potassium, sodium, boron, and precipitated salts. In one or more embodiments, the geochemical analysis techniques further result in water quality data (162) indicative of the ratio of alkali metals and alkaline earth metals to lithium and other phase chemistry information.
An oil and gas field may include more than one well. In instances where an oil and gas field has more than one well, the well data (140) may be described collectively as field data. In addition to the well data (140) of each well, the field data can include the number of wells in the oil and gas field as well as the location of each well and spatial distances between pairs of wells. For example, when the location of wells on the surface of the Earth are given as longitude and latitude coordinates, the spatial distance between any pair of wells may be computed using the Haversine formula. Further, the field data can include the wellbore geometry for each well along with data collected while drilling and/or completed each well (e.g., petrophysical information). Note that an oil and gas field may contain only one well.
Similarly, and oil and gas field may include more than one lithium extraction system (160). For example, an oil and gas field may have individual and independent lithium extraction system for each of its production wells. Consequently, under such an arrangement, the configuration parameters (164) of each lithium extraction system may be unique and/or different dependent on the produced fluid coming from their well systems as represented by the water quality data (162) of each lithium extraction system. In other cases, a single lithium extraction system (160) is applied to a comingled mixture of produced fluids (or produced water streams) originating from two or more well systems of an oil and gas field.
Considering an oil and gas field with one or more wells and one or more lithium extraction systems, the well data (140) of each well and water quality data (162) of each lithium extraction system may be grouped together and collectively referred to a field data. Thus, field data for an oil and gas field will contain information about the number of wells in the oil and gas field and will include well history data for each well in the oil and gas field. The well history data includes the well data (140) for a given well (e.g., production rates, percent water cut, operating conditions such as temperature and pressure at surface and subsurface locations, etc.). The field data also includes spatial data for each well in the oil and gas field (e.g., location of each well and spatial distance between wells) and all water quality data.
For an oil and gas field with at least one well, the well control parameters (145) for each well may be collectively referred to as a set of well operational parameters. That is, the set of well operational parameters includes the well control parameters for every well of an oil and gas field. Likewise, when the oil and gas field has at least one lithium extraction system, the configuration parameters (164) for each lithium extraction system may be collectively referenced as a set of lithium extraction configuration parameters.
Oil and gas field devices, like those shown in
In one aspect, embodiments disclosed herein relate to a system for determining the set of well operational parameters and the set of lithium extraction configuration parameters that simultaneously optimize (at least with respect to an optimization weighting factor) hydrocarbon production and lithium extraction from an oil and gas field. The optimal set of well operational parameters and lithium extraction configuration parameters are determined with an artificial intelligence model taking into consideration the current state of the oil and gas field as monitored by the plurality of oil and gas field devices and further in view of the relative location of the one or more wells of the oil and gas field, petrophysical information, and water quality data. In accordance with one or more embodiments, the set of well operational parameters and the set of lithium extraction configuration parameters may be adjusted automatically, and in real-time, through a control system, such as the SCADA system (126).
In accordance with one or more embodiments, field data from the oil and gas field are processed with an artificial intelligence model to determine the optimal set of operational well parameters and lithium extraction configuration parameters for the oil and gas field. Artificial intelligence, 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.
Artificial intelligence (AI) model types may include, but are not limited to, neural networks, random forests, generalized linear models, and Bayesian regression. Further, as defined herein, AI may include algorithmic search methods and optimization methods such as a line search or the genetic algorithm. 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.
As noted, the objective of the AI model is to determine the optimal set of well operational parameters and optimal set of lithium extraction configuration parameters for an oil and gas field. In accordance with one or more embodiments,
As seen, oil and gas field device data are collected from the plurality of devices of the oil and gas field and are stored as well history data (e.g., well history data G (262)). That is, the well history data contains all field device data of the oil and gas field. The well history data is alongside other data items, described below, as field data (e.g., field data D (260)). The device data, and thus the well history data (e.g., well history data G (262)) may include measurements of temperature, pressure, percent water cut (% WC), and gas-to-oil ratio (GOR) from one or more field devices disposed throughout the oil and gas field. Likewise, subsurface measurements, such as temperature and pressure, may be collected and received from well subsurface systems. The device data may further include frequency, speed, pressure, and temperature measurements from one or more electrical submersible pumps (ESPs), pressure readings from a plurality of pressure transducers, and pressure, temperature, and valve states. Additionally, the device data includes the current settings of the ICVs and choke valves of the oil and gas field, if present. In one or more embodiments, the well history data (e.g., well history data G (262)) further includes the production history and injection history of the production and injection wells of the oil and gas field, respectively, if present. In short, the well history data (e.g., well history data G (262)) includes, at least, the well data (e.g., well data A (253), well data B (256)) for every well of the oil and gas field. One with ordinary skill in the art will appreciate that additional field devices may be employed in an oil and gas field and that additional associated well history data may be collected without departing from the scope of this disclosure.
In accordance with one or more embodiments, field data (e.g., field data D (260)) further includes information regarding the number of wells (and their types) of the oil and gas field (e.g., number of wells E (264)) as well as the location of the wells of the oil and gas field including distances between wells as spatial data (e.g., spatial data F (266)). In one or more embodiments, the field data (e.g., field data D (260)) further includes water quality data for the entire field (e.g., field water quality data (268)) that includes all water quality data associated with any number of lithium extraction systems (e.g., lithium extraction system C (258)) of the oil and gas field (e.g., water quality data C (260)). The water quality data of the field can include geochemical analyses of water samples acquired across the oil and gas field (e.g., from the wells). In one or more embodiments, the water quality data includes, at least, an indication of the concentration of lithium present in a produced water stream.
As previously discussed, for an oil and gas field with at least one well, the well control parameters for each well (e.g., well control parameters A (254), well control parameters B (257)) may be collectively referred to as a set of well operational parameters (e.g., set of well operational parameters H (270)). That is, the set of well operational parameters includes the well control parameters for every well of an oil and gas field. Likewise, when the oil and gas field has at least one lithium extraction system, the configuration parameters for each lithium extraction system (e.g., configuration parameters C (259)) may be collectively referenced as a set of lithium extraction configuration parameters (e.g., set of lithium extraction configuration parameters J (280)).
Continuing with
In accordance with one or more embodiments, the device data, the set of well operational parameters, and the set of lithium extraction parameters may be pre-processed before being processed by AI model. Pre-processing may include activities such as, numericalization, filtering and/or smoothing of the data, scaling (e.g., normalization) of the data, feature selection, outlier removal (e.g., z-outlier filtering) and feature engineering. Feature selection comprises identifying and selecting a subset of field data with the greatest discriminative power with respect to predicting the hydrocarbon production and lithium extraction. For example, in one embodiment, discriminative power may be quantified by calculating the strength of correlation between elements of the field data and the predicted quantities. Consequently, in some embodiments, not all of the field data need be passed to the AI model. Feature engineering encompasses combining, or processing, various field data to create derived quantities. The derived quantities can be processed by the AI model. For example, the field data may be processed by one or more “basis” functions such as a polynomial basis function or a radial basis function. In some embodiments, the field data is passed to the AI model without pre-processing. Many additional pre-processing techniques exist such that one with ordinary skill in the art would not interpret those listed here as a limitation on the present disclosure.
In accordance with one or more embodiments, the predicted hydrocarbon production (e.g., predicted hydrocarbon production P (207)) and predicted lithium extraction (e.g., predicted lithium extraction Q (208)) are used to determine the set of well operational parameters (e.g., set of well operational parameters H (270)) and the set of lithium extraction configuration parameters (e.g., set of lithium extraction configuration parameters J (280)) that simultaneously optimize the hydrocarbon production and lithium extraction. That is, the set of well operational parameters and the set of lithium extraction configuration parameters define an operational state of an oil and gas field and thus affect the output of the oil and gas field, namely, hydrocarbon production and lithium extraction. Upon identifying the set of well operational parameters and the set of lithium extraction configuration parameters that jointly optimize hydrocarbon production and lithium extraction, these sets of parameters may be applied across the oil and gas field automatically using a control system (e.g., SCADA system (126)). In one or more embodiments, hydrocarbon production and lithium extraction, as monitored by at least one device from the plurality of oil and gas field devices, and collected as field data, are continuously monitored to ensure that the accepted set of well operational parameters and set of lithium extraction configuration parameters maintain the oil and gas field at optimal hydrocarbon production and lithium extraction.
where the quantities P and E, representing the predicted hydrocarbon production and the predicted lithium extraction, respectively, are determined using the trained AI model. Further, in EQ. 1, the set of well operational parameters is denoted as S1 and the set of lithium extraction configuration parameters is denoted as S2. Thus, the optimization wrapper (308) maximizes the predicted hydrocarbon production and the predicted lithium over the set of well operational parameters and the set of lithium extraction configuration parameters. EQ. 1 further makes uses of an optimization weighting factor (a). In EQ. 1, the optimization weighting factor is applied to the predicted lithium extraction, however, this need not be the case. In some embodiments, the optimization weighting factor is applied to (as a product) to the predicted hydrocarbon production. The optimization weighting factor serves, at least, two purposes. First, the optimization weighting factor acts to scale either the predicted hydrocarbon production or the predicted lithium extraction (as shown in EQ. 1). Second, the optimization weighting factor weights either the predicted lithium extraction or the predicted hydrocarbon production relative to the other output. In one or more embodiments, the optimization weighing factor is a predefined scalar such that the optimization wrapper (308), when applied to a trained AI model processing field data and parameterized by the set of well operational parameters and the set of lithium extraction configuration parameters, returns a single and optimal set of well operational parameters and a single and optimal set of lithium extraction configuration parameters. In other embodiments, the optimization weighting factor is an array such that the optimization wrapper (308) returns an array of optimal sets of well operational parameters and an array of optimal sets of lithium extraction configuration parameters. In this case, the optimization weighting factor array and associated sets of well operational parameters and lithium extraction configuration parameters define a so-called Pareto front. In such a case, an individual set of well operational parameters and set of lithium configuration parameters can be selected by a subject matter expert or automatically using a predefined criterion. One with ordinary skill in the art will appreciate that maximization and minimization may be made equivalent through simple techniques such as negation. As such, the choice to represent the optimization as a maximization as shown in EQ. 1 does not limit the scope of the present disclosure. Whether done through minimization or maximization, the optimization wrapper (308) identifies the set (or sets) of well operational parameters and the set (or sets) or lithium extraction configuration parameters that optimize hydrocarbon production and lithium extraction according to the trained AI model (e.g., trained AI model A (305)).
An oil and gas field may be subject to constraints, such as safety limits imposed on various devices and sub-processes of an oil and gas field. For example, it may be determined that in order for an oil and gas field to operate safely, pressure, as measured by a given field device, should not exceed a prescribed value. In
Other intelligent search methods, or the AI model (e.g., AI Model B (377)), may include a genetic algorithm, Bayesian search, or a Gaussian process. For example, while a full description of a Gaussian process exceeds the scope of this disclosure, it may simply be said that a Gaussian process is an artificial intelligence method, which in the present case may be used to construct a relationship between hydrocarbon production, lithium extraction and the set of well operational parameters and the set of lithium extraction configuration parameters given the field data. Such a relationship may be mathematically described as
where {right arrow over (y)} is a vector of quantities representative of, at least, hydrocarbon production and lithium extraction, {right arrow over (x)} is a vector including all the parameters of the set of well operational parameters and the set of lithium extraction configuration parameters, and D is the field data. The output {right arrow over (y)} of a Gaussian process for a given input {right arrow over (x)} will follow a normal distribution with a mean value and a variance. Because the outputs of a Gaussian process follow a normal distribution, the Gaussian process naturally lends itself to uncertainty quantification. As such, the domain of inputs {right arrow over (x)} may be intelligently searched to discover the optimal outputs {right arrow over (y)} within the bounds of uncertainty.
Once elected, the new selected parameters sets (314) are used in the oil and gas field. This process is repeated until the optimal settings have been discovered. Again, like the embodiment of
In accordance with one or more embodiments, the procedures depicted in
The process of evaluating field data and determining the set of well operational parameters and the set of lithium extraction configuration parameters that simultaneously optimize hydrocarbon production and lithium extraction, at least in view of an optimization weighting factor, of an oil and gas field is summarized in the flow chart of
In one or more embodiments, the field data is pre-processed. Pre-processing may include numericalizing the data, scaling the data, selecting features from the data, and engineering features from the data.
In Block 404, a set of well operational parameters is obtained. The set of well operational parameters includes all well control parameters for each well of the oil and gas field. For example, the set of well operational parameters may can include water injection rates, water injection salinity, producer choke rate, etc.
In Block 406, a set of lithium extraction configuration parameters is obtained. The set of lithium extraction configuration parameters includes all configuration parameters of every lithium extraction system of the oil and gas field.
In Block 408, the field data, set of well operational parameters, and set of lithium extraction configuration parameters are processed by an artificial intelligence (AI) model to predict hydrocarbon production and lithium extraction for the oil and gas field. The AI model can also accept, or be informed by, additional information, such as the reservoir formation geology and expected lithium concentration. Various embodiments of the AI model have been described with regards to
In Block 410, the set of well operational parameters and the set of lithium extraction configuration parameters are adjusted (e.g., through a control system of the oil and gas field) to their optimal values as determined using the AI model. This adjustment may be performed automatically and autonomously, or may be done manually, or may be checked by a “human-in-the-loop.” For example, adjustments can be made, automatically, to water injection rates and producer choke rate(s) for the various injector and producer wells of an oil and gas field as determined by the AI model and optimization.
Once the set of well operational parameters and the set of lithium extraction configuration parameters have been adjusted, in one or more embodiments, the hydrocarbon production and lithium extraction are monitored by at least one field device from the plurality of oil and gas field devices, as depicted in Block 412. By monitoring the hydrocarbon production and lithium extraction before and after the adjustment of the set of well operational parameters and the set of lithium extraction configuration parameters, the effect of the adjustment on the hydrocarbon production and lithium extraction may be quantified. As such, as shown in Block 412, the set of well operational parameters and the set of lithium extraction configuration parameters may be validated. If the adjusted set of well operational parameters and set of lithium extraction configuration parameters are not found to improve the hydrocarbon production and lithium extraction, the original, or previous, sets of well operational parameters and lithium extraction configuration parameters may be restored. In this case, a AI model may be selected, or the AI model may be re-trained with additional field data.
As stated,
In Block 504, the field data is filtered for outliers. In one or more embodiments, the field data are filtered based on an z-outlier filtering approach incorporating the removal of erroneous and missing data. In Block 505, an AI model is developed (e.g., trained) to forecast oil and gas rates as well as lithium recovery from the expected water production, water quality, and lithium membrane recovery (i.e., field data, lithium extraction configuration parameters, and well control parameters).
In Block 506, a feature impact analysis based on the calculation of Shapley parameters is utilized in order to determine whether the AI model exhibits signs of overfitting and to determine the main input features. In Block 510, the AI model is integrated into a hydraulic fracture optimization framework such as the optimization wrapper (308) of
Block 512 represents a decision where it is determined if the parameters evaluated in Block 510 are optimal (i.e., at least residing on a Pareto front or efficient frontier, if not a particularly defined point on the Pareto front according to an optimization weighting factor). If the parameters are not determined to be optimal, the optimization step of Block 510 is performed again. Otherwise, the flowchart of
In Block 514, the optimal set of parameters (e.g., well control parameters and lithium extraction configuration parameters) identified in Blocks 510 and 512 are applied to the oil and gas field accessing an unconventional reservoir. That is, the optimal parameters define an optimized unconventional reservoir strategy and this unconventional reservoir strategy is incorporated into the operation of the oil and gas field accessing at least one unconventional reservoir. Finally, in Block 516, the AI model is re-trained according to some pre-defined periodicity or indication of AI model performance degradation. For example, in one or more embodiments, the AI model is re-trained with newly acquired field data including hydrocarbon production and lithium extraction data every X months, where X is provided by a user or subject matter expert. Further, in Block 516, the flowchart reverts back to the optimization step of Block 510 to re-optimize oil and gas field operations according to some pre-defined periodicity. In one or more embodiments, re-optimization occurs every Y months, where Y is provided by a user or subject matter expert. Note that periodicity of re-training and re-optimization (i.e., the values of X and Y) need not be the same.
As stated,
In Block 520, the field data is filtered for outliers. In one or more embodiments, the field data are filtered based on an z-outlier filtering approach incorporating the removal of erroneous and missing data. In Block 521, an AI model is developed (e.g., trained) to forecast oil and gas rates as well as lithium recovery from the expected water production, water quality, and lithium membrane recovery (i.e., field data, lithium extraction configuration parameters, and well control parameters).
In Block 522, a feature impact analysis based on the calculation of Shapley parameters is utilized in order to determine whether the AI model exhibits signs of overfitting and to determine the main input features. In Block 524, the AI model is integrated into a well injection optimization framework for the maximization of both oil and gas rates as well as lithium recovery subject to well constraints. The well injection optimization framework may be the optimization wrapper (308) of
Block 526 represents a decision where it is determined if the parameters evaluated in Block 524 are optimal (i.e., at least residing on a Pareto front or efficient frontier, if not residing at a particular point on the Pareto front according to an optimization weighting factor). If the parameters are not determined to be optimal, the optimization step of Block 524 is performed again. Otherwise, the flowchart of
In Block 528, the optimal set of parameters (e.g., well control parameters and lithium extraction configuration parameters) identified in Blocks 524 and 526 are applied to the oil and gas field accessing a conventional reservoir. That is, the optimal parameters define an optimized conventional reservoir strategy and this conventional reservoir strategy is incorporated into the operation of the oil and gas field accessing at least one conventional reservoir. Finally, in Block 530, the AI model is re-trained according to some pre-defined periodicity or indication of AI model performance degradation. For example, in one or more embodiments, the AI model is re-trained with newly acquired field data including hydrocarbon production and lithium extraction data every U months, where U is provided by a user or subject matter expert. Further, in Block 530, the flowchart reverts back to the optimization step of Block 524 to re-optimize oil and gas field operations according to some pre-defined periodicity. In one or more embodiments, re-optimization occurs every V months, where V is provided by a user or subject matter expert. Note that periodicity of re-training and re-optimization (i.e., the values of U and V) need not be the same.
While the various blocks in
Embodiments of the present disclosure may provide at least one of the following advantages. As noted, complex interactions between oil and gas field components and sub-processes exist such that configuring a plurality of devices, including devices, settings, and/or the configuration of one or more lithium extraction system, for simultaneously (or jointly) optimal hydrocarbon production and lithium extraction is a difficult task. Further, the state and behavior of oil and gas fields is transient over the lifetime of the constituent wells requiring continual changes to the plurality of field devices to enhance hydrocarbon production and lithium extraction. By continuously receiving and processing field data with an AI model, the oil and gas field can be maintained in an optimal state greatly reducing the cost and time required to identify optimal settings which change with the transient nature of the wells. This, in turn, improves hydrocarbon (i.e., oil and gas) and lithium yields and prolongs the life of constituent wells.
In accordance with one or more embodiments, one or more of the AI models (206) discussed herein, such as AI Model A (305) is a neural network. A diagram of a neural network is shown in
Nodes (602) and edges (604) carry additional associations. Namely, every edge is associated with a numerical value. The edge numerical values, or even the edges (604) themselves, are often referred to as “weights” or “parameters.” While training a neural network (600), numerical values are assigned to each edge (604). Additionally, every node (602) is associated with a numerical variable and an activation function. Activation functions are not limited to any functional class, but traditionally follow the form
where i is an index that spans the set of “incoming” nodes (602) and edges (604) and f is a user-defined function. Incoming nodes (602) are those that, when viewed as a graph (as in
and rectified linear unit function ƒ(x)=max(0, x), however, many additional functions are commonly employed. Every node (602) in a neural network (600) may have a different associated activation function. Often, as a shorthand, activation functions are described by the function ƒ by which it is composed. That is, an activation function composed of a linear function ƒ may simply be referred to as a linear activation function without undue ambiguity.
When the neural network (600) receives an input, the input is propagated through the network according to the activation functions and incoming node (602) values and edge (604) values to compute a value for each node (602). That is, the numerical value for each node (602) may change for each received input. Occasionally, nodes (602) are assigned fixed numerical values, such as the value of 1, that are not affected by the input or altered according to edge (604) values and activation functions. Fixed nodes (602) are often referred to as “biases” or “bias nodes” (606), displayed in
In some implementations, the neural network (600) may contain specialized layers (605), 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 (600) comprises assigning values to the edges (604). To begin training the edges (604) 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 (604) values have been initialized, the neural network (600) 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 (600) 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 the field data (which may be pre-processed), set of well operational parameters, and set of lithium extraction configuration parameters and the targets are hydrocarbon production and lithium extraction (given as either quantities over a pre-defined period or rates).
The neural network (600) output is compared to the associated input data target(s). The comparison of the neural network (600) 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 (600) output and the associated target(s). The loss function may also be constructed to impose additional constraints on the values assumed by the edges (604), 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 (604) values to promote similarity between the neural network (600) output and associated target(s) over the data set. Thus, the loss function is used to guide changes made to the edge (604) 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 (604) values. The gradient indicates the direction of change in the edge (604) values that results in the greatest change to the loss function. Because the gradient is local to the current edge (604) values, the edge (604) 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 (604) values or previously computed gradients. Such methods for determining the step direction are usually referred to as “momentum” based methods.
Once the edge (604) values have been updated, or altered from their initial values, through a backpropagation step, the neural network (600) will likely produce different outputs. Thus, the procedure of propagating at least one input through the neural network (600), comparing the neural network (600) output with the associated target(s) with a loss function, computing the gradient of the loss function with respect to the edge (604) values, and updating the edge (604) 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 (604) 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 (604) values are no longer intended to be altered, the neural network (600) is said to be “trained”.
While multiple embodiments using different AI models have been suggested, one skilled in the art will appreciate that this process, of determining the set of well operational parameters and set of lithium extraction configuration parameters that optimize both hydrocarbon production and lithium extraction, is not limited to the listed AI models. AI models such as a random forest, support vector machines, or non-parametric methods such as K-nearest neighbors may be readily inserted into this framework and do not depart from the scope of this disclosure.
In accordance with one or more embodiments, the AI model (e.g., AI Model A (305)) used in the frameworks described herein is a long short-term memory (LSTM) network. To best understand a LSTM network, it is helpful to describe the more general recurrent neural network, for which an LSTM may be considered a specific implementation.
Output=RNN Block(Input,State). (4)
The RNN Block (710) generally comprises one or more matrices and one or more bias vectors. The elements of the matrices and bias vectors are commonly referred to as “weights” or “parameters” in the literature such that the matrices may be referenced as weight matrices or parameter matrices without ambiguity. It is noted that for situations with higher dimensional inputs (e.g. inputs with a tensor rank greater than or equal to 2), the weights of an RNN Block (710) may be contained in higher order tensors, rather than in matrices or vectors. For clarity, the present example will consider Inputs (720) as vectors or as scalars such that the RNN Block (710) comprises one or more weight matrices and bias vectors, however, one with ordinary skill in the art will appreciate that this choice does not impose a limitation on the present disclosure. Typically, an RNN Block (710) has two weight matrices and a single bias vector which are distinguished with an arbitrary naming nomenclature. A commonly employed naming convention is to call one weight matrix W and the other U and to reference the bias vector as b.
An important aspect of an RNN is that it is intended to process sequential, or ordered, data; for example, a time-series. In the RNN, the Input (720) may be considered a single part of a sequence. As an illustration, consider a sequence composed of Y parts. Each part may be considered an input, indexed by t, such that the sequence may be written as sequence=[input1, input2, inputt, . . . , inputY-1, inputY]. Each Input (720) (e.g., input1 of a sequence) may be a scalar, vector, matrix, or higher-order tensor. Recall that a given seismic data set is composed of Nc traces (or channels) and Nt discrete time steps. In accordance with one or more embodiments, each Input (720) (or element of a sequence) is an array of traces at a single time step. That, each Input (1020) is considered a vector with Nc elements.
To process a sequence, an RNN receives the first ordered Input (720) of the sequence, input1, along with a State (730), and processes them with the RNN Block (710) according to EQ. 4 to produce an Output (740). The Output (740) may be a scalar, vector, matrix, or tensor of any rank. For the present example, the Output (1040) is considered a vector with k elements. The State (730) is of the same type and size as the Output (740) (e.g., a vector with k elements). For the first ordered input, the State (730) is usually initialized with all of its elements set to the value zero. For the second ordered Input (720), input2, of the sequence, the Input (720) is processed similarly according to EQ. 4, however, the State (730) received by the RNN Block (710) is set to the value of the Output (740) determined when processing the first ordered Input (720). This process of assigning the State (730) the value of the last produced Output (740) is depicted with the recurrent connection (750) in
In greater detail, the process of the RNN Block (710), or EQ. 4, may be generally written as
where W, U, and {right arrow over (b)} are the weight matrices and bias vector of the RNN Block (710), respectively, and f is an “activation function.” Some functions for ƒ may include the sigmoid function
and rectified linear unit (ReLU) function ƒ(x)=max(0, x), however, many additional functions are commonly employed.
To further illustrate a RNN, a pseudo-code implementation of a RNN is as follows.
kxk
kxN
k
In keeping with the previous examples, both the inputs and the outputs are considered vectors of lengths Nc and k, respectively, however, in general, this need not be the case. With the lengths of these vectors defined, the shapes of the weight matrices, bias vector, and State (730) vector may be specified. To begin processing a sequence, the State (730) vector is initialized with values of zero as shown in line 1 of the pseudo-code. Note that in some implementations, the number of inputs contained within a sequence may not be known or may vary between sequences. One with ordinary skill in the art will recognize that an RNN may be implemented without knowing, beforehand, the length of the sequence to be processed. This is demonstrated in line 2 of the pseudo-code by indicating that each input in the sequence will be processed sequentially without specifying the number of inputs in the sequence. Once an Input (720) is received, a matrix multiplication operator is applied between the weight matrix U and the State (730) vector. The resulting product is assigned to the temporary variable {right arrow over (z)}1. Likewise, a matrix multiplication operator is applied between the weight matrix W and the Input (710) with the result assigned to the variable {right arrow over (z)}2. For the present example, due the Input (720) and Output (740) each being defined as vectors, the products in lines 3 and 4 of the pseudo-code may be expressed as matrix multiplications, however, in general, the dot product between the weight matrix and corresponding State (730) or Input (720) may be applied. The Output (740) is determined by summing {right arrow over (z)}1, {right arrow over (z)}2, and the bias vector b and applying the activation function ƒ elementwise. The State (730) is set to the Output (740) and the whole process is repeated until each Input (720) in a sequence has been processed.
As previously stated, generally, training a machine-learned model requires that pairs of inputs and one or more targets (i.e., a training dataset) are passed to the machine-learned model. During this process the machine-learned model “learns” a representative model which maps the received inputs to the associated outputs. In the context of an RNN, the RNN receives a sequence, wherein the sequence can be partitioned into one or more sequential parts (Inputs (720) above), and maps the sequence to an overall output, which may also be a sequence. To remove ambiguity and distinguish the overall output of an RNN from any intermediate Outputs (740) produced by the RNN Block (710), the overall output will be referred to herein as a RNN result. In other words, an RNN receives a sequence and returns a RNN result. The training procedure for a RNN comprises assigning values to the weight matrices and bias vector of the RNN Block (710). For brevity, the elements of the weight matrices and bias vector will be collectively referred to as the RNN weights. To begin training the RNN weights 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 the RNN weights have been initialized, the RNN may act as a function, such that it may receive a sequence and produce a RNN result. As such, at least one sequence may be propagated through the RNN to produce a RNN result. For training, a training dataset is composed of one or more sequences and desired RNN results, where the desired RNN results represent the “ground truth”, or the true RNN results that should be returned for the given sequences. For clarity, and consistency with previous discussions of machine-learned model training, the desired or true RNN results will be referred to as targets. When processing sequences, the RNN result produced by the RNN is compared to the associated target. The comparison of a RNN result to the target(s) is typically performed by a loss function. As before, other names for this comparison function such as “error 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 RNN result and the associated target(s). The loss function may also be constructed to impose additional constraints on the values assumed by RNN weights, 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 RNN weights to promote similarity between the RNN results and associated targets over the training dataset. Thus, the loss function is used to guide changes made to the RNN weights, typically through a process called “backpropagation through time.”
A long short-term memory (LSTM) network may be considered a specific, and more complex, instance of a recurrent neural network (RNN).
where the LSTM Block, like the RNN Block, comprises one or more weight matrices and bias vectors and the processing steps necessary to transform an input, state, and carry to an output and new carry.
LSTMs may be configured in a variety of ways, however, the processes depicted in
Embodiments may be implemented on a computer system.
Additionally, the computer (802) 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 (802), including digital data, visual, or audio information (or a combination of information), or a GUI.
The computer (802) 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 (802) 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 (802) 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 (802) 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 (802) can receive requests over network (830) from a client application (for example, executing on another computer (802) 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 (802) 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 (802) can communicate using a system bus (803). In some implementations, any or all of the components of the computer (802), both hardware or software (or a combination of hardware and software), may interface with each other or the interface (804) (or a combination of both) over the system bus (803) using an application programming interface (API) (812) or a service layer (813) (or a combination of the API (812) and service layer (813). The API (812) may include specifications for routines, data structures, and object classes. The API (812) 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 (813) provides software services to the computer (802) or other components (whether or not illustrated) that are communicably coupled to the computer (802). The functionality of the computer (802) may be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer (813), 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 (802), alternative implementations may illustrate the API (812) or the service layer (813) as stand-alone components in relation to other components of the computer (802) or other components (whether or not illustrated) that are communicably coupled to the computer (802). Moreover, any or all parts of the API (812) or the service layer (813) 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 (802) includes an interface (804). Although illustrated as a single interface (804) in
The computer (802) includes at least one computer processor (805). Although illustrated as a single computer processor (805) in
The computer (802) also includes a memory (806) that holds data for the computer (802) or other components (or a combination of both) that can be connected to the network (830). The memory may be a non-transitory computer readable medium. For example, memory (806) can be a database storing data consistent with this disclosure. Although illustrated as a single memory (806) in
The application (807) is an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer (802), particularly with respect to functionality described in this disclosure. For example, application (807) can serve as one or more components, modules, applications, etc. Further, although illustrated as a single application (807), the application (807) may be implemented as multiple applications (807) on the computer (802). In addition, although illustrated as integral to the computer (802), in alternative implementations, the application (807) can be external to the computer (802).
There may be any number of computers (802) associated with, or external to, a computer system containing computer (802), wherein each computer (802) communicates over network (830). 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 (802), or that one user may use multiple computers (802).
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.