Using an artificial intelligence (AI) algorithm to identify patterns in ai algorithm weights to create newly trained ai algorithms without using traditional ai algorithm training techniques
By training a weight pattern AI algorithm to analyze how weight changes impact output data, the resource-intensive process of traditional AI algorithm training is bypassed, facilitating the creation of new AI algorithms with reduced costs and resource usage.
Patent Information
- Application Number
- PCT/US2024/025628
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-22
- Publication Date
- 2025-10-30
AI Technical Summary
The training of AI algorithms, particularly Large Language Models, is resource-intensive and unsustainable due to high costs and increasing demand, necessitating a more efficient and faster method to create trained algorithms with reduced resource usage.
A weight pattern AI algorithm is trained to identify patterns in AI algorithm weights by changing individual weights in real-time and analyzing the effect on output data, allowing for the creation of new AI algorithms without traditional training processes.
This approach reduces the need for extensive retraining by learning how weight changes affect output data, enabling the creation of new AI algorithms efficiently and effectively, thereby minimizing resource consumption.
Smart Images

Figure US2024025628_30102025_PF_FP_ABST
Abstract
Description
USING AN ARTIFICIAL INTELLIGENCE (Al) ALGORITHM TO IDENTIFY PATTERNS IN Al ALGORITHM WEIGHTS TO CREATE NEWLY TRAINED Al ALGORITHMS WITHOUT USING TRADITIONAL Al ALGORITHM TRAINING TECHNIQUESFIELD
[0001] The disclosure relates generally to Al algorithms and particularly to training Al algorithms.BACKGROUND
[0002] One of the problems with training Al algorithms (e.g., Large Language Models (LLMs)) is that the training process requires a tremendous number of resources. For example, it cost a staggering $540 million dollars to train ChatGPT in 2022 (see https: / / www.tweaktown.com / news / 91375 / openais-chatgpt-is-costing-the-company- shocking-amount-of-money / index.html). This problem is further exacerbated as the demand for customized Al algorithms continues to dramatically increase. As a result, the need for further processing and power resources continues to expand at a rate that may not be sustainable. What is needed is a more efficient and faster way to create trained Al algorithms that use less resources.SUMMARY
[0003] These and other needs are addressed by the various embodiments and configurations of the present disclosure. The present disclosure can provide a number of advantages depending on the particular configuration. These and other advantages will be apparent from the disclosure contained herein.
[0004] In a first embodiment, an Artificial Intelligence (Al) algorithm is trained using a training set. The training of the Al algorithm produces a plurality of weights associated with the Al algorithm. A series of base Al inputs are provided, for a first time, to the Al algorithm, to produce a first set of initial output data. One or more individual weights of the plurality of weights associated with the Al algorithm are changed, for a first time. The series of base Al inputs are provided, for a second time, to the Al algorithm with the first time changed one or more individual weights of the plurality of weights to produce a first set of corresponding output data. A weight pattern Al algorithm trained by determining how the changes, for the first time, to the one or more individual weights ofthe plurality of weights affects the first set of corresponding output data in relation to the first set of initial output data.
[0005] In a second embodiment, an Artificial Intelligence (Al) algorithm is trained using a plurality of training sets. The training with each of the plurality of training sets produces a plurality of corresponding weights sets. A weight pattern Al algorithm is trained based on pattern relationships between information in each of the plurality of training sets and the plurality of corresponding weights sets. The trained weight pattern Al algorithm receives Al inputs that define a training scope for a new version of the Al algorithm. The trained weight pattern Al algorithm processes the received Al inputs that define the training scope for a new version of the Al algorithm. The trained weight pattern Al algorithm generates a new set of weights for the new version of the Al algorithm that meet the training scope for the new version of the Al algorithm.
[0006] In a third embodiment, an Al algorithm is trained using an initial training set to produce an initial set of weights of the Al algorithm. A series of base Al inputs are provided, for a first time, to the Al algorithm using the initial set of weights of the Al algorithm to produce an initial set of Al output data. The weights of the Al algorithm are changed to match identified changes of the initial set of weights of the Al algorithm. The identified changes to the initial set of weights are based on an attempt to compromise the Al algorithm. The series of base Al inputs are provided, for a second time, to the Al algorithm to produce a second set of Al output data. A determination is made to how the changes to the initial set of weights of the Al algorithm affect the second set of Al output data in relation to the initial set of Al output data.
[0007] The phrases "at least one", "one or more", “or,” and "and / or" are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions "at least one of A, B and C", "at least one of A, B, or C", "one or more of A, B, and C", "one or more of A, B, or C", "A, B, and / or C", and "A, B, or C" means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
[0008] The term "a" or "an" entity refers to one or more of that entity. As such, the terms "a" (or "an"), "one or more" and "at least one" can be used interchangeably herein. It is also to be noted that the terms “comprising,” “including,” and “having” can be used interchangeably.
[0009] The term “automatic” and variations thereof, as used herein, refers to any process or operation, which is typically continuous or semi-continuous, done without materialhuman input when the process or operation is performed. However, a process or operation can be automatic, even though performance of the process or operation uses material or immaterial human input, if the input is received before performance of the process or operation. Human input is deemed to be material if such input influences how the process or operation will be performed. Human input that consents to the performance of the process or operation is not deemed to be “material.”
[0010] Aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium.
[0011] A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0012] A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0013] The terms “determine,” “calculate” and “compute,” and variations thereof, as used herein, are used interchangeably, and include any type of methodology, process, mathematical operation, or technique.
[0014] The term “means” as used herein shah be given its broadest possible interpretation in accordance with 35 U.S.C., Section 1 12(f) and / or Section 112, Paragraph 6. Accordingly, a claim incorporating the term “means” shall cover all structures, materials, or acts set forth herein, and all of the equivalents thereof. Further, the structures, materials or acts and the equivalents thereof shall include all those described in the summary, brief description of the drawings, detailed description, abstract, and claims themselves.
[0015] The preceding is a simplified summary to provide an understanding of some aspects of the disclosure. This summary is neither an extensive nor exhaustive overview of the disclosure and its various embodiments. It is intended neither to identify key or critical elements of the disclosure nor to delineate the scope of the disclosure but to present selected concepts of the disclosure in a simplified form as an introduction to the more detailed description presented below. As will be appreciated, other embodiments of the disclosure are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below. Also, while the disclosure is presented in terms of exemplary embodiments, it should be appreciated that individual aspects of the disclosure can be separately claimed.BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Fig. l is a block diagram of a first illustrative system for training a weight pattern Al algorithm to identify patterns in weights.
[0017] Fig. 2 is a block diagram of an exemplary neural network of an Al algorithm.
[0018] Fig. 3 is a block diagram of a second illustrative system for training a weight pattern Al algorithm by changing Al inputs.
[0019] Fig. 4 is a block diagram of a third illustrative system for training a weight pattern Al algorithm by using a plurality of training sets.
[0020] Fig. 5 is a block diagram of a fourth illustrative system for training a weight pattern Al algorithm to produce weights for a plurality of Al algorithms that have different neural network architectures.
[0021] Fig. 6 is a block diagram of a fifth illustrative system for creating a new set of weights for an Al algorithm.
[0022] Fig. 7 is a flow diagram of a process for training a weight pattern Al algorithm by using base Al inputs.
[0023] Fig. 8 is a flow diagram of a process for receiving Al algorithm inputs to generate a new set of weights for a new version of an Al algorithm.
[0024] Fig. 9 is a flow diagram of a process for determining how changes to a set of weights are being used to compromise an Al algorithm.
[0025] Fig. 10 is a flow diagram of a process for training a weight pattern Al algorithm by using a plurality of training sets.
[0026] Fig. 11 is a flow diagram of a process for fine-tuning a new version of an Al algorithm.
[0027] Fig. 12 is a flow diagram of a process for filtering out of scope Al algorithm input data.
[0028] In the appended figures, similar components and / or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a letter that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.DETAILED DESCRIPTION
[0029] Fig. 1 is a block diagram of a first illustrative system 100 for training a weight pattern Al algorithm 121 to identify patterns in weights. The first illustrative system 100 comprises communication devices 101A-101N, a network 110, and a server 120.
[0030] The communication devices 101 A- 10 IN can be or may include any user device that can communicate with the server 120, such as a Personal Computer (PC), a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, a smartphone, a laptop computer, and / or the like. As shown in Fig. 1, any number of communication devices 101 A- 10 IN may be connected to the network 110, including only a single communication device 101. The communication devices 101A-101N are used by the users to access the server 120.
[0031] The network 110 can be or may include any collection of communication equipment that can send and receive electronic communications, such as the Internet, aWide Area Network (WAN), a Local Area Network (LAN), a packet switched network, a circuit switched network, a cellular network, a combination of these, and the like. The network 110 can use a variety of electronic protocols, such as Ethernet, Internet Protocol (IP), Hyper Text Transfer Protocol (HTTP), Web Real-Time Protocol (Web RTC), and / or the like. Thus, the network 110 is an electronic communication network configured to carry messages via packets and / or circuit switched communications.
[0032] The server 120 may be any hardware device that can host the Al algorithm 123, such as an application server, a cloud service, a communications server, and / or the like. The server 120 may comprise multiple servers / processing cores that host the Al algorithm 123. The server 120 further comprises a weight pattern Al algorithm 121, an Al algorithm manager 122, the Al algorithm 123, training set(s) 124, sets of weights 125, base Al inputs 126, Al output data 127, neural network architecture information 128, and an input scope checker 129.
[0033] The weight pattern Al algorithm 121 is an Al algorithm that is trained on different versions of the sets of weights 125 of the Al algorithm 123. The weight pattern Al algorithm 121 identifies patterns in the sets of weights 125 in relation to the training set(s) 124. In addition, the weight pattern Al algorithm 121 can identify how changing weights of the Al algorithm 123 affect how Al output data 127 by using the known base Al inputs 126.
[0034] The Al algorithm manager 122 is used to manage the weight pattern Al algorithm 123, the Al algorithm 123, and processes associated with these, such as providing the base Al inputs 126 to the Al algorithm 123, changing the weights of the Al algorithm 123, storing off information in memory, and / or the like.
[0035] The Al algorithm 123 may be any type of Al algorithm that uses sets of weights 125, such as a linear regression Al algorithm, a gradient descent Al algorithm, a random forest Al algorithm, a Generative Adversarial Neural Network (GANN) Al algorithm, a Large Language Model (LLM) Al algorithm, neural network Al algorithm, and / or the like. The Al algorithm 123 is initially trained using the training set(s) 124.
[0036] The Al algorithm 123 may comprise multiple Al algorithms 123. For example, there may be multiple types / sizes of Al algorithms 123 that are trained using the training sets 124 to produce multiple sets of weights 125 for use by the weight pattern Al algorithm 121. The Al algorithms 123 may be part of a library of Al algorithms.
[0037] The training sets 124 may comprises different types of information / data (e.g., text, images, audio, video, etc.). The training sets 124 may comprise specific training sets124 and / or general training sets 124. For example, a specific training set 124 may only include source code for software development. A general training set 124 may comprise information scraped from the Internet or some other generic source of information.
[0038] The sets of weights 125 are generated when the Al algorithm 123 is initially trained using a training set 124. The sets of weights 125 are associated with nodes in a neural network. The sets of weights 125 are numbers that are used as an input into a node in the Al algorithm 123. The set of weights 125 may be a set of weights 125 that are generated by the weight pattern Al algorithm 121.
[0039] The base Al inputs 126 are a series of defined prompts (e.g., text images, numeric tabular data, audio, video, etc.) that are provided as input to the Al algorithm 123. For example, the base Al inputs 126 may comprise ten thousand different questions / groups of queries / prompts that are provided to the Al algorithm 123. The base Al inputs 126 are used to create a baseline of Al output data 127. The baseline Al output data 127 is compared to Al output data 127 that is generated when one or more of the weights in the set of weights 125 are changed. For example, the one or more weights in the set of weights 125 may be changed in real-time while the Al algorithm 123 is running to determine how the changes affect the Al output data 127.
[0040] The Al output data 127 is data / information that is generated by the Al algorithm 123 based on the Al input data. The Al output data 127 may comprises a set of Al output data 127 that is stored off based on different Al input data.
[0041] The neural network architecture information 128 is information that is used to determine the structure of the neural network of the Al algorithm 123. The neural network architecture information 128 defines the nodes of the Al algorithm 123 and how the nodes of the Al algorithm 123 are connected. The neural network architecture information 128 is used by the weight pattern Al algorithm 121 for training Al algorithms 123 that have different types / sizes of neural networks. For example, a large LLM have billions of nodes / weights in the set of weights 125 and a small GANN Al algorithm 123 may only have millions of nodes / weights in the set of weights 125.
[0042] The input scope checker 129 is used to check scope of the Al algorithm inputs to make sure that the Al algorithm inputs are within the same scope of the training set 124 that the Al algorithm 123 was trained on. The input scope checker 129 is used to help the Al algorithm 123 to not have as many hallucinations. The input scope checker 129 may flag what Al inputs are out of scope and allow a user to proceed or not with the out-of-scope Al inputs. The input scope checker 129 may provide suggestions on alternative Al inputs.
[0043] The malicious weight pattern database 130 comprises different compromised sets of weights 125 for different types of compromised Al algorithms 123. In other words, the malicious weight pattern database 130 is a dictionary of known compromised sets of weights 125. The malicious weight pattern database 130 may be used by multiple parties (e.g., different companies) to lookup different compromised weight patterns associated with different types of compromised Al algorithms 123. For example, there may be multiple sets of weights 125 for each of ten different types of compromised Al algorithms 123. The malicious weight pattern database 130 may contain the compromised sets of 125, information about how the compromised weight sets affect the Al algorithm 123, and / or the like.
[0044] Fig. 2 is a block diagram of an exemplary neural network 200 of an Al algorithm 123. While Fig. 2 is an exemplary fully connected feedforward LLM, other types of architectures may be used, such as convolutional neural network (CNN), recurrent neural network (RNN), transformer architecture, etc. The neural network 200 comprises nodes 201A1, 201B1, 201BN, and 201N1. The nodes 201 are linked together by links 202B1, 202BN, 202N1, and 202NN. The links 202 are basically function calls between the nodes 201 (i.e., software of the nodes 201). Where a link 202 comes into a node 201, there is an associated weight 205. In Fig. 2, the node 201B1 has the weight 205B1, the node 201BN has the weight 205BN, and the node 201N1 has the weights 205N1 / 205NN.
[0045] The neural network 200 of the Al algorithm 123 has three node layers 203: 1) an input layer 203 A, a hidden layer 203B, and an output layer 203N. The links 202 between the nodes 201 form the link layers 204B / 204N.
[0046] While Fig. 2 is an exemplary embodiment of a feedforward neural network, any practical neural network 200 is typically much larger. For example, a neural network 200 of a LLM may comprise millions of nodes 201, thousands of link layers 204, and billions or even trillions of weights 205. Because of the extremely large number of nodes 201 / weights 205 in a typical neural network 200, the complexity of identifying changes and how training affects weights 205 is an extremely complex process. In addition, determining how specific weights 205 and Al inputs affect the Al output data 127 of the Al algorithm 123 is far too complex a process to do manually for a neural network 200 that has even a few hundred nodes 201, much less for a neural network 200 that has millions of nodes 201.
[0047] Fig. 3 is a block diagram of a second illustrative system 300 for training a weight pattern Al algorithm 121 by changing Al inputs. One of the key issues with Al algorithms 123 is that it is difficult to identify how the different weights 205 in an Al algorithm 123 affect the Al output data 127 of the Al algorithm 123. One way to deal with this is to use the weight pattern Al algorithm 121 to learn how changes in weights 205 affect the Al output data 127 from the Al algorithm 123. Fig. 3 illustrates an exemplary embodiment of where the weight pattern Al algorithm 121 is trained to determine effects that happen to the Al output data 127 of the Al algorithm 123 when different weight(s) 205 of the Al algorithm 123 are changed (e.g., in real-time). Fig. 3 assumes that the Al algorithm 123 has already been trained.
[0048] Once the Al algorithm 123 is initially trained, the process provides the base Al inputs 126 and then identifies the corresponding initial Al output data 127 associated with the base Al inputs 126 using the weights 205 from the initially trained Al algorithm 123. The base Al inputs 126 may be a series and / or a group of specific types of base Al inputs 126 depending on the initial training set 124.
[0049] The Al algorithm manager 122 then changes one or more weight(s) 205 (e.g., in real-time). The weight pattern Al algorithm 121 then provides the same base Al inputs 126 as input to the Al algorithm 123 and then gets the corresponding Al output data 127. The Al output data 127 (where the weights 205 are changed) is then compared to the original / initial Al output data 127 (generated using the original weights 205) to determine the effect of the change in the weight(s) 205. Another option would be to also compare the current Al output data 127 to the previous Al output data 127. The process of changing the weights 205 in real-time is repeated multiple times using the base Al inputs 126 to learn the effect of changing the weight(s) 205 in relation to the specific base Al inputs 126.
[0050] The changing of the weight(s) 205 may include changing individual weight(s) 205 (e.g., weight 205B1), changing groups of weights 205 (e.g., weights 205B1, 205BN1, and 125NN), changing layers of weights 205 (e.g., the weights 205B1 / 205BN of the nodes 201B1 / 201BN of the hidden layer 203B), changing partial layers of weights 205 (e.g., weight 205BN), changing flow(s) of weights 205 (e.g., weight 205B1 and 205N1 that are linked together by link 202N1), changing partial flows of weights 205 (e.g., weight 205NN), a combination of these, and / or the like.
[0051] For example, using the next base Al input 126, the various weight(s) 205 are changed and the Al output data 127 for each changed weight 205 is compared to theoriginal Al output data 127 for that particular base input parameter 126 to determine the effect of the change to the weight(s) 205. Thus, the weight pattern Al algorithm 121 can learn over time how changes to the weights 205 affect Al output data 127 of the Al algorithm 123. The base Al inputs 126 could be grouped in specific areas of questions / data or a range of questions / data that progressively changes the base Al inputs 126.
[0052] The comparisons of the various weight changes / base Al inputs 126 can be used to learn over time to learn how to change the Al algorithm 123 without having to retrain the Al algorithm 123. For example, a simple Al algorithm 123 that has one hundred weights 205 and has ten base Al inputs 126 is assumed. After learning the initial Al output data 127 for the ten base Al inputs 126 (using the original weights 205) the Al algorithm manager 122 can individually change each of the one hundred weights 205 (could be multiple changes to each individual weight 205 (e.g., using steps of change of .1 (assuming a maximum weight value of 1)) with the same base Al input 126) with the first of the ten base Al inputs 126. The Al algorithm manager 122 can change different weight settings as well (e.g., a group or flow of weights 205). The weight pattern Al algorithm 121 can then learn how the changes to the weights 205 affect the Al output data 127. This process is repeated for the remaining nine of the ten base Al inputs 126 / remaining one hundred weights 205. Thus, the weight pattern Al algorithm 121 learns how the changes to the weights 205 affect the Al output data 127. As this process occurs, the weight pattern Al algorithm 121 is trained on what happens to the Al output data 127 when the weights 205 are changed. The trained weight pattern Al algorithm 121 can then be used to create a completely new set of weights 125 for the Al algorithm 123 (e.g., as described in Fig. 6).
[0053] This is different from fine tuning an Al algorithm 123 where a new training set 124 is used to further train an already trained Al algorithm 123. In Fig. 3, the base Al inputs 126 are not being used to fine-tuning an existing Al algorithm 123 but are instead being used to learn how changes to the weights 205 affect the Al output data 127 so that a newly trained Al algorithm 123 can be created without retraining the Al algorithm 123. For example, the process of Fig. 3 will likely create a completely new set of weights 125 where fine-tuning typically only changes a small portion of the weights 205. If all the weights 205 are changed with fine tuning, it typically takes an extremely large amount of processing power / time versus the process described in Fig. 3.
[0054] Fig. 4 is a block diagram of a third illustrative system 400 for training a weight pattern Al algorithm 121 by using a plurality of training sets 124. One of the primary advantages of the weight pattern Al algorithm 121 is the ability to identify patterns in data. The embodiment described in Fig. 4 leverages the ability of an Al algorithm (i.e., the weight pattern Al algorithm 121) to identify patterns that occur based on the weights 205 that are created each time an Al algorithm 123 is trained.
[0055] The weight pattern Al algorithm 121 uses weight patterns of the Al algorithm 123 learned over time as a way to produce a new set of weights 125 of the Al algorithm123 rather than retraining the Al algorithm 123.
[0056] In Fig. 4, the weight pattern Al algorithm 121 identifies patterns in the weights 205 as the Al algorithm 123 is trained using different training sets 124. The training sets124 may vary and / or may be similar. For example, a first training set 124 produces a first set of weights 125 and a second training set 124 produces a different set of weights 125. If the two training sets 124 are both used, the process will be able to identify the weight patterns in comparison to the data in the two training sets 124. The weight patterns could be groups of weight patterns that produce a specific type of trained Al algorithm 123. The weight patterns are learned in conjunction with the data in the training sets 124.
[0057] To give a simple illustrative example, assume that the there are three training sets 124: 1) a training set 124 to identify cats, 2) a training set 124 to identify dogs, and 3) a training set 124 to identify sheep. The weight pattern Al algorithm 121 would learn the weight patterns for the three training sets 124. To produce a new training set 124 for identifying cows, the Al inputs may include a training set 124 for cows and / or information about cows (e.g., a picture of different cows). Based on the patterns learned from the three training sets 124 and the Al inputs (the training set 124 for cows), the trained weight pattern Al algorithm 121 will build a new set of weights 125 that are used to identify cows using the input data and the correlations in the three training sets 124.
[0058] The learning process could be implemented on a smaller Al algorithm 123 (e.g., an Al algorithm 123 that has a smaller neural network 200) and then applied to a larger Al algorithm 123. For example, the weight pattern Al algorithm 121 may learn specific patterns based on specific training sets 124 used on a smaller Al algorithm 123. Based on the patterns in the smaller Al algorithm 123, the weight pattern Al algorithm 121 could then apply the weight patterns learned from the smaller Al algorithm 123 to a larger Al algorithm 123.
[0059] Fig. 5 is a block diagram of a fourth illustrative system 500 for training a weigh pattern Al algorithm 121 to produce weights 205 for a plurality of Al algorithms 123 that have different neural network architectures. In Fig. 5, the weight pattern Al algorithm 121 is built first using supervised learning. The training sets 124 consists of training sets 124 from already trained Al algorithms 123 using standard gradient descent-based backpropagation Al algorithms 123 trained on various tasks. The training sets 124 for these Al algorithms 123 (with different neural network architectures) and the generated set of weights 125 for each of the input NN architectures may be the same or different. The weight pattern Al algorithm 121 is trained on training sets 124 using the processes described herein and evaluated on a test training set 124. The commonly used neural network architectures are added to a neural network architecture library to be used when weight pattern Al algorithm 121 is deployed.
[0060] Once a trained weight pattern Al algorithm 121 is available for a specific type of neural network 200, the trained weight pattern Al algorithm 121 can be used for generating new sets of weights 125 for new tasks for the specific type of neural network 200. The training sets 124 for a task and a corresponding neural network architecture (e.g., chosen from the neural network architecture information 128) is input to the weight pattern Al algorithm 121 to generate the new sets of weights 125.
[0061] Fig. 6 is a block diagram of a fifth illustrative system 600 for creating a new set of weights 125 for an Al algorithm 123. The ultimate goal is to produce a trained Al algorithm 123 that does not require the traditional training processes. Fig. 6 shows how the weight pattern Al algorithm 121 may be used once the weight pattern Al algorithm 121 has been trained to identify weight patterns (e.g., as described above).
[0062] A user can provide to the Al algorithm 123, Al algorithm inputs 601 that are used to define the scope of a new Al algorithm 123. For example, the Al algorithm inputs 601 may be the images of cows as described above. The Al algorithm inputs 601 may be checked by the input scope checker 129 that uses the training sets 124 to make sure that the Al algorithm inputs 601 are within the scope of the training sets 124 (e.g., images) used to train the weight pattern Al algorithm 121. This can include filtering out any Al algorithm inputs 601 that are out of scope, providing alternative Al algorithm inputs 601 (e.g., learned Al algorithm inputs 601), not allowing an Al algorithm input parameter 601, and / or the like.
[0063] The output of the input scope checker 129 (e.g., the training set 124 for cows) is input to the trained weight pattern Al algorithm 121. The trained weight pattern Alalgorithm 121 then generates a new set of weights 125 that are used to produce the newly trained Al algorithm 123. Thus, a newly trained Al algorithm 123 is created that does not use traditional training methods.
[0064] Fig. 7 is a flow diagram of a process for training a weight pattern Al algorithm 121 by using base Al inputs 126. Illustratively, the communication devices 101A-101N, the server 120, the weight pattern Al algorithm 121, the Al algorithm manager 122, the Al algorithm 123, the input scope checker 129, and the neural network 200 are stored- program-controlled entities, such as a computer or microprocessor, which performs the method of Figs. 7-12 and the processes described herein by executing program instructions stored in a computer readable storage medium, such as a memory (i.e., a computer memory, a hard disk, and / or the like). Although the methods described in Figs. 7-12 are shown in a specific order, one of skill in the art would recognize that the steps in Figs. 7- 12 may be implemented in different orders and / or be implemented in a multi -threaded environment. Moreover, various steps may be omitted or added based on implementation.
[0065] The process starts in step 700. The Al algorithm 123 is trained using an initial training set 124 to produce an initial set of weights 125 in step 702. The initial set of weights 125 are retrieved and saved off in step 704. For example, the initial set of weights 125 may be saved off in a database. The Al algorithm manager 122 provides, in step 706, a series of base Al inputs 126 to the Al algorithm 123 to produce an initial set of Al output data 127. Although not shown in Fig. 7, the initial set of Al output data 127 may also be stored off in step 706.
[0066] The Al algorithm manager 122 changes one or more individual weights 205 of the Al algorithm 123 in step 708. For example, the Al algorithm manager 122 may change a single weight 205 of the initial set of weights 125 of the Al algorithm in step 708. The Al algorithm manager 122 provides the series of base Al inputs 126 to the Al algorithm 123 with the changed weight(s) 205 to produce corresponding Al output data 127. Although not shown in step 710, the corresponding Al output data 127 may be stored off in step 710.
[0067] The Al algorithm manager 122 determines, in step 712, if there are more weight changes. If there are more weight changes in step 712, the process goes back to step 708. For example, if the neural network 200 of the Al algorithm 123 has one billion weights 205 and the Al algorithm manager 122 changes each weight 205 ten times, there would be a total of ten billion changes to the set of weights 125. In other words, in this example, steps 708 and 710 would be repeated ten billion times.
[0068] If there are not any more weight changes in step 712, the weight pattern Al algorithm 121 is trained by determining how the changes in the weights 205 affect the corresponding Al output data 127 in relation to the base Al inputs 126 in step 714.
[0069] The Al algorithm manager 122 determines, in step 716, if the process is complete. If the process is not complete in step 716, the process goes back to step 702. Otherwise, the process ends in step 718.
[0070] Fig. 8 is a flow diagram of a process for receiving Al algorithm inputs 601 to generate a new set of weights 125 for a new version of an Al algorithm 123. Fig. 8 is used in conjunction with the process of Fig. 7. The process starts in step 800. At some point after training the weight pattern Al algorithm 121 in step 714, the weight pattern Al algorithm 121 waits, in step 802, to receive Al algorithm inputs 601 with a new training scope. If there not any Al algorithm inputs 601 with the new scope in step 802, the process of step 802 repeats.
[0071] Otherwise, if the Al algorithm inputs 601 with the new scope are received in step 802, the weight pattern Al algorithm 121 generates, based on the received Al algorithm inputs 601 with the new scope, a new set of weights 125 for a new version of the Al algorithm 123 in step 804.
[0072] The weight pattern Al algorithm 121, determines, in step 806, if the process is complete. If the process is not complete in step 806, the process goes back to step 802. Otherwise, if the process is complete in step 806, the process ends in step 808.
[0073] Fig. 9 is a flow diagram of a process for determining how changes to a set of weights 125 are being used to compromise an Al algorithm 123. The process starts in step 900. The Al algorithm 123 is trained using an initial training set 124 to produce an initial set of weights 125 in step 902. The Al algorithm manager 122 provides, in step 904, the series of base Al inputs 126 to the trained Al algorithm 123 to produce an initial set of Al output data 127 in step 904.
[0074] The Al algorithm manager 122 (or could be an external process) identifies, in step 906, changes to the initial set of weights 125 that are an attempt to compromise the Al algorithm 123. For example, a hacker / malicious program may have changed some weights 205 in the set of weights 125 of the Al algorithm 123. The Al algorithm manager 122 changes the weights 205 in the set of weights 125 of the Al algorithm 123 to match the changes to the initial set of weights 125 in step 908. For example, a test environment may be setup to determine how the malicious changes to the weights 205 of the initial set of weights 125 affect the Al algorithm 123.
[0075] The Al algorithm manager 122 provides the series of base Al inputs 126 to the Al algorithm 123 using the changed weights 205 to produce a second set of Al output data 127 in step 910. The Al algorithm manager 122 determines how the changes the initial set of weights 125 of the Al algorithm 123 affect the second set of Al output data 127 in relation to the initial set of Al output data 127 in step 912. For example, if a single weight 205 was changed, the Al algorithm manager 122 can compare, using the base Al inputs126, any differences between the initial set of Al output data 127 and the Al output data 127 where the single weight 205 was changed. This allows the Al algorithm manager 122 to identify how the changed weight 205 affected the second set of Al output data 127. For example, the changed weight 205 may cause the Al algorithm 123 to now answer a question differently (e.g., to introduce a new bias of the Al algorithm 123).
[0076] How the changes to the weights 205 affect the Al algorithm 123 may be displayed to a user / security analyst (e.g., via a user interface) in step 914. For example, where there is a difference in the Al output data 127 for the second set of Al output data127, this can be displayed in relation to the initial set of Al output data 127.
[0077] Although not shown in Fig. 9, the changed weights 205 / information about how the changed weights 205 affect the Al algorithm 123 may be stored off for use in detecting future attempts to compromise the Al algorithm 123. For example, the changed weights 205 may be stored off in the malicious weight pattern database 130 that can be used to similar to a virus pattern database. Multiple parties can use the malicious weight pattern database 130 to look up a particular type of attack of the Al algorithm 123. The malicious weight pattern database 130 may be used to store different compromised sets of weights 125 for the same type / different types of compromised Al algorithms 123.
[0078] The Al algorithm manager 122, determines, in step 916, if the process is complete. If the process is not complete in step 916, the process goes back to step 902. Otherwise, if the process is complete in step 916, the process ends in step 918.
[0079] Fig. 10 is a flow diagram of a process for training a weight pattern Al algorithm 121 by using a plurality of training sets 124. The process starts in step 1000. The Al algorithm 123 is trained using a training set 124 to produce a corresponding set of weights 125 in step 1002. The weight pattern Al algorithm 121 retrieves and saves off the corresponding set of weights 125 in step 1004. The Al algorithm manager 122 determines, in step 1006, if more training sets 124 are going to be used to train the Al algorithm 123. If there are more training sets 124 in step 1006, the process goes back to step 1002. For example, there may be tens of thousands of training sets 124 that are usedto train the Al algorithm 123 to produce tens of thousands of corresponding sets of weights 125.
[0080] Otherwise, if there are no more training sets 124 in step 1006, the weight pattern Al algorithm 121 is trained based on the relationship between information in each of the training sets 124 and the corresponding set of weights 125 in step 1008. For example, the weight pattern Al algorithm 121 learns how different information in the training sets 124 cause different weights 205 to have different values.
[0081] The weight pattern Al algorithm 121 determines, in step 1010, if there are any Al algorithm inputs 601 with new scope in step 1010. If there are not any received Al algorithm inputs 601 with new scope in step 1010, the process of step 1010 repeats.Otherwise, if there are received Al algorithm inputs 601 with new scope in step 1010, the weight pattern Al algorithm 121 generates, in step 1012, based on the received Al algorithm inputs 601 with the new scope, a new set of weights 125 for the new version of the Al algorithm 123.
[0082] The weight pattern Al algorithm 121, determines, in step 1014, if the process is complete. If the process is not complete in step 1014, the process goes back to step 1002 (or optionally could go back to step 1010). Otherwise, if the process is complete in step 1014, the process ends in step 1016.
[0083] Fig. 11 is a flow diagram of a process for fine-tuning a new version of an Al algorithm 123. The process starts in step 1100. The process of Fig. 11 is used after a new set of weights 125 is created by the weight pattern Al algorithm 121.
[0084] The process starts in step 1100. The Al algorithm 123 determines, in step 1102, if any fine-tuning data has been received. If there is no fine-tuning data received in step 1102, the process of step 1102 repeats.
[0085] Otherwise, if fine-tuning data has been received in step 1102, the Al algorithm 123 with the set of weights 125 generated by the weight pattern Al algorithm 121 is retrained using the fine-tuning data to produce a new set of weights 125 based on the finetuning data received in step 1104.
[0086] The Al algorithm 123, determines, in step 1106, if the process is complete. If the process is not complete in step 1106, the process goes back to step 1102. Otherwise, if the process is complete in step 1106, the process ends in step 1108.
[0087] Fig. 12 is a flow diagram of a process for filtering out-of-scope Al algorithm inputs 601. The process starts in step 1200. The input scope checker 129 determines the scope of the plurality of training sets 124 (e.g., the training sets 124 used in Fig. 10) instep 1202. Determining the scope of the training sets 124 may include processing the training set data to determine topics / information in the training sets 124. The input scope checker 129 determines if at least one of the Al algorithm inputs 601 is outside the scope of the training sets 124 in step 1204. For example, if all the training sets 124 are for software written in different programming languages and one of the Al algorithm inputs 601 is to generate an image of a lake, the input scope checker 129 would identify the input parameter to generate an image of a lake out of the scope of the of the training set(s) 124.
[0088] If any of the Al algorithm input param eter(s) 601 are out of scope of the training set(s) in step 1206, the out-of-scope Al algorithm input param eter(s) 601 are filtered out in step 1208 and the process goes to step 1210. Otherwise, for the Al algorithm input param eter(s) 601 that are in scope the process goes to step 1210 (i.e., the Al algorithm input param eter(s) 601 that are in-scope are not filtered out).
[0089] The input scope checker 129, determines, in step 1210, if the process is complete. If the process is not complete in step 1210, the process goes back to step 1202. Otherwise, if the process is complete in step 1210, the process ends in step 1212.
[0090] The processes described herein can be used as part of a cloud service. In one embodiment, the process of Fig. 6 could be used a Software as a Service (SaaS). For example, the user could sign up and then provide the Al algorithm inputs 601 in order to create a newly trained Al algorithm 123. In addition, the user could select a specific type of Al algorithm 123 from a library of Al algorithms. For example, the user could select a specific type of Al algorithm 123 (e.g., a GANN Al algorithm 123) from the library of Al algorithms that has a corresponding trained weight pattern Al algorithm 121. The user could the provide the Al algorithm inputs 601 to get a newly trained Al algorithm 123 that is of the specific type that is trained according to the user’s Al algorithm inputs 601.
[0091] Examples of the processors as described herein may include, but are not limited to, at least one of Qualcomm® Snapdragon® 800 and 801, Qualcomm® Snapdragon® 610 and 615 with 4G LTE Integration and 64-bit computing, Apple® A7 processor with 64-bit architecture, Apple® M7 motion coprocessors, Samsung® Exynos® series, the Intel® Core™ family of processors, the Intel® Xeon® family of processors, the Intel® Atom™ family of processors, the Intel Itanium® family of processors, Intel® Core® i5- 4670K and i7-4770K 22nm Haswell, Intel® Core® i5-3570K 22nm Ivy Bridge, the AMD® FX™ family of processors, AMD® FX-4300, FX-6300, and FX-8350 32nm Vishera, AMD® Kaveri processors, Texas Instruments® Jacinto C6000™ automotive infotainment processors, Texas Instruments® OMAP™ automotive-grade mobileprocessors, ARM® Cortex™-M processors, ARM® Cortex-A and ARM926EJ-S™ processors, other industry-equivalent processors, and may perform computational functions using any known or future-developed standard, instruction set, libraries, and / or architecture.
[0092] Any of the steps, functions, and operations discussed herein can be performed continuously and automatically.
[0093] However, to avoid unnecessarily obscuring the present disclosure, the preceding description omits a number of known structures and devices. This omission is not to be construed as a limitation of the scope of the claimed disclosure. Specific details are set forth to provide an understanding of the present disclosure. It should however be appreciated that the present disclosure may be practiced in a variety of ways beyond the specific detail set forth herein.
[0094] Furthermore, while the exemplary embodiments illustrated herein show the various components of the system collocated, certain components of the system can be located remotely, at distant portions of a distributed network, such as a LAN and / or the Internet, or within a dedicated system. Thus, it should be appreciated, that the components of the system can be combined in to one or more devices or collocated on a particular node of a distributed network, such as an analog and / or digital telecommunications network, a packet-switch network, or a circuit-switched network. It will be appreciated from the preceding description, and for reasons of computational efficiency, that the components of the system can be arranged at any location within a distributed network of components without affecting the operation of the system. For example, the various components can be located in a switch such as a PBX and media server, gateway, in one or more communications devices, at one or more users’ premises, or some combination thereof. Similarly, one or more functional portions of the system could be distributed between a telecommunications device(s) and an associated computing device.
[0095] Furthermore, it should be appreciated that the various links connecting the elements can be wired or wireless links, or any combination thereof, or any other known or later developed element(s) that is capable of supplying and / or communicating data to and from the connected elements. These wired or wireless links can also be secure links and may be capable of communicating encrypted information. Transmission media used as links, for example, can be any suitable carrier for electrical signals, including coaxial cables, copper wire and fiber optics, and may take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
[0096] Also, while the flowcharts have been discussed and illustrated in relation to a particular sequence of events, it should be appreciated that changes, additions, and omissions to this sequence can occur without materially affecting the operation of the disclosure.
[0097] A number of variations and modifications of the disclosure can be used. It would be possible to provide for some features of the disclosure without providing others.
[0098] In yet another embodiment, the systems and methods of this disclosure can be implemented in conjunction with a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like. In general, any device(s) or means capable of implementing the methodology illustrated herein can be used to implement the various aspects of this disclosure. Exemplary hardware that can be used for the present disclosure includes computers, handheld devices, telephones (e.g., cellular, Internet enabled, digital, analog, hybrids, and others), and other hardware known in the art. Some of these devices include processors (e.g., a single or multiple microprocessors), memory, nonvolatile storage, input devices, and output devices. Furthermore, alternative software implementations including, but not limited to, distributed processing or component / object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
[0099] In yet another embodiment, the disclosed methods may be readily implemented in conjunction with software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this disclosure is dependent on the speed and / or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized.
[0100] In yet another embodiment, the disclosed methods may be partially implemented in software that can be stored on a storage medium, executed on programmed general- purpose computer with the cooperation of a controller and memory, a special purposecomputer, a microprocessor, or the like. In these instances, the systems and methods of this disclosure can be implemented as program embedded on personal computer such as an applet, JAVA® or CGI script, as a resource residing on a server or computer workstation, as a routine embedded in a dedicated measurement system, system component, or the like. The system can also be implemented by physically incorporating the system and / or method into a software and / or hardware system.
[0101] Although the present disclosure describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Other similar standards and protocols not mentioned herein are in existence and are considered to be included in the present disclosure. Moreover, the standards and protocols mentioned herein, and other similar standards and protocols not mentioned herein are periodically superseded by faster or more effective equivalents having essentially the same functions. Such replacement standards and protocols having the same functions are considered equivalents included in the present disclosure.
[0102] The present disclosure, in various embodiments, configurations, and aspects, includes components, methods, processes, systems and / or apparatus substantially as depicted and described herein, including various embodiments, sub combinations, and subsets thereof. Those of skill in the art will understand how to make and use the systems and methods disclosed herein after understanding the present disclosure. The present disclosure, in various embodiments, configurations, and aspects, includes providing devices and processes in the absence of items not depicted and / or described herein or in various embodiments, configurations, or aspects hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and\or reducing cost of implementation.
[0103] The foregoing discussion of the disclosure has been presented for purposes of illustration and description. The foregoing is not intended to limit the disclosure to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the disclosure are grouped together in one or more embodiments, configurations, or aspects for the purpose of streamlining the disclosure. The features of the embodiments, configurations, or aspects of the disclosure may be combined in alternate embodiments, configurations, or aspects other than those discussed above. This method of disclosure is not to be interpreted as reflecting an intention that the claimed disclosure requires more features than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment, configuration, or aspect. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the disclosure.
[0104] Moreover, though the description of the disclosure has included description of one or more embodiments, configurations, or aspects and certain variations and modifications, other variations, combinations, and modifications are within the scope of the disclosure, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments, configurations, or aspects to the extent permitted, including alternate, interchangeable and / or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and / or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.
Claims
CLAIMSWhat is claimed is:
1. A system comprising: a microprocessor; and a computer readable medium, coupled with the microprocessor and comprising microprocessor readable and executable instructions that, when executed by the microprocessor, cause the microprocessor to: train an Artificial Intelligence (Al) algorithm using a training set, wherein the training of Al algorithm produces a plurality of weights associated with the Al algorithm; provide, for a first time, a series of base Al inputs to the Al algorithm to produce a first set of initial Al output data; change, for a first time, one or more individual weights of the plurality of weights associated with the Al algorithm; provide, for a second time, the series of base Al inputs to the Al algorithm with the first time changed one or more individual weights of the plurality of weights to produce a first set of corresponding Al output data; and train a weight pattern Al algorithm by determining how the changes, for the first time, to the one or more individual weights of the plurality of weights affects the first set of corresponding Al output data in relation to the first set of initial Al output data.
2. The system of claim 1, wherein the microprocessor readable and executable instructions further cause the microprocessor to: change, for a second time, the one or more individual weights of the plurality of weights associated with the Al algorithm; provide, for a third time, the series of base Al inputs to the Al algorithm with the second time changed one or more individual weights of the plurality of weights associated with Al algorithm to produce a third set of corresponding Al output data; and further train the weight pattern Al algorithm by determining how the changes, for the second time, to the one or more individual weights of the plurality of weights affects the third set of corresponding Al output data in relation to the first set of initial Al output data.
3. The system of claim 1, wherein the microprocessor readable and executable instructions further cause the microprocessor to:receive, at the trained weight pattern Al algorithm, Al algorithm inputs that define a training scope for a new version of the Al algorithm; process, with the trained weight pattern Al algorithm, the Al algorithm inputs that define the training scope for the new version of the Al algorithm; and generate, based on the received Al algorithm inputs that define the training scope for a new version of the Al algorithm, a first new set of weights for the new version of the Al algorithm.
4. The system of claim 3, wherein the microprocessor readable and executable instructions further cause the microprocessor to: receive fine-tuning data; and retrain the new version of the Al algorithm using the fine-tuning data, wherein the retraining of the new version of the Al algorithm produces a second new set of weights for the new version of the Al algorithm.
5. The system of claim 1, wherein changing, for the first time, the one or more individual weights of the Al algorithm is done in real-time while the Al algorithm is running.
6. The system of claim 1, wherein changing, for the first time, the one or more individual weights of the Al algorithm comprises at least one of changing a single individual weight, changing a group of weights, changing a layer of weights, changing a partial layer of weights, changing a flow of weights, and changing a partial flow of weights.
7. The system of claim 1, wherein changing the one or more individual weights of the plurality of weights associated with the Al algorithm comprises changing the one or more individual weights of the plurality of weights associated with the Al algorithm a plurality of times using a plurality of different values.
8. A method comprising: training an Artificial Intelligence (Al) algorithm using a training set, wherein the training of Al algorithm produces a plurality of weights associated with the Al algorithm; providing, for a first time, a series of base Al inputs to the Al algorithm to produce a first set of initial Al output data;changing, for a first time, one or more individual weights of the plurality of weights associated with the Al algorithm; providing, for a second time, the series of base Al inputs to the Al algorithm with the first time changed one or more individual weights of the plurality of weights to produce a first set of corresponding Al output data; and training a weight pattern Al algorithm by determining how the changes, for the first time, to the one or more individual weights of the plurality of weights affects the first set of corresponding Al output data in relation to the first set of initial Al output data.
9. The method of claim 8, further comprising: changing, for a second time, the one or more individual weights of the plurality of weights associated with the Al algorithm; providing, for a third time, the series of base Al inputs to the Al algorithm with the second time changed one or more individual weights of the plurality of weights associated with Al algorithm to produce a third set of corresponding Al output data; and further training the weight pattern Al algorithm by determining how the changes, for the second time, to the one or more individual weights of the plurality of weights affects the third set of corresponding Al output data in relation to the first set of initial Al output data.
10. The method of claim 8, further comprising: receiving, at the trained weight pattern Al algorithm, Al algorithm inputs that define a training scope for a new version of the Al algorithm; processing, with the trained weight pattern Al algorithm, the Al algorithm inputs that define the training scope for the new version of the Al algorithm; and generating, based on the received Al algorithm inputs that define the training scope for a new version of the Al algorithm, a first new set of weights for the new version of the Al algorithm.
11. The method of claim 10, further comprising: receiving fine-tuning data; and retraining the new version of the Al algorithm using the fine-tuning data, wherein the retraining of the new version of the Al algorithm produces a second new set of weights for the new version of the Al algorithm.
12. The method of claim 8, wherein changing, for the first time, the one or more individual weights of the Al algorithm is done in real-time while the Al algorithm is running.
13. The method of claim 8, wherein changing, for the first time, the one or more individual weights of the Al algorithm comprises at least one of: changing a single individual weight, changing a group of weights, changing a layer of weights, changing a partial layer of weights, changing a flow of weights, and changing a partial flow of weights.
14. The method of claim 8, wherein changing the one or more individual weights of the plurality of weights associated with the Al algorithm comprises changing the one or more individual weights of the plurality of weights associated with the Al algorithm a plurality of times using a plurality of different values.
15. A system comprising: a microprocessor; and a computer readable medium, coupled with the microprocessor and comprising microprocessor readable and executable instructions that, when executed by the microprocessor, cause the microprocessor to: train an Artificial Intelligence (Al) algorithm using a plurality of training sets, wherein the training with each of the plurality of training sets produces a plurality of corresponding weights sets; train a weight pattern Al algorithm, wherein the trained weight pattern Al algorithm is trained based on pattern relationships between information in each of the plurality of training sets and the plurality of corresponding weights sets; receive, by the trained weight pattern Al algorithm, Al algorithm inputs that define a training scope for a new version of the Al algorithm; process, by the trained weight pattern Al algorithm, the received Al algorithm inputs that define the training scope for a new version of the Al algorithm; and generate, by the trained weight pattern Al algorithm, a new set of weights for the new version of the Al algorithm that meet the training scope for the new version of the Al algorithm.
16. The system of 15, wherein the Al algorithm that has a smaller number of nodes and weights than the new version of the Al algorithm.
17. The system of 15, wherein the Al algorithm comprises a plurality of Al algorithms that each have a different neural network architecture and wherein the microprocessor readable and executable instructions further cause the microprocessor to: receive a corresponding neural network architecture information that corresponds to the generated new sets of weights for the Al algorithm, wherein the generated new set of weights is generated based on the received corresponding neural network architecture information.
18. The system of 15, wherein the microprocessor readable and executable instructions further cause the microprocessor to: determine a scope of the plurality of training sets; determine, if at least one of the Al algorithm inputs is outside the scope of the plurality of training sets; and in response to determining that the at least one of the Al algorithm inputs is outside the scope of the plurality of training sets, filter out the at least one of the Al algorithm inputs that is outside the scope of the plurality of training sets.
19. The system of 15, wherein the microprocessor readable and executable instructions further cause the microprocessor to: generate the new version of the Al algorithm based on the generated new set of weights for the new version of the Al algorithm.
20. The system of claim 15, wherein the microprocessor readable and executable instructions further cause the microprocessor to: receive fine-tuning training data; and retrain the Al algorithm using the fine-tuning data, wherein the retraining of the Al algorithm is based on the generated new set of weights.
21. A method compri sing : training an Artificial Intelligence (Al) algorithm using a plurality of training sets, wherein the training with each of the plurality of training sets produces a plurality of corresponding weights sets;training a weight pattern Al algorithm, wherein the trained weight pattern Al algorithm is trained based on pattern relationships between information in each of the plurality of training sets and the plurality of corresponding weights sets; receiving, by the trained weight pattern Al algorithm, Al algorithm inputs that define a training scope for a new version of the Al algorithm; processing, by the trained weight pattern Al algorithm, the received Al algorithm inputs that define the training scope for a new version of the Al algorithm; and generating, by the trained weight pattern Al algorithm, a new set of weights for the new version of the Al algorithm that meet the training scope for the new version of the Al algorithm.
22. The method of claim 21, wherein the Al algorithm that has a smaller number of nodes and weights than the new version of the Al algorithm.
23. The method of claim 21, wherein the Al algorithm comprises a plurality of Al algorithms that each have a different neural network architecture and further comprising: receiving a corresponding neural network architecture information that corresponds to the generated new sets of weights for the Al algorithm, wherein the generated new set of weights is generated based on the received corresponding neural network architecture information.
24. The method of claim 21, further comprising: determining a scope of the plurality of training sets; determining, if at least one of the Al algorithm inputs is outside the scope of the plurality of training sets; and in response to determining that the at least one of the Al algorithm inputs is outside the scope of the plurality of training sets, filtering out the at least one of the Al algorithm inputs that is outside the scope of the plurality of training sets.
25. The method of claim 21, further comprising: generating the new version of the Al algorithm based on the generated new set of weights for the new version of the Al algorithm.
26. The method of claim 21, further comprising: receiving fine-tuning data; andretraining the Al algorithm using the fine-tuning data, wherein the retraining of the Al algorithm is based on the generated new set of weights.
27. A system comprising: a microprocessor; and a computer readable medium, coupled with the microprocessor and comprising microprocessor readable and executable instructions that, when executed by the microprocessor, cause the microprocessor to: train an Al algorithm using an initial training set to produce an initial set of weights of the Al algorithm; provide, for a first time, a series of base Al inputs to the Al algorithm using the initial set of weights of the Al algorithm to produce an initial set of Al output data; change one or more weights of the Al algorithm to match one or more identified changes of the initial set of weights of the Al algorithm, wherein the identified one or more changes to the initial set of weights of the Al algorithm are based on an attempt to compromise the Al algorithm; provide, for a second time, the series of base Al inputs to the Al algorithm to produce a second set of Al output data; and determine how the changes to the initial set of weights of the Al algorithm affect the second set of Al output data in relation to the initial set of Al output data.
28. The system of clam 27, wherein the microprocessor readable and executable instructions further cause the microprocessor to: display, in a user interface, information about how the changed one or more weights of the Al algorithm affect the second set of Al output data in relation to the initial set of Al output data.
29. The system of claim 27, wherein the changed one or more individual weights of the plurality of weights associated with the Al algorithm are stored off in a malicious weight pattern database that is used to detect a plurality of compromised Al algorithms.
30. A method comprising: training an Al algorithm using an initial training set to produce an initial set of weights of the Al algorithm;providing, for a first time, a series of base Al inputs to the Al algorithm using the initial set of weights of the Al algorithm to produce an initial set of Al output data; changing one or more weights of the Al algorithm to match one or more identified changes of the initial set of weights of the Al algorithm, wherein the identified one or more changes to the initial set of weights of the Al algorithm are based on an attempt to compromise the Al algorithm; providing, for a second time, the series of base Al inputs to the Al algorithm to produce a second set of Al output data; and determining how the changes to the initial set of weights of the Al algorithm affect the second set of Al output data in relation to the initial set of Al output data.
31. The method of claim 30, further comprising: displaying, in a user interface, information about how the changed weights of the Al algorithm affect the second set of Al output data in relation to the initial set of Al output data.
32. The method of claim 30, wherein the changed one or more individual weights of the plurality of weights associated with the Al algorithm are stored off in a malicious weight pattern database that is used to detect a plurality of compromised Al algorithms.
Citation Information
Patent Citations
Artificial intelligence development via user-selectable / connectable model representations
US11681943B2
Artificial intelligence model and data collection / development platform
US20210342745A1
Decentralized artificial intelligence (AI) / machine learning training system
US20220344049A1
Autonomous learning platform for novel feature discovery
US20230162071A1
Machine learning monitoring systems and methods
WO2021119087A1