Computer scientists and engineers have long tried to create computers that mimic the mammalian brain. Such efforts have met with limited success. While the brain contains a vast, complex and efficient network of neurons that operate in parallel and communicate with each other via dendrites, axons and synapses, virtually all computers to date employ the traditional von Neumann architecture and thus contain some variation of a basic set of components (e.g., a central processing unit, registers, a memory to store data and instructions, external mass storage, and input/output devices). Due at least in part to this relatively simple architecture, von Neumann computers are adept at performing calculations and following specific, deterministic instructions, but—in contrast to the biological brain—they are generally inefficient; they adapt poorly to new, unfamiliar and probabilistic situations; and they are unable to learn, think, and handle data that is vague, noisy, or otherwise imprecise. These shortcomings substantially limit the traditional von Neumann computer's ability to make meaningful contributions in the oil and gas industry.
Accordingly, there are disclosed in the drawings and in the following description cognitive computing systems and methods that enhance workflow performance in the oil and gas industry. In the drawings:
It should be understood, however, that the specific embodiments given in the drawings and detailed description thereto do not limit the disclosure. On the contrary, they provide the foundation for one of ordinary skill to discern the alternative forms, equivalents, and modifications that are encompassed together with one or more of the given embodiments in the scope of the appended claims.
Disclosed herein are methods and systems for enhancing workflow performance in the oil and gas industry using cognitive computers. Cognitive computers—also known by numerous similar terms, including artificial neural networks, neuromorphic and synaptronic systems, and, in this disclosure, neurosynaptic systems—are modeled after the mammalian brain. In contrast to traditional von Neumann architectures, neurosynaptic systems include extensive networks of electronic neurons and cores operating in parallel with each other. These electronic neurons function in a manner similar to that in which biological neurons function, and they couple to electronic dendrites, axons and synapses that function like biological dendrites, axons and synapses. By modeling processing logic after the biological brain in this manner, cognitive computers—unlike von Neumann machines—are able to support complex cognitive algorithms that replicate the numerous advantages of the biological brain, such as adaptability to ambiguous, unpredictable and constantly changing situations and settings; the ability to understand context (e.g., meaning, time, location, tasks, goals); and the ability to learn new concepts.
Key among these advantages is the ability to learn, because learning fundamentally drives the cognitive computer's behavior. In the cognitive computer—just as with biological neural networks—learning (e.g., Hebbian learning) occurs due to changes in the electronic neuron and synapses as a result of prior experiences (e.g., a training session with a human user) or new information. These changes, described below, affect the cognitive computer's future behavior. In a simple example, a cognitive computer robot with no prior experience or software instructions with respect to coffee preparation can be introduced to a kitchen, shown what a bag of ground coffee beans looks like, and shown how to use a coffee machine. After the robot is trained, it will be able to locate materials and make the cup of coffee on its own, without human assistance. Alternatively, the cognitive computer robot may simply be asked to make a cup of coffee without being trained to do so. The computer may access information repositories via a network connection (e.g., the Internet) and learn what a cup is, what ground coffee beans are, what they look like and where they are typically found, and how to use a coffee machine—for example, by means of a YOUTUBE® video. A cognitive computer robot that has learned to make coffee in other settings in the past may engage in a conversation with the user to ask a series of specific questions, such as to inquire about the locations of a mug, ground coffee beans, water, the coffee machine, and whether the user likes sugar and cream with his coffee. If, while preparing the coffee, a wet coffee mug slips from the robot's hand and falls to the floor, the robot may infer that a wet mug is susceptible to slipping and it may grasp a wet mug a different way the next time it brews a cup of coffee.
The marriage between neurosynaptic architecture and cognitive algorithms represents the next step beyond artificial intelligence and can prove especially useful in the oil and gas industry. This disclosure describes the use of neurosynaptic technology (and associated cognitive algorithms) to intelligently assist in the performance of workflows by oil and gas industry personnel. In particular, when a cognitive computer is presented with a situation and a problem or query regarding that situation, it intelligently searches numerous information repositories for relevant data. It uses probabilistic algorithms to find the best options to address the problem based on the relevant data and generates arguments supporting and opposing the use of each of the options—all with minimal or no human assistance.
For example, details about a particular drill site may be provided to the cognitive computer and the computer may be asked about some aspect of drilling operations at the site. To answer the user's problem or query, the cognitive computer may access any and all information repositories available to it (e.g., any database or website accessible via a network). Based on the information provided by the user, the cognitive computer leverages a probabilistic algorithm to determine which repositories are most likely to contain the most relevant information, and it searches those repositories first. (If a particular repository has previously proven to be particularly valuable for the type of query at hand, the cognitive computer may have automatically learned to search that repository first.) Based on the information found, the computer may engage in a conversation with the user to identify additional, helpful information that can aid the computer in its efforts, and the computer may resume searching the repositories based on the additional information provided.
After intelligently searching the repositories and identifying a set of options that can be presented to the user, the cognitive computer ranks the options based on a ranking algorithm. The ranking algorithm may have been programmed directly into the computer, or the computer may have been trained to use the algorithm, or some combination thereof. The cognitive computer may have automatically modified its ranking algorithm based on past user option selections and subsequent outcomes so that the option most likely to be selected by the user is ranked highest and is most likely to produce the best outcome for the user. Based on all such information and any other relevant information obtained from the information repositories, the cognitive computer—without human assistance—produces arguments presenting the advantages and disadvantages associated with each option presented. These arguments are produced using the cognitive, probabilistic algorithms with which the cognitive computer is programmed or trained and using information the computer has learned in the past (e.g., facts obtained from information repositories or prior experiences).
The user and cognitive computer may engage in a discussion about the available options. The computer may answer the user's questions, and, in some embodiments, the computer may ask the user its own questions to further refine the list of possible options and rankings. For instance, when planning the location of a new well in an established field, the user may challenge the cognitive computer's recommendation by explaining that another well in that field has historically underperformed. The cognitive computer may rebut the user's argument with facts gleaned from any available information repository, having been trained to engage in such fact-based conversations in the past. The computer may, for example, explain that although the other well in the field has historically underperformed, the formation abutting that well was sub-optimally fractured. Based on the user's responses, the cognitive computer may learn for future use the types of facts and arguments the user finds most persuasive. When the user finally selects an option, the cognitive computer observes the consequences of that selection and modifies any accessible information repositories to reflect those consequences, thereby improving the accuracy and reliability of the data in the repositories. The foregoing description is merely illustrative of one non-limiting, potential application of cognitive computing in the oil and gas workflow context.
As explained above with respect to
Each synaptic component 140 includes an excitatory/inhibitory signal generator 146, a weight signal generator 148 associated with the corresponding synapse, and a pulse generator 150. The pulse generator 150 receives a clock signal 152 and a spike input signal 154, as well as a weight signal 151 from the weight signal generator 148. The pulse generator 150 uses its inputs to generate a weighted spike signal 158—for instance, the spike input signal 154 multiplied by the weight signal 151. The width of the weighted spike signal pulse reflects the magnitude of the weighted signal, and thus the magnitude that will contribute to or take away from the membrane potential of the electronic neuron. The weighted signal for the synapse corresponding to the synaptic component 140 is provided to the core component 142, and similar weighted signals are provided from synaptic components 140 corresponding to other synapses from which the electronic neuron receives input. For each weighted signal that the core 142 receives from a synaptic component 140, the core 142 also receives a signal 156 from the excitatory/inhibitory signal generator 146 indicating whether the weighted signal 158 is an excitatory (positive) or inhibitory (negative) signal. An excitatory signal pushes the membrane potential of the electronic neuron toward its action potential threshold, while an inhibitory signal pulls the membrane potential away from the threshold. As explained, the neurosynaptic learning process involves the adjustment of synaptic weights. Such weights can be adjusted by modifying the weight signal generator 148.
The core component 142 includes a membrane potential counter 160 and a leak-period counter 162. The membrane potential counter receives the weighted signal 158 and the excitatory/inhibitory signal 156, as well as the clock 152 and a leak signal 164 from the leak-period counter 162. The leak-period counter 162, in turn, receives only clock 152 as an input. In operation, the membrane potential counter 160 maintains a counter—initially set to zero—that is incremented when excitatory, weighted signals 158 are received from the synaptic component 140 and that is decremented when inhibitory, weighted signals 158 are received from the synaptic component 140. When no synapse pulse is applied to the core component 142, the leak period counter signal 164 causes the membrane potential counter 160 to gradually decrement at a predetermined, suitable rate. This action mimics the leak experienced in biological neurons during a period in which no excitatory or inhibitory signals are received by the neuron. The membrane potential counter 160 outputs a membrane potential signal 166 that reflects the present value of the counter 160. This membrane potential signal 166 is provided to the comparator component 144.
The comparator component 144 includes a threshold signal generator 168 and a comparator 170. The threshold generator 168 generates a threshold signal 169, which reflects the threshold at which the electronic neuron 130 generates a spike signal. The comparator 170 receives this threshold signal 169, along with the membrane potential signal 166 and the clock 152. If the membrane potential signal 166 reflects a counter value that is equal to or greater than the threshold signal 169, the comparator 170 generates a spike signal 172, which is subsequently output via an axon of the electronic neuron. As numeral 174 indicates, the spike signal is also provided to the membrane potential counter 160, which, upon receiving the spike signal, resets itself to zero.
The synapse array 408 also couples to neurons 412. The neurons 412 may be a single-row, multiple-column array of neurons, or, alternatively, the neurons 412 may be a multiple-row-, multiple-column array of neurons. In either case, dendrites of the neurons 412 couple to axons 410 in the synapse array 408, thus facilitating the transfer of spikes from the axons 410 to the neurons 412 via dendrites in the synapse array 408. The spike router 424 receives spikes from off-core sources, such as the core 406 or off-chip neurons. The spike router 424 uses spike packet headers to route the spikes to the appropriate neurons 412 (or, in some embodiments, on-core neurons directly coupled to axons 410). In either case, bus 428 provides data communication between the spike router 424 and the core 404. Similarly, neurons 412 output spikes on their axons and bus 430 provides the spikes to the spike router 424. The core 406 is similar or identical to the core 404. Specifically, the core 406 contains axons 416, neurons 418, and a synapse array 414. The axons 416 couple to a spike router 426 via bus 432, and neurons 418 couple to the spike router 426 via bus 434. The functionality of the core 406 is similar or identical to that of the core 404 and thus is not described. A bus 436 couples the spike routers 424, 426 to facilitate spike routing between the cores 404, 406. A bus 438 facilitates the communication of spikes on and off of the chip 402. The architectures shown in
Various types of software may be written for use in cognitive computers. One programming methodology is described below, but the scope of disclosure is not limited to this particular methodology. Any suitable, known software architecture for programming neurosynaptic processing logic is contemplated and intended to fall within the scope of the disclosure. The software architecture described herein entails the creation and use of programs that are complete specifications of networks of neurosynaptic cores, along with their external inputs and outputs. As the number of cores grows, creating a program that completely specifies the network of electronic neurons, axons, dendrites, synapses, spike routers, buses, etc. becomes increasingly difficult. Accordingly, a modular approach may be used, in which a network of cores and/or neurons encapsulates multiple sub-networks of cores and/or neurons; each of the sub-networks encapsulates additional sub-networks of cores and/or neurons, and so forth. In some embodiments, the CORELET® programming language, library and development environment by IBM® may be used to develop such modular programs.
The remainder of this disclosure describes the use of hardware and software cognitive computing technology to facilitate the performance of workflows by oil and gas industry personnel. As explained above, any suitable cognitive computing hardware or software technology may be used to implement such techniques. This cognitive computing technology may include none, some or all of the hardware and software architectures described above. For example, the workflow facilitation techniques described below may be implemented using the CORELET® programming language or any other software language used in conjunctive with cognitive computers. The foregoing architectural descriptions, however, are non-limiting. Other hardware and software architectures may be used in lieu of, or to complement, any of the foregoing technologies. Any and all such variations are included within the scope of the disclosure.
The cognitive computer 702 communicates with any number of information repositories 710 via the network interface 708. The quantity and types of such information repositories 710 may vary widely, and may include, without limitation, other cognitive computers; databases; distributed databases; sources that provide real-time data pertaining to oil and gas operations, such as drilling, fracturing, cementing, or seismic operations; servers; other personal computers; mobile phones and smart phones; websites and generally any resource(s) available via the Internet, World Wide Web, or a local network connection such as a virtual private network (VPN); cloud-based storage; libraries; and company-specific, proprietary, or confidential data. Any other suitable source of information with which the cognitive computer 702 can communicate is included within the scope of disclosure as a potential information repository 710. The cognitive computer 702—which, as described above, has the ability to learn, process imprecise or vague information, and adapt to unfamiliar environments—is able to receive a scenario and a query via the input interface 704 and intelligently determine a solution to the query based on the scenario and the information available in the information repositories 710, 712. The software stored on the cognitive computer 702 is probabilistic (i.e., non-deterministic) in nature, meaning that its behavior is guided by probabilistic determinations regarding the various possible outcomes of each action that can be taken in a given situation. In addition, in some embodiments, information is presented to the cognitive computer 702 and the cognitive computer 702 automatically assimilates the presented information. The presented information may include at least some of the information available on the information repositories 710, 712. In some embodiments, personnel may train the cognitive computer 702 to include this information.
The method 800 begins with a training phase (step 802) in which the cognitive computer is trained to perform a certain task—in this case, to evaluate a given situation in an oil and gas industry workflow and to determine the best course of action when confronted with a query regarding that situation. This is achieved is by providing the cognitive computer with sufficient information so that, over time, its electronic neurons apply the appropriate weights to their various synaptic inputs so as to produce the desired axonal outputs—that is, the cognitive computer learns. Such information that results in the proper calibration of synaptic weights may include, for example, repeatedly exposing the cognitive computer to desired courses of action and optimal behavioral patterns. In the current application, such training may include, for instance, repeatedly providing the cognitive computer with a mock workflow scenario, querying the computer for the best solution(s) to a given problem, and guiding the computer through the proper problem solving processes that it should follow to reach the solution. In general, the training phase of step 802 requires that a user “teach” the cognitive computer how it should behave when confronted with a problem such as the workflow facilitation problem described in
After the cognitive computer has been properly trained, the method 800 includes the cognitive computer receiving information pertaining to the workflow situation and a specific query regarding the situation (step 804). Together, the workflow situation and specific query constitute a “workflow enhancement request.” The information pertaining to the workflow situation may include any and all relevant facts associated with the workflow, such as and without limitation, the steps of the workflow, the personnel involved, the resources available, time constraints, financial constraints, and so forth. In preferred embodiments, even seemingly irrelevant facts are provided to the cognitive computer, because a relationship between the seemingly irrelevant facts and the situation at hand may be apparent to a cognitive computer. The query provided to the cognitive computer may be of any nature, as the cognitive computer is capable of adapting to vague and imprecise instructions. In preferred embodiments, during step 804 the cognitive computer engages in a conversation with the personnel to obtain clarification regarding any of the information that has been provided. Personnel may provide information to and generally interact with the cognitive computer via any suitable input device, such as a microphone, a keyboard, a display, and/or a wearable device (e.g., an augmented reality device such as GOOGLE GLASS®).
The method 800 subsequently includes the cognitive computer searching information repositories and/or searching assimilated knowledge that the computer stores along with knowledge learned from prior experiences (collectively called a “knowledge corpus”) for information related to the query or to other information provided by personnel (as described below with respect to step 810) (step 806). Referring briefly to
Referring again to
If the cognitive computer determines that it will not request additional information (step 808), the computer uses the information it has collected to determine viable options or solutions to the query presented (step 812). The manner in which this step is performed largely depends on the way the cognitive computer has been programmed and, to a greater extent, the way it has been trained. During the training phase (step 802), the cognitive computer will have learned how to sift through information from repositories, identify the most relevant information in those repositories, and use that information to determine appropriate options in response to the query presented. The cognitive computer determines the set of possible options at least in part using probabilistic algorithms with which the computer has been trained or programmed. Such probabilistic algorithms cause the cognitive computer to assess a given scenario and a set of relevant information and to determine what outcomes are most likely from a particular course of action. The probabilistic algorithm causes the cognitive computer to consider not just the immediate outcomes that may likely result from a particular course of action, but it also enables the computer to consider the most likely long-term, secondary and tertiary effects that a human user would not be able to foresee. The cognitive computer may store such options (along with any other relevant data) for future use, for example in the electronic synapses (
After it has determined a set of appropriate options, the cognitive computer ranks the options based on a weighting algorithm (step 814). The weighting algorithm dictates factors that are more important and those that are less important. The algorithm may have been directly programmed into the cognitive computer by a programmer, or the cognitive computer may learn the weighting algorithm during the training phase. Options that have a positive impact on the most important factors may be ranked more highly than options that have a positive impact on factors of lesser importance. Similarly, options that have a negative impact on the most important factors may be ranked lower than options that have a negative impact on factors of greater importance. The weighting algorithm is probabilistic in nature, so the rankings of the potential options takes into account the most likely and least likely outcomes if each option is or is not exercised (including tangential or long-term outcomes that may be difficult for personnel to foresee). This description of the weighting algorithm is merely illustrative. In practice, the particulars of the weighting algorithm(s) are programmed into the computer by a programmer, and a trainer subsequently trains the cognitive computer to use the weighting algorithms in the relevant oil and gas application(s). For example and without limitation, the trainer may train the cognitive computer to understand the relevant oil and gas application, desirable outcomes, undesirable outcomes, relevant constraints (e.g., technical, legal, financial constraints) and relevant goals, and the cognitive computer may adjust the weighting algorithm(s) accordingly. All suitable variations and permutations of such weighting algorithms are included in the scope of the disclosure.
The cognitive computer then generates—without human assistance—arguments for and against each of the options (step 816) and presents the options and arguments to personnel (step 818). Stated another way, these arguments are the “pros” and “cons” associated with each of the options. The cognitive computer will have been trained to use facts to generate and support each of its arguments. For example, in recommending that a well be drilled in a specific location, the computer may list facts supporting that particular location (e.g., calculations demonstrating proper spacing from other wells, production numbers evidencing rich production history in the area) and facts that oppose drilling in that particular location (e.g., budget spreadsheet analyses describing relevant financial considerations). The cognitive computer performs thorough, probabilistic analyses (including secondary and tertiary analyses) of all potential options in light of the relevant information it collects from the information repositories and uses these analyses in intelligently formulating its fact-based arguments. In some embodiments, the cognitive computer engages in a conversation—using any suitable input and output interfaces—with personnel to discuss the ranked list of options and the arguments associated with each of the options. For example, personnel may challenge the cognitive computer's arguments supporting a particular course of action and may demand that the computer explain the assumptions it used to formulate the arguments. In response, the computer may reveal its assumptions and facts supporting those assumptions. Similarly, personnel may pose a series of questions regarding the options or arguments or regarding the facts or assumptions supporting the options and arguments. The cognitive computer responds to each of these without human assistance and in accordance with its training and its probabilistic algorithms. The cognitive computer's actions and outputs are not, however, restricted solely to its programming and training. Instead, as described above, the cognitive computer learns as it performs. Thus, for instance, over time the computer may learn for itself what arguments the user finds most persuasive, weaknesses in its own reasoning, which information repositories contain reliable data and which do not, and so on.
Oil and gas personnel interacting with the cognitive computer will ultimately exercise an option presented by the computer. Alternatively, the cognitive computer may exercise an option on personnel's behalf. The outcomes of that option—as well as any other relevant information pertaining to the exercise of the option—may be provided to the cognitive computer so that the information may be stored on the computer or in a suitable information repository for future reference (step 820). In alternative embodiments, the cognitive computer automatically identifies the pertinent outcomes and stores them to the appropriate information repositories for future reference. The process is then complete. The method 800 may be modified in any suitable manner. Steps may be added, removed, rearranged or modified as may be suitable.
Numerous other variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations, modifications and equivalents. In addition, the term “or” should be interpreted in an inclusive sense.
The present disclosure encompasses numerous embodiments. At least some of these embodiments are directed to a cognitive computing system for enhancing workflow performance in the oil and gas industry that comprises: neurosynaptic processing logic including multiple electronic neurons operating in parallel; input and output interfaces coupled to the neurosynaptic processing logic; and one or more information repositories accessible to the neurosynaptic processing logic, wherein the neurosynaptic processing logic receives a workflow enhancement request via the input interface, accesses the one or more information repositories to obtain information pertaining to the request, uses said information to perform a probability analysis, produces an option relating to the workflow enhancement request based on said probability analysis, and presents said option via the output interface. Such embodiments may be supplemented in a variety of ways, including by adding any of the following concepts, in any sequence and in any combination: wherein, without human assistance, the neurosynaptic processing logic generates an argument in favor of said option; wherein, without human assistance, the neurosynaptic processing logic generates an argument against said option; wherein, without human assistance, the neurosynaptic processing logic responds to a question about said option; wherein the neurosynaptic processing logic produces a second option relating to the workflow enhancement request, ranks the option and the second option, and presents the ranking via the output interface; wherein the neurosynaptic processing logic formulates a question relating to the request, and wherein the neurosynaptic processing logic presents said question via the output interface; wherein the neurosynaptic processing logic receives additional input in response to said question, and wherein the neurosynaptic processing logic accesses the one or more information repositories based on said additional input; wherein the neurosynaptic processing logic identifies a result that occurs when the option is exercised, and wherein the neurosynaptic processing logic provides said result to the one or more information repositories; wherein the system engages in a conversation with a user of the system regarding said option; wherein the system is implemented in the context of an oil and gas industry application.
At least some embodiments are directed to a cognitive computer for facilitating workflow completion in the oil and gas industry, comprising: a plurality of neurosynaptic cores operating in parallel, each neurosynaptic core coupled to at least one other neurosynaptic core and comprising multiple electronic neurons, electronic dendrites and electronic axons, at least some of said electronic dendrites and electronic axons coupling to each other in a synapse array; and a network interface coupled to at least one of the plurality of neurosynaptic cores, the network interface provides access to one or more information repositories, wherein the plurality of neurosynaptic cores accesses the one or more information repositories via the network interface to identify multiple solutions to a workflow enhancement request, determines a ranking of the multiple solutions, and presents the ranking to a user of the cognitive computer. Such embodiments may be supplemented in a variety of ways, including by adding any of the following concepts, in any sequence and in any combination: wherein the synapse array stores information pertaining to the multiple solutions; wherein the plurality of neurosynaptic cores generates arguments in support of and against each of said multiple solutions without human assistance; wherein the workflow enhancement request pertains to a workflow for oil and gas industry personnel.
At least some embodiments are directed to a method for enhancing workflow performance in the oil and gas industry, comprising: receiving, at a cognitive computer, an inquiry regarding a workflow; accessing information relating to the inquiry from an information repository using the cognitive computer; using the cognitive computer and said information to generate an option relating to the inquiry; and presenting said option to a user of the cognitive computer. Such embodiments may be supplemented in a variety of ways, including by adding any of the following concepts, in any sequence and in any combination: further comprising storing data pertaining to said option in an electronic synapse at an intersection of an axon and a dendrite associated with an electronic neuron in said cognitive computer; further comprising the cognitive computer generating an argument favoring said option; further comprising the cognitive computer generating an argument against said option; further comprising the cognitive computer identifying a need for additional information, requesting and receiving said additional information, and using the additional information to generate said option; further comprising providing the cognitive computer with said inquiry using an augmented reality device.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2015/021911 | 3/22/2014 | WO | 00 |