WO2019229931A1 - 情報処理装置、制御方法、及びプログラム - Google Patents

情報処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
WO2019229931A1
WO2019229931A1 PCT/JP2018/020953 JP2018020953W WO2019229931A1 WO 2019229931 A1 WO2019229931 A1 WO 2019229931A1 JP 2018020953 W JP2018020953 W JP 2018020953W WO 2019229931 A1 WO2019229931 A1 WO 2019229931A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
rule
rule set
input data
data
Prior art date
Application number
PCT/JP2018/020953
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/058,809 priority Critical patent/US20210209447A1/en
Priority to JP2020522504A priority patent/JP7020547B2/ja
Priority to PCT/JP2018/020953 priority patent/WO2019229931A1/ja
Publication of WO2019229931A1 publication Critical patent/WO2019229931A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence

Definitions

  • the present invention relates to prediction using a neural network.
  • a rule-based model that combines multiple simple conditions has the advantage of being easy to interpret.
  • a typical example is a decision tree. Each node of the decision tree represents a simple condition, and tracing the decision tree from the root to the leaf is equivalent to prediction using a determination rule that combines a plurality of simple conditions.
  • machine learning using a complex model shows high prediction performance and is attracting attention.
  • data having a complicated expression such as an image or text shows higher prediction performance than a rule-based model such as a decision tree.
  • the disadvantage of complex models such as neural networks is that the internal structure is complex and it is difficult to interpret the inference process. That is, it is difficult for humans to understand the basis of the prediction. For example, consider the case of performing binary classification that outputs YES or NO.
  • the neural network can output with high accuracy whether YES or NO.
  • the discrimination process between YES and NO is complicated, and it is difficult for humans to understand the basis.
  • Non-Patent Document 1 discloses a technique for causing a neural network to adjust parameters of a graphical model instead of directly using a neural network for prediction.
  • a graphical model which is a simpler model than a neural network, can be presented to a human instead of a neural network.
  • Non-Patent Document 2 discloses a technique for approximating the structure of a trained neural network with a decision tree. By using this technique, a simple neural network that can be approximated by a decision tree can present to a human a decision tree that performs an operation that mimics the neural network.
  • Non-Patent Document 1 has a problem that interpretation is difficult because it cannot be decomposed into a combination of simple conditions.
  • the available neural network model is limited to a simple model that can be approximated by a decision tree, so that the prediction performance is lowered.
  • the present invention has been made in view of the above-mentioned problems, and is to realize a prediction that can easily interpret the basis of the prediction and that has a high accuracy.
  • the information processing apparatus of the present invention uses 1) an acquisition unit that acquires input data, and 2) an extraction that extracts a prediction rule corresponding to input data from a use rule set including a plurality of prediction rules, using a neural network. Part.
  • the prediction rule associates the condition data indicating the condition that is the basis of the prediction with the result data indicating the prediction based on the condition indicated by the condition data.
  • the information processing apparatus further includes 3) an output unit that performs output based on the extracted prediction rule.
  • the prediction rule condition data corresponding to the input data indicates a condition satisfied by the acquired input data.
  • the control method of the present invention is executed by a computer.
  • the control method includes 1) an acquisition step of acquiring input data, and 2) an extraction step of extracting a prediction rule corresponding to the input data from a use rule set including a plurality of prediction rules using a neural network.
  • Have The prediction rule associates the condition data indicating the condition that is the basis of the prediction with the result data indicating the prediction based on the condition indicated by the condition data.
  • the control method further includes 3) an output step for performing output based on the extracted prediction rule.
  • the prediction rule condition data corresponding to the input data indicates a condition satisfied by the acquired input data.
  • the program of the present invention causes a computer to execute each step of the control method of the present invention.
  • the basis of prediction can be easily interpreted and prediction with high accuracy is realized.
  • FIG. 2 is a diagram illustrating a functional configuration of the information processing apparatus according to the first embodiment.
  • FIG. It is a figure which illustrates the computer for implement
  • 3 is a flowchart illustrating a flow of processing executed by the information processing apparatus according to the first embodiment. It is a figure which illustrates the structure of a neural network. It is a figure which illustrates the specific structure of a neural network.
  • FIG. 6 is a block diagram illustrating a functional configuration of an information processing apparatus according to a second embodiment.
  • FIG. 9 is a block diagram illustrating a functional configuration of an information processing apparatus according to a third embodiment. It is a figure which illustrates the method of performing optimization of a usage rule set, and optimization of a neural network in parallel.
  • each block diagram represents a functional unit configuration, not a hardware unit configuration.
  • FIG. 1 is a diagram conceptually illustrating processing performed by the information processing apparatus according to the present embodiment.
  • the information processing apparatus 2000 outputs a prediction regarding the input data.
  • input data is input data 10
  • data representing a prediction result is a prediction result 20.
  • a process for predicting an input for example, there is a process (classification problem) for predicting a class (for example, person, dog, car, etc.) of an object included in input image data.
  • the input image data is the input data 10.
  • the prediction result 20 indicates the predicted class and the basis for the prediction.
  • the information processing apparatus 2000 outputs the prediction result 20 based on the result data 54 indicated by the extracted prediction rule 50.
  • the prediction result 20 is a display screen or file indicating the contents of the prediction rule 50.
  • the condition represented by the combination of the element name, the threshold value, and the inequality sign can be easily understood by a human (that is, easy to interpret). is there).
  • the elements conditioned by the condition data 52 are not directly indicated by the input data 10, but are extracted from the input data 10 (for example, from image data). Extracted feature amount).
  • the neural network 30 accepts the input data 10 as an input and extracts a feature from the input data 10 or accepts a feature extracted from the input data 10 as an input and processes the extracted feature,
  • the prediction rule 50 is output. Details of feature extraction will be described later.
  • “the input data 10 satisfies the condition indicated by the condition data 52” means that “the feature extracted from the input data 10 satisfies the condition indicated by the condition data 52”.
  • FIG. 2 is a diagram illustrating an example of a decision tree and a prediction rule corresponding to the decision tree.
  • Each internal node of the decision tree represents a condition and has two child nodes corresponding to the true and false conditions.
  • a search is started from the root node. For the input data, if the condition is true, the child nodes corresponding to true are further searched, and if the condition is false, the child nodes corresponding to false are further searched. If this search is repeated and the leaf node is reached, the predicted value of the leaf node is output as the prediction result.
  • Each path from the root of the decision tree to the leaf node can be interpreted as a prediction rule composed of a conditional part and a consequent clause.
  • the condition part is represented by a compound condition in which conditions included in an internal node passing through a path from a root node to a leaf node are combined with negation and logical product (AND).
  • AND negation and logical product
  • Prediction rules corresponding to decision trees are easy for humans to interpret. This is because it can be viewed as a combination of simple conditions related to one element. Further, since the authenticity of each condition is not affected by other conditions, it is possible for a human to easily determine the authenticity of each condition. In the example of FIG. 2, it is only necessary to confirm the value of the element ⁇ ⁇ x0 whether “x0> 1” is satisfied, and there is no need to consider the other elements x1. Whether this condition is true is unambiguous, either true or false.
  • each condition is composed of one element and one threshold value
  • the meaning of the threshold value itself is easy to understand, and the meaning of a complex condition combining these conditions is also easy to understand.
  • observation data represents temperature and humidity in machine failure prediction.
  • a prediction rule is obtained that “the machine will fail when the condition“ temperature> 45 and humidity> 70 ”is satisfied”.
  • an intuitively easy-to-understand knowledge that “the temperature is higher than 45 ° C and the humidity exceeds 70% is obtained” is useful to the user.
  • a prediction rule is generated with a condition for a value obtained by combining a plurality of elements, it becomes difficult to interpret the rule. For example, assume that there is a prediction rule that “a machine will fail when the condition“ 3.5 * temperature + 1.9 * humidity> 23 ”is satisfied”. In this case, the threshold value of 23 mm is not a value that directly represents temperature or humidity, so it is difficult to intuitively understand its meaning. That is, a person cannot easily grasp what values of temperature and humidity are likely to cause a failure of the machine simply by looking at the prediction rule.
  • FIG. 3 is a diagram illustrating an example of a graphical model and a prediction formula corresponding to the graphical model.
  • the graphical model shown in FIG. 3 is one of the simplest graphical models called logistic regression.
  • w0, w1, and w2 are weight vectors for predicting classes C0, C1, and C2, respectively.
  • each element takes a continuous value, and each element is further multiplied by the weight of the continuous value, and the prediction result is determined by the sum of them. Therefore, the prediction rule (prediction formula) corresponding to the graphical model is difficult for humans to interpret. For example, since the importance of each element is determined by the relative size with the weights of other elements, the importance of each element cannot be determined independently.
  • the graphical model can only show prediction formulas that combine temperature and humidity values in a complex manner. ⁇ When the temperature is higher than 45 ° C and the humidity exceeds 70% It is not possible to generate a prediction formula that can be intuitively understood, such as “failure”.
  • the decision tree has a problem that the prediction rule is easy to interpret, but the prediction performance is low, and the graphical model has a high prediction performance, but the prediction rule is difficult to interpret. There is.
  • the information processing apparatus 2000 uses the neural network 30 in response to the input data 10 being input, and the prediction basis (condition data 52) and the prediction result (consequence) based on the basis.
  • the prediction regarding the input data 10 is performed by obtaining the prediction rule 50 including the data 54). That is, the prediction performed by the information processing apparatus 2000 corresponds to prediction according to a prediction rule including a conditional clause and a consequent clause. Therefore, according to the information processing apparatus 2000, it is possible to provide a user with a prediction rule that is easy for humans to interpret. In particular, when a conditional clause is composed of a combination of simple conditions (for example, a threshold condition related to one element), interpretability for humans increases.
  • the information processing apparatus 2000 uses the neural network 30 for extracting the prediction rule 50.
  • a neural network has higher prediction accuracy than a decision tree. Therefore, by using the information processing apparatus 2000, it is possible to provide a user with a prediction rule that is easy to understand, such as a decision tree, and can perform highly accurate prediction.
  • the complexity of the model of the neural network 30 is not limited”.
  • the method of approximating a neural network with a decision tree has a limitation that only a simple model neural network that can be approximated with a decision tree can be used. For this reason, it is difficult to increase the prediction accuracy.
  • the information processing apparatus 2000 causes the neural network 30 to extract the prediction rule 50 used to determine the prediction result 20 instead of causing the neural network to output the prediction result 20 itself. Therefore, since the neural network itself does not represent the prediction rule, the neural network to be used does not need to be able to approximate the decision tree. Therefore, a neural network having an arbitrary complexity can be used.
  • the prediction rule 50 extracted using the neural network 30 is one of the plurality of prediction rules 50 included in the usage rule set 60.
  • the usage rule set 60 is prepared in advance. Selecting a prediction rule 50 to be used for prediction from a plurality of prediction rules 50 prepared in advance has an advantage that it is easy for the user to be convinced about the basis of the prediction.
  • the neural network 30 may be configured to generate an arbitrary prediction rule 50.
  • the neural network 30 can generate an arbitrary prediction rule 50, the user is satisfied with the prediction basis, such as the generation of prediction rules 50 that indicate different prediction grounds for the input data 10 that are similar to each other. It is possible that the situation will be difficult.
  • the prediction rule 50 included in the usage rule set 60 which is the prediction rule 50 within a predetermined range, is used. Can be prevented.
  • FIG. 1 The above description with reference to FIG. 1 is an example for facilitating understanding of the information processing apparatus 2000, and does not limit the functions of the information processing apparatus 2000.
  • the information processing apparatus 2000 according to the present embodiment will be described in more detail.
  • FIG. 4 is a diagram illustrating a functional configuration of the information processing apparatus 2000 according to the first embodiment.
  • the information processing apparatus 2000 includes an acquisition unit 2020, an extraction unit 2040, and an output unit 2060.
  • the acquisition unit 2020 acquires the input data 10.
  • the extraction unit 2040 extracts the prediction rule 50 corresponding to the input data 10 from the usage rule set 60 using the neural network 30.
  • the output unit 2060 outputs the prediction result 20 based on the extracted prediction rule 50.
  • Each functional component of the information processing apparatus 2000 may be realized by hardware (eg, a hard-wired electronic circuit) that realizes each functional component, or a combination of hardware and software (eg: It may be realized by a combination of an electronic circuit and a program for controlling it).
  • hardware eg, a hard-wired electronic circuit
  • software eg: It may be realized by a combination of an electronic circuit and a program for controlling it.
  • FIG. 5 is a diagram illustrating a computer 1000 for realizing the information processing apparatus 2000.
  • the computer 1000 is an arbitrary computer.
  • the computer 1000 is a personal computer (PC) or a server machine.
  • the computer 1000 may be a dedicated computer designed for realizing the information processing apparatus 2000 or a general-purpose computer.
  • the computer 1000 includes a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120.
  • the bus 1020 is a data transmission path through which the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 transmit / receive data to / from each other.
  • the method of connecting the processors 1040 and the like is not limited to bus connection.
  • the processor 1040 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and an FPGA (Field-Programmable Gate Array).
  • the memory 1060 is a main storage device realized using a RAM (Random Access Memory) or the like.
  • the storage device 1080 is an auxiliary storage device realized by using a hard disk, an SSD (Solid State Drive), a memory card, or a ROM (Read Only Memory).
  • the input / output interface 1100 is an interface for connecting the computer 1000 and an input / output device.
  • the input / output interface 1100 is connected to an input device such as a keyboard and an output device such as a display device.
  • the network interface 1120 is an interface for connecting the computer 1000 to a communication network.
  • This communication network is, for example, “LAN (Local Area Network)” or “WAN (Wide Area Network)”.
  • a method of connecting the network interface 1120 to the communication network may be a wireless connection or a wired connection.
  • the storage device 1080 stores a program module that implements each functional component of the information processing apparatus 2000.
  • the processor 1040 implements a function corresponding to each program module by reading each program module into the memory 1060 and executing the program module.
  • the storage device 1080 may further store a usage rule set 60.
  • the usage rule set 60 may be information that can be acquired from the computer 1000, and does not have to be stored in the storage device 1080.
  • the usage rule set 60 can be stored in a database server connected to the computer 1000 via the network interface 1120.
  • FIG. 6 is a flowchart illustrating the flow of processing executed by the information processing apparatus 2000 according to the first embodiment.
  • the acquisition unit 2020 acquires the input data 10 (S102).
  • the extraction unit 2040 extracts the prediction rule 50 corresponding to the input data 10 from the usage rule set 60 using the neural network 30 (S104).
  • the output unit 2060 outputs the prediction result 20 based on the prediction rule 50 (S106).
  • the acquisition unit 2020 acquires the input data 10 (S102).
  • the input data 10 is data necessary for making a target prediction.
  • the image data can be used as the input data 10 in the process of predicting the class of the object included in the image data.
  • the input data 10 is not limited to image data, and arbitrary data such as text data can be used as the input data 10.
  • preprocessing for performing feature extraction on image data or text data may be performed, and one or more features (hereinafter, feature vectors) obtained as a result may be used as the input data 10.
  • feature vectors features obtained as a result
  • the neural network 30 described later does not need to have a function of performing feature extraction.
  • the input data 10 is composed of one or more various data (numerical data, character data, character string data, etc.).
  • the input data 10 is represented in a vector format, for example. For example, data in the form of (0.5, 1.5) is obtained as the input data 10.
  • the method by which the acquisition unit 2020 acquires the input data 10 is arbitrary.
  • the acquisition unit 2020 acquires the input data 10 from a storage device in which the input data 10 is stored.
  • the storage device in which the input data 10 is stored may be provided inside the information processing apparatus 2000 or may be provided outside.
  • the information processing apparatus 2000 acquires input data 10 input by an input operation by a user.
  • the acquisition unit 2020 acquires the input data 10 by receiving the input data 10 transmitted by another device.
  • the extraction unit 2040 extracts the prediction rule 50 from the usage rule set 60 using the neural network 30.
  • the neural network 30 is configured to extract the prediction rule 50 from the use rule set 60 and output the extracted prediction rule 50 in response to the input data 10 being input.
  • the neural network 30 may output a vector indicating the degree to be extracted for each prediction rule 50 included in the usage rule set 60.
  • the configuration of the neural network 30 will be described with a specific example.
  • FIG. 7 is a diagram illustrating the configuration of the neural network 30.
  • the neural network 30 includes a feature extraction network 32 and a rule extraction network 34. As described above, when a feature vector is input as the input data 10, the neural network 30 does not have to have the feature extraction network 32.
  • the feature extraction network 32 is a neural network that generates a feature vector by extracting features from the input data 10. Each output node of the feature extraction network 32 outputs the value of each element constituting the feature vector.
  • a feature extraction layer of a convolutional neural network can be used as the feature extraction network 32.
  • the model of the feature extraction network 32 is not limited to the convolutional neural network, and various existing models (for example, a multilayer perceptron, a recurrent neural network, etc.) can be used.
  • the feature extraction network 32 learns in advance so that features can be extracted from the input data 10.
  • An existing technique can be used as a technique for learning a neural network so as to extract features from data.
  • the rule extraction network 34 extracts the prediction rule 50 from the usage rule set 60 using the feature vector output from the feature extraction network 32.
  • Each of the plurality of output nodes of the rule extraction network 34 is associated with each prediction rule 50 included in the usage rule set 60.
  • the rule extraction network 34 receives from the output node corresponding to the prediction rule 50 corresponding to the input data 10 (that is, the prediction rule 50 to be extracted) in response to the input of the feature vector extracted from the input data 10. It is learned in advance that 1 is output and 0 is output from the other output nodes. Therefore, the extraction unit 2040 inputs the input data 10 to the neural network 30 and extracts the prediction rule 50 corresponding to the output node from which 1 is output in the rule extraction network 34.
  • the rule extraction network 34 outputs the degree to which each prediction rule 50 should be extracted (for example, the occurrence probability) from each output node in response to the input of the feature vector extracted from the input data 10. Have been learned in advance.
  • the extraction unit 2040 extracts the prediction rule 50 based on the value output for each prediction rule 50 from the rule extraction network 34. For example, when the rule extraction network 34 outputs the occurrence probability of each prediction rule 50, the extraction unit 2040 samples one prediction rule 50 from the use rule set 60 according to the probability distribution represented by each output occurrence probability. Thus, the prediction rule 50 is extracted.
  • the models of the feature extraction network 32 and the rule extraction network 34 may be the same or different from each other.
  • the configuration of the neural network 30 is not limited to the configuration having the feature extraction network 32 and the rule extraction network 34 described above.
  • the neural network 30 may be configured as one neural network that has the functions of the feature extraction network 32 and the rule extraction network 34.
  • the neural network may not be used for the process of extracting the feature data from the input data 10.
  • a rule extraction network 34 is used as the neural network 30.
  • the extraction unit 2040 performs a process of extracting feature data from the input data 10, and generates the prediction rule 50 by inputting the feature data extracted as a result to the rule extraction network 34.
  • An existing technique can be used as a technique for extracting features from various data such as image data and text data other than a neural network.
  • the neural network 30 may extract the prediction rule 50 not based on the feature data of the input data 10 but based on the input data 10 itself.
  • the neural network 30 does not have the feature extraction network 32 and inputs the input data 10 to the rule extraction network 34.
  • FIG. 8 is a diagram illustrating a specific configuration of the neural network 30.
  • a plurality of input data hereinafter referred to as reference data
  • a matrix hereinafter referred to as a feature matrix of the usage rule set 60
  • the neural network 30 outputs the degree to which each prediction rule 50 should be extracted using the feature vector extracted from the input data 10 and the feature matrix of the usage rule set 60.
  • a method for generating a feature matrix of the usage rule set 60 will be described.
  • a matrix X reference data is a vector
  • a matrix D ⁇ obtained by concatenating the feature vectors of each reference data is obtained.
  • the size of the feature vector is h
  • the number of reference data is m. Therefore, the matrix D is a matrix of size (m, h).
  • This feature extraction network is the same as the feature extraction network 32 described above.
  • the matrix D is transformed using an arbitrary transformation layer (for example, a layer that performs linear transformation), and a matrix product is calculated for the matrix obtained by this transformation and the normalized truth value matrix Tnorm.
  • the feature matrix V of the usage rule set 60 is obtained. Note that the conversion layer may not be provided.
  • the normalized truth value matrix Tnorm is obtained by normalizing the truth value matrix T so that the sum of each row is 1.
  • the truth value matrix T indicates a truth value indicating whether or not the condition data 52 of each prediction rule 50 is satisfied for each of a plurality of reference data.
  • the truth matrix T is a matrix of size (m, n), and each element takes a value of 1 or 0.
  • the value of the j row i column of the truth matrix T is 1 when the i th reference data feature vector fi satisfies the j th prediction rule rj, and 0 otherwise.
  • the feature matrix V is a matrix of size (m, h).
  • the i th row represents the feature vector of the prediction rule ri. From the above calculation, the feature vector of the prediction rule ri is the average of the converted feature vectors of the reference data that satisfy the prediction rule ri.
  • the input data 10 is converted into a feature vector d ⁇ by being input to the feature extraction network 32. Then, the feature vector d is input to an arbitrary conversion layer to obtain a vector d '. Note that the conversion layer may not be provided.
  • attention a is obtained as a matrix product (d'V) of the vector d 'obtained from the input data 10 and the feature matrix V of the prediction rule 50.
  • Attention a is a vector of size m, and the i th element represents the appropriate degree of the prediction rule ri for the input data 10 (degree of appropriateness used for prediction related to the input data 10).
  • the attention value a is converted using the truth value regarding each prediction rule 50 of the input data 10 (that is, whether the input data 10 satisfies the condition data 52 of each prediction rule 50).
  • This process is a process for preventing the extraction unit 2040 from extracting a prediction rule 50 in which the input data 10 does not satisfy the condition data 52.
  • each element is multiplied by minus ⁇ .
  • This truth vector indicates the truth value for the prediction rule ri in the i th element. That is, the value of the i th element is 1 when the input data 10 satisfies the condition data 52 of the prediction rule ri, and is 0 when the input data 10 does not satisfy the condition data 52 of the prediction rule ri.
  • the vector t indicates 0 for an element corresponding to the prediction rule 50 in which the input data 10 satisfies the condition data 52, and is negative for an element corresponding to the prediction rule 50 in which the input data 10 does not satisfy the condition data 52. Converted to a vector indicating ⁇ . Then, by adding the converted vector t to the attention a, the attention a 'is obtained. In attention a ′, the element corresponding to the prediction rule 50 in which the input data 10 does not satisfy the condition data 52 is minus ⁇ , and the other elements are the same as the corresponding elements of the attention a.
  • Neural network 30 outputs a vector based on attention a '.
  • the neural network 30 outputs a vector obtained by converting the attention a ′ in the argmax layer (a layer that performs conversion using the argmax function).
  • the neural network 30 outputs 1 only from the output node corresponding to the element having the maximum value in the attention a ′, and outputs 0 from the other output nodes.
  • the extraction unit 2040 extracts the prediction rule 50 corresponding to the output node that has output 1.
  • each prediction rule 50 may be given a priority (referred to as a first priority) in advance.
  • the neural network 30 outputs a vector obtained by converting the attention a ′ with the softmax layer (a layer that performs conversion using the softmax function).
  • the softmax layer converts each element of the attention a 'into a probability based on the size of the element.
  • the extraction unit 2040 multiplies the vector output from the neural network 30 by a vector representing the priority of each prediction rule 50 given in advance, and converts the vector of the multiplication result in the argmax layer.
  • the extraction unit 2040 extracts the prediction rule 50 whose value is 1. By doing so, the prediction rule 50 having the maximum product of the probability and priority output from the neural network 30 is extracted. Therefore, the most appropriate prediction rule 50 can be extracted in consideration of the priority of each prediction rule 50.
  • the output unit 2060 outputs the prediction result 20 based on the extracted prediction rule 50 (S106). For example, the output unit 2060 outputs a character string representing the content of the prediction rule 50 as the prediction result 20. In addition, for example, the output unit 2060 may output, as the prediction result 20, information that graphically represents the content of the prediction rule 50 using a graph or a diagram.
  • the output destination of the information representing the prediction rule 50 is various.
  • the output unit 2060 displays information indicating the extracted prediction rule 50 on the display device.
  • the output unit 2060 may store information representing the extracted prediction rule 50 in the storage device.
  • the information processing apparatus 2000 may transmit information representing the extracted prediction rule 50 to the other terminal.
  • a priority may be given to the prediction rule 50. As described above, this priority is called the first priority.
  • the extraction unit 2040 determines the prediction rule 50 to be extracted based on the output result of the neural network 30 and the first priority assigned to the prediction rule 50. For example, as described above, a vector indicating the occurrence probability of each prediction rule 50 is extracted from the neural network 30, and the extraction unit 2040 calculates the vector and a vector indicating the first priority of each prediction rule 50. Calculate the product. Then, the extraction unit 2040 extracts the prediction rule 50 based on the calculated vector. For example, as described above, the extraction unit 2040 extracts the prediction rule 50 having the maximum product described above. In addition, for example, the extraction unit 2040 may extract the prediction rule 50 by sampling the prediction rule 50 from the usage rule set 60 according to the probability distribution based on the above-described product calculated for each prediction rule 50. .
  • the information processing apparatus 2000 further has a function of generating the usage rule set 60.
  • the information processing apparatus 2000 generates a usage rule set 60 using the candidate rule set 70.
  • the candidate rule set 70 includes a plurality of prediction rules 50.
  • the number of prediction rules 50 included in the candidate rule set 70 is larger than the number of prediction rules 50 included in the usage rule set 60. That is, the usage rule set 60 is a subset of the candidate rule set 70.
  • the information processing apparatus 2000 of the second embodiment has the same functions as the information processing apparatus 2000 of the first embodiment.
  • FIG. 9 is a block diagram illustrating a functional configuration of the information processing apparatus 2000 according to the second embodiment.
  • the information processing apparatus 2000 according to the second embodiment includes a generation unit 2080.
  • the generation unit 2080 generates the usage rule set 60 using the candidate rule set 70. Specifically, the generation unit 2080 extracts a plurality of prediction rules 50 from the candidate rule set 70, and generates a use rule set 60 including the extracted plurality of prediction rules 50. A detailed method for extracting the prediction rule 50 from the candidate rule set 70 will be described later.
  • the usage rule set 60 which is a set of prediction rule 50 candidates extracted by the extraction unit 2040, is used as a set of all prepared prediction rule 50 (candidate rule set 70). Generate as a subset.
  • the usage rule set 60 it is possible to reduce the burden of the user generating the usage rule set 60.
  • the prediction rule 50 can be predicted. Unnecessary prediction rules 50 can be excluded from the prediction rule 50 candidates used by the information processing apparatus 2000. Thereby, a prediction result can be explained only with a small number of rules narrowed down from a large number of rules. Thereby, it is possible to reduce the burden of the user confirming the rule used for the prediction. In addition, when the size of the usage rule set is appropriately selected, overlearning can be prevented and the accuracy of prediction by the information processing apparatus 2000 can be improved.
  • the generation unit 2080 randomly samples a predetermined number of prediction rules 50 from the candidate rule set 70 and generates a use rule set 60 including the sampled prediction rules 50.
  • the prediction rule 50 sampled duplication may be permitted and does not need to be permitted.
  • the number of prediction rules 50 included in the usage rule set 60 is a predetermined number.
  • the number of prediction rules 50 included in the usage rule set 60 is equal to or less than a predetermined number.
  • the prediction rule 50 may be given a first priority according to the number of times of sampling. That is, the first priority of the prediction rule 50 included in the usage rule set 60 is increased as the number of times sampled from the candidate rule set 70 is increased.
  • each prediction rule 50 included in the candidate rule set 70 may be given a priority (hereinafter referred to as a second priority) included in the usage rule set 60.
  • the generation unit 2080 includes the prediction rule 50 having the higher second priority in the usage rule set 60 with a higher probability. For example, when the above-described sampling is performed, the prediction rule 50 having a higher second priority is sampled with a higher probability. The probability of sampling each prediction rule 50 is calculated, for example, by dividing the second priority of each prediction rule 50 by the sum of the second priorities.
  • the method of determining the second priority of the prediction rule 50 is arbitrary.
  • the second priority of the prediction rule 50 generated manually is set higher than the second priority of the prediction rule 50 automatically generated by the computer. This is because a human-generated prediction rule is considered more interpretable (easy to read for humans) than a computer-generated prediction rule.
  • the prediction rule 50 having a smaller number of conditions indicated by the condition data 52 may have a higher priority. This is because it can be said that interpretability is higher when the number of conditions on which the prediction is based is smaller.
  • the hardware configuration of a computer that implements the information processing apparatus 2000 according to the second embodiment is represented by, for example, FIG.
  • the storage device 1080 of the computer 1000 that implements the information processing apparatus 2000 of this embodiment further stores a program module that implements the functions of the information processing apparatus 2000 of this embodiment.
  • the candidate rule set 70 may be stored in the storage device 1080 of the computer 1000 that implements the information processing apparatus 2000 of the present embodiment.
  • the candidate rule set 70 may be stored in a database server connected to the computer 1000 via the storage device network interface 1120 outside the information processing device 2000).
  • the information processing apparatus 2000 according to the third embodiment further has a function of training the neural network 30. That is, the information processing apparatus 2000 according to the third embodiment has a function of updating the internal parameters of the neural network 30 so as to reduce the prediction loss calculated based on the output of the neural network 30.
  • the information processing apparatus 2000 includes a training unit 2100.
  • FIG. 10 is a block diagram illustrating a functional configuration of the information processing apparatus 2000 according to the third embodiment.
  • the training unit 2100 trains the neural network 30 by updating parameters of the neural network 30 using backpropagation.
  • the training unit 2100 acquires training data 80.
  • the training data 80 is data in which training input data 82 and training correct answer data 84 are associated with each other.
  • the training input data 82 is the same kind of data as the input data 10. That is, if the information processing apparatus 2000 handles image data as the input data 10, the training input data 82 is also image data.
  • the training correct answer data 84 is data representing a correct answer for the training input data 82 and is the same type of data as the outcome data 54. For example, it is assumed that the information processing apparatus 2000 predicts a class of an object included in the input data 10. In this case, for example, the training correct answer data 84 indicates the class of the object included in the training input data 82.
  • the training unit 2100 inputs the training input data 82 to the acquisition unit 2020, and obtains the prediction rule 50 extracted by the extraction unit 2040. Then, the training unit 2100 calculates a prediction loss for the outcome data 54 and the training correct answer data 84 included in the obtained prediction rule 50.
  • a prediction loss for example, a general prediction loss (such as a mean square error or a cross entropy error) used for neural network training can be used.
  • the training unit 2100 updates the parameters of the neural network 30 by performing back-propagation processing so as to reduce the calculated prediction loss.
  • at least the training unit 2100 updates the parameters of the rule extraction network 34 (trains the rule extraction network 34).
  • the feature extraction network 32 may or may not be trained by the training unit 2100. In the latter case, training of the feature extraction network 32 is performed by a separate method. As described above, existing techniques can be used for training the feature extraction network 32.
  • the operation of the extraction unit 2040 may be different during training by the training unit 2100 (hereinafter referred to as training phase) and during actual operation of the information processing apparatus 2000 (hereinafter referred to as test phase).
  • training phase training phase
  • test phase actual operation of the information processing apparatus 2000
  • the extraction unit 2040 determines the prediction rule 50 to be extracted using the argmax function.
  • the argmaxarg function is difficult to backpropagate.
  • the extraction unit 2040 in the training phase that is, the extraction unit 2040 when used by the training unit 2100 is configured to use a function capable of backpropagation instead of the argmax function.
  • a function capable of backpropagation instead of the argmax function.
  • the softmax function can be viewed as a continuous approximation of the argmax function. Therefore, by using the softmax function, backpropagation is facilitated while obtaining an output result close to the case of using the argmax function.
  • Equation (1) is an equation representing the softmax function with temperature.
  • a_ (i) is an output of the softmax function corresponding to the i-th prediction rule 50
  • represents temperature.
  • the Gumbel-Softmax function performs sampling according to a continuous probability distribution and generates a vector close to the one-hotone vector.
  • the training unit 2100 calculates a prediction loss for the result data 54 and the training correct answer data 84 obtained by inputting the training input data 82, and executes backpropagation based on the calculated prediction loss.
  • a method for calculating a prediction loss for the consequent data 54 generated for training and correct data prepared for training, and a technology for performing backpropagation based on the prediction loss include existing technologies. Can be used. Various techniques such as stochastic gradient descent, Momentum, or AdaGrad can be used as the technology for updating parameters so that the prediction loss is reduced by using backpropagation.
  • Methods for improving the accuracy of prediction by the information processing apparatus 2000 include optimization of the neural network 30 and optimization of the usage rule set 60.
  • the optimization of the neural network 30 is to reduce the prediction loss by training the neural network 30.
  • the optimization of the usage rule set 60 is to appropriately extract a prediction rule 50 useful for prediction from the candidate rule set 70.
  • a method of determining the prediction rule 50 to be included in the usage rule set 60 while training the neural network 30 that is, a method of performing optimization of the neural network 30 and optimization of the usage rule set 60 in parallel).
  • the formulation necessary for the description of the method is performed.
  • a parameter vector representing the occurrence probability of each prediction rule 50 included in the candidate rule set 70 is denoted as ⁇ 0.
  • ⁇ 0 is determined based on the second priority given to each prediction rule 50 included in the candidate rule set 70.
  • the generation unit 2080 generates the usage rule set 60 by sampling ⁇ times under the occurrence probability represented by the parameter vector ⁇ 0.
  • an occurrence probability proportional to the number of times the prediction rule 50 is sampled from the candidate rule set 70 is given to the prediction rule 50 included in the usage rule set 60 as the first priority.
  • the parameter vector ⁇ representing the occurrence probability is formulated as follows.
  • the count c is a vector having a length equal to the number of prediction rules 50 included in the candidate rule set 70. Each element of c indicates the number of times the corresponding prediction rule 50 has been sampled from the candidate rule set 70.
  • the parameter vector ⁇ is also a vector equal to the number of prediction rules 50 included in the candidate rule set 70. However, at ⁇ , the occurrence probability for the prediction rule 50 that has not been sampled from the candidate rule set 70 (that is, not included in the use rule set 60) is zero. Therefore, the vector ⁇ can also be viewed as a vector representing the occurrence probability assigned to each prediction rule 50 in the usage rule set 60.
  • the phenomenon of extracting z according to the parameter vector ⁇ can be formulated as follows. Also, the probability distribution from which the prediction rule z is extracted can be expressed as P (z
  • the distribution of the probability that the neural network 30 extracts the prediction rule z can be expressed as P (z
  • x represents the input data 10
  • w ⁇ ⁇ represents the weight vector of the neural network 30.
  • x, w) is a probability distribution represented by a vector obtained by converting the attention a 'in the softmax layer.
  • the extraction unit 2040 extracts the prediction rule 50 according to a probability distribution obtained by mixing P (z
  • the probability distribution obtained by this mixing can be expressed as follows.
  • the set R represents the candidate rule set 70.
  • X represents input data, and y represents result data.
  • This method of taking the product of the probability distributions output by the two models and normalizing them again is called Product experts (PoE).
  • PoE Product experts
  • the prediction rule 50 highly evaluated in both models is selected.
  • the prediction rule 50 having a count c of zero is not adopted because the appearance probability is zero. Therefore, regardless of the probability value based on the neural network, the number of different prediction rules 50 used does not exceed ⁇ .
  • This model samples a small rule set (use rule set 60) as a subset from the original rule set (candidate rule set 70), and further selects a prediction rule 50 from the sampled rule set. Can be considered.
  • a method for performing optimization of the usage rule set 60 and optimization of the neural network 30 in parallel with the above-described formulation will be described.
  • a generalized EM algorithm that approximates the posterior probability of the parameter ⁇ by the Metropolis-Hastings method is used. That is, ⁇ is sampled from the posterior distribution p ( ⁇
  • X is a matrix in which the training input data 82 is collected, and the i th training input data xi is shown in the i-th row.
  • Y is a matrix in which the training correct answer data 84 is collected, and the i th row of the correct training data yi is shown in the i th row.
  • FIG. 11 is a diagram illustrating a technique for performing optimization of the usage rule set 60 and optimization of the neural network 30 in parallel.
  • T is a hyper parameter that represents the number of repetitions of the series of processes shown in FIG.
  • n represents the total number of pairs of training input data xi and training correct answer data yi.
  • s is a hyperparameter that determines the number of samples.
  • a new ⁇ ′ is sampled from a proposal distribution g ( ⁇ ′
  • the proposal distribution is set such that the probability of adoption is as large as possible.
  • a prediction rule 50 having a large product of the occurrence probability based on the second priority given in advance to the prediction rule 50 and the occurrence probability obtained from the output of the neural network 30 is added. Therefore, the probability of being adopted in the adoption based on the above-described adoption probability is higher than selecting the prediction rule 50 uniformly and randomly.
  • the neural network is optimized by the processing from the first line to the eleventh line in FIG. After that, ⁇ (that is, use rule set 60) is point estimated using the maximum posterior probability estimation (MAP estimation). That is, among the sampled ⁇ , the one with the smallest negative log likelihood is adopted to obtain the use rule set 60.
  • MAP estimation maximum posterior probability estimation
  • Example of hardware configuration The hardware configuration of a computer that implements the information processing apparatus 2000 according to the third embodiment is represented by, for example, FIG.
  • the storage device 1080 of the computer 1000 that implements the information processing apparatus 2000 of this embodiment further stores a program module that implements the functions of the information processing apparatus 2000 of this embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

情報処理装置(2000)は、入力データ(10)を取得する。情報処理装置(2000)は、ニューラルネットワーク(30)を用いて、使用ルールセット(60)の中から、入力データ(10)に関する予測に用いる予測ルール(50)を抽出する。使用ルールセット(60)は、入力データ(10)に関する予測に用いる予測ルール(50)の候補を複数含んでいる。予測ルール(50)は、予測の根拠を表す条件データ(52)と、入力データ(10)に関する予測を表す帰結データ(54)とを対応づけた情報である。入力データ(10)に関する予測に用いる予測ルール(50)は、入力データ(10)が満たす条件を示す条件データ(52)を示す。情報処理装置(2000)は、抽出された予測ルール(50)が示す帰結データ(54)に基づいて、予測結果(20)を出力する。

Description

情報処理装置、制御方法、及びプログラム
 本発明はニューラルネットワークを利用した予測に関する。
 機械学習分野において、単純な条件を複数組み合わせるルールベースのモデルは、解釈が容易であるという利点がある。その代表例は決定木である。決定木のひとつひとつのノードは単純な条件を表しており、決定木をルートから葉に辿ることは、複数の単純な条件を組み合わせた判定ルールを用いて予測することに相当する。
 一方、ニューラルネットワークのような複雑なモデルを用いた機械学習が高い予測性能を示し、注目を集めている。特に、画像やテキストなど、複雑な表現を持つデータにおいて、決定木のようなルールベースのモデルに比べて高い予測性能を示している。
 ニューラルネットワークのような複雑なモデルの欠点は、その内部構造が複雑であるため、推論過程を解釈することが難しいことである。すなわち、人間がその予測の根拠を理解しづらいことである。たとえば、YESかNOを出力する二値分類を行う場合を考える。ニューラルネットワークでは、YESとNOのどちらであるかを高い精度で出力することができる。しかしながら、YESとNOの判別過程が複雑であり、人間がその根拠を理解することは難しい。
 上記技術分野において、非特許文献1には、ニューラルネットワークを直接予測に使う代わりに、ニューラルネットワークにグラフィカルモデルのパラメータを調整させる技術が開示されている。この技術を用いることで、ニューラルネットワークの代わりに、ニューラルネットワークよりは単純なモデルであるグラフィカルモデルを人間に提示することができる。
 非特許文献2には、訓練済みのニューラルネットワークの構造を決定木で近似する技術が開示されている。この技術を用いることで、決定木で近似できるような単純なニューラルネットワークであれば、ニューラルネットワークを模倣した動作をする決定木を人間に提示することができる。
Maruan Al-Shedivat、Avinava Dubey、及び Eric P. Xing、「Contextual Explanation Networks」、[online]、2017年5月29日、arXiv、[2018年3月1日検索]、インターネット<URL:https://arxiv.org/abs/1705.10301> Jan Ruben Zilke、Eneldo Loza Mencia、及び frederik Janssen、「DeepRED - Rule Extraction from Deep Neural Networks」、Discovery Science、Springer, Cham、2017年、vol 9956
 先行技術では、解釈の容易さと予測精度の高さが両立していない。例えば非特許文献1に開示されているグラフィカルモデルには、単純な条件の組み合わせに分解することはできないため、解釈が難しいという問題がある。また、非特許文献2に記載の技術では、利用できるニューラルネットワークのモデルが、決定木で近似できるような単純なモデルに限定されてしまうため、予測性能が低くなってしまう。
 本願発明は上記の課題に鑑みてなされたものであり、予測の根拠が容易に解釈でき、なおかつ精度が高い予測を実現することである。
 本発明の情報処理装置は、1)入力データを取得する取得部と、2)ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、入力データに対応する予測ルールを抽出する抽出部と、を有する。予測ルールは、予測の根拠となる条件を示す条件データと、条件データが示す条件に基づく予測を表す帰結データとを対応づけている。当該情報処理装置は、さらに、3)抽出された予測ルールに基づく出力を行う出力部を有する。入力データに対応する予測ルールの条件データは、取得した入力データが満たす条件を示す。
 本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1)入力データを取得する取得ステップと、2)ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、入力データに対応する予測ルールを抽出する抽出ステップと、を有する。予測ルールは、予測の根拠となる条件を示す条件データと、条件データが示す条件に基づく予測を表す帰結データとを対応づけている。当該制御方法は、さらに、3)抽出された予測ルールに基づく出力を行う出力ステップを有する。入力データに対応する予測ルールの条件データは、取得した入力データが満たす条件を示す。
 本発明のプログラムは、コンピュータに、本発明の制御方法が有する各ステップを実行させる。
 本発明によれば、予測の根拠が容易に解釈でき、なおかつ精度が高い予測が実現される。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本実施形態の情報処理装置が行う処理を概念的に示す図である。 決定木、及び決定木に対応する予測ルールの一例を示す図である。 グラフィカルモデル、及びグラフィカルモデルに対応する予測式の一例を示す図である。 実施形態1の情報処理装置の機能構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示するフローチャートである。 ニューラルネットワークの構成を例示する図である。 ニューラルネットワークの具体的な構成を例示する図である。 実施形態2の情報処理装置の機能構成を例示するブロック図である。 実施形態3の情報処理装置の機能構成を例示するブロック図である。 使用ルールセットの最適化とニューラルネットワークの最適化を並行して行う手法を例示する図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
 図1は、本実施形態の情報処理装置が行う処理を概念的に示す図である。情報処理装置2000は、入力されたデータに関する予測を出力する。図1において、入力されるデータは入力データ10であり、予測の結果を表すデータは予測結果20である。入力に対する予測を行う処理としては、例えば、入力された画像データに含まれるオブジェクトのクラス(例えば、人、犬、車など)を予測する処理(分類問題)がある。この場合、入力された画像データが入力データ10である。また、予測結果20は、予測されたクラス及びその予測の根拠を示す。
 情報処理装置2000は、入力データ10を取得すると、ニューラルネットワーク(NN: Neural Network)30を用いて、使用ルールセット60の中から、入力データ10に関する予測に用いる予測ルール50を抽出する。使用ルールセット60は、入力データ10に関する予測に用いる予測ルール50の候補を複数含んでいる。予測ルール50は、予測の根拠を表す条件データ52と、入力データ10に関する予測を表す帰結データ54とを対応づけた情報である。予測ルール50が対応づける条件データ52と帰結データ54は、条件節と帰結節の関係にあると言える。使用ルールセット60から予測ルール50を抽出することは、入力データ10に関する予測(帰結データ54)と、その予測の根拠(条件データ52)とを特定することに相当する。なお、入力データ10に関する予測に用いる予測ルール50は、入力データ10が満たす条件を示す条件データ52を示す。
 情報処理装置2000は、抽出された予測ルール50が示す帰結データ54に基づいて、予測結果20を出力する。例えば予測結果20は、予測ルール50の内容を示す表示画面やファイルなどである。
 例えば入力データ10として、「x1=0.5, x2=1.5」という2次元データが入力されたとする。この場合、例えばニューラルネットワーク30は、使用ルールセット60の中から、「条件データ: x1>0 and x2<2, 予測データ:y=2」という予測ルール50-1を抽出する。予測ルール50-1は、入力データ10が「x1>0 and x2<2」という条件を満たしていることを根拠として、「y=2」という予測を行う予測ルールである。ここで、図1に例示している各予測ルール50のように、要素名、閾値、及び不等号の組み合わせで表される条件は、人間がその意味を容易に理解できる(すなわち、解釈が容易である)。
 なお、後述するように、条件データ52によって条件付けられる要素(上述の x1 や x2)は、入力データ10によって直接示されている値ではなく、入力データ10から抽出される特徴(例えば、画像データから抽出される特徴量)であってもよい。この場合、ニューラルネットワーク30は、入力データ10を入力として受け付けて入力データ10から特徴を抽出するか、又は入力データ10から抽出された特徴を入力として受け付け、抽出された特徴について処理を行って、予測ルール50を出力する。特徴抽出についての詳細は後述する。また、この場合、「条件データ52が示す条件を入力データ10が満たす」とは、「条件データ52が示す条件を、入力データ10から抽出された特徴が満たす」ことを意味する。
<作用効果>
 本実施形態の情報処理装置2000によって奏される作用効果を明瞭にするため、本技術分野の前提技術である決定木とグラフィカルモデルを説明する。
 図2は、決定木、及び決定木に対応する予測ルールの一例を示す図である。決定木の内部ノードはそれぞれ条件を表し、条件の真と偽に対応する2つの子ノードを持つ。決定木では、データが入力されると、根ノードから探索が開始される。入力されたデータについて、条件が真であれば真に対応する子ノード以下がさらに探索され、偽であれば偽に対応する子ノード以下がさらに探索される。この探索を繰り返し、葉ノードに到達すれば、葉ノードが持つ予測値を予測結果として出力する。
 決定木のルートから葉ノードに至るパスは、それぞれ、条件部と帰結節から構成される予測ルールであると解釈できる。条件部は、根ノードから葉ノードへのパスで通過する内部ノードに含まれる条件を、否定と論理積(AND)で結合した複合条件で表される。図2の例では、決定木が持つ4つの葉ノードに対応する4つの予測ルールが示されている。
 決定木に対応する予測ルールは、人間にとって解釈が容易である。なぜなら、一つの要素に関する単純な条件の組み合わせとして見ることができるためである。また、各条件の真偽は他の条件に影響されないため、それぞれの条件の真偽を人間が容易に判断できるためである。図2の例で言えば、「x0>1」が成り立つかどうかは要素 x0 の値だけを確認すれば良く、それ以外の要素 x1 は考慮する必要がない。また、この条件が成り立つかどうかは、真か偽のどちらかで曖昧さがない。
 また、各条件が一つの要素と一つの閾値から構成されるとき、閾値自体が持つ意味が分かりやすく、それらの条件を組み合わせた複合的な条件の意味も分かりやすくなる。
 例えば、機械の故障予測において、観測データが温度と湿度を表すとする。このとき、『「温度 > 45 and 湿度 > 70」という条件が成り立つ時に機械が故障する』という予測ルールが得られたとする。この予測ルールによれば、「温度が 45 度より高くなり、なおかつ湿度が 70% を超えると故障する」という直感的に分かりやすい知見が得られ、ユーザには有用である。
 これに対し、複数の要素を組み合わせた値についての条件で予測ルールを生成すると、そのルールの解釈が難しくなる。例えば、『「3.5 * 温度 + 1.9 * 湿度 > 23」という条件が成り立つ時に機械が故障する』という予測ルールがあるとする。この場合、23 という閾値は、温度や湿度を直接的に表す値ではないため、その意味を直感的に理解することが難しい。すなわち、人は、この予測ルールを見ただけでは、温度と湿度がどのような値になると機械が故障している可能性があるのかを容易に把握できない。
 決定木は、解釈が容易である一方で、予測性能が比較的低いという欠点がある。この欠点を解消するため、多数の要素を用いた複雑な条件をノードとして用いることによって予測性能を高めた決定木も提案されている。しかしながら、決定木を複雑にすると、予測性能が向上する反面、解釈が容易であるという利点が失われてしまう。
 次に、グラフィカルモデルについて説明する。図3は、グラフィカルモデル、及びグラフィカルモデルに対応する予測式の一例を示す図である。図3に示すグラフィカルモデルは、ロジスティック回帰と呼ばれる最も単純なグラフィカルモデルのひとつである。w0、w1、w2 はそれぞれ、クラス C0、C1、C2 を予測するための重みベクトルである。
 このようなグラフィカルモデルでは、各要素がそれぞれ連続値を取り、さらに各要素に連続値の重みが乗算され、それらの和によって予測結果が決まる。したがって、グラフィカルモデルに対応する予測ルール(予測式)は、人間にとって解釈が難しい。例えば、各要素の重要性は、他の要素の重みとの相対的な大きさによって決定されるため、個々の要素の重要性を独立に判断することができない。
 前述した故障予測の例で言えば、グラフィカルモデルは、温度と湿度の値を複雑に組み合わせた予測式しか示すことができず、「温度が 45 度より高くなり、しかも湿度が 70% を超えると故障する」といった直感的な理解が可能な予測式を生成できない。
 以上のことから、1)決定木には、予測ルールの解釈は容易であるものの予測性能が低いという問題があり、2)グラフィカルモデルには、予測性能は高いものの予測ルールの解釈が難しいという問題がある。
 この点、本実施形態の情報処理装置2000は、入力データ10が入力されたことに応じ、ニューラルネットワーク30を利用して、予測の根拠(条件データ52)とその根拠に基づく予測の結果(帰結データ54)とを含む予測ルール50を得ることで、入力データ10に関する予測を行う。すなわち、情報処理装置2000が行う予測は、条件節と帰結節とで構成される予測ルールに従った予測に相当する。よって、情報処理装置2000によれば、人間にとって解釈が容易な予測ルールをユーザに提供することが可能となる。特に、条件節が単純な条件(例えば1つの要素に関する閾値条件)の組み合わせで構成される場合、人間にとっての解釈容易性が高くなる。
 さらに情報処理装置2000は、予測ルール50の抽出にニューラルネットワーク30を利用する。一般に、ニューラルネットワークは決定木と比べて予測精度が高い。よって、情報処理装置2000を利用することで、決定木の様に理解が容易な予測ルールをユーザに提供することを可能にしつつ、精度の高い予測を行うことができる。
 ここで、情報処理装置2000における重要な利点の1つとして、「ニューラルネットワーク30のモデルの複雑さに制限がない」ということがある。ニューラルネットワークを決定木で単純化して近似する手法(非特許文献2参照)では、決定木で近似できるような単純なモデルのニューラルネットワークしか利用できないという制限がある。そのため、予測精度を高くすることが難しい。
 この点、情報処理装置2000では、ニューラルネットワークに予測結果20そのものを出力させるのではなく、予測結果20の決定に利用する予測ルール50をニューラルネットワーク30に抽出させる。よって、ニューラルネットワークそのものが予測ルールを表すわけではないため、利用するニューラルネットワークは決定木に近似可能である必要がない。そのため、任意の複雑さを持ったニューラルネットワークを用いることができる。
 ここで、ニューラルネットワーク30を利用して抽出される予測ルール50は、使用ルールセット60に含まれる複数の予測ルール50のうちの1つである。使用ルールセット60は、予め用意しておく。予め用意されている複数の予測ルール50の中から、予測に利用する予測ルール50を選択することには、予測の根拠についてユーザが納得しやすいという利点がある。
 例えば、ニューラルネットワーク30が使用ルールセット60の中から予測ルール50を抽出する代わりに、ニューラルネットワーク30が任意の予測ルール50を生成するように構成することも考えられる。しかしながら、ニューラルネットワーク30が任意の予測ルール50を生成できるようにすると、互いに類似する入力データ10について、互いに大きく異なる予測の根拠を示す予測ルール50が生成されるなど、予測の根拠についてユーザが納得しにくい状況になることが考えられる。
 この点、本実施形態の情報処理装置2000によれば、使用ルールセット60に含まれる予測ルール50という、予め定めた範囲内の予測ルール50を利用するため、予測の根拠についてユーザが納得しにくいという状況になることを防ぐことができる。
 なお、図1を参照した上述の説明は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の機能を限定するものではない。以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
 図4は、実施形態1の情報処理装置2000の機能構成を例示する図である。情報処理装置2000は、取得部2020、抽出部2040、及び出力部2060を有する。取得部2020は、入力データ10を取得する。抽出部2040は、ニューラルネットワーク30を用いて、使用ルールセット60の中から、入力データ10に対応する予測ルール50を抽出する。出力部2060は、抽出された予測ルール50に基づいて予測結果20を出力する。
<情報処理装置2000のハードウエア構成>
 情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図5は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)やサーバマシンなどである。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
 計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
 プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
 入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
 ストレージデバイス1080は、情報処理装置2000の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
 ストレージデバイス1080は、使用ルールセット60をさらに記憶していてもよい。ただし、使用ルールセット60は、計算機1000から取得可能な情報であればよく、ストレージデバイス1080に記憶されていなければならないものではない。例えば使用ルールセット60は、ネットワークインタフェース1120を介して計算機1000と接続されているデータベースサーバに記憶させておくことができる。
<処理の流れ>
 図6は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。取得部2020は、入力データ10を取得する(S102)。抽出部2040は、ニューラルネットワーク30を用い、使用ルールセット60から、入力データ10に対応する予測ルール50を抽出する(S104)。出力部2060は、予測ルール50に基づいて、予測結果20を出力する(S106)。
<入力データ10の取得:S102>
 取得部2020は入力データ10を取得する(S102)。入力データ10は、目的とする予測を行うために必要なデータである。例えば前述したように、画像データに含まれるオブジェクトのクラスを予測する処理においては、入力データ10として画像データを利用することができる。ただし、入力データ10は画像データに限定されず、テキストデータなどの任意のデータを入力データ10とすることができる。
 なお、画像データやテキストデータに対して特徴抽出を行う前処理を行い、その結果として得られる1つ以上の特徴(以下、特徴ベクトル)を入力データ10としてもよい。この場合、後述するニューラルネットワーク30は、特徴抽出を行う機能を有する必要がない。
 入力データ10は、1つ以上の種々のデータ(数値データ、文字データ、又は文字列データなど)で構成される。入力データ10が2つ以上のデータで構成される場合、入力データ10は、例えばベクトル形式で表される。例えば、(0.5, 1.5) という形式のデータが入力データ10として得られる。
 取得部2020が入力データ10を取得する方法は任意である。例えば取得部2020は、入力データ10が記憶されている記憶装置から入力データ10を取得する。入力データ10が記憶されている記憶装置は、情報処理装置2000の内部に設けられていてもよいし、外部に設けられていてもよい。その他にも例えば、情報処理装置2000は、ユーザによる入力操作によって入力される入力データ10を取得する。その他にも例えば、取得部2020は、他の装置によって送信される入力データ10を受信することで、入力データ10を取得する。
<予測ルール50の抽出:S104>
 抽出部2040は、ニューラルネットワーク30を用いて、使用ルールセット60から予測ルール50を抽出する。例えばニューラルネットワーク30は、入力データ10が入力されたことに応じ、使用ルールセット60から予測ルール50を抽出し、抽出した予測ルール50を出力するように構成される。その他にも例えば、ニューラルネットワーク30は、使用ルールセット60に含まれる各予測ルール50について、抽出すべき度合いを示すベクトルを出力してもよい。以下、ニューラルネットワーク30の構成について具体例を挙げて説明する。
 図7は、ニューラルネットワーク30の構成を例示する図である。図7において、ニューラルネットワーク30は、特徴抽出ネットワーク32及びルール抽出ネットワーク34を有する。なお、前述したように、入力データ10として特徴ベクトルが入力される場合、ニューラルネットワーク30は特徴抽出ネットワーク32を有さなくてよい。
 特徴抽出ネットワーク32は、入力データ10から特徴を抽出することで特徴ベクトルを生成するニューラルネットワークである。特徴抽出ネットワーク32の各出力ノードは、特徴ベクトルを構成する各要素の値を出力する。例えば、畳み込みニューラルネットワークの特徴抽出層を、特徴抽出ネットワーク32として利用することができる。ただし、特徴抽出ネットワーク32のモデルは畳み込みニューラルネットワークには限定されず、既存の種々のモデル(例えば、多層パーセプトロンやリカレントニューラルネットワークなど)を利用することができる。
 特徴抽出ネットワーク32は、入力データ10から特徴を抽出できるように予め学習させておく。なお、データから特徴を抽出するようにニューラルネットワークを学習させる技術には、既存の技術を利用することができる。
 ルール抽出ネットワーク34は、特徴抽出ネットワーク32から出力された特徴ベクトルを用いて、使用ルールセット60から予測ルール50を抽出する。ルール抽出ネットワーク34の複数の出力ノードそれぞれは、使用ルールセット60に含まれる各予測ルール50に対応づけられている。例えばルール抽出ネットワーク34は、入力データ10から抽出された特徴ベクトルが入力されたことに応じ、入力データ10に対応する予測ルール50(すなわち、抽出すべき予測ルール50)に対応する出力ノードからは1を出力し、その他の出力ノードからは0を出力するように予め学習されている。そこで抽出部2040は、入力データ10をニューラルネットワーク30に入力し、ルール抽出ネットワーク34において1が出力された出力ノードに対応する予測ルール50を抽出する。
 その他にも例えば、ルール抽出ネットワーク34は、入力データ10から抽出された特徴ベクトルが入力されたことに応じ、各予測ルール50を抽出すべき度合い(例えば生起確率)を各出力ノードから出力するように予め学習されている。抽出部2040は、ルール抽出ネットワーク34から各予測ルール50について出力された値に基づいて、予測ルール50を抽出する。例えば、ルール抽出ネットワーク34が各予測ルール50の生起確率を出力する場合、抽出部2040は、出力された各生起確率で表される確率分布に従って、使用ルールセット60から予測ルール50を1つサンプリングすることで、予測ルール50を抽出する。
 なお、ルール抽出ネットワーク34の学習方法については後述する。
 ルール抽出ネットワーク34のモデルにも、特徴抽出ネットワーク32のモデルと同様に、種々の既存のニューラルネットワークのモデルを利用できる。ここで、特徴抽出ネットワーク32とルール抽出ネットワーク34のモデルは、互いに同一であってもよいし、互いに異なっていてもよい。
 ニューラルネットワーク30の構成は、前述した特徴抽出ネットワーク32及びルール抽出ネットワーク34を有する構成に限定されない。例えばニューラルネットワーク30は、特徴抽出ネットワーク32とルール抽出ネットワーク34の機能を併せ持つ1つのニューラルネットワークとして構成されてもよい。
 その他にも例えば、入力データ10から特徴データを抽出する処理には、ニューラルネットワークを用いなくてもよい。この場合、ニューラルネットワーク30として、ルール抽出ネットワーク34を用いる。抽出部2040は、入力データ10から特徴データを抽出する処理を行い、その結果抽出された特徴データをルール抽出ネットワーク34に入力することにより、予測ルール50を生成する。なお、ニューラルネットワーク以外によって画像データやテキストデータなどの種々のデータから特徴を抽出する技術には、既存の技術を利用することができる。
 また、ニューラルネットワーク30は、入力データ10の特徴データではなく、入力データ10そのものに基づいて、予測ルール50の抽出を行ってもよい。ニューラルネットワーク30は、特徴抽出ネットワーク32を有さず、なおかつルール抽出ネットワーク34に対して入力データ10を入力する。
<<ニューラルネットワーク30の詳細な具体例>>
 ここでは、ニューラルネットワーク30の構成について、詳細な具体例を説明する。ただし、以下で説明する構成は一例であり、ニューラルネットワーク30の構成には種々の構成を採用することができる。
 図8は、ニューラルネットワーク30の具体的な構成を例示する図である。この例では、入力データ10以外に、正解(正しい予測結果)が既知である入力データ(以下、参照データ)が複数用意されている。そして、参照データとそれに対応する正解データとを用いて、使用ルールセット60に含まれる各予測ルール50に関する特徴を表す行列(以下、使用ルールセット60の特徴行列)を用意する。ニューラルネットワーク30は、入力データ10から抽出される特徴ベクトルと、使用ルールセット60の特徴行列とを用いて、各予測ルール50を抽出すべき度合いを出力する。
 まず、使用ルールセット60の特徴行列を生成する方法について説明する。まず、複数の参照データを連結した行列 X (参照データはベクトル)を特徴抽出ネットワークに入力することで、各参照データの特徴ベクトルを連結した行列 D が得られる。ここで、特徴ベクトルのサイズを h とし、参照データの数を m とする。よって、行列 D はサイズ (m,h) の行列である。なお、この特徴抽出ネットワークは、前述した特徴抽出ネットワーク32と同様のものである。
 次に、行列 D を任意の変換層(例えば線形変換を行う層)を用いて変換し、この変換によって得られた行列と、正規化された真理値行列 Tnorm とについて行列積を算出することにより、使用ルールセット60の特徴行列 V が得られる。なお、変換層は設けなくてもよい。
 正規化された真理値行列 Tnorm は、真理値行列 T を、各行の合計が1になるように正規化したものである。真理値行列 T は、複数の参照データそれぞれについて、各予測ルール50の条件データ52を満たすか否かを表す真理値を示す。真理値行列 T は、サイズ (m,n) の行列であり、各要素は1か0のどちらかの値を取る。真理値行列 T の j 行 i 列の値は、j 番目の予測ルール rj を i 番目の参照データの特徴ベクトル fi が満たすときに1となり、それ以外のときに0となる。
 特徴行列 V は、サイズ (m,h) の行列である。i 番目の行は、予測ルール ri の特徴ベクトルを表す。上記の計算から、予測ルール ri の特徴ベクトルは、特徴ベクトルが予測ルール ri を満たす参照データの特徴ベクトルを変換したものの平均となる。
 入力データ10は、特徴抽出ネットワーク32に入力されることで、特徴ベクトル d に変換される。そして、特徴ベクトル d を任意の変換層に入力し、ベクトル d' を得る。なお、変換層は設けなくてもよい。
 さらに、入力データ10から得られたベクトル d' と、予測ルール50の特徴行列 V との行列積(d'V)として、アテンション a を得る。アテンション a はサイズ m のベクトルであり、i 番目の要素は、入力データ10に対する予測ルール ri の適切度合い(入力データ10に関する予測に利用する適切さの度合い)を表す。
 さらに、入力データ10の各予測ルール50に関する真理値(すなわち、入力データ10が各予測ルール50の条件データ52を満たすかどうか)を利用して、アテンション a を変換する。この処理は、入力データ10が条件データ52を満たさない予測ルール50が、抽出部2040によって抽出されないようにするための処理である。
 具体的には、入力データ10の各予測ルール50に関する真理値を表す真理値ベクトル t の各要素にマイナス1を加算した後、各要素にマイナス∞を掛ける。この真理値ベクトルは、i 番目の要素に、予測ルール ri についての真理値を示す。すなわち、i 番目の要素の値は、入力データ10が予測ルール ri の条件データ52を満たす場合に1であり、入力データ10が予測ルール ri の条件データ52を満たさない場合に0である。
 上述した処理の結果、ベクトル t は、入力データ10が条件データ52を満たす予測ルール50に対応する要素に0を示し、入力データ10が条件データ52を満たさない予測ルール50に対応する要素にマイナス∞を示すベクトルに変換される。そして、変換後のベクトル t をアテンション a に加算することで、アテンション a' を得る。アテンション a' において、入力データ10が条件データ52を満たさない予測ルール50に対応する要素はマイナス∞であり、その他の要素はアテンション a の対応する要素と同じである。
 ニューラルネットワーク30は、アテンション a' に基づくベクトルを出力する。例えばニューラルネットワーク30は、アテンション a' を argmax 層(argmax 関数による変換を行う層)で変換したベクトルを出力する。この場合、ニューラルネットワーク30は、アテンション a' において値が最大の要素に対応する出力ノードのみから1を出力し、その他の出力ノードからは0を出力する。抽出部2040は、1を出力した出力ノードに対応する予測ルール50を抽出する。
 ここで、後述するように、各予測ルール50には予め優先度(第1優先度と呼ぶ)が与えられていてもよい。この場合、例えばニューラルネットワーク30は、アテンション a' を softmax 層(softmax 関数による変換を行う層)で変換したベクトルを出力する。softmax 層により、アテンション a' の各要素が、その要素の大きさに基づく確率に変換される。抽出部2040は、ニューラルネットワーク30から出力されたベクトルと、事前に与えられている各予測ルール50の優先度を表すベクトルとを乗算し、乗算結果のベクトルを argmax 層で変換する。抽出部2040は、値が1である予測ルール50を抽出する。こうすることで、ニューラルネットワーク30から出力された確率と優先度の積が最大である予測ルール50が抽出される。よって、各予測ルール50の優先度を加味した上で、最も適切な予測ルール50を抽出することができる。
<予測結果20の出力:S106>
 出力部2060は、抽出された予測ルール50に基づいて、予測結果20を出力する(S106)。例えば出力部2060は、予測ルール50の内容を表す文字列を予測結果20として出力する。その他にも例えば、出力部2060は、予測ルール50の内容をグラフや図などを用いてグラフィカルに表した情報を予測結果20として出力してもよい。
 予測ルール50を表す情報の出力先は様々である。例えば出力部2060は、ディスプレイ装置に、抽出された予測ルール50を表す情報を表示させる。その他にも例えば、出力部2060は、記憶装置に、抽出された予測ルール50を表す情報を記憶させてもよい。その他にも例えば、ユーザが他の端末から情報処理装置2000にアクセスしている場合、情報処理装置2000は、当該他の端末に、抽出された予測ルール50を表す情報を送信してもよい。
<予測ルール50の優先度>
 予測ルール50には優先度が付されていてもよい。前述したように、この優先度を第1優先度と呼ぶ。この場合、抽出部2040は、ニューラルネットワーク30の出力結果と、予測ルール50に付された第1優先度とに基づいて、抽出する予測ルール50を決定する。例えば前述したように、ニューラルネットワーク30から各予測ルール50の生起確率を示すベクトルが抽出されるようにし、抽出部2040は、このベクトルと、各予測ルール50の第1優先度を示すベクトルとの積を算出する。そして、抽出部2040は、算出されたベクトルに基づいて予測ルール50を抽出する。例えば前述したように、抽出部2040は、上述した積が最大の予測ルール50を抽出する。その他にも例えば、抽出部2040は、各予測ルール50について算出された上述の積に基づく確率分布に従って、使用ルールセット60から予測ルール50をサンプリングすることで、予測ルール50を抽出してもよい。
[実施形態2]
 実施形態2の情報処理装置2000は、使用ルールセット60を生成する機能をさらに有する。情報処理装置2000は、候補ルールセット70を用いて使用ルールセット60を生成する。候補ルールセット70は、複数の予測ルール50を含む。候補ルールセット70に含まれる予測ルール50の数は、使用ルールセット60に含まれる予測ルール50の数より多い。すなわち、使用ルールセット60は、候補ルールセット70のサブセットである。以下で説明する点を除き、実施形態2の情報処理装置2000は、実施形態1の情報処理装置2000と同様の機能を有する。
 図9は、実施形態2の情報処理装置2000の機能構成を例示するブロック図である。実施形態2の情報処理装置2000は生成部2080を有する。生成部2080は、候補ルールセット70を用いて使用ルールセット60を生成する。具体的には、生成部2080は、候補ルールセット70の中から複数の予測ルール50を抽出し、抽出した複数の予測ルール50を含む使用ルールセット60を生成する。候補ルールセット70から予測ルール50を抽出する詳細な方法については後述する。
<作用・効果>
 本実施形態の情報処理装置2000によれば、抽出部2040が抽出する予測ルール50の候補の集合である使用ルールセット60を、用意された全ての予測ルール50の集合(候補ルールセット70)の部分集合として生成する。このように使用ルールセット60を自動的に生成することにより、ユーザが使用ルールセット60を生成する負担を軽減することができる。
 また、使用ルールセット60に含まれる予測ルール50の数よりも多くの予測ルール50を用意しておき、その一部で使用ルールセット60を生成するという方法を採用することによれば、予測に不要な予測ルール50を、情報処理装置2000が利用する予測ルール50の候補から除外することができる。これにより、大量のルールの中から絞り込まれた少数のルールだけで予測結果を説明できる。これにより、ユーザが予測に使われたルールを確認する負担を軽減できる。また、使用ルールセットのサイズを適切に選んだ場合は、過学習を防ぐことができ、情報処理装置2000による予測の精度を向上させることができる。
<使用ルールセット60の生成>
 生成部2080が使用ルールセット60を生成する方法には、様々な方法を採用することができる。例えば生成部2080は、候補ルールセット70から所定個の予測ルール50をランダムにサンプリングし、サンプリングした予測ルール50を含む使用ルールセット60を生成する。なお、サンプリングする予測ルール50について、重複を許可してもよいし、許可しなくてもよい。前者の場合、使用ルールセット60に含まれる予測ルール50の数が所定個となる。一方、後者の場合、使用ルールセット60に含まれる予測ルール50の数が所定個以下となる。
 ここで、重複を許可してサンプリングを行う場合、予測ルール50に、サンプリングされた回数に応じた第1優先度を付与してもよい。すなわち、使用ルールセット60に含める予測ルール50の第1優先度を、候補ルールセット70からサンプリングされた回数が多いほど高くする。
 また、候補ルールセット70に含まれる各予測ルール50に、使用ルールセット60に含める優先度(以下、第2優先度)を付しておいてもよい。この場合、生成部2080は、第2優先度が高い予測ルール50ほど高い確率で使用ルールセット60に含める。例えば、前述したサンプリングを行う際、第2優先度が大きい予測ルール50ほど高い確率でサンプリングするようにする。各予測ルール50をサンプリングする確率は、例えば、各予測ルール50の第2優先度を、第2優先度の総和で割ることで算出する。
 予測ルール50の第2優先度の定め方は任意である。例えば、人手で生成した予測ルール50の第2優先度を、コンピュータが自動で生成した予測ルール50の第2優先度よりも高くする。これは、人手で生成した予測ルールの方が、コンピュータが自動生成した予測ルールよりも、解釈性が高い(人にとって読みやすい)と考えられるためである。その他にも例えば、条件データ52が示す条件の数が少ない予測ルール50ほど、優先度を高くしてもよい。これは、予測の根拠となる条件の数が少ない方が、解釈性が高いと言えるためである。
<ハードウエア構成の例>
 実施形態2の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図5によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。また、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、候補ルールセット70が記憶されていてもよい。ただし、候補ルールセット70は、情報処理装置2000の外部の記憶装置ネットワークインタフェース1120を介して計算機1000と接続されているデータベースサーバなど)に記憶されていてもよい。
[実施形態3]
 実施形態3の情報処理装置2000は、ニューラルネットワーク30の訓練を行う機能をさらに有する。すなわち、実施形態3の情報処理装置2000は、ニューラルネットワーク30の出力に基づいて計算される予測損失を小さくするように、ニューラルネットワーク30の内部パラメータを更新する機能を有する。
 そのために情報処理装置2000は、訓練部2100を有する。図10は、実施形態3の情報処理装置2000の機能構成を例示するブロック図である。訓練部2100は、バックプロパゲーションを用いてニューラルネットワーク30のパラメータを更新することで、ニューラルネットワーク30の訓練を行う。
 以下、訓練部2100がニューラルネットワーク30の訓練を行う具体的な方法について説明する。
 訓練部2100は、訓練データ80を取得する。訓練データ80は、訓練入力データ82と訓練正解データ84とが対応づけられたデータである。訓練入力データ82は、入力データ10と同種のデータである。すなわち、情報処理装置2000が入力データ10として画像データを扱うのであれば、訓練入力データ82も画像データである。訓練正解データ84は、訓練入力データ82についての正解を表すデータであり、帰結データ54と同種のデータである。例えば情報処理装置2000が、入力データ10に含まれるオブジェクトのクラスを予測するとする。この場合、例えば訓練正解データ84は、訓練入力データ82に含まれるオブジェクトのクラスを示す。
 訓練部2100は、訓練入力データ82を取得部2020に入力し、抽出部2040によって抽出される予測ルール50を得る。そして訓練部2100は、得られた予測ルール50に含まれる帰結データ54及び訓練正解データ84について、予測損失を算出する。この予測損失としては、例えば、ニューラルネットワークの訓練に使われる一般的な予測損失(平均二乗誤差や交差エントロピー誤差など)を用いることができる。
 訓練部2100は、算出された予測損失を減少させるようにバックプロパゲーション処理を行うことで、ニューラルネットワーク30のパラメータを更新する。ここで、少なくとも訓練部2100は、ルール抽出ネットワーク34のパラメータの更新を行う(ルール抽出ネットワーク34の訓練を行う)。特徴抽出ネットワーク32については、訓練部2100による訓練が行われても良いし、行われなくてもよい。後者の場合、特徴抽出ネットワーク32の訓練は別途の方法で行っておく。前述したように、特徴抽出ネットワーク32の訓練には既存の手法を利用することができる。
 なお、訓練部2100による訓練の際(以下、トレーニングフェーズ)と情報処理装置2000の実際の運用時(以下、テストフェーズ)とで、抽出部2040の動作を異ならせてもよい。例えば実施形態1で説明したニューラルネットワーク30の詳細な具体例において、抽出部2040は、argmax 関数を用いて、抽出する予測ルール50を決定していた。しかしながら、一般に、argmax 関数はバックプロパゲーションが難しい関数であると言われている。
 そこで例えば、トレーニングフェーズにおける抽出部2040、すなわち訓練部2100によって利用される際の抽出部2040は、argmax 関数の代わりに、バックプロパゲーションが可能な関数を利用するように構成しておく。例えば、softmax 関数を利用することが好適である。softmax 関数は、argmax 関数の連続的な近似と見ることができる。そのため、softmax 関数を利用することにより、argmax 関数を利用した場合と近い出力結果を得つつ、バックプロパゲーションが容易となる。
 なお、温度つきの softmax 関数を利用することが特に有用である。これにより、より argmax 関数の出力に近い出力を得ることができる。以下の数式(1)は、温度つきの softmax 関数を表す式である。
Figure JPOXMLDOC01-appb-M000001
 ここで、a_(i) は、i 番目の予測ルール50に対応する softmax 関数の出力であり、τは温度を表す。
 その他にも、Gumbel-Softmax 関数や、その変種である ST Gumbel-Softmax 関数などを利用してもよい。Gumbel-Softmax 関数は、連続的な確率分布に従ってサンプリングを行い、one-hot ベクトルに近いベクトルを生成する関数である。
 訓練部2100は、訓練入力データ82を入力することで得られた帰結データ54と訓練正解データ84とについて予測損失を算出し、算出した予測損失に基づいてバックプロパゲーションを実行する。ここで、訓練用に生成された帰結データ54と訓練用に用意された正解データとについて予測損失を算出する方法、及びその予測損失に基づいてバックプロパゲーションを行う技術には、既存の技術を利用することができる。また、バックプロパゲーションを用いて、予測損失が減少するようにパラメータを更新する技術には、確率的勾配降下法、Momentum、又は AdaGrad などの種々の技術を利用することができる。
<使用ルールセット60の生成とニューラルネットワーク30の訓練>
 情報処理装置2000による予測の精度を向上させる方法として、ニューラルネットワーク30の最適化と、使用ルールセット60の最適化とがある。ニューラルネットワーク30の最適化とは、ニューラルネットワーク30を訓練することで予測損失を減少させることである。使用ルールセット60の最適化とは、候補ルールセット70の中から、予測に有用な予測ルール50を適切に抽出することである。
 ここでは、ニューラルネットワーク30の訓練を行いつつ、使用ルールセット60に含める予測ルール50を決定していく手法(すなわち、ニューラルネットワーク30の最適化と使用ルールセット60の最適化を並行して行う手法)について説明する。まず、手法の説明に入る前に、手法の説明に必要な定式化を行う。
 まず、候補ルールセット70に含まれる各予測ルール50の生起確率を表すパラメータベクトルをθ0と表記する。θ0は、候補ルールセット70に含まれる各予測ルール50に与えられた第2優先度に基づいて決まる。生成部2080は、パラメータベクトルθ0が表す生起確率の下でλ回のサンプリングを行うことで、使用ルールセット60を生成する。ここで、使用ルールセット60に含まれる予測ルール50には、第1優先度として、候補ルールセット70からその予測ルール50がサンプリングされた回数に比例する生起確率を与えるとする。この生起確率を表すパラメータベクトルθは、以下の様に定式化される。
Figure JPOXMLDOC01-appb-M000002
 カウント c は、候補ルールセット70に含まれる予測ルール50の数に等しい長さのベクトルである。c の各要素は、対応する予測ルール50が候補ルールセット70からサンプリングされた回数を示す。パラメータベクトルθも、候補ルールセット70に含まれる予測ルール50の数に等しいベクトルである。ただし、θにおいて、候補ルールセット70からサンプリングされなかった(すなわち、使用ルールセット60に入れられなかった)予測ルール50についての生起確率は0となる。そのためベクトルθは、使用ルールセット60内の各予測ルール50に付与された生起確率を表すベクトルとも見ることができる。
 抽出部2040が使用ルールセット60から抽出する予測ルールを z と表記すると、パラメータベクトルθに従って z を抽出するという事象は、以下のように定式化できる。また、予測ルール z が抽出される確率の分布は、P(z|θ)と表記できる。
Figure JPOXMLDOC01-appb-M000003
 さらに、ニューラルネットワーク30が予測ルール z を抽出する確率の分布は P(z|x,w) と表記できる。x は入力データ10を表し、w はニューラルネットワーク30の重みベクトルを表す。前述したニューラルネットワーク30の詳細な具体例で言えば、P(z|x,w) は、アテンション a' を softmax 層で変換することで得られるベクトルで表される確率分布である。
 例えば抽出部2040は、P(z|x,w) と P(z|θ) とを混合することで得られる確率分布に従って、予測ルール50を抽出する。この混合により得られる確率分布は、以下の様に表すことができる。
Figure JPOXMLDOC01-appb-M000004
 ここで、集合 R は候補ルールセット70を表す。また、x は入力データを表し、y は帰結データを表す。
 このように2つのモデルが出力する確率分布の積を取って再度正規化する方法は、Product of experts (PoE) と呼ばれている。 モデルの出力の和を取る Mixture of Experts (MoE) に比べ、積を取る PoE では、両方のモデルで高く評価された予測ルール50が選択される。特に、カウント c がゼロである予測ルール50は、出現確率がゼロになるため、採択されることはなくなる。そのため、ニューラルネットワークに基づく確率の値がなんであろうとも、使用される予測ルール50の異なり数はλを超えることがない。このモデルは、元々のルールセット(候補ルールセット70)から、部分集合となる小規模なルールセット(使用ルールセット60)をサンプリングして、そのサンプリングされたルールセットからさらに予測ルール50を選んでいると見なすことができる。 
 上述した定式化の下で、使用ルールセット60の最適化とニューラルネットワーク30の最適化を並行して行う手法について説明する。この手法には、例えば、メトロポリス・ヘイスティングス法によってパラメータθの事後確率を近似する一般化 EM アルゴリズムを用いる。すなわち事後分布 p(θ|Y, X, w, θ0, λ) からθをサンプリングし、サンプリングされたθに基づいて w を更新する。ここで、X は訓練入力データ82をまとめた行列であり、i番目の行に i 番目の訓練入力データ xi を示す。また、Yは、訓練正解データ84をまとめた行列であり、i 番目の行に i 番目の訓練正解データ yi を示す。
 図11は、使用ルールセット60の最適化とニューラルネットワーク30の最適化を並行して行う手法を例示する図である。T は、図11に示す一連の処理の繰り返し回数を表すハイパーパラメータである。n は、訓練入力データ xi と訓練正解データ yi のペアの総数を表す。s は、サンプリングの数を定めるハイパーパラメータである。
 図11に示す手法では、後述する提案分布 g(θ'|θ) から新しいθ'をサンプリングし、以下の数式に示す採択確率 A に基づいて採択を決定する。すなわち、0から1の範囲の乱数が採択確率を下回れば採択し、それ以外は棄却する。
Figure JPOXMLDOC01-appb-M000005
 提案分布は、できるだけ採択確率が大きくなるような分布を設定することが望ましい。ここでは、以下のように提案を実現する。すなわち、多項分布から生成されたカウント c は出現数の合計がλである。この出現数から一様な確率 1/λ でカウントを1減少させる。そして、以下の数式(9)に示す確率 B で予測ルール z をひとつランダムに選んでカウント c に追加したカウント c' として、θ'=c'/λを得る。
Figure JPOXMLDOC01-appb-M000006
 この提案分布では、予測ルール50に予め与えられた第2優先度に基づく生起確率と、ニューラルネットワーク30の出力から得られる生起確率との積が大きい予測ルール50が追加される。そのため、一様ランダムに予測ルール50を選ぶよりも、前述した採択確率に基づく採択において採択される蓋然性が高くなる。
 採択されたサンプルの集合をΘとし て、以下の数式(10)で近似する負の対数尤度の期待値を損失として、バックプロパゲーションを行う(図11の11行目)。これにより、ニューラルネットワークの重 み w を更新する。 
Figure JPOXMLDOC01-appb-M000007
 図11の1行目から11行目までの処理により、ニューラルネットワークが最適化される。そののち、最大事後確率推定(MAP 推定)を用いて、θ(すなわち、使用ルールセット60)を点推定する。すなわち、サンプリングされたθのうち、負の対数尤度が最小にあるものを採用して、使用ルールセット60とする。
<ハードウエア構成の例>
 実施形態3の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図5によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の構成を組み合わせた構成や、上記以外の様々な構成を採用することもできる。

Claims (19)

  1.  入力データを取得する取得部と、
     ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、前記入力データに対応する前記予測ルールを抽出する抽出部と、を有し、
     前記予測ルールは、予測の根拠となる条件を示す条件データと、前記条件データが示す条件に基づく予測を表す帰結データとを対応づけており、
     前記抽出された予測ルールに基づく出力を行う出力部を有し、
     前記入力データに対応する前記予測ルールの前記条件データは、前記取得した入力データが満たす条件を示す、情報処理装置。
  2.  前記ニューラルネットワークは、前記使用ルールセットに含まれる各前記予測ルールについて、前記入力データに関する予測に利用する適切さの度合いを出力し、
     前記抽出部は、前記出力された適切さ度合いに基づいて、前記予測ルールの抽出を行う、請求項1に記載の情報処理装置。
  3.  前記抽出部は、
      前記出力された適切さ度合いが最大である前記予測ルールを抽出するか、又は、
      前記出力された適切さ度合いの大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、請求項2に記載の情報処理装置。
  4.  前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
     前記抽出部は、各前記予測ルールについて、前記出力された適切さ度合いと前記第1優先度との積を算出し、算出した積の大きさに基づいて、前記予測ルールの抽出を行う、請求項2に記載の情報処理装置。
  5.  前記抽出部は、
      前記算出された積が最大である前記予測ルールを抽出するか、又は、
      前記算出された積の大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、請求項4に記載の情報処理装置。
  6.  複数の前記予測ルールを含む候補ルールセットから一部の前記予測ルールを抽出し、抽出した複数の前記予測ルールを含む前記使用ルールセットを生成する生成部を有する、請求項1乃至5いずれか一項に記載の情報処理装置。
  7.  前記候補ルールセットにおいて、前記予測ルールには、前記候補ルールセットから抽出する優先度合いを表す第2優先度が与えられており、
     前記生成部は、
      前記第2優先度が高い予測ルールほど高い確率で前記候補ルールセットからサンプリングするサンプリング処理を複数回行い、少なくとも一回サンプリングされた各前記予測ルールを含む前記使用ルールセットを生成する、請求項6に記載の情報処理装置。
  8.  前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
     前記生成部は、前記予測ルールの第1優先度を、前記候補ルールセットからサンプリングされた回数が多いほど大きい値にする、請求項7に記載の情報処理装置。
  9.  前記ニューラルネットワークのパラメータを更新する訓練部を有し、
     前記訓練部は、訓練入力データ及び訓練正解データを取得し、
     前記ニューラルネットワークは、各前記予測ルールについて、前記訓練入力データに対応する予測ルールとして選択される確率の高さを表す値を出力し、
     前記訓練部は、各前記予測ルールについて出力された前記値と前記訓練正解データとを用いて予測損失を算出し、その予測損失が減少するように前記ニューラルネットワークのパラメータを更新する、請求項1乃至8いずれか一項に記載の情報処理装置。
  10.  コンピュータによって実行される制御方法であって、
     入力データを取得する取得ステップと、
     ニューラルネットワークを用いて、予測ルールを複数含む使用ルールセットの中から、前記入力データに対応する前記予測ルールを抽出する抽出ステップと、を有し、
     前記予測ルールは、予測の根拠となる条件を示す条件データと、前記条件データが示す条件に基づく予測を表す帰結データとを対応づけており、
     前記抽出された予測ルールに基づく出力を行う出力ステップを有し、
     前記入力データに対応する前記予測ルールの前記条件データは、前記取得した入力データが満たす条件を示す、制御方法。
  11.  前記ニューラルネットワークは、前記使用ルールセットに含まれる各前記予測ルールについて、前記入力データに関する予測に利用する適切さの度合いを出力し、
     前記抽出ステップにおいて、前記出力された適切さ度合いに基づいて、前記予測ルールの抽出を行う、請求項10に記載の制御方法。
  12.  前記抽出ステップにおいて、
      前記出力された適切さ度合いが最大である前記予測ルールを抽出するか、又は、
      前記出力された適切さ度合いの大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、請求項11に記載の制御方法。
  13.  前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
     前記抽出ステップにおいて、各前記予測ルールについて、前記出力された適切さ度合いと前記第1優先度との積を算出し、算出した積の大きさに基づいて、前記予測ルールの抽出を行う、請求項11に記載の制御方法。
  14.  前記抽出ステップにおいて、
      前記算出された積が最大である前記予測ルールを抽出するか、又は、
      前記算出された積の大きさに基づく確率分布に従って前記使用ルールセットから前記予測ルールをサンプリングすることで、前記予測ルールを抽出する、請求項13に記載の制御方法。
  15.  複数の前記予測ルールを含む候補ルールセットから一部の前記予測ルールを抽出し、抽出した複数の前記予測ルールを含む前記使用ルールセットを生成する生成ステップを有する、請求項10乃至14いずれか一項に記載の制御方法。
  16.  前記候補ルールセットにおいて、前記予測ルールには、前記候補ルールセットから抽出する優先度合いを表す第2優先度が与えられており、
     前記生成ステップにおいて、
      前記第2優先度が高い予測ルールほど高い確率で前記候補ルールセットからサンプリングするサンプリング処理を複数回行い、少なくとも一回サンプリングされた各前記予測ルールを含む前記使用ルールセットを生成する、請求項15に記載の制御方法。
  17.  前記使用ルールセットにおいて、前記予測ルールには、前記使用ルールセットから抽出する優先度合いを表す第1優先度が与えられており、
     前記生成ステップにおいて、前記予測ルールの第1優先度を、前記候補ルールセットからサンプリングされた回数が多いほど大きい値にする、請求項16に記載の制御方法。
  18.  前記ニューラルネットワークのパラメータを更新する訓練ステップを有し、
     前記訓練ステップにおいて、訓練入力データ及び訓練正解データを取得し、
     前記ニューラルネットワークは、各前記予測ルールについて、前記訓練入力データに対応する予測ルールとして選択される確率の高さを表す値を出力し、
     前記訓練ステップにおいて、各前記予測ルールについて出力された前記値と前記訓練正解データとを用いて予測損失を算出し、その予測損失が減少するように前記ニューラルネットワークのパラメータを更新する、請求項10乃至17いずれか一項に記載の制御方法。
  19.  請求項10乃至18いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
PCT/JP2018/020953 2018-05-31 2018-05-31 情報処理装置、制御方法、及びプログラム WO2019229931A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/058,809 US20210209447A1 (en) 2018-05-31 2018-05-31 Information processing apparatus, control method, and program
JP2020522504A JP7020547B2 (ja) 2018-05-31 2018-05-31 情報処理装置、制御方法、及びプログラム
PCT/JP2018/020953 WO2019229931A1 (ja) 2018-05-31 2018-05-31 情報処理装置、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/020953 WO2019229931A1 (ja) 2018-05-31 2018-05-31 情報処理装置、制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2019229931A1 true WO2019229931A1 (ja) 2019-12-05

Family

ID=68697988

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/020953 WO2019229931A1 (ja) 2018-05-31 2018-05-31 情報処理装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20210209447A1 (ja)
JP (1) JP7020547B2 (ja)
WO (1) WO2019229931A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7341387B2 (ja) 2020-07-30 2023-09-11 オムロン株式会社 モデル生成方法、探索プログラム及びモデル生成装置
JP7382633B2 (ja) 2019-12-05 2023-11-17 学校法人明治大学 学習モデル構築装置、学習モデル構築方法及びコンピュータプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210019635A1 (en) * 2019-07-15 2021-01-21 Ramot At Tel Aviv University Group specific decision tree
CN113935251B (zh) * 2021-12-17 2022-04-22 北京达佳互联信息技术有限公司 用户行为预测模型的生成方法、用户行为预测方法及装置
CN115599698B (zh) * 2022-11-30 2023-03-14 北京航空航天大学 一种基于类关联规则的软件缺陷预测方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002082807A (ja) * 2000-06-21 2002-03-22 Toshiba Corp 区間ルール抽出方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170109657A1 (en) * 2011-05-08 2017-04-20 Panaya Ltd. Machine Learning-Based Model for Identifying Executions of a Business Process
KR102044741B1 (ko) * 2014-05-19 2019-12-02 에피시스 사이언스, 인코포레이티드 동적 상황 인지 데이터에 기초하여 복수의 자율 이동 노드를 제어하기 위한 방법 및 장치
US10475144B2 (en) * 2016-02-26 2019-11-12 Microsoft Technology Licensing, Llc Presenting context-based guidance using electronic signs
CN107492099B (zh) * 2017-08-28 2021-08-20 京东方科技集团股份有限公司 医学图像分析方法、医学图像分析系统以及存储介质
US11150630B2 (en) * 2017-10-19 2021-10-19 International Business Machines Corporation Predictive maintenance utilizing supervised sequence rule mining
US10498688B2 (en) * 2018-04-25 2019-12-03 International Business Machines Corporation Prioritizing notifications on a mobile communications device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002082807A (ja) * 2000-06-21 2002-03-22 Toshiba Corp 区間ルール抽出方法及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JEREZ-ARAGONES, M, JOSE ET AL.: "A Combined Neural Network and Decision Trees Model for Prognosis of Breast Cancer Relapse", ARTIFICIAL INTELLIGENCE IN MEDICINE, vol. 27, 13 August 2018 (2018-08-13), pages 45 - 63, XP055663617, Retrieved from the Internet <URL:http://atarazanas.sci.uma.es/docs/tesisuma/16644013.pdf> *
NAKATA, MASAYA ET AL.: "Evolutionary rule-based machine learning: Evolving human-readable knowledge", SYSTEMS, CONTROL AND INFORMATION, vol. 60, no. 7, 15 July 2016 (2016-07-15), pages 16 - 21, ISSN: 0916-1600 *
RIBEIRO, T, MARCO ET AL.: "Why Should I Trust You?", EXPLAINING THE PREDICTIONS OF ANY CLASSIFIER, PROCEEDINGS OF THE 22ND ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING, 13 August 2016 (2016-08-13), pages 1135 - 1144, XP058276906, ISBN: 978-1-4503-4232-2, [retrieved on 20180813], DOI: 10.1145/2939672.2939778 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7382633B2 (ja) 2019-12-05 2023-11-17 学校法人明治大学 学習モデル構築装置、学習モデル構築方法及びコンピュータプログラム
JP7341387B2 (ja) 2020-07-30 2023-09-11 オムロン株式会社 モデル生成方法、探索プログラム及びモデル生成装置

Also Published As

Publication number Publication date
JPWO2019229931A1 (ja) 2021-06-03
JP7020547B2 (ja) 2022-02-16
US20210209447A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
WO2019229931A1 (ja) 情報処理装置、制御方法、及びプログラム
JP7120433B2 (ja) 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム
Shukla Neuro-genetic prediction of software development effort
Raissi et al. On parameter estimation approaches for predicting disease transmission through optimization, deep learning and statistical inference methods
Vadimovich et al. Self-adjusted evolutionary algorithms based approach for automated design of fuzzy logic systems
Semenkin et al. Fuzzy rule bases automated design with self-configuring evolutionary algorithm
US20210375441A1 (en) Using clinical notes for icu management
CN111612262A (zh) 一种基于分位数回归的风电功率概率预测方法
CN112000788B (zh) 一种数据处理方法、装置以及计算机可读存储介质
Wang et al. Patient admission prediction using a pruned fuzzy min–max neural network with rule extraction
CN115051929B (zh) 基于自监督目标感知神经网络的网络故障预测方法及装置
Blanquero et al. On optimal regression trees to detect critical intervals for multivariate functional data
WO2019167240A1 (ja) 情報処理装置、制御方法、及びプログラム
Mills et al. L2nas: Learning to optimize neural architectures via continuous-action reinforcement learning
JP6468653B2 (ja) 予測モデル構築装置
Ramu et al. A review on crop yield prediction using machine learning methods
de Sá et al. Towards a method for automatically evolving bayesian network classifiers
Xiang et al. Compressing Bayesian networks: Swarm-based descent, efficiency, and posterior accuracy
CN114548297A (zh) 基于领域自适应的数据分类方法、装置、设备及介质
Mala et al. Fuzzy rule based classification for heart dataset using fuzzy decision tree algorithm based on fuzzy RDBMS
Utkin et al. Uncertainty interpretation of the machine learning survival model predictions
JP6721036B2 (ja) 推論システム、推論方法、及び、プログラム
Kim et al. COVID-19 outbreak prediction using Seq2Seq+ Attention and Word2Vec keyword time series data
Titu et al. Acquiring businesss intelligence through data science: A practical approach
JP2020030702A (ja) 学習装置、学習方法及び学習プログラム

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: 18920280

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020522504

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18920280

Country of ref document: EP

Kind code of ref document: A1