WO2021000716A1 - 计算机进行通用学习的方法、装置和非瞬时性计算机可读存储介质 - Google Patents

计算机进行通用学习的方法、装置和非瞬时性计算机可读存储介质 Download PDF

Info

Publication number
WO2021000716A1
WO2021000716A1 PCT/CN2020/095829 CN2020095829W WO2021000716A1 WO 2021000716 A1 WO2021000716 A1 WO 2021000716A1 CN 2020095829 W CN2020095829 W CN 2020095829W WO 2021000716 A1 WO2021000716 A1 WO 2021000716A1
Authority
WO
WIPO (PCT)
Prior art keywords
boolean
vector
computer
processing
boolean function
Prior art date
Application number
PCT/CN2020/095829
Other languages
English (en)
French (fr)
Inventor
熊楚渝
Original Assignee
成都天钥科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 成都天钥科技有限公司 filed Critical 成都天钥科技有限公司
Priority to US17/623,667 priority Critical patent/US20220404779A1/en
Publication of WO2021000716A1 publication Critical patent/WO2021000716A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion

Definitions

  • the present disclosure relates to the field of computer technology, and in particular to a method for a computer to perform general learning, a device for a computer to perform general learning, and a non-transitory computer-readable storage medium.
  • Machine learning enables computers to simulate or implement human learning behaviors to acquire new knowledge or skills, and reorganize the existing knowledge structure to continuously improve its own performance. Therefore, machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent.
  • the application of machine learning pervades various fields of artificial intelligence, such as target recognition, image processing, and automatic control.
  • the parameters are adjusted to adapt to the data.
  • a method for a computer to perform general learning including: converting the data to be processed into a vector to be processed; in the processing node set of the learning model, determining a target corresponding to the vector to be processed Processing node; using the target processing node to process the to-be-processed vector to obtain the processing result of the to-be-processed data.
  • the vector to be processed is a Boolean vector whose components are Boolean values
  • the set of processing nodes is a set of Boolean functions
  • the target processing node is a target Boolean function.
  • the learning model is trained by using each processing node in the processing node set to create candidate processing nodes according to training data pairs, the training data pairs including input vectors and expected output values, so The difference between the processing result of the candidate processing node on the input vector and the corresponding expected output value is less than a threshold; according to a restriction function, in each candidate processing node, a target processing node corresponding to the input vector is determined.
  • the creating a candidate processing node by using each processing node in the processing node set includes: operating each processing node to create the candidate processing node.
  • the learning model is trained by using each Boolean function in the Boolean function set to create candidate Boolean functions according to training data pairs, the training data pairs including input Boolean vectors and expected output values, The difference between the processing result of the candidate Boolean function on the input Boolean vector and the corresponding expected output value is less than a threshold; according to the restriction function, in each candidate Boolean function, the target corresponding to the input Boolean vector is determined Boolean function.
  • using each Boolean function in the set of Boolean functions to create a candidate Boolean function includes: performing a logical operation on the variable value condition of each Boolean function to form a new variable value condition, and
  • the logical operation includes at least one of a first logical operation and a second logical operation.
  • the first logical operation is a logical operation between different variable value conditions
  • the second logical operation is a Boolean vector in different variable value conditions The logical operation of the corresponding components of; according to the new variable value condition, the candidate Boolean function is created.
  • the restriction function is determined according to the number of logical operations corresponding to the candidate Boolean function; in each candidate Boolean function, determining the target Boolean function corresponding to the input Boolean vector includes: performing the logical operation The candidate Boolean function with the least frequency is determined as the target Boolean function corresponding to the input Boolean vector.
  • the difference between the processing result of each input vector by the candidate processing node and the corresponding expected output value is less than the corresponding threshold.
  • the method for the computer to perform general learning further includes: adding the candidate processing node to the processing node set.
  • the Boolean functions in the Boolean function set are created in the following manner: according to the input Boolean vector in the training data pair, the variable value condition of the Boolean function is determined; according to the expected output value in the training data pair , Determine the value of the Boolean function.
  • the learning model has a plurality of Boolean function sets; in each Boolean function set, the target Boolean function corresponding to the Boolean vector is determined separately; each target Boolean function is used to process the Boolean vector separately, Obtain each Boolean value; determine the data processing result according to each Boolean value.
  • the data to be processed includes measurement data of various sensors required for control processing, and the processing result is a control instruction corresponding to the control processing; or the data to be processed includes data to be processed for pattern recognition. Identify the characteristic data of the object, and the processing result is the recognition result of the pattern recognition.
  • a computer for general learning including: a conversion unit for converting the data to be processed into a Boolean vector whose component is a Boolean value; and a determining unit for learning the Boolean value of the model
  • a target Boolean function corresponding to the Boolean vector is determined;
  • a processing unit is configured to use the target Boolean function to process the Boolean vector to obtain a processing result of the data to be processed.
  • the vector to be processed is a Boolean vector whose components are Boolean values
  • the set of processing nodes is a set of Boolean functions
  • the target processing node is a target Boolean function.
  • the computer for general learning further includes a training unit for training the learning model.
  • the training unit uses each processing node in the processing node set to create a candidate processing node based on the training data pair.
  • the training data pair includes an input vector and an expected output value. The difference between the corresponding expected output values is less than a threshold; according to a restriction function, among the candidate processing nodes, a target processing node corresponding to the input vector is determined.
  • the training unit operates on the processing nodes to create the candidate processing nodes.
  • the training unit uses each Boolean function in the Boolean function set to create a candidate Boolean function according to a pair of training data, the pair of training data includes an input Boolean vector and an expected output value, and the candidate Boolean function is The difference between the processing result of the input Boolean vector and the corresponding expected output value is less than a threshold; according to the restriction function, in each candidate Boolean function, a target Boolean function corresponding to the input Boolean vector is determined.
  • the training unit performs a logical operation on the variable value condition of each Boolean function to form a new variable value condition
  • the logical operation includes at least one of a first logical operation and a second logical operation
  • the first logical operation is a logical operation between different variable value conditions
  • the second logical operation is a logical operation of corresponding components of a Boolean vector in different variable value conditions; according to the new variable value condition, Create the candidate Boolean function.
  • the restriction function is determined according to the number of logical operations corresponding to the candidate Boolean function; the training unit determines the candidate Boolean function with the least number of logical operations to be the target Boolean function corresponding to the input Boolean vector. function.
  • the difference between the processing result of each input vector by the candidate processing node and the corresponding expected output value is less than the corresponding threshold.
  • the training unit adds the candidate processing node to the processing node set.
  • the training unit determines the value condition of the variable of the Boolean function according to the input Boolean vector in the training data pair; and determines the value of the Boolean function according to the expected output value of the training data pair.
  • the learning model has a plurality of Boolean function sets; the determining unit determines the target Boolean function corresponding to the Boolean vector in each Boolean function set; the processing unit uses each target Boolean function to process all the The Boolean vector is used to obtain each Boolean value; and the data processing result is determined according to the Boolean value.
  • the data to be processed includes measurement data of various sensors required for control processing, and the processing result is a control instruction corresponding to the control processing; or the data to be processed includes data to be processed for pattern recognition. Identify the characteristic data of the object, and the processing result is the recognition result of the pattern recognition.
  • an apparatus for a computer to perform general learning including: a memory; and a processor coupled to the memory, and the processor is configured to be based on information stored in the memory device.
  • the instruction executes the general learning method of the computer in any of the above embodiments.
  • a non-transitory computer-readable storage medium on which a computer program is stored.
  • the program is executed by a processor, the computer in any one of the above embodiments implements a general learning method.
  • a control method including: taking measurement data of each sensor as the data to be processed, executing the computer-based general learning method in any of the above embodiments to obtain the processing of the measurement data Result: According to the processing result, a control instruction is determined for corresponding control processing.
  • an identification method including: taking the characteristic data of the object to be identified as the data to be processed, executing the computer-based general learning method in any of the above embodiments to obtain the characteristic data Processing result; according to the processing result, the pattern recognition recognition result is determined.
  • Fig. 1 shows a flowchart of some embodiments of a method for a computer of the present disclosure to perform general learning
  • FIG. 2 shows a flowchart of some embodiments of the learning model training method of the present disclosure
  • FIG. 3 shows a flowchart of some embodiments of step 210 in FIG. 2;
  • FIG. 4 shows a schematic diagram of some embodiments of a method for a computer of the present disclosure to perform general learning
  • FIG. 5 shows a flowchart of other embodiments of the method for general learning by a computer of the present disclosure
  • FIG. 6 shows a schematic diagram of other embodiments of the method for a computer to perform general learning of the present disclosure
  • Fig. 7 shows a block diagram of some embodiments of a computer for general learning of the present disclosure
  • FIG. 8 shows a block diagram of other embodiments of the computer for general learning of the present disclosure.
  • FIG. 9 shows a block diagram of still other embodiments of the computer for general learning of the present disclosure.
  • FIG. 10 shows a schematic diagram of still other embodiments of the method for general learning by a computer of the present disclosure
  • FIG. 11 shows a flowchart of still other embodiments of the method for general learning by a computer of the present disclosure
  • FIG. 12 shows a flowchart of some embodiments of the control method of the present disclosure
  • Figure 13 shows a flowchart of some embodiments of the identification method of the present disclosure.
  • This disclosure is a set of methods invented for learning dynamics.
  • the learning dynamics of the present disclosure is universal and can be applied to various fields.
  • any function can be converted into a corresponding Boolean function for processing.
  • the learning dynamics of the present disclosure can be used in various computing fields, such as: automatic driving, aerospace control, power grid management, various pattern recognition (such as pattern recognition for medical diagnosis), robot control, and so on.
  • the parameters are adjusted to adapt to the data according to the artificially set parameter system.
  • the present disclosure adopts a completely different technical principle—establishing a system method of element processing node + expression set + seeking fitting extremum—to achieve effective machine learning that does not rely on manual presets.
  • the present disclosure proposes a data processing technical solution, which can improve the applicability of data processing.
  • Fig. 1 shows a flowchart of some embodiments of a method for a computer of the present disclosure to perform general learning.
  • the method includes: step 110, converting the data to be processed into a vector to be processed; step 120, determining the corresponding target processing node; and step 130, processing the vector to be processed.
  • the data to be processed is converted into a vector to be processed.
  • the data to be processed may be images, sounds, texts, control instructions, etc. to be processed.
  • the data to be processed can be converted into a multi-dimensional vector composed of 1, 0, that is, a Boolean vector.
  • the converted Boolean vector can be a 4-dimensional Boolean vector such as (0,1,0,1), (0,1,1,0).
  • a target processing node corresponding to the vector to be processed is determined.
  • the target Boolean function corresponding to the Boolean vector is determined.
  • Processing nodes are processing functions, which can be in various functional forms, such as continuous functions, Boolean functions, etc.
  • Each Boolean function can be regarded as a processing node of the Boolean vector in the learning model.
  • the Boolean function f n (x) is a function whose function value is 1 when the value condition of the variable x is satisfied, and the function value is 0 in other cases.
  • the Boolean functions in the Boolean function set can be created by training data pairs. For example, according to the input Boolean vector in the training data pair, the variable value condition of the Boolean function is determined, and the value of the Boolean function is determined according to the expected output value in the training data pair.
  • the training data pair is [x, y]
  • x is the input Boolean vector
  • y is the expected output value.
  • generate 3 training data pairs [(0,1,0,1),1], [(1,1,0,1),0], [(0,0,1,0),0]
  • Three Boolean functions f 1 (x), f 2 (x), f 3 (x) in the Boolean function set can be created based on these 3 training data pairs:
  • the Boolean function directly created by the training data pair can be regarded as an element processing node (or element Boolean function) of the extended Boolean function set. For example, in the process of use, if the Boolean vector of the data to be processed is (0,1,0,1), the target Boolean function is determined to be f 1 (x).
  • logical operations can be performed on the variable value conditions of each Boolean function to form a new variable value condition.
  • the logical operation includes at least one of a first logical operation and a second logical operation.
  • the first logical operation is a logical operation between different variable value conditions
  • the second logical operation is a logical operation of corresponding components of the Boolean vector in different variable value conditions. According to the new variable value conditions, create a candidate Boolean function.
  • variable value conditions c 1 , c 2 , and c 3 For example, perform logical operations on variable value conditions c 1 , c 2 , and c 3 to obtain new variable value conditions:
  • the Boolean function created according to the new variable value condition c 4 is:
  • x 5 (1,1,1,1) can be obtained, and the Boolean function f 5 (x) can be created according to the corresponding variable value condition c 5 .
  • c 6 is c 1 or c 5.
  • the Boolean function created according to the new variable value condition c 6 is:
  • new processing nodes can be created by performing logical operations on element processing nodes, and these new processing nodes can be regarded as extended processing nodes (or extended Boolean functions) of the learning model, thereby improving the data processing capability of the learning model.
  • the data to be processed can be converted into a real number vector whose components are real numbers; in the real number function set of the learning model, the target real number function corresponding to the real number vector is determined; the target real number function is used to process the real number vector to obtain the Data processing result.
  • the target processing node is used to process the vector to be processed to obtain the processing result of the data to be processed.
  • the target Boolean function is used to process the Boolean vector to obtain the processing result of the data to be processed.
  • the processing result is the Boolean value 1.
  • the data to be processed is converted into a number of Boolean vectors, and these Boolean vectors can cause some Boolean functions called element processing nodes to be generated.
  • the element processing node is the basic element of learning. Reusing these element processing nodes can generate a set of Boolean functions in the learning model, and then in this set of Boolean functions, determine the target Boolean function corresponding to the Boolean vector; use the target Boolean function to process the Boolean vector to obtain the processing of the data to be processed result.
  • the target Boolean function corresponding to the Boolean vector can be determined by training a learning model. For example, it can be implemented by the embodiment of FIG. 2.
  • FIG. 2 shows a flowchart of some embodiments of the learning model training method of the present disclosure.
  • the method includes: step 210, creating a candidate processing node that satisfies the training data pair; and step 220, determining a target processing node.
  • each processing node in the processing node set is used to create a candidate processing node according to the training data pair.
  • each Boolean function in the Boolean function set is used to create a candidate Boolean function.
  • the training data pair contains an input Boolean vector and an expected output value, and the difference between the processing result of the input Boolean vector and the expected output value of the candidate Boolean function is less than the threshold.
  • the difference between the processing result of each input Boolean vector by the candidate Boolean function and the corresponding expected output value is less than the corresponding threshold.
  • the difference between the processing result of each input Boolean vector by the candidate Boolean function and the corresponding expected output value is less than the corresponding threshold.
  • ⁇ 1 , ⁇ 2 , and ⁇ 3 are normal numbers that are small enough to be set as required, and they may be the same or different.
  • a Boolean function that can satisfy the above formula can be searched for as a candidate Boolean function in the Boolean function set.
  • the candidate Boolean functions include f 1 (x), f 6 (x), and f 7 (x).
  • step 220 according to the restriction function, among the candidate processing nodes, a target processing node corresponding to the input vector is determined. For example, in the candidate Boolean function, the target Boolean function corresponding to the input Boolean vector is determined.
  • a restriction function of the objective function may be set to determine the objective Boolean function, for example, the candidate Boolean function that performs the least logical operation on the element Boolean function is used as the objective Boolean function.
  • f 1 (x) does not perform logic operations
  • f 6 (x) performs 3 logic operations (1 "+”, 2 " ⁇ ")
  • f 7 (x) performs 2 times Logical operation (1 time “+”, 1 time “ ⁇ ”). Therefore, f 1 (x) is determined as the target Boolean function.
  • Boolean function there is no Boolean function in the set of Boolean functions that can satisfy the training data pair.
  • operations may include combined operations, operations (such as addition and subtraction) operations on processing functions, and the like.
  • step 210 may be implemented through the embodiment of FIG. 3.
  • FIG. 3 shows a flowchart of some embodiments of step 210 in FIG. 2.
  • step 210 includes: step 2110, forming a variable value condition through logic operations. And step 2120, create a candidate Boolean function.
  • step 2110 logic operations are performed on the variable value conditions of the existing Boolean functions to form a new variable value condition.
  • a candidate Boolean function that can meet the needs of the training data is created.
  • the candidate Boolean function with the least number of logical operations may be determined as the target Boolean function corresponding to the input Boolean vector.
  • the target Boolean function needs to satisfy: the input Boolean vector in the training data pair is (0,1,0,1), (0,1,1,0), (1,1,0,0 ), (1,0,1,0), (1,0,0,1), (0,0,1,1), (0,0,0,0), the expected output value is 1 ;
  • the input Boolean vector is (1,0,0,0), (0,1,0,0), (0,0,1,0), (0,0,0,1), (1,1, 1,0), (0,1,1,1), (1,0,1,1), (1,1,0,1), (1,1,1,1) in the case of expected output
  • the value is 0.
  • the element Boolean function in the Boolean function set can also be adjusted by continuing to input new training data pairs. For example, on the basis of the set of Boolean functions in the above embodiment, continue to input training data pairs (such as [(1,1,0,0),1],[(0,1,1,0),1] ,[(0,0,1,1),1] etc.) for training.
  • training data pairs such as [(1,1,0,0),1],[(0,1,1,0),1] ,[(0,0,1,1),1] etc.
  • d 5 d 1 ⁇ d 2 +d 1 ⁇ d 3 +d 1 ⁇ d 4 +d 2 ⁇ d 3 +d 2 ⁇ d 4 +d 3 ⁇ d 4 .
  • the Boolean function e 5 (x) created according to d 5 can meet the requirements of the above training data pair, so e 5 (x) is used as the target Boolean function for processing the input Boolean vector in the above training data pair.
  • the created candidate Boolean function may be added to the Boolean function set to improve the learning ability of the learning model.
  • Fig. 4 shows a schematic diagram of some embodiments of a method for a computer of the present disclosure to perform general learning.
  • the input space 41 may be an M-bit binary vector space, and M is an integer greater than 1.
  • the input space 41 receives the M-dimensional input information converted from the data to be processed, and sends it to the target Boolean function 4210 of the Boolean function set 421 in the learning model 42 for processing (it can also be sent to other Boolean functions). If the input space 41 receives a pair of training data, the expected output value is sent to the output space 43 for learning.
  • the output space 43 is a K-bit binary vector space, and K is an integer greater than or equal to 1.
  • the output space 43 receives the K-dimensional output value of the target Boolean function 4210 and outputs the output value according to its internal logic.
  • the core part of the learning model 42 is the set 421 of Boolean functions.
  • the Boolean function set 421 includes multiple processing nodes, namely Boolean functions (circles in the figure). Processing nodes include element processing nodes and extended processing nodes created through logical operations based on element processing nodes. All processing nodes constitute the vector representation space.
  • the Boolean function set 421 may include element Boolean functions and expression sets.
  • the Boolean function in the expression set is a Boolean function extended by logical operations based on the element Boolean function.
  • the learning model 42 performs data processing and training by the computer in any of the above embodiments for general learning.
  • each component in the multi-dimensional Boolean vector can be set as the expected output value of the input Boolean vector; multiple objective functions are set to determine that the input Boolean vector can be satisfied.
  • multiple sets of Boolean functions may also be configured in the learning model to achieve output of a multi-dimensional Boolean vector as a processing result. For example, it can be implemented by the embodiment of FIG. 5.
  • Fig. 5 shows a flowchart of other embodiments of the method for general learning by a computer of the present disclosure.
  • the method may further include: step 510, determining multiple target Boolean functions; step 520, processing the Boolean vector to obtain a Boolean value; and step 530, determining the data processing result.
  • step 510 in each Boolean function set, the target Boolean function corresponding to the Boolean vector is determined respectively.
  • each target Boolean function is used to process the Boolean vector separately to obtain each Boolean value.
  • step 530 the data processing result is determined according to each Boolean value.
  • the output of a multi-dimensional Boolean vector can be realized through the embodiment of FIG. 6.
  • Fig. 6 shows a schematic diagram of other embodiments of the method for a computer to perform general learning of the present disclosure.
  • the learning model 62 has two sets of Boolean functions 621 and 622.
  • the input space 61 inputs the Boolean vector into the learning model 62, and determines the target Boolean function 6210 in the Boolean function set 621, and determines the target Boolean function 6220 in the Boolean function set 622 according to the computer's general learning method.
  • the learning model 62 uses the target Boolean function 6210 and the target Boolean function 6220 to process the Boolean vector to obtain the corresponding Boolean value, and output the Boolean value to the output space 63.
  • the output space 63 concatenates two Boolean values into an output vector as the processing result of the Boolean vector.
  • This method can classify and regress data such as images, sounds, texts, and control commands, and output corresponding recognition results, response results, and so on.
  • a vector representation space with high applicability is constructed using the set of Boolean functions, which can process various Boolean vectors converted from the data to be processed, thereby improving the applicability of data processing.
  • Fig. 7 shows a block diagram of some embodiments of a computer for general learning of the present disclosure.
  • the computer device 7 for general learning includes a conversion unit 71, a determination unit 72 and a processing unit 73.
  • the conversion unit 71 converts the to-be-processed data into a to-be-processed vector. For example, converting the data to be processed into a Boolean vector whose components are Boolean values.
  • the determining unit 72 determines the target processing node corresponding to the vector to be processed in the processing node set of the learning model. For example, in the Boolean function set of the learning model, the target Boolean function corresponding to the Boolean vector is determined.
  • the processing unit 73 uses the target processing node to process the vector to be processed to obtain the processing result of the data to be processed. For example, the target Boolean function is used to process the Boolean vector to obtain the processing result of the data to be processed.
  • the learning model is trained in the following manner: according to the training data pair, each Boolean function in the Boolean function set is used to create a candidate Boolean function.
  • the training data pair includes an input Boolean vector and an expected output value, and the difference between the processing result of the input Boolean vector by the candidate Boolean function and the expected output value is less than a threshold.
  • the processing unit 73 may add the candidate Boolean function to the Boolean function set.
  • the logical operation includes at least one of a first logical operation and a second logical operation.
  • the first logical operation is a logical operation between different variable value conditions
  • the second logical operation is a logical operation of corresponding components of the Boolean vector in different variable value conditions. According to the new variable value conditions, create a candidate Boolean function.
  • the target Boolean function corresponding to the input Boolean vector is determined.
  • the candidate Boolean function with the least number of logical operations may be determined as the target Boolean function corresponding to the input Boolean vector.
  • the difference between the processing result of each input Boolean vector by the candidate Boolean function and the corresponding expected output value is less than the corresponding threshold.
  • variable value condition of the Boolean function is determined according to the input Boolean vector in the training data pair; the value of the Boolean function is determined according to the expected output value of the training data pair.
  • the determining unit 72 respectively determines the target Boolean function corresponding to the Boolean vector in each Boolean function set.
  • the processing unit 73 uses each target Boolean function to separately process the Boolean vector to obtain each Boolean value.
  • the determining unit 72 determines the data processing result based on each Boolean value.
  • a vector representation space with high applicability is constructed using the set of Boolean functions, which can process various Boolean vectors converted from the data to be processed, thereby improving the applicability of data processing.
  • Fig. 8 shows a block diagram of other embodiments of the computer for general learning of the present disclosure.
  • the computer for general learning 8 of this embodiment includes: a memory 81 and a processor 82 coupled to the memory 81.
  • the processor 82 is configured to execute the present invention based on instructions stored in the memory 81.
  • the memory 81 may include, for example, a system memory, a fixed non-volatile storage medium, and the like.
  • the system memory stores, for example, an operating system, an application program, a boot loader (Boot Loader), a database, and other programs.
  • FIG. 9 shows a block diagram of still other embodiments of the computer for general learning of the present disclosure.
  • the computer for general learning device 9 of this embodiment includes: a memory 910 and a processor 920 coupled to the memory 910.
  • the processor 920 is configured to execute the aforementioned instructions based on instructions stored in the memory 910.
  • the computer in any embodiment performs a general learning method.
  • the memory 910 may include, for example, a system memory, a fixed non-volatile storage medium, and the like.
  • the system memory for example, stores an operating system, an application program, a boot loader (Boot Loader), and other programs.
  • the computer device 9 for general learning may also include an input/output interface 930, a network interface 940, a storage interface 950, and the like. These interfaces 930, 940, and 950, and the memory 910 and the processor 920 may be connected through a bus 960, for example.
  • the input and output interface 930 provides connection interfaces for input and output devices such as a display, a mouse, a keyboard, and a touch screen.
  • the network interface 940 provides a connection interface for various networked devices.
  • the storage interface 950 provides a connection interface for external storage devices such as SD cards and U disks.
  • the method of the present disclosure can be used to implement a universal learning machine.
  • the basic structure of the universal learning machine can be seen in Figure 4, the most basic components of the learning machine: input space 41, output space 42, thought space (learning machine model 42) and temperance space (the computer's general learning method).
  • the input space 41 may be an N-bit binary vector space.
  • the input space is to receive input information (N-bit), and then send the information to the current processing node (target Boolean function 4210) in the thought space. It may also be sent to other processing nodes (other Boolean functions).
  • the input space 41 may also receive information for training. When the training information is not empty, the input space 41 will send the information to the output space 42.
  • the output space 43 may be an M-bit binary vector space.
  • the output space 43 receives the output value (M-bit) of the current processing node, and outputs this value (according to its internal logic).
  • the output space also receives training data from the input space for learning.
  • the thought space is the core part of the learning machine. Inside the thought space are mathematical objects that we call processing nodes. These are the units for processing information. Some of the processing nodes are called element processing nodes. They are some basic processing nodes. Other processing nodes are constructed by operating element processing nodes.
  • this processing node is currently an information processor that implements information processing from input to output in the learning machine.
  • FIG. 10 shows a schematic diagram of still other embodiments of a method for a computer to perform general learning in the present disclosure.
  • components 1 to 4 are installed in the restraint space.
  • the learning machine is only a first-level learning machine, so the moderation space is basically unchanged.
  • the temperance space itself is also a learning machine, so it will also change and adapt (therefore, the temperance space will have its own learning machine, so there will be a higher level of thought Space and temperance space).
  • the learning machine there are basically two operating states of the learning machine, training and work, see Figure 4.
  • the difference between the two states is whether there is any training data added to the output space.
  • the learning machine will obtain data in the input space. If the training output value in the data is not empty, the learning machine needs to use this value for training. If this value is empty, the learning machine will only use the current processing node for information processing , And output. Therefore, the universal learning machine can be conveniently used for online learning, and the trained learning machine can also be easily used for work.
  • FIG 10 illustrates the basic components of learning dynamics. There are 4 most important components, here are some explanations.
  • Component 1 expands the element processing node: Driven by the data, it expands the element processing node in a direction to get more and better element processing nodes.
  • element processing nodes are some special processing nodes. Based on them, more processing nodes can be constructed under some operating rules. Therefore, they play an important role. If there is no proper element processing node, it cannot learn effectively. However, element processing nodes can be expanded, especially driven by data, to expand directionally, so that more and better element processing nodes can be added. In this way, learning can be effective.
  • Component 2 rules for operating element processing nodes using these rules, processing nodes can be constructed from element processing nodes, and all such processing nodes are expression sets. Assuming that the puff form of the elements in the thought space is: g1, g2...gL, we can proceed from these element processing nodes, perform operations, and get more processing nodes. For example, the set K is expressed as follows:
  • g1, g2...gL are the element processing nodes at the moment, and c is some operations.
  • This set K is the expression set.
  • the current processing node is selected from K.
  • Component 3 decides to restrict functional: form more restrictive functionals and decide to adopt appropriate restrictive functionals.
  • Component 3 will establish more restriction functions in the learning process, and select appropriate restriction functions for later use. This is an important part of learning dynamics. The number of operations functional is a common option. However, in many cases, other more appropriate restriction functionals should be selected.
  • Component 4 solves the problem of fitting extremum: Find the extremum problem of the restricted functional on the expression set, and at the same time, it must fit the sampling data. Assuming that the expression set is K and the restriction functional is J, the training data are: (x 1 , y 1 ), (x 2 , y 2 ), ... (x P , y P ), and P is a positive integer. Then, we call the following extreme value problem the restricted functional extreme value problem under the condition of fitting data, or simply the fitting extreme value problem:
  • the problem of fitting extremum is to find such f: f is in the expression set, and the data condition (ie fitting) is satisfied on the training data, and the restriction functional is minimized.
  • FIG. 11 shows a flowchart of still other embodiments of a method for a computer to perform general learning in the present disclosure.
  • step S11 training data, and various history and current status information of the learning machine.
  • step S12 it is judged whether the element function needs to be extended. In the case of yes, execute step S13; in the case of no, execute step S14.
  • step S13 component 1 is applied to form more element processing nodes.
  • step S14 the element processing nodes in the thought space are cleaned up.
  • step S15 the component 3 is applied to decide which restriction functional to use.
  • step S16 application component 2 obtains an expression set.
  • Application component 4 solves the fitting extremum problem on the expression set, and its solution is used as the new current processing node. This round of learning is completed.
  • our learning machine is a machine that has the initiative to learn and adjust itself, while other learning methods and function approximation methods are only a parameter system set by humans, and only adjust parameters to adapt to the data, which is one Passive learning machine. This is the fundamental difference. This is our major innovation.
  • Figure 12 shows a flowchart of some embodiments of the control method of the present disclosure.
  • control method includes: step S21, converting the measured data into the vector to be processed; step S22, determining the corresponding target processing node; step S23, processing the vector to be processed; and step S24, determining the control instruction.
  • step S21 the measurement data of each sensor is converted into a vector to be processed.
  • step S22 in the processing node set of the learning model, a target processing node corresponding to the vector to be processed is determined.
  • step S23 the target processing node is used to process the vector to be processed to obtain the processing result of the measurement data.
  • step S24 according to the processing result, a control instruction is determined to perform corresponding control processing.
  • Figure 13 shows a flowchart of some embodiments of the identification method of the present disclosure.
  • the identification method includes: step S31, converting the characteristic data into a vector to be processed; step S32, determining the corresponding target processing node; step S33, processing the vector to be processed; and step S34, determining the recognition result.
  • step S31 the characteristic data of the object to be recognized is converted into a vector to be processed.
  • step S32 in the processing node set of the learning model, a target processing node corresponding to the vector to be processed is determined.
  • step S33 the target processing node is used to process the vector to be processed to obtain the processing result of the measurement data.
  • step S34 the recognition result of pattern recognition is determined based on the processing result.
  • the embodiments of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present disclosure may take the form of a computer program product implemented on one or more computer-usable non-transitory storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes. .
  • the method and system of the present disclosure may be implemented in many ways.
  • the method and system of the present disclosure can be implemented by software, hardware, firmware or any combination of software, hardware, and firmware.
  • the above-mentioned order of the steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above, unless specifically stated otherwise.
  • the present disclosure may also be implemented as programs recorded in a recording medium, and these programs include machine-readable instructions for implementing the method according to the present disclosure.
  • the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种计算机进行通用学习的方法、装置和非瞬时性计算机可读存储介质,涉及计算机技术领域。上述方法包括:转换待处理数据为待处理向量(110);确定对应的目标处理节点(120);处理待处理向量(130)。

Description

计算机进行通用学习的方法、装置和非瞬时性计算机可读存储介质
相关申请的交叉引用
本申请是以CN申请号为201910593937.7,申请日为2019年7月3日的申请为基础,并主张其优先权,该CN申请的公开内容在此作为整体引入本申请中。
技术领域
本公开涉及计算机技术领域,特别涉及一种计算机进行通用学习的方法、计算机进行通用学习的装置和非瞬时性计算机可读存储介质。
背景技术
人们对计算理论的理解已经相当清楚,建立了比较完备的理论,并且有了几十年的大量工业实践。在这样的框架内,我们可以把能用机器来计算的任务,等同于某个程序。事实上,这就是过去80年的计算机发展所做的:如果人们希望用机器来执行某种任务,就需要先设计模型,并且找到对这个模型合适的算法,再编程来具体实现算法,最后通过适当的硬件来执行程序。这是行之有效的。
但是,这样的发展面临瓶颈。首先,这样的方式来开发程序,需要非常巨大的人力物力。自然会提问,是否有更好的方法?其次,对很多问题,而且越来越多的问题,这样的方式难以获得有效的程序。这是过去的历史反复证明了的。
一个非常显著的例子就是围棋程序。在1997年,由人工编程而获得的深蓝程序在国际象棋上战胜了人类最优秀的棋手。其后,人们自然把注意力转向难度更高的围棋程序。但是,在围棋领域,差不多二十年的时间内,人工编程的程序进展缓慢,其下棋能力仍然远远低于人类棋手的能力。但是,在导入了深度学习等机器学习技术后,围棋程序的能力就突飞猛进,围棋程序AlphaGo战胜人类最优秀的棋手。通过机器学习的方式,而不是人工编程的方式,围棋程序达到了前所未有的境界。
这就是说,要赋予计算机能力来做我们期望的工作,就不再仅靠人工编程,而是可以让机器学习,从而改变机器的行为,进而使机器具备我们期望的能力。最近十年的深度学习的发展,就是这个方向,带来了非常巨大的成功。但是,迄今为止的机器学习,即使如深度学习这样的巨大的成功,仍然不是通用学习。
机器学习使得计算机能够模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。因此,机器学习是人工智能的核心,是使计算机具有智能的根本途径。机器学习的应用遍及人工智能的各个领域,如目标识别、图像处理、自动控制等。
在相关技术中,根据人为设定的参数体系,通过调整参数来适应数据。
发明内容
根据本公开的一些实施例,提供了一种计算机进行通用学习的方法,包括:将待处理数据转换为待处理向量;在学习模型的处理节点集合中,确定与所述待处理向量对应的目标处理节点;利用所述目标处理节点处理所述待处理向量,得到所述待处理数据的处理结果。
在一些实施例中,所述待处理向量为分量是布尔值的布尔向量,所述处理节点集合为布尔函数集合,所述目标处理节点为目标布尔函数。
在一些实施例中,所述学习模型通过如下方式训练:根据训练数据对,利用所述处理节点集合中的各处理节点创建候选处理节点,所述训练数据对包含输入向量和期望输出值,所述候选处理节点对所述输入向量的处理结果与其相应的所述期望输出值之间的差小于阈值;根据限制函数,在各候选处理节点中,确定与所述输入向量对应的目标处理节点。
在一些实施例中,所述利用所述处理节点集合中的各处理节点创建候选处理节点包括:对所述各处理节点进行操作,创建所述候选处理节点。
在一些实施例中,所述学习模型通过如下方式训练:根据训练数据对,利用所述布尔函数集合中的各布尔函数创建候选布尔函数,所述训练数据对包含输入布尔向量和期望输出值,所述候选布尔函数对所述输入布尔向量的处理结果与其相应的所述期望输出值之间的差小于阈值;根据限制函数,在各候选布尔函数中,确定与所述输入布尔向量对应的目标布尔函数。
在一些实施例中,所述利用所述布尔函数集合中的各布尔函数创建候选布尔函数包括:对所述各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件,所述逻辑操作包括第一逻辑运算和第二逻辑运算中的至少一个,所述第一逻辑运算为不同变量取值条件之间的逻辑运算,所述第二逻辑运算为不同变量取值条件中布尔向量的相应分量的逻辑运算;根据所述新的变量取值条件,创建所述候选布尔函数。
在一些实施例中,所述限制函数根据候选布尔函数相应的所述逻辑操作次数确定;在各候选布尔函数中,确定与所述输入布尔向量对应的目标布尔函数包括:将进行所述逻辑操作次数最少的候选布尔函数,确定为与所述输入布尔向量对应的目标布尔函数。
在一些实施例中,所述训练数据对为多个,所述候选处理节点对各输入向量的处理结果与其相应的期望输出值之间的差都小于相应的阈值。
在一些实施例中,所述的计算机进行通用学习的方法还包括:将所述候选处理节点加入所述处理节点集合。
在一些实施例中,所述布尔函数集合中的布尔函数通过如下方式创建:根据训练数据对中的输入布尔向量,确定布尔函数的变量取值条件;根据所述训练数据对中的期望输出值,确定所述布尔函数的取值。
在一些实施例中,所述学习模型中具有多个布尔函数集合;在各布尔函数集合中,分别确定与所述布尔向量对应的目标布尔函数;利用各目标布尔函数分别处理所述布尔向量,得到各布尔值;根据所述各布尔值,确定所述数据处理结果。
在一些实施例中,所述待处理数据包括控制处理所需的各传感器的测量数据,所述处理结果为所述控制处理相应的控制指令;或者所述待处理数据包括模式识别所需的待识别对象的特征数据,所述处理结果为所述模式识别的识别结果。
根据本公开的另一些实施例,提供一种计算机进行通用学习的装置,包括:转换单元,用于将待处理数据转换为分量是布尔值的布尔向量;确定单元,用于在学习模型的布尔函数集合中,确定与所述布尔向量对应的目标布尔函数;处理单元,用于利用所述目标布尔函数处理所述布尔向量,得到所述待处理数据的处理结果。
在一些实施例中,所述待处理向量为分量是布尔值的布尔向量,所述处理节点集合为布尔函数集合,所述目标处理节点为目标布尔函数。
在一些实施例中,所述计算机进行通用学习的装置还包括训练单元,用于训练所述学习模型。训练单元根据训练数据对,利用所述处理节点集合中的各处理节点创建候选处理节点,所述训练数据对包含输入向量和期望输出值,所述候选处理节点对所述输入向量的处理结果与其相应的所述期望输出值之间的差小于阈值;根据限制函数,在各候选处理节点中,确定与所述输入向量对应的目标处理节点。
在一些实施例中,所述训练单元,对所述各处理节点进行操作,创建所述候选处理节点。
在一些实施例中,训练单元根据训练数据对,利用所述布尔函数集合中的各布尔函数创建候选布尔函数,所述训练数据对包含输入布尔向量和期望输出值,所述候选布尔函数对所述输入布尔向量的处理结果与其相应的所述期望输出值之间的差小于阈值;根据限制函数,在各候选布尔函数中,确定与所述输入布尔向量对应的目标布尔函数。
在一些实施例中,训练单元对所述各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件,所述逻辑操作包括第一逻辑运算和第二逻辑运算中的至少一个,所述第一逻辑运算为不同变量取值条件之间的逻辑运算,所述第二逻辑运算为不同变量取值条件中布尔向量的相应分量的逻辑运算;根据所述新的变量取值条件,创建所述候选布尔函数。
在一些实施例中,所述限制函数根据候选布尔函数相应的所述逻辑操作次数确定;训练单元将进行所述逻辑操作次数最少的候选布尔函数,确定为与所述输入布尔向量对应的目标布尔函数。
在一些实施例中,所述训练数据对为多个,所述候选处理节点对各输入向量的处理结果与其相应的期望输出值之间的差都小于相应的阈值。
在一些实施例中,训练单元将所述候选处理节点加入所述处理节点集合。
在一些实施例中,训练单元根据训练数据对中的输入布尔向量,确定布尔函数的变量取值条件;根据所述训练数据对中的期望输出值,确定所述布尔函数的取值。
在一些实施例中,所述学习模型中具有多个布尔函数集合;确定单元在各布尔函数集合中,分别确定与所述布尔向量对应的目标布尔函数;处理单元利用各目标布尔函数分别处理所述布尔向量,得到各布尔值;根据所述各布尔值,确定所述数据处理结果。
在一些实施例中,所述待处理数据包括控制处理所需的各传感器的测量数据,所述处理结果为所述控制处理相应的控制指令;或者所述待处理数据包括模式识别所需的待识别对象的特征数据,所述处理结果为所述模式识别的识别结果。
根据本公开的又一些实施例,提供一种计算机进行通用学习的装置,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的计算机进行通用学习的方法。
根据本公开的再一些实施例,提供一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的计算机进行通用学 习的方法。
根据本公开的再一些实施例,提供一种控制方法,包括:以各传感器的测量数据为待处理数据,执行上述任一个实施例中的计算机进行通用学习的方法,得到所述测量数据的处理结果;根据所述处理结果,确定控制指令以进行相应控制处理。
根据本公开的再一些实施例,提供一种识别方法,包括:以待识别对象的特征数据为待处理数据,执行上述任一个实施例中的计算机进行通用学习的方法,得到所述特征数据的处理结果;根据所述处理结果,确定模式识别的识别结果。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出本公开的计算机进行通用学习的方法的一些实施例的流程图;
图2示出本公开的学习模型训练方法的一些实施例的流程图;
图3示出图2中步骤210的一些实施例的流程图;
图4示出本公开的计算机进行通用学习的方法的一些实施例的示意图;
图5示出本公开的计算机进行通用学习的方法的另一些实施例的流程图;
图6示出本公开的计算机进行通用学习的方法的另一些实施例的示意图;
图7示出本公开的计算机进行通用学习的装置的一些实施例的框图;
图8示出本公开的计算机进行通用学习的装置的另一些实施例的框图;
图9示出本公开的计算机进行通用学习的装置的又一些实施例的框图;
图10示出本公开的计算机进行通用学习的方法的又一些实施例的示意图;
图11示出本公开的计算机进行通用学习的方法的又一些实施例的流程图;
图12示出本公开的控制方法的一些实施例的流程图;
图13示出本公开的识别方法的一些实施例的流程图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
我们说的计算机进行通用学习,是指对任何一种可以用计算机来实现的任务(根据邱奇-图灵论题,就是可以编程的任务),不需要人工预设,或者人工干预,只要提供必需的数据(而且数据量越少越好),计算机就可以自动学会这种任务。机器学习是目前很热门的研究领域,但是对于计算机进行通用学习,目前还没有成型的的原理和方法。而且,对已经能做到的成果还不能作出良好的解释。
针对这种情况,我们开展了对通用学习的研究。我们发现,计算机要实现通用学习,就应该具备特定的机理,满足一定的原理。我们因此而导入处理节点(处理函数),并且围绕此工具,我们做了若干有效的理论工作,例如,我们证明了,通用学习机的确是存在的。
但是,通用学习的关键之一是建立高效的学习动力学。迄今为止,还没有能够建立这样的动力学。举例来说,一个设计得足够强大的人工神经网络的确可以逼近函数f(x),但是,这个网络必须人工(根据数据的性质)预先搭建好,如果搭建得不好,就不能逼近f(x)。而且,如果这个网络是深度网络,我们不可能明确知道函数f(x)究竟是什么,即不能明确知道当给定自变量x,函数值f(x)是怎么计算出来的,或者说不可能给出任何关于f(x)的明确的表达,仅可以说,网络训练出来的就是这样的。因此,这样训练出来的网络很难用于其他地方,例如学会了f(x),但是对于学习2f(x)+5x 2不会产生什么帮助,很可能需要从头来一次。
这就是面临的问题和困境,1)在学习和处理数据之前,必须人工搭建良好的模型。不能仅依靠足够的数据,就可以驱动机器完成需要的学习任务。2)对于学习生成的结果,不能做出完全清晰的、确定性的理解。3)已经完成的学习结果,不能顺 利用于其他新的领域。
本公开就是针对学习动力学而发明的一套方法。本公开的学习动力学是普适的,可以运用于各种领域。
本公开中,我们多次用到布尔函数,但是我们的学习动力学原理并不限于布尔函数,也适用于其他学习情况。在计算领域,可以把任何函数转换为相应的布尔函数进行处理。本公开的学习动力学可以用于各计算领域,例如:自动驾驶,航天控制,电网管理,各种模式识别(如医疗诊断用的模式识别),机器人控制等等。
在很多相关技术中,根据人为设定的参数体系,通过调整参数来适应数据。本公开采用完全不同的技术原理——建立一套由元素处理节点+表达集+求拟合极值的系统方法——来达到不依赖于人工预设的有效的机器学习。
本公开的发明人发现上述相关技术中存在如下问题:受限于设定的参数体系,仅能适应特定的应用场景,导致适用性差。
鉴于此,本公开提出了一种数据处理技术方案,能够提高数据处理的适用性。
图1示出本公开的计算机进行通用学习的方法的一些实施例的流程图。
如图1所示,该方法包括:步骤110,转换待处理数据为待处理向量;步骤120,确定对应的目标处理节点;和步骤130,处理待处理向量。
在步骤110中,将待处理数据转换为待处理向量。例如,将待处理数据转换为分量是布尔值的布尔向量。例如,待处理数据可以是待处理的图像、声音、文本、控制指令等。可以将待处理数据转换为由1、0组成的多维向量,即布尔向量。例如,转换后的布尔向量可以是(0,1,0,1)、(0,1,1,0)等4维布尔向量。
在步骤120中,在学习模型的处理节点集合中,确定与待处理向量对应的目标处理节点。例如,在学习模型的布尔函数集合中,确定与布尔向量对应的目标布尔函数。处理节点即处理函数,可以是各种函数形式,如连续函数、布尔函数等。
在一些实施例中,学习模型具有包含多个布尔函数的布尔函数集合F={f 1(x)、f 2(x)……f n(x)……f N(x)},N是正整数,n是小于N的正整数。每个布尔函数可以看作学习模型中对布尔向量的一个处理节点。布尔函数f n(x)为在满足变量x的取值条件的情况下函数值为1,其他情况下函数值为0的函数。
在一些实施例中,布尔函数集合中的布尔函数可以通过训练数据对创建。例如,根据训练数据对中的输入布尔向量,确定布尔函数的变量取值条件,根据训练数据对中的期望输出值,确定布尔函数的取值。
在一些实施例中,训练数据对为[x,y],x为输入布尔向量,y为期望输出值。例如,生成3个训练数据对[(0,1,0,1),1]、[(1,1,0,1),0]、[(0,0,1,0),0],可以根据这3个训练数据对创建布尔函数集合中的3个布尔函数f 1(x)、f 2(x)、f 3(x):
Figure PCTCN2020095829-appb-000001
Figure PCTCN2020095829-appb-000002
Figure PCTCN2020095829-appb-000003
x 1=(0,1,0,1)、x 2=(1,1,0,1)、x 3=(0,0,1,0),对应的期望输出值分别为y 1=1、y 2=0、y 3=0。f 1(x)、f 2(x)、f 3(x)的变量取值条件分别为c 1:x=x 1、c 2:x=x 2、c 3:x=x 3。这种由训练数据对直接创建的布尔函数可以看作扩展布尔函数集合的元素处理节点(或元素布尔函数)。例如,在使用过程中,如果待处理数据转换的布尔向量为(0,1,0,1),则确定目标布尔函数为f 1(x)。
在一些实施例中,可以根据经验或者布尔向量的出现频率等,确定是否扩展相应的元素布尔函数。例如,扩展出现频率超出频率阈值的布尔向量相应的元素布尔函数。
在一些实施例中,可以对各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件。例如,逻辑操作包括第一逻辑运算和第二逻辑运算中的至少一个。第一逻辑运算为不同变量取值条件之间的逻辑运算,第二逻辑运算为不同变量取值条件中布尔向量的相应分量的逻辑运算。根据新的变量取值条件,创建候选布尔函数。
例如,对变量取值条件c 1、c 2、c 3进行逻辑操作可以得新的变量取值条件:
c 4=c 1·c 3:x=x 4
c 5=c 1·c 2·c 3:x=x 5
c 6=c 1+c 5=c 1+c 1·c 2·c 3:x=x 1 or x 5
c 7=c 1+c 4=c 1+c 1·c 3:x=x 1 or x 4
“+”表示一种第一逻辑运算,即满足“+”前面的条件或者后面的条件,“or”为逻辑“或”运算。“·”表示表示一种第二逻辑运算,即对“·”前后条件中的布尔向量的相应分量进行逻辑“或”运算。
例如,x 4为对c 1和c 3中的布尔向量x 1和x 3的相应分量进行逻辑“或”运算,x 4=(0,1,1,1)。在这种情况下,根据新的变量取值条件c 4创建的布尔函数为:
Figure PCTCN2020095829-appb-000004
类似地,可以得到x 5=(1,1,1,1),并根据相应的变量取值条件c 5创建布尔函数 f 5(x)。
例如,c 6为c 1或c 5,在这种情况下,根据新的变量取值条件c 6创建的布尔函数为:
Figure PCTCN2020095829-appb-000005
类似地,可以根据c 7创建的布尔函数f 7(x)。
这样,可以通过对元素处理节点进行逻辑操作创建出新的处理节点,这些新的处理节点可以看作学习模型的扩展处理节点(或扩展布尔函数),从而提高学习模型的数据处理能力。
在一些实施例中,可以将待处理数据转换为分量是实数的实数向量;在学习模型的实数函数集合中,确定与实数向量对应的目标实数函数;利用目标实数函数处理实数向量,得到待处理数据的处理结果。
在步骤130中,利用目标处理节点处理待处理向量,得到待处理数据的处理结果。例如,利用目标布尔函数处理布尔向量,得到待处理数据的处理结果。例如,利用目标布尔函数f 1(x)处理布尔向量(0,1,0,1),得到处理结果为布尔值1。
在一些实施例中,将待处理数据转换若干布尔向量,这些布尔向量可以促使一些称为元素处理节点的布尔函数产生出来。元素处理节点是学习的基本元素。再利用这些元素处理节点,可以产生在学习模型中的布尔函数集合,然后在这个布尔函数集合中,确定与布尔向量对应的目标布尔函数;利用目标布尔函数处理布尔向量,得到待处理数据的处理结果。
在一些实施例中,布尔向量对应的目标布尔函数可以通过训练学习模型来确定。例如,可以通过图2的实施例来实现。
图2示出本公开的学习模型训练方法的一些实施例的流程图。
如图2所示,该方法包括:步骤210,创建满足训练数据对的候选处理节点;和步骤220,确定目标处理节点。
在步骤210中,根据训练数据对,利用处理节点集合中的各处理节点创建候选处理节点。例如,根据训练数据对,利用布尔函数集合中的各布尔函数创建候选布尔函数。训练数据对包含输入布尔向量和期望输出值,候选布尔函数对输入布尔向量的处理结果与期望输出值之间的差小于阈值。
在一些实施例中,训练数据对为多个,候选布尔函数对各输入布尔向量的处理结果与相应各期望输出值之间的差都小于相应的阈值。例如,对于3个训练数据对[x 1,y 1]、[x 2,y 2]、[x 3,y 3],需要在布尔函数集合中找到一个布尔函数f(x)满足如下的目标函数:
|f(x 1)-y 1|<ε 1
|f(x 2)-y 2|<ε 2
|f(x 3)-y 3|<ε 3
ε 1、ε 2、ε 3为根据需要设置的足够小的正常数,可以相同也可以不同。
在一些实施例中,可以在布尔函数集中寻找能够满足上面公式的布尔函数作为候选布尔函数。例如,结合上面的实施例,候选布尔函数包括f 1(x)、f 6(x)、f 7(x)。
在步骤220中,根据限制函数,在候选处理节点中,确定与输入向量对应的目标处理节点。例如,在候选布尔函数中,确定与输入布尔向量对应的目标布尔函数。
在一些实施例中,可以设置目标函数的限制函数以确定目标布尔函数,如将候选布尔函数中对元素布尔函数进行逻辑操作最少的作为目标布尔函数。
在一些实施例中,f 1(x)未进行逻辑操作,f 6(x)作了3次逻辑操作(1次“+”、2次“·”),f 7(x)作了2次逻辑操作(1次“+”、1次“·”)。因此,确定f 1(x)为目标布尔函数。
在一些实施例中,布尔函数集中没有能够满足训练数据对的布尔函数。在这种情况下,可以对各处理节点进行操作,创建候选处理节点。例如,操作可以包括对处理函数进行组合操作、运算(如加减)操作等。
在一些实施例中,可以通过图3的实施例实现步骤210。
图3示出图2中步骤210的一些实施例的流程图。
如图3所示,步骤210包括:步骤2110,通过逻辑操作形成变量取值条件。和步骤2120,创建候选布尔函数。
在步骤2110中,对现有的各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件。
在步骤2120中,根据新的变量取值条件,创建能够满足训练数据对需求的候选布尔函数。例如,可以将进行逻辑操作次数最少的候选布尔函数,确定为与输入布尔向量对应的目标布尔函数。
在一些实施例中,目标布尔函数需要满足:在训练数据对中的输入布尔向量为(0,1,0,1)、(0,1,1,0)、(1,1,0,0)、(1,0,1,0)、(1,0,0,1)、(0,0,1,1)、(0,0,0,0)的情况下,期望输出值为1;输入布尔向量为(1,0,0,0)、(0,1,0,0)、(0,0,1,0)、(0,0,0,1)、(1,1,1,0)、(0,1,1,1)、(1,0,1,1)、(1,1,0,1)、(1,1,1,1)的情况下,期望输出值为0。布尔函数集合中没有能够满足这些训练数据对的布尔函数。
在这种情况下可以通过对现有布尔函数进行逻辑操作,创建满足条件的候选布尔函数。在候选布尔函数中选取逻辑操作次数最小的作为目标布尔函数。
在一些实施例中,也可以通过继续输入新的训练数据对来调整布尔函数集合中的元素布尔函数。例如,在上面的实施例中的布尔函数集合的基础上,继续输入训练数据对(如[(1,1,0,0),1],[(0,1,1,0),1],[(0,0,1,1),1]等)进行训练。
在此基础上,调整布尔函数集合的元素布尔函数的变量取值条件为d 1:x=(1,0,0,0)、d 2:x=(0,1,0,0)、d 3:x=(0,0,1,0)、d 4:x=(0,0,0,1)。可以对这些元素布尔函数进行逻辑操作,生成新的变量取值条件:
d 5=d 1·d 2+d 1·d 3+d 1·d 4+d 2·d 3+d 2·d 4+d 3·d 4
根据d 5创建的布尔函数e 5(x)能够满足上述训练数据对的需求,因此将e 5(x)作为处理上述训练数据对中输入布尔向量的目标布尔函数。
在一些实施例中,可以将创建的候选布尔函数加入布尔函数集合,以提高学习模型的学习能力。
图4示出本公开的计算机进行通用学习的方法的一些实施例的示意图。
如图4所示,输入空间41可以是M-bit的二进制向量空间,M是大于1的整数。输入空间41接收待处理数据转换成的M维输入信息,发送给学习模型42中布尔函数集合421的目标布尔函数4210进行处理(也可以发送给其他布尔函数)。如果输入空间41接收到的是训练数据对,则将期望输出值发送给输出空间43进行学习。
输出空间43是K-bit二进制向量空间,K是大于等于1的整数。输出空间43接收目标布尔函数4210的K维输出值并根据其内部逻辑输出该输出值。
学习模型42的核心部分是布尔函数集合421。布尔函数集合421中包含有多个处理节点即布尔函数(图中圆形)。处理节点包括元素处理节点和基于元素处理节点通过逻辑操作创建的扩展处理节点。所有的处理节点构成了向量表征空间。
布尔函数集合421中可以包含元素布尔函数和表达集。表达集中的布尔函数是根据元素布尔函数通过逻辑操作扩展的布尔函数。
学习模型42通过上述任一个实施例中的计算机进行通用学习的方法进行数据处理和训练。
在一些实施例中,在需要输出多维布尔向量作为处理结果的情况下,可以将多维布尔向量中各分量设置为输入布尔向量的各期望输出值;设置多个目标函数用以确定能够满足输入布尔向量与各期望输出之间关系的候选布尔函数;根据限制条件从各候 选布尔函数中确定多个目标布尔函数。
在一些实施例中,也可以在学习模型中配置多个布尔函数集合,来实现输出多维布尔向量作为处理结果。例如,可以通过图5的实施例来实现。
图5示出本公开的计算机进行通用学习的方法的另一些实施例的流程图。
如图5所示,与图1中的实施例不同,本方法还可以包括:步骤510,确定多个目标布尔函数;步骤520,处理布尔向量得到布尔值;和步骤530,确定数据处理结果。
在步骤510中,在各布尔函数集合中,分别确定与布尔向量对应的目标布尔函数。
在步骤520中,利用各目标布尔函数分别处理布尔向量,得到各布尔值。
在步骤530中,根据各布尔值,确定数据处理结果。
例如,可以通过图6的实施例实现输出多维布尔向量。
图6示出本公开的计算机进行通用学习的方法的另一些实施例的示意图。
如图6所示,学习模型62具有两个布尔函数集合621和622。输入空间61将布尔向量输入学习模型62,根据计算机进行通用学习的方法确定在布尔函数集合621中确定目标布尔函数6210,在布尔函数集合622中确定目标布尔函数6220。
学习模型62利用目标布尔函数6210和目标布尔函数6220分别处理布尔向量得到相应的布尔值,并将布尔值输出给输出空间63。输出空间63将两个布尔值拼接为一个输出向量作为布尔向量的处理结果。
本方法能够对图像、声音、文本、控制指令等数据进行分类、回归等处理,并输出相应的识别结果、响应结果等。
在上述实施例中,利用布尔函数集合构建了具有高适用性的向量表征空间,能够处理由待处理数据转换而成的各种布尔向量,从而提高了数据处理的适用性。
图7示出本公开的计算机进行通用学习的装置的一些实施例的框图。
如图7所示,计算机进行通用学习的装置7包括转换单元71、确定单元72和处理单元73。
转换单元71将待处理数据转换为待处理向量。例如,将待处理数据转换为分量是布尔值的布尔向量。确定单元72在学习模型的处理节点集合中,确定与待处理向量对应的目标处理节点。例如,在学习模型的布尔函数集合中,确定与布尔向量对应的目标布尔函数。处理单元73利用目标处理节点处理待处理向量,得到待处理数据的处理结果。例如,利用目标布尔函数处理布尔向量,得到待处理数据的处理结果。
在一些实施例中,学习模型通过如下方式训练:根据训练数据对,利用布尔函数集合中的各布尔函数创建候选布尔函数。训练数据对包含输入布尔向量和期望输出值,候选布尔函数对输入布尔向量的处理结果与所述期望输出值之间的差小于阈值。例如,处理单元73可以将候选布尔函数加入布尔函数集合。
例如,对各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件。逻辑操作包括第一逻辑运算和第二逻辑运算中的至少一个。第一逻辑运算为不同变量取值条件之间的逻辑运算,第二逻辑运算为不同变量取值条件中布尔向量的相应分量的逻辑运算。根据新的变量取值条件,创建候选布尔函数。
在一些实施例中,在候选布尔函数中,确定与输入布尔向量对应的目标布尔函数。例如,可以将进行逻辑操作次数最少的候选布尔函数,确定为与输入布尔向量对应的目标布尔函数。
在一些实施例中,训练数据对为多个,候选布尔函数对各输入布尔向量的处理结果与相应各期望输出值之间的差都小于相应的阈值。
在一些实施例中,根据训练数据对中的输入布尔向量,确定布尔函数的变量取值条件;根据训练数据对中的期望输出值,确定布尔函数的取值。
在一些实施例中,学习模型中具有多个布尔函数集合。确定单元72在各布尔函数集合中,分别确定与布尔向量对应的目标布尔函数。处理单元73利用各目标布尔函数分别处理所述布尔向量,得到各布尔值。确定单元72根据各布尔值,确定数据处理结果。
在上述实施例中,利用布尔函数集合构建了具有高适用性的向量表征空间,能够处理由待处理数据转换而成的各种布尔向量,从而提高了数据处理的适用性。
图8示出本公开的计算机进行通用学习的装置的另一些实施例的框图。
如图8所示,该实施例的计算机进行通用学习的装置8包括:存储器81以及耦接至该存储器81的处理器82,处理器82被配置为基于存储在存储器81中的指令,执行本公开中任意一个实施例中的计算机进行通用学习的方法。
其中,存储器81例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图9示出本公开的计算机进行通用学习的装置的又一些实施例的框图。
如图9所示,该实施例的计算机进行通用学习的装置9包括:存储器910以及耦 接至该存储器910的处理器920,处理器920被配置为基于存储在存储器910中的指令,执行前述任意一个实施例中的计算机进行通用学习的方法。
存储器910例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
计算机进行通用学习的装置9还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930、940、950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为SD卡、U盘等外置存储设备提供连接接口。
通过下面的实施例可以更加清楚地说明本公开的技术方案。
在一些实施例中,本公开的方法可以用于实现通用学习机。
例如,通用学习机的基本结构可以参看图4,学习机的最基本部件:输入空间41,输出空间42,思绪空间(学习机模型42)和节制空间(计算机进行通用学习的方法)。
输入空间41可以是N-bit的二进制向量空间。输入空间就是接收输入信息(N-bit),然后再把信息送到思绪空间中的当前处理节点(目标布尔函数4210)。也可能还送给其他的处理节点(其他布尔函数)。输入空间41也可能接收训练用的信息。当训练用的信息不为空时,输入空间41将把该信息送给输出空间42。
输出空间43可以是M-bit的二进制向量空间。输出空间43接收当前处理节点的输出值(M-bit),并且输出这个值(根据其内部逻辑)。输出空间还要接收输入空间传来的训练用数据以用于学习。
思绪空间是学习机的核心部分。思绪空间里面就是我们称为处理节点的数学对象。这是处理信息的一些单元。其中一部分处理节点,我们称为元素处理节点,它们是一些基本的处理节点,其它的处理节点,是通过操作元素处理节点而构建出来的。
假设思绪空间中的全部元素处理节点为:g1、g2……gL,L为正整数。思绪空间将用这些元素处理节点为来构建更多的处理节点。全部这些构建出来的处理节点,就组成了表达集。
我们选取表达集中的某个处理节点作为当前处理节点,即这个处理节点,在当前,是学习机中实施从输入到输出的信息处理的信息处理器。
节制空间中有基本的控制程序和相关联的数据,用于控制学习机和执行学习动力学。我们已经在理论上说明了节制空间和思绪空间的作用。如图4所示,节制空间将 节制思绪空间里面的各种学习活动。根据这个理论指导,我们对本学习机的节制空间做出设计和安排。
图10示出本公开的计算机进行通用学习的方法的又一些实施例的示意图。
如图10所示,组件1~4是安装在节制空间中的。很多情况下,学习机仅是一级学习机,因此节制空间基本上是不变的。但是,如果学习机是多级学习机,节制空间本身也是一个学习机,因此也就会改变和适应(因此,节制空间里面就会有其自身的学习机,因此也就有高一层次的思绪空间和节制空间)。
关于学习机的工作,学习机的运行状态基本上为两种,训练和工作,参看附图4。两种状态的区别,仅在于是否有来自于训练数据加于输出空间中。学习机将在输入空间中获取数据,如果数据中的训练用输出值不为空,学习机就需要采用这个值进行训练,如果这个值为空,学习机就仅用当前处理节点来做信息处理,并且输出。因此,通用学习机可以很方便用于在线学习,训练完成的学习机也可以很方便用于工作。
图10是说明学习动力学的基本组件。有4个最重要的组件,这里做一些解释。
组件1扩展元素处理节点:在数据的驱动下,有方向地扩展元素处理节点,得到更多更好的元素处理节点。如图4,元素处理节点是一些特别的处理节点,基于它们,在一些操作规则下,就可以构建更多的处理节点。因此,它们起重要作用。如果没有合适的元素处理节点,就不能有效地学习。但是,元素处理节点可以扩展,特别是在数据的驱动下,有方向地扩展,使得更多更好的元素处理节点加入进来。这样,学习就可以有效。
组件2操作元素处理节点的规则:使用这些规则,可以从元素处理节点来构建处理节点,全部这样的处理节点即为表达集。假设思绪空间中的元素噘嘭形式为:g1、g2……gL,我们可以从这些元素处理节点出发,进行操作,而得到更多的处理节点。例如,集合K表述如下:
K={f|f=c(g1,g2,……,gL)}
此处,g1、g2……gL是此刻的元素处理节点,而c是某些操作。这个集合K就是表达集。当前处理节点就是从K中选取出来的。
组件3决定限制泛函:形成更多限制泛函并且决定采用合适的限制泛函。限制泛函J是定义在表达集K上的一个泛函,即:J:K→R,R是实数域。J可以是:J(f)=|f-f 0|。
组件3将在学习过程中建立起更多的限制函数,并且选取合适的限制函数供后面 使用。这是学习动力学的重要环节。操作次数泛函是常有的选项。但是,很多时候,应该选取其他更合适的限制泛函。
组件4求解拟合极值问题:在表达集上求限制泛函的极值问题,同时必须拟合采样数据。假设表达集为K,限制泛函为J,训练给出的数据为:(x 1,y 1),(x 2,y 2),……(x P,y P),P是正整数。那么,我们称如下极值问题为拟合数据条件下的限制泛函极值问题,简称为拟合极值问题:
Min:J(f),f∈K&|f(x i)-y i|<∈,i=1,2,……,P
也就是说,拟合极值问题就是去求这样的f:f在表达集中,并且在训练数据上满足数据条件(即拟合),而且使得限制泛函取最小值。
当函数
Figure PCTCN2020095829-appb-000006
是如上的极值问题的解,我们则选取
Figure PCTCN2020095829-appb-000007
为新的当前处理节点(如目标布尔函数)。
应用这些组件,学习动力学的基本逻辑见图11。
图11示出本公开的计算机进行通用学习的方法的又一些实施例的流程图。
如图11所示,在步骤S11中,训练数据,以及学习机的各种历史和现状信息。
在步骤S12中,判断是否需要扩展元素函数。在是的情况下,执行步骤S13;在否的情况下,执行步骤S14。
在步骤S13中,应用组件1,形成更多的元素处理节点。
在步骤S14中,清理思绪空间中的元素处理节点。
在步骤S15中,应用组件3,决定采用哪种限制泛函。
在步骤S16中,应用组件2,获取表达集。应用组件4,在表达集上求解拟合极值问题,其解作为新的当前处理节点。本轮学习完成。
学习动力学将应用前述的4个组件。如果需要扩展新的元素处理节点,就应用组件1。在清理元素处理节点后,就进入决定采用限制泛函的步骤。此处将应用组件3,这是通用学习机进行成功学习的关键点。然后,学习集中在求拟合极值问题。此处,将应用组件2和组件4。
此处强调,我们的学习动力学是由选取限制泛函和扩展元素处理节点来完成的,这样就形成了一种全新的,完全不同于通常的机器学习的学习方法。这是我们的发明的核心。这样我们就可以用尽量少的数据来驱动学习。在足够的数据(不是大数据,而仅是足够的数据)驱动下,就完全可以精确地学习到数据中蕴藏的规律。这就是通用学习机的学习动力学:使用尽量少的数据,来达到尽可能精确和确定的结论。这是 本公开的创新。据我们所知,目前没有任何学习技术接近此思想。
本公开的创新点在于:
更进一步完善了学习机,我们已经证明了这样的学习机是通用的,即可以学习任何图式。我们进一步完善学习机的设计,明确了思绪空间和节制空间。
我们发明了思绪空间里面的具体结构:元素处理节点,表达集,以及当前处理节点。这些都是以后的人工智能不可以避免的。
我们发明了通用学习机的学习动力学。我们在理论上证明了,这样的确可以做出通用学习机。这是非常重大的创新和发明。
总之,我们的学习机是一个具备主动性去学习和调整自己的机器,而其他的学习方法和函数逼近方法仅是一个由人设定的参数体系,仅仅通过调整参数来适应数据,即为一被动的学习机器。这是根本的区别。这是我们的重大创新。
图12示出本公开的控制方法的一些实施例的流程图。
如图12所示,控制方法包括:步骤S21,转换测量数据为待处理向量;步骤S22,确定对应的目标处理节点;步骤S23,处理待处理向量;和步骤S24,确定控制指令。
在步骤S21中,将各传感器的测量数据转换为待处理向量。
在步骤S22中,在学习模型的处理节点集合中,确定与待处理向量对应的目标处理节点。
在步骤S23中,利用目标处理节点处理待处理向量,得到测量数据的处理结果。
在步骤S24中,根据处理结果,确定控制指令以进行相应控制处理。
图13示出本公开的识别方法的一些实施例的流程图。
如图13所示,识别方法包括:步骤S31,转换特征数据为待处理向量;步骤S32,确定对应的目标处理节点;步骤S33,处理待处理向量;和步骤S34,确定识别结果。
在步骤S31中,将待识别对象的特征数据转换为待处理向量。
在步骤S32中,在学习模型的处理节点集合中,确定与待处理向量对应的目标处理节点。
在步骤S33中,利用目标处理节点处理待处理向量,得到测量数据的处理结果。
在步骤S34中,根据处理结果,确定模式识别的识别结果。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程 序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的计算机进行通用学习的方法、计算机进行通用学习的装置和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

Claims (17)

  1. 一种计算机进行通用学习的方法,包括:
    将待处理数据转换为待处理向量;
    在学习模型的处理节点集合中,确定与所述待处理向量对应的目标处理节点;
    利用所述目标处理节点处理所述待处理向量,得到所述待处理数据的处理结果。
  2. 根据权利要求1所述的计算机进行通用学习的方法,其中,
    所述待处理向量为分量是布尔值的布尔向量,所述处理节点集合为布尔函数集合,所述目标处理节点为目标布尔函数。
  3. 根据权利要求1所述的计算机进行通用学习的方法,其中,所述学习模型通过如下方式训练:
    根据训练数据对,利用所述处理节点集合中的各处理节点创建候选处理节点,所述训练数据对包含输入向量和期望输出值,所述候选处理节点对所述输入向量的处理结果与其相应的所述期望输出值之间的差小于阈值;
    根据限制函数,在各候选处理节点中,确定与所述输入向量对应的目标处理节点。
  4. 根据权利要求3所述的计算机进行通用学习的方法,其中,所述利用所述处理节点集合中的各处理节点创建候选处理节点包括:
    对所述各处理节点进行操作,创建所述候选处理节点。
  5. 根据权利要求2所述的计算机进行通用学习的方法,其中,所述学习模型通过如下方式训练:
    根据训练数据对,利用所述布尔函数集合中的各布尔函数创建候选布尔函数,所述训练数据对包含输入布尔向量和期望输出值,所述候选布尔函数对所述输入布尔向量的处理结果与其相应的所述期望输出值之间的差小于阈值;
    根据限制函数,在各候选布尔函数中,确定与所述输入布尔向量对应的目标布尔函数。
  6. 根据权利要求5所述的计算机进行通用学习的方法,其中,所述利用所述布尔函数集合中的各布尔函数创建候选布尔函数包括:
    对所述各布尔函数的变量取值条件进行逻辑操作,形成新的变量取值条件,所述逻辑操作包括第一逻辑运算和第二逻辑运算中的至少一个,所述第一逻辑运算为不同变量取值条件之间的逻辑运算,所述第二逻辑运算为不同变量取值条件中布尔向量的 相应分量的逻辑运算;
    根据所述新的变量取值条件,创建所述候选布尔函数。
  7. 根据权利要求6所述的计算机进行通用学习的方法,其中,
    所述限制函数根据候选布尔函数相应的所述逻辑操作次数确定;
    在各候选布尔函数中,确定与所述输入布尔向量对应的目标布尔函数包括:
    将进行所述逻辑操作次数最少的候选布尔函数,确定为与所述输入布尔向量对应的目标布尔函数。
  8. 根据权利要求3所述的计算机进行通用学习的方法,其中,
    所述训练数据对为多个,所述候选处理节点对各输入向量的处理结果与其相应的期望输出值之间的差都小于相应的阈值。
  9. 根据权利要求3所述的计算机进行通用学习的方法,还包括:
    将所述候选处理节点加入所述处理节点集合。
  10. 根据权利要求2所述的计算机进行通用学习的方法,其中,所述布尔函数集合中的布尔函数通过如下方式创建:
    根据训练数据对中的输入布尔向量,确定布尔函数的变量取值条件;
    根据所述训练数据对中的期望输出值,确定所述布尔函数的取值。
  11. 根据权利要求2所述的计算机进行通用学习的方法,其中:
    所述学习模型中具有多个布尔函数集合;
    在各布尔函数集合中,分别确定与所述布尔向量对应的目标布尔函数;
    利用各目标布尔函数分别处理所述布尔向量,得到各布尔值;
    根据所述各布尔值,确定所述数据处理结果。
  12. 根据权利要求1-11任一项所述的计算机进行通用学习的方法,其中:
    所述待处理数据包括控制处理所需的各传感器的测量数据,所述处理结果为所述控制处理相应的控制指令;或者
    所述待处理数据包括模式识别所需的待识别对象的特征数据,所述处理结果为所述模式识别的识别结果。
  13. 一种计算机进行通用学习的装置,包括:
    转换单元,用于将待处理数据转换为待处理向量;
    确定单元,用于在学习模型的处理节点集合中,确定与所述待处理向量对应的目标处理节点;
    处理单元,用于利用所述目标处理节点处理所述待处理向量,得到所述待处理数据的处理结果。
  14. 一种计算机进行通用学习的装置,包括:
    存储器;和
    耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行权利要求1-12任一项所述的计算机进行通用学习的方法。
  15. 一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-12任一项所述的计算机进行通用学习的方法。
  16. 一种控制方法,包括:
    以各传感器的测量数据为待处理数据,利用权利要求1-12任一项所述的计算机进行通用学习的方法,得到所述测量数据的处理结果;
    根据所述处理结果,确定控制指令以进行相应控制处理。
  17. 一种识别方法,包括:
    以待识别对象的特征数据为待处理数据,利用权利要求1-12任一项所述的计算机进行通用学习的方法,得到所述特征数据的处理结果;
    根据所述处理结果,确定模式识别的识别结果。
PCT/CN2020/095829 2019-07-03 2020-06-12 计算机进行通用学习的方法、装置和非瞬时性计算机可读存储介质 WO2021000716A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/623,667 US20220404779A1 (en) 2019-07-03 2020-06-12 Method and device for general learning by computer, and non-transitory computer readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910593937.7 2019-07-03
CN201910593937.7A CN110298449B (zh) 2019-07-03 2019-07-03 计算机进行通用学习的方法、装置和计算机可读存储介质

Publications (1)

Publication Number Publication Date
WO2021000716A1 true WO2021000716A1 (zh) 2021-01-07

Family

ID=68029906

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/095829 WO2021000716A1 (zh) 2019-07-03 2020-06-12 计算机进行通用学习的方法、装置和非瞬时性计算机可读存储介质

Country Status (3)

Country Link
US (1) US20220404779A1 (zh)
CN (1) CN110298449B (zh)
WO (1) WO2021000716A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298449B (zh) * 2019-07-03 2023-04-14 成都天钥科技有限公司 计算机进行通用学习的方法、装置和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107194416A (zh) * 2017-04-28 2017-09-22 成都天钥科技有限公司 对象识别方法及装置、终端、处理器、存储介质
CN110298449A (zh) * 2019-07-03 2019-10-01 成都天钥科技有限公司 计算机进行通用学习的方法、装置和计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141916B1 (en) * 2012-06-29 2015-09-22 Google Inc. Using embedding functions with a deep network
CN104301089B (zh) * 2014-09-23 2018-04-27 电子科技大学 用于对任意变量的两个布尔函数进行仿射等价的判定方法
CN104683832B (zh) * 2015-03-18 2015-12-02 陕西师范大学 一种dtn网络中视频分块的随机集中调度方法
CN108595209A (zh) * 2018-03-21 2018-09-28 百度在线网络技术(北京)有限公司 数据存储和读取方法、装置、系统及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107194416A (zh) * 2017-04-28 2017-09-22 成都天钥科技有限公司 对象识别方法及装置、终端、处理器、存储介质
CN110298449A (zh) * 2019-07-03 2019-10-01 成都天钥科技有限公司 计算机进行通用学习的方法、装置和计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHUYU XIONG: "Universal Learning Machine - Principle, Method, and Engineering Model", ICIS 2018: INTELLIGENCE SCIENCE II, 2 October 2018 (2018-10-02), XP055770810, DOI: 20200817111318A *
NON-OFFICIAL TRANSLATION: HUMAN–COMPUTER COGNITION LABORATORY: "The Principle, Method and Engineering Model of Universal Learning Machine", HTTPS://WWW.QIANJIA.COM/ZHIKE/201903/251111242330.HTML, 25 March 2019 (2019-03-25), DOI: 20200817111034A *

Also Published As

Publication number Publication date
CN110298449A (zh) 2019-10-01
US20220404779A1 (en) 2022-12-22
CN110298449B (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
Sahoo et al. Online deep learning: Learning deep neural networks on the fly
Muthukrishnan et al. Brief history of artificial intelligence
KR102239714B1 (ko) 신경망 학습 방법 및 장치, 데이터 처리 장치
Le et al. A deep hierarchical reinforcement learning algorithm in partially observable Markov decision processes
JP2020091922A (ja) 畳み込みニューラルネットワークにおける構造学習
EP3514734A1 (en) Method and apparatus for generating a chemical structure using a neural network
CN111144580B (zh) 一种基于模仿学习的层级强化学习训练方法和装置
KR102532748B1 (ko) 뉴럴 네트워크 학습 방법 및 장치
Elsayed et al. A surrogate-assisted differential evolution algorithm with dynamic parameters selection for solving expensive optimization problems
Amaratunga et al. What is deep learning?
US20230268035A1 (en) Method and apparatus for generating chemical structure using neural network
US20230076169A1 (en) Neural network apparatus and method of processing variable-resolution operation by the same
WO2021000716A1 (zh) 计算机进行通用学习的方法、装置和非瞬时性计算机可读存储介质
Chivukula et al. Game theoretical adversarial deep learning with variational adversaries
Schuman et al. Spatiotemporal classification using neuroscience-inspired dynamic architectures
Wang et al. CLOUD: contrastive learning of unsupervised dynamics
Fu et al. MAML2: meta reinforcement learning via meta-learning for task categories
Yu et al. Open-ended online learning for autonomous visual perception
JP6947029B2 (ja) 制御装置、それを使用する情報処理装置、制御方法、並びにコンピュータ・プログラム
Sahni et al. Visual hindsight experience replay
Pietroń et al. Formal analysis of HTM spatial pooler performance under predefined operation conditions
KR20230038136A (ko) 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
Wang et al. Learning Classifier System on a humanoid NAO robot in dynamic environments
JP6694197B2 (ja) 学習ネットワーク生成装置、及び学習ネットワーク生成プログラム
Li et al. A hierarchical reinforcement learning method for persistent time-sensitive tasks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20835613

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20835613

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20835613

Country of ref document: EP

Kind code of ref document: A1