WO2023127111A1 - 生成方法、生成プログラム、及び、情報処理装置 - Google Patents

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

Info

Publication number
WO2023127111A1
WO2023127111A1 PCT/JP2021/048834 JP2021048834W WO2023127111A1 WO 2023127111 A1 WO2023127111 A1 WO 2023127111A1 JP 2021048834 W JP2021048834 W JP 2021048834W WO 2023127111 A1 WO2023127111 A1 WO 2023127111A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
tree
distribution
distance
distances
Prior art date
Application number
PCT/JP2021/048834
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 PCT/JP2021/048834 priority Critical patent/WO2023127111A1/ja
Publication of WO2023127111A1 publication Critical patent/WO2023127111A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a generation method, a generation program, and an information processing device.
  • iF isolation Forest
  • iF uses a tree (iT: Isolation Tree) that separates (divides) multiple data into individual data based on variables in the data, and is an index that indicates the “likelihood of being outside the distribution” of each data in the distribution of multiple data.
  • iT Isolation Tree
  • Out-of-distribution data is data in a distribution different from (for example, deviated from) the distribution of a plurality of data (hereinafter sometimes referred to as "out-of-distribution data").
  • Machine learning algorithms are sometimes vulnerable to out-of-distribution data. For example, if out-of-distribution data is input to a machine learning model trained with a plurality of data having a predetermined distribution, the machine learning model may output an inappropriate decision result.
  • pseudo-generated out-of-distribution data (hereinafter sometimes referred to as "pseudo-out-of-distribution data”) are used to convert pseudo-out-of-distribution data into "out-of-distribution data It is conceivable to have a machine learning model learn that "is”. For example, it is assumed that an index indicating the likelihood of being out of distribution that can be obtained from iF is used to generate pseudo out-of-distribution data.
  • variable to be split in the data (which variable is to be split) and the threshold for splitting are determined randomly. may vary.
  • out-of-distribution data generated in a pseudo manner based on the index indicating the likelihood of being out-of-distribution becomes inappropriate (not appropriate) pseudo-out-of-distribution data for training a machine learning model, and the efficiency of generating out-of-distribution data decreases. there is a possibility.
  • one object of the present invention is to improve the efficiency of generating out-of-distribution data.
  • a computer may perform the following processes.
  • the processing is a plurality of trees that hierarchically classify a plurality of data belonging to a root node into nodes lower than the root node by a random threshold, and classified into leaf nodes among the plurality of nodes.
  • First data may be generated in a domain of any leaf node of the plurality of leaf nodes based on a first tree among the plurality of trees in which the number of data is equal to or less than a reference value.
  • the processing includes: a first distance from the root node to a leaf node in which the first data is generated; and one or more second distances from a root node of the second tree to a node of the second tree that includes the first data in a domain in each of the trees. is out-of-distribution data of the plurality of data.
  • the present invention can improve the efficiency of generating out-of-distribution data.
  • FIG. 4 is a diagram showing an example of data division by a tree
  • FIG. 3 is a diagram showing an example of representation in a tree format of the division shown in FIG. 2
  • FIG. 10 is a diagram showing another example of data division by a tree
  • FIG. 2 is a block diagram showing a hardware (HW) configuration example of a computer that implements the functions of the generation device according to one embodiment
  • HW hardware
  • FIG. 10 is a diagram showing an example of a histogram of distribution density of pl (Path Length);
  • FIG. 1 histogram of distribution density of pl
  • FIG. 10 is a diagram showing an example of derivation of depth d by distribution density estimation of pl;
  • FIG. 10 is a diagram showing an example of out-of-distribution data generated using a data generation tree;
  • FIG. 10 is a diagram showing an example of out-of-distribution data in the data evaluation tree;
  • 4 is a flowchart for explaining an example of operation of a generation device according to an embodiment;
  • FIG. 1 is a diagram for explaining an example of out-of-distribution data.
  • a machine learning model uses training data containing a plurality of data having a first distribution and a plurality of data having a second distribution to class # 1 with the discrimination boundary 101 as a boundary. and #2 are trained to separate.
  • class #1 is a classification corresponding to data belonging to the first distribution
  • class #2 is a classification corresponding to data belonging to the second distribution.
  • the machine learning algorithm determines that the data 102 is higher than the discriminant boundary 101 because the data 102 exists on the class #1 side. There is a possibility of classifying it into class #1 with confidence.
  • the data 102 is data for a cyber attack
  • the fact that the data 102 is classified into class #1 corresponds to the attack being overlooked.
  • the data 102 is "out-of-distribution data". It is conceivable to let a machine learning model learn that.
  • an iF method that divides a plurality of data into individual data using a tree (iT) is used.
  • FIG. 2 is a diagram showing an example of data division by a tree
  • FIG. 3 is a diagram showing an example of tree format representation of the division shown in FIG.
  • a tree is a tree in which a variable to be split (which variable is to be split) and a threshold for splitting are random.
  • x 1 and x 2 are selected as variables from the plurality of variables included in data 120 (see FIG. 3). shall be It is also assumed that a predetermined value (see reference numeral 111) in the variable x1 or x2 is selected as the threshold, as indicated by the dashed line.
  • iF selects a node, performs variable selection and threshold selection, and splits the selected node into multiple (e.g., two) nodes depending on the selected variables and thresholds. The procedure is repeated until each node contains one data (sample).
  • a node means a box in which data that satisfies a condition and is included in a tree is stored. In FIG. 2, it is a range delimited by a threshold 111 or an axis, and in FIG. 3, it is a square frame.
  • the initial state of a node may include all data 120 as shown in FIG.
  • iF includes multiple trees that hierarchically classify multiple data belonging to the root node into nodes lower than the root node using random thresholds.
  • the number of data classified into the terminal (lowest-order) leaf node among the plurality of nodes is equal to or less than the reference value.
  • the reference value is "1", but it is not limited to this and may be "2" or more.
  • iF selects a variable x2 and a threshold value of "0.4", and divides the node (root node) of all data 120 into a node containing data that satisfies x2 ⁇ "0.4", and a node containing x2 >" Split into nodes containing data that fills 0.4”. Also, iF selects a variable x 1 and a threshold "0.5" for a node containing data that satisfies x 2 ⁇ "0.4”, and divides the node into a node containing data that satisfies x 1 ⁇ "0.5" and x 1 >"0.5".
  • iF ends the division of the node 112 because there is only one data (data 113; see FIG. 2) in the node 112 including data that satisfies x 1 >“0.5”.
  • a node 112 that has finished splitting may be referred to as a leaf node.
  • iF proceeds with the division of nodes including data satisfying x 1 ⁇ “0.5” by a similar procedure, and divides them into leaf nodes such as node 114 . When the iF divides each of the total data 120 into leaf nodes, the process ends.
  • the iF may include, for example, a plurality of machine learning models that generate trees (hereinafter sometimes referred to as "tree models").
  • a tree model is a model for generating a tree by selecting variables and thresholds and repeating the process of dividing data (nodes) until all input data has been divided (reaches a leaf node).
  • iF contains multiple tree models that all select the same combination of variables (eg, two variables x 1 , x 2 ). Note that the number of variables may be three or more or one.
  • reference numeral 112 is a relatively "sparse” area.
  • the node splitting ends relatively early (the number of splits decreases), so it becomes a shallow leaf node, in other words, pl becomes relatively small.
  • reference numeral 114 is a relatively "dense” region. In a “dense” region, the node splitting ends relatively late (the number of splits increases), so it becomes a deep leaf node, in other words, pl becomes relatively large.
  • pl can be regarded as an example of an index that indicates the degree of out-of-distribution of each data in the distribution of all data 120 .
  • the server selects a node depth d that produces pseudo-out-of-distribution data.
  • the server randomly selects the tree in iF and one leaf node of depth d.
  • the server uniformly randomly generates data (samples) from the area (domain) of the selected leaf node.
  • a node with a small pl in other words, a node at a shallow position on the tree is a "sparse" region. This results in an extraneous (likely out-of-distribution) sample.
  • a node with a large pl in other words, a node at a deep position on the tree is a "dense" region. likely within the distribution).
  • the server can generate appropriate out-of-distribution data in steps (ii) and (iii) if it can select an appropriate depth d (in other words, a predetermined criterion) in step (i). can be done.
  • out-of-distribution data may be misclassified into in-distribution data classes, for example, by machine learning models trained without out-of-distribution data (using in-distribution data). It may refer to out-of-distribution data.
  • the generated out-of-distribution data is used to train the machine learning model.
  • a machine learning model can be trained to determine (classify) out-of-distribution data as out-of-distribution data using a data set in which determination of in-distribution and out-of-distribution is difficult.
  • iF is not supposed to specify the appropriate depth d, although it is possible to obtain the pl of individual nodes. For example, if the depth d is too large, the generated samples will fall within the distribution. On the other hand, if the depth d is too small, the generated samples will be out-of-distribution, but they are clearly out-of-distribution and are unsuitable samples for training a machine learning model.
  • iF utilizes multiple tree models in which both the selection of variables and the selection of thresholds are random. For this reason, pseudo-out-of-distribution data generated based on one tree may become inappropriate (not likely to be out-of-distribution) data in other multiple trees.
  • FIG. 4 is a diagram showing another example of dividing data by a tree. As shown in FIG. 4, the tree divides the data by the threshold 131 and the axis.
  • the index should be large.
  • the randomness of the split can cause an inversion between the value of pl and the likelihood of being out of the distribution.
  • the approach envisioned may make it difficult to choose an appropriate depth d based on the tree and/or to determine if the generated samples are reasonable. .
  • appropriate pseudo-out-of-distribution data An example of a technique for realizing the generation of is described. In the following, both methods of selecting an appropriate depth d and determining the validity of the pseudo-distribution data will be described. can generate pseudo-out-of-distribution data.
  • the generation device 1 may be various servers such as a virtual server (VM; Virtual Machine) or a physical server. Also, the functions of the generation device 1 may be realized by one computer, or may be realized by two or more computers. Furthermore, at least some of the functions of the generation device 1 may be realized using HW (Hardware) resources and NW (Network) resources provided by the cloud environment.
  • VM virtual server
  • NW Network
  • FIG. 5 is a block diagram showing a hardware (HW) configuration example of the computer 10 that implements the functions of the generation device 1 according to one embodiment.
  • HW hardware
  • the computer 10 exemplarily includes a processor 10a, a memory 10b, a storage unit 10c, an IF (Interface) unit 10d, an IO (Input/Output) unit 10e, and a reading unit 10f as an HW configuration. Be prepared.
  • the processor 10a is an example of an arithmetic processing device that performs various controls and operations.
  • the processor 10a may be communicatively connected to each block in the computer 10 via a bus 10i.
  • the processor 10a may be a multiprocessor including a plurality of processors, a multicore processor having a plurality of processor cores, or a configuration having a plurality of multicore processors.
  • Examples of the processor 10a include integrated circuits (ICs) such as CPUs, MPUs, GPUs, APUs, DSPs, ASICs, and FPGAs. A combination of two or more of these integrated circuits may be used as the processor 10a.
  • ICs integrated circuits
  • CPU is an abbreviation for Central Processing Unit
  • MPU is an abbreviation for Micro Processing Unit
  • GPU is an abbreviation for Graphics Processing Unit
  • APU is an abbreviation for Accelerated Processing Unit.
  • DSP is an abbreviation for Digital Signal Processor
  • ASIC is an abbreviation for Application Specific IC
  • FPGA is an abbreviation for Field-Programmable Gate Array.
  • the processor 10a includes a processing device such as a CPU that executes the generation processing and an accelerator that executes the machine learning processing. It may be a combination. Accelerators include, for example, the GPU, APU, DSP, ASIC, and FPGA described above.
  • the memory 10b is an example of HW that stores information such as various data and programs.
  • Examples of the memory 10b include one or both of a volatile memory such as a DRAM (Dynamic Random Access Memory) and a nonvolatile memory such as a PM (Persistent Memory).
  • a volatile memory such as a DRAM (Dynamic Random Access Memory)
  • a nonvolatile memory such as a PM (Persistent Memory).
  • the storage unit 10c is an example of HW that stores information such as various data and programs.
  • Examples of the storage unit 10c include magnetic disk devices such as HDDs (Hard Disk Drives), semiconductor drive devices such as SSDs (Solid State Drives), and various storage devices such as nonvolatile memories.
  • Examples of nonvolatile memory include flash memory, SCM (Storage Class Memory), ROM (Read Only Memory), and the like.
  • the storage unit 10c may store a program 10g (generating program) that implements all or part of the various functions of the computer 10.
  • the processor 10a of the generation device 1 expands the program 10g stored in the storage unit 10c into the memory 10b and executes it, thereby functioning as the generation device 1 (control unit 19 illustrated in FIG. 6), which will be described later. realizable.
  • the IF unit 10d is an example of a communication IF that controls connections and communications with various networks including networks between the generation device 1 and devices (not shown).
  • Examples of the device include a computer such as a user terminal or a server that provides data to the generation device 1, a computer such as a server that uses data output from the generation device 1 (for example, performs machine learning processing based on the data), and the like. mentioned.
  • the IF unit 10d may include an adapter conforming to LAN (Local Area Network) such as Ethernet (registered trademark), or optical communication such as FC (Fibre Channel).
  • the adapter may support one or both of wireless and wired communication methods.
  • program 10g may be downloaded from the network to the computer 10 via the communication IF and stored in the storage unit 10c.
  • the IO unit 10e may include one or both of an input device and an output device.
  • Input devices include, for example, a keyboard, a mouse, and a touch panel.
  • Examples of output devices include monitors, projectors, and printers.
  • the IO unit 10e may include a touch panel or the like in which an input device and a display device are integrated.
  • the reading unit 10f is an example of a reader that reads data and program information recorded on the recording medium 10h.
  • the reading unit 10f may include a connection terminal or device to which the recording medium 10h can be connected or inserted.
  • Examples of the reading unit 10f include an adapter conforming to USB (Universal Serial Bus), a drive device for accessing a recording disk, and a card reader for accessing flash memory such as an SD card.
  • the recording medium 10h may store the program 10g, or the reading unit 10f may read the program 10g from the recording medium 10h and store it in the storage unit 10c.
  • Examples of the recording medium 10h include non-temporary computer-readable recording media such as magnetic/optical disks and flash memory.
  • Examples of magnetic/optical discs include flexible discs, CDs (Compact Discs), DVDs (Digital Versatile Discs), Blu-ray discs, HVDs (Holographic Versatile Discs), and the like.
  • Examples of flash memories include semiconductor memories such as USB memories and SD cards.
  • HW in the computer 10 may be increased or decreased (for example, addition or deletion of arbitrary blocks), division, integration in arbitrary combinations, addition or deletion of buses, or the like may be performed as appropriate.
  • FIG. 6 is a block diagram showing an example of the functional configuration of the generation device 1 according to one embodiment.
  • the generation device 1 is an example of an information processing device or computer that generates (pseudo) out-of-distribution data.
  • the generation device 1 may adopt various techniques for acquiring an index indicating the degree of out-of-distribution likelihood of a plurality of data, and generate out-of-distribution data used for training a machine learning model.
  • the above-described iF Isolation Forest
  • the generation device 1 illustratively includes a memory unit 11, an acquisition unit 12, a statistical information generation unit 13, a parameter determination unit 14, a sample generation unit 15, a validity determination unit 16, and an output unit 17. Be prepared. Moreover, the generation device 1 may include a machine learning unit 18a, and may further include an inference processing unit 18b.
  • the acquisition unit 12, the statistical information generation unit 13, the parameter determination unit 14, the sample generation unit 15, the validity determination unit 16, and the output unit 17 (and the machine learning unit 18a and the inference processing unit 18b) are examples of the control unit 19. is.
  • the memory unit 11 is an example of a storage area, and stores various data used by the generation device 1.
  • the memory unit 11 may be realized by, for example, a storage area included in one or both of the memory 10b and the storage unit 10c shown in FIG.
  • the memory unit 11 may be able to store a plurality of data 11a, a plurality of tree models 11b, statistical information 11c, parameters 11d, and out-of-distribution data 11e, for example. Further, when the generation device 1 includes the machine learning unit 18a, the memory unit 11 may be capable of storing the machine learning model 11f. Furthermore, when the generation device 1 includes the inference processing unit 18b, the memory unit 11 may be capable of storing the inference result 11g. The memory unit 11 may store these pieces of information in various formats such as a DB (Database), table, or array.
  • DB Database
  • the acquisition unit 12 acquires various information used by the generation device 1 .
  • the acquisition unit 12 may receive a request to generate out-of-distribution data from a user's terminal or the like.
  • the acquisition unit 12 may acquire a plurality of data 11 a and an iF including a plurality of tree models 11 b from a device (not shown) that provides data, and store them in the memory unit 11 .
  • the plurality of data 11a may be included in the generation request.
  • a generation request may include a request to generate out-of-distribution data of a plurality of data 11a. Also, the generation request may specify, for example, the number of out-of-distribution data to be generated (predetermined number).
  • the data 11a is data including values of a plurality of attributes, and is an example of training data used for training a machine learning model, for example.
  • Each of the plurality of attributes may be associated with, for example, variables x 1 , x 2 , .
  • it is assumed that the plurality of data 11a does not include out-of-distribution data.
  • the tree model 11b is a trained machine learning model for generating a tree, for example iT (Isolation Tree).
  • the tree model 11b selects a variable and a threshold value, and repeats the process of dividing a plurality of input data (nodes) until all the input data has been divided (reaches a leaf node) to create a tree. Generate.
  • each of the plurality of tree models 11b has a method of dividing data, for example, a threshold value to be selected at random, while the variable to be selected is the same as each other.
  • each of the plurality of tree models 11b selects a variable to be compared with a threshold from two variables x 1 and x 2 out of the plurality of variables as variables specifying attributes included in the data 11a. be trained to do so.
  • the statistical information generation unit 13 generates statistical information 11c of an index indicating the likelihood of the data 11a being out of distribution in a predetermined tree obtained by dividing a plurality of data 11a into individual data 11a (nodes), and stores the statistical information 11c in the memory unit 11. .
  • pl Pulth Length
  • the given tree is an example of the first tree.
  • a first example of the statistical information 11c is the average value c(n) (n is an integer equal to or greater than 1) of pl in a predetermined tree.
  • the statistical information generation unit 13 may calculate the average value c(n) of pl using each pl of data 11a (nodes) included in a predetermined tree according to the following equation (1).
  • c(n) 2H(n-1)-(2(n-1)/n) (1)
  • n is the number of unique samples, for example the total number of data 11a included in a given tree.
  • a second example of the statistical information 11c is a histogram of the distribution density of pl in a given tree.
  • FIG. 7 is a diagram showing an example of a histogram of the distribution density of pl.
  • the statistical information generation unit 13 may calculate (generate) a histogram by totaling the frequency of appearance of pl values of a plurality of data 11a included in a predetermined tree.
  • the appearance frequency of the pl value includes, for example, the number of data 11a having the same pl value, or the ratio of the data 11a having the same pl value to the total number of data 11a.
  • the statistical information generating unit 13 generates pl values for each data 11a in a plurality of trees instead of the pl values of the plurality of data 11a included in a predetermined tree.
  • An average value (average value at iF) may be used.
  • the statistical information generator 13 may calculate the histogram using the average value of pl calculated for each data 11a.
  • the above formula (1) may be used as a method for calculating the average value of pl for each data 11a.
  • the parameter determination unit 14 determines the parameters 11d based on the statistical information 11c and stores them in the memory unit 11.
  • the parameter 11d includes, for example, the depth d (first distance) of nodes included in the tree.
  • the parameter determining unit 14 may determine one of the pls of the plurality of data 11a included in the predetermined tree as the depth d.
  • is a coefficient between "0" and "1".
  • “0.5” or the like.
  • int( ) is a function that outputs the largest integer that does not exceed the argument.
  • the parameter determination unit 14 uses an index that is easy for the user to understand, that is, the average value of pl multiplied by ⁇ (rounded down after the decimal point) to determine the appropriate depth d. It derives.
  • the parameter determination unit 14 may calculate the depth d using the cumulative density points of the histogram.
  • FIG. 8 is a diagram showing an example of deriving the depth d by estimating the distribution density of pl.
  • the parameter determining unit 14 may select the value of pl at the cumulative ⁇ % point in the pl distribution density histogram (see FIG. 7) as the depth d.
  • the value of pl at the cumulative ⁇ % point may mean, for example, the value of pl when the cumulative value of the appearance frequency of pl reaches ⁇ %.
  • the parameter determination unit 14 accumulates the appearance frequency of pl in ascending order of the value of pl, and sets "3", which is the value of pl when the cumulative value reaches ⁇ %, as the depth d. select. Note that the parameter determination unit 14 may accumulate the appearance frequencies of pl in descending order of the value of pl, and select the value of pl when the cumulative value reaches ⁇ %.
  • the parameter determination unit 14 selects an appropriate depth d using an index that is easy for the user to understand, namely, the selection of pl at the cumulative ⁇ % point based on the distribution density estimation of pl. It derives.
  • the sample generation unit 15 Based on the parameter 11d determined by the parameter determination unit 14, the sample generation unit 15 generates a sample in the domain of the node corresponding to the parameter 11d.
  • the sample generator 15 may select a node corresponding to the depth d indicated by the parameter 11d from a predetermined (first) tree, and specify the domain of the selected node.
  • the domain may be, for example, the variable range of nodes whose pl value matches depth d (nodes located at depth d).
  • the domain of a selected node is the range determined by the lower and upper values of variable x1 and the lower and upper values of variable x2 of that node.
  • the lower limit value and upper limit value of each variable can be specified by the threshold selected when dividing the plurality of data 11a by the tree model 11b.
  • the sample generation unit 15 uniformly and randomly generates out-of-distribution data (first data) as samples within the domain specified from the node.
  • the sample generating unit 15 may extract a combination of values of variables x1 and x2 in which the variable x1 is greater than or equal to the lower limit value and less than or equal to the upper limit value and the variable x2 is greater than or equal to the lower limit value and less than or equal to the upper limit value. It may be generated as data.
  • the validity determination unit 16 determines whether the out-of-distribution data generated by the sample generation unit 15 using a predetermined tree is valid out-of-distribution data.
  • the validity determination unit 16 may evaluate the validity of out-of-distribution data based on one or more (second) trees among the plurality of trees included in iF.
  • the one or more trees are trees other than the predetermined (first) tree used to generate the out-of-distribution data.
  • the first tree may be referred to as a "data generation tree”
  • each of the one or more second trees may be referred to as a "data evaluation tree”.
  • FIG. 9 is a diagram showing an example of out-of-distribution data generated using the data generation tree
  • FIG. 10 is a diagram showing an example of out-of-distribution data in the data evaluation tree.
  • the sample generation unit 15 generates out-of-distribution data 143 in a node 142 corresponding to depth d in a data generation tree including a plurality of leaf nodes separated by a threshold value 141 and an axis. Assume that you have generated
  • the validity determination unit 16 determines, for example, whether the values of the out-of-distribution data 143 (values of variables x1 and x2 ) correspond to leaf nodes at any depth (pl; second distance) in the data evaluation tree. determine whether to
  • the validity determination unit 16 may compare the average value of pl of the leaf nodes to which the out-of-distribution data 143 belongs in the data evaluation tree with the depth d of the parameter 11d.
  • the data evaluation tree includes multiple leaf nodes separated by thresholds 151 and axes. Due to the randomness of the division of the data 11a in each tree, the domain of each leaf node of the data evaluation tree differs from the domain of each leaf node of the data generation tree.
  • the out-of-distribution data 143 belongs to the node 152 in a domain different from the node 142 on the data generation tree.
  • the validity determination unit 16 acquires the pl of the node 152 to which the out-of-distribution data 143 belongs by comparing the value of the out-of-distribution data 143 with the domain of each node included in the data evaluation tree. For example, the validity determination unit 16 may acquire the pl of the node 152 to which the out-of-distribution data 143 belongs for each of one or more data evaluation trees.
  • the validity determination unit 16 calculates an average value of one or more pls respectively acquired from one or more data evaluation trees, and compares the calculated average value with the depth d. For example, the validity determination unit 16 may determine whether or not the difference between the calculated average value and the depth d is equal to or greater than the threshold value ⁇ .
  • the above formula (1) may be used, for example.
  • the threshold ⁇ is an integer equal to or greater than "1", and may be a value such as "3" as an example.
  • the out-of-distribution data 143 generated based on the depth d from the data generation tree is data of inappropriate depth in other trees. You can say that. For example, if the depth d is greater than the average value by ⁇ or more, the out-of-distribution data 143 is likely to be in-distribution in one or more data evaluation trees. Further, when the depth d is smaller than the average value by ⁇ or more, the out-of-distribution data 143 is out-of-distribution in one or more data evaluation trees, but it is clearly out-of-distribution, and training of the machine learning model It is an inappropriate sample for
  • the validity determination unit 16 determines that the out-of-distribution data generated by the sample generation unit 15 is inappropriate data (not valid data). ) can be determined.
  • the validity determination unit 16 determines that the out-of-distribution data generated by the sample generation unit 15 is appropriate (appropriate) out-of-distribution data. It may be determined that there is, and stored in the memory unit 11 as the out-of-distribution data 11e.
  • the validity determination unit 16 may, for example, instruct the sample generation unit 15 to generate new (other) out-of-distribution data.
  • the sample generation unit 15, in response to the generation instruction from the validity determination unit 16, identifies a node located at the depth d included in the data generation tree, and uniformly distributes random distributions in the domain of the node. External data (second data) may be generated.
  • the validity determination unit 16 may perform the above-described validity evaluation each time the sample generation unit 15 generates out-of-distribution data.
  • the sample generation unit 15 selects the first data as a node for generating the second data in the domain. You may select a node different from the node generated in .
  • the sample generation unit 15 may generate out-of-distribution data in the domain of each of the plurality of nodes. good.
  • the validity determination unit 16 may perform the validity evaluation described above for each of the plurality of out-of-distribution data generated by the sample generation unit 15 .
  • the output unit 17 outputs output data.
  • An example of the output data is the non-distribution data 11e determined to be appropriate (appropriate) by the validity determining unit 16, for example.
  • the output data may include a plurality of data 11a in addition to the out-of-distribution data 11e.
  • the output data may include one or both of a machine learning model 11f and an inference result 11g, which will be described later.
  • the output unit 17 may transmit (provide) the output data to another computer (not shown), accumulate the output data in the memory unit 11, and may be managed so as to be obtainable from any computer.
  • the output unit 17 may output information indicating the output data to an output device such as the generation device 1 on the screen, or may output the output data in various other modes.
  • the generation device 1 may include the machine learning unit 18a, and may further include the inference processing unit 18b.
  • the machine learning unit 18a executes machine learning processing for training the machine learning model 11f based on training data including a plurality of data 11a and out-of-distribution data 11e.
  • the machine learning model 11f may be an NN (Neural Network) model including machine-learned parameters.
  • Machine learning processing may be implemented by various known techniques. For example, the machine learning unit 18a learns that the out-of-distribution data 11e is "out-of-distribution data" in the machine learning model 11f by using the artificially generated out-of-distribution data 11e for training the machine learning model 11f. can be made
  • the inference processing unit 18b performs inference processing using a machine learning model 11f trained based on the out-of-distribution data 11e. For example, the inference processing unit 18b inputs target data (not shown) for inference processing to the machine learning model 11f and stores in the memory unit 11 the inference result 11g output from the machine learning model 11f.
  • FIG. 11 is a flowchart illustrating an operation example of the generating device 1 according to one embodiment. It is assumed that the generating device 1 holds trained iFs (a plurality of tree models 11b) in the memory unit 11 in advance.
  • the acquisition unit 12 of the generation device 1 receives a request to generate non-distribution data 11e. Also, the acquiring unit 12 acquires a plurality of data 11a (step S1).
  • the statistical information generation unit 13 inputs the data sets of the plurality of data 11a to each of the plurality of tree models 11b to generate a plurality of trees (iT) (step S2).
  • the statistical information generation unit 13 selects one of the plurality of generated trees as a data generation tree, and generates statistical information 11c based on the data generation tree (step S3).
  • the parameter determination unit 14 calculates the depth d of the node in the data generation tree as the parameter 11d based on the statistical information 11c (step S4).
  • the sample generation unit 15 uniformly and randomly generates samples (out-of-distribution data 11e) in the domain of the node of depth d in the data generation tree (step S5).
  • the validity determination unit 16 acquires the depth pl of the node to which the sample generated in step S5 belongs in each of the one or more data evaluation trees other than the data generation tree among the plurality of trees, and An average value of the depth pl between trees is calculated (step S6).
  • the validity determination unit 16 determines whether the absolute value of the difference between the depth d and the calculated average value of pl is greater than or equal to the threshold value ⁇ (step S7).
  • step S7 If the absolute value of the difference is greater than or equal to the threshold ⁇ (YES in step S7), the validity determination unit 16 discards the sample generated in step S5 (step S8), and the process proceeds to step S5.
  • the sample generator 15 uniformly and randomly generates samples (non-distribution data 11e) in the domain of the node of depth d in the data generation tree. If there are multiple nodes of depth d in the data generation tree, the sample generator 15 may select a node different from the node from which samples were previously generated.
  • step S7 when the absolute value of the difference is less than the threshold value ⁇ (NO in step S7), the validity determination unit 16 stores the sample generated in step S5 in the memory unit 11 as the out-of-distribution data 11e (step S9).
  • the validity determination unit 16 determines whether or not the number of out-of-distribution data 11e has reached a predetermined number, for example, the number of generation specified in the generation request (step S10). If the number of out-of-distribution data 11e has not reached the predetermined number (NO in step S10), the process proceeds to step S5.
  • step S10 When the number of out-of-distribution data 11e reaches a predetermined number (YES in step S10), the process proceeds to step S11.
  • step S11 the output unit 17 outputs the generated out-of-distribution data 11e, and the process ends.
  • the control unit 19 generates a sample ( out-of-distribution data).
  • the control unit 19 based on the pl (depth d) of the sample in the data generation tree and one or more pl of the node including the sample in the domain in each of the one or more data evaluation trees, The validity of the sample being data outside the distribution of the plurality of data 11a is determined.
  • the generation device 1 can ensure that samples generated at depth d in the data generation tree are plausible data at depth d in the data evaluation tree. Therefore, the generation efficiency of the out-of-distribution data by the generation device 1 can be improved.
  • control unit 19 determines one of the plurality of distances based on the statistical information 11c of the plurality of distances (pl) from the root node of the data generation tree to the plurality of leaf nodes. Choose a depth d.
  • the generating device 1 can derive the appropriate depth d of the node used to generate the out-of-distribution data 11e. Therefore, the generation efficiency of the out-of-distribution data by the generation device 1 can be improved.
  • iF may be used to generate out-of-distribution data 11e.
  • iF is applicable to various tabular data.
  • tree-based algorithms do not require preprocessing of data, such as encoding of nominal variables, normalization, and the like. Therefore, it is possible to expand the types of data to which the out-of-distribution data 11e generation method can be applied, rather than other density estimation methods such as kernel density estimation.
  • the acquisition unit 12, the statistical information generation unit 13, the parameter determination unit 14, the sample generation unit 15, the validity determination unit 16, and the output unit 17 (and the machine learning unit 18a and the inference processing unit) included in the generation device 1 shown in FIG. 18b) may be merged in any combination or split respectively.
  • the generation device 1 shown in FIG. 6 may be a configuration (system) in which a plurality of devices cooperate with each other via a network to realize each processing function.
  • the memory unit 11 is a DB server
  • the acquisition unit 12 and the output unit 17 are Web servers or application servers
  • the statistical information generation unit 13 the parameter determination unit 14, the sample generation unit 15, the validity determination unit 16, and the machine learning unit 18a.
  • the inference processing unit 18b may be an application server or the like.
  • the DB server, application server, and web server may cooperate with each other via a network to realize each processing function of the generation device 1 .
  • 1 generation device 10 computer 11 memory unit 11a data 11b tree model 11c statistical information 11d parameter 11e out-of-distribution data 11f machine learning model 11g inference result 12 acquisition unit 13 statistical information generation unit 14 parameter determination unit 15 sample generation unit 16 validity determination unit 17 output unit 18a machine learning unit 18b inference processing unit 19 control unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

コンピュータが、ルートノードに属する複数のデータをランダムな閾値により前記ルートノードよりも下位のノードに階層的に分類する複数のツリーであって、複数の前記ノードのうちのリーフノードに分類されるデータ数が基準値以下である前記複数のツリーのうちの第1のツリーに基づき、複数の前記リーフノードのうちのいずれかのリーフノードの定義域に第1のデータを生成し、前記ルートノードから前記第1のデータが生成されたリーフノードまでの第1の距離と、前記複数のツリーのうちの前記第1のツリーとは異なる1以上の第2のツリーの各々における、前記第2のツリーのルートノードから前記第1のデータを定義域に含む前記第2のツリーのノードまでの1以上の第2の距離と、に基づき、前記第1のデータが前記複数のデータの分布外のデータであることの妥当性を判定する、処理を実行する。

Description

生成方法、生成プログラム、及び、情報処理装置
 本発明は、生成方法、生成プログラム、及び、情報処理装置に関する。
 複数のデータから異常データを検出する異常検出アルゴリズムの1つとして、iF(Isolation Forest)が知られている。
 iFは、データ内の変数に基づき複数のデータを個々のデータに分離(分割)するツリー(iT:Isolation Tree)を利用し、複数のデータの分布における各データの「分布外らしさ」を示す指標を取得する手法である。分布外のデータは、複数のデータの分布とは異なる(例えば乖離した)分布のデータ(以下、「分布外データ」と表記する場合がある)である。
国際公開第2021-095101号パンフレット
 機械学習アルゴリズムは、分布外データに対して脆弱である場合がある。例えば、所定の分布である複数のデータによって訓練された機械学習モデルに分布外データが入力されると、機械学習モデルから適切でない判定結果が出力される可能性がある。
 機械学習アルゴリズムの誤判定を抑制するために、擬似的に生成した分布外データ(以下、「疑似分布外データ」と表記する場合がある)を用いて、疑似分布外データが「分布外のデータである」ことを機械学習モデルに学習させることが考えられる。例えば、疑似分布外データの生成に、iFから取得できる分布外らしさを示す指標を用いることを想定する。
 しかし、iFでは、データにおける分割対象の変数(どの変数を分割するか)、及び、分割の閾値がそれぞれにランダムに決定されるため、分布外らしさを示す指標が、同じデータであってもツリーごとに異なる場合がある。このため、分布外らしさを示す指標に基づき擬似的に生成した分布外データが、機械学習モデルの訓練に不適切な(妥当ではない)疑似分布外データとなり、分布外データの生成効率が低下する可能性がある。
 1つの側面では、本発明は、分布外データの生成効率を向上させることを目的の1つとする。
 1つの側面では、生成方法は、コンピュータが、以下の処理を実行してよい。前記処理は、ルートノードに属する複数のデータをランダムな閾値により前記ルートノードよりも下位のノードに階層的に分類する複数のツリーであって、複数の前記ノードのうちのリーフノードに分類されるデータ数が基準値以下である前記複数のツリーのうちの第1のツリーに基づき、複数の前記リーフノードのうちのいずれかのリーフノードの定義域に第1のデータを生成してよい。また、前記処理は、前記ルートノードから前記第1のデータが生成されたリーフノードまでの第1の距離と、前記複数のツリーのうちの前記第1のツリーとは異なる1以上の第2のツリーの各々における、前記第2のツリーのルートノードから前記第1のデータを定義域に含む前記第2のツリーのノードまでの1以上の第2の距離と、に基づき、前記第1のデータが前記複数のデータの分布外のデータであることの妥当性を判定してよい。
 1つの側面では、本発明は、分布外データの生成効率を向上させることができる。
分布外データの一例を説明するための図である。 ツリーによるデータの分割例を示す図である。 図2に示す分割のツリー形式の表現例を示す図である。 ツリーによるデータの他の分割例を示す図である。 一実施形態に係る生成装置の機能を実現するコンピュータのハードウェア(HW)構成例を示すブロック図である。 一実施形態に係る生成装置の機能構成例を示すブロック図である。 pl(Path Length)の分布密度のヒストグラムの一例を示す図である。 plの分布密度推定による深さdの導出例を示す図である。 データ生成用ツリーを用いて生成された分布外データの一例を示す図である。 データ評価用ツリーにおける分布外データの一例を示す図である。 一実施形態に係る生成装置の動作例を説明するフローチャートである。
 以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形又は技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
 〔1〕一実施形態
 〔1-1〕分布外データの説明
 図1は、分布外データの一例を説明するための図である。図1に示すように、機械学習モデルが、第1の分布を有する複数のデータと、第2の分布を有する複数のデータとを含む訓練データを用いて、判別境界101を境にクラス#1及び#2を分離するように訓練された場合を想定する。なお、クラス#1は、第1の分布に属するデータに対応する分類であり、クラス#2は、第2の分布に属するデータに対応する分類である。
 機械学習アルゴリズムは、例えば、訓練データには含まれない領域のサンプル(分布外データ102)が入力されると、データ102が判別境界101よりもクラス#1側に存在するため、データ102を高い確信度でクラス#1に分類する可能性がある。
 仮に、データ102がサイバー攻撃のためのデータである場合、データ102がクラス#1に分類されることは、攻撃が見逃されたことに相当する。このような攻撃の見逃しを防止するために、例えば、データ102のような分布外データを擬似的に生成して機械学習モデルの訓練を行なうことで、データ102が「分布外のデータである」ことを機械学習モデルに学習させることが考えられる。
 一実施形態では、分布外データを生成するための手法として、ツリー(iT)により複数のデータを個々のデータに分割するiFの手法を利用するものとする。
 図2は、ツリーによるデータの分割例を示す図であり、図3は、図2に示す分割のツリー形式の表現例を示す図である。
 ツリーは、分割する対象となる変数(どの変数を分割するか)、及び、分割の閾値をランダムとするツリーである。一実施形態では、図2に例示するように、変数として、データ120(図3参照)に含まれる複数の変数のうちの、x及びx(それぞれ横軸及び縦軸参照)が選択されるものとする。また、閾値として、破線で示すように、変数x又はxにおける所定の値(符号111参照)が選択されるものとする。
 例えば、図3に示すように、iFは、ノードを選択し、変数の選択及び閾値の選択を行ない、選択したノードを選択した変数及び閾値に応じて複数(例えば2つ)のノードに分割する手順を、各ノードに含まれるデータ(サンプル)が1つになるまで繰り返す。ノードは、ツリーに含まれる、条件を満たすデータが格納されるボックス(箱)を意味し、図2では閾値111又は軸により区切られる範囲であり、図3では四角枠である。ノードの初期状態は、図3に示すように全データ120を含んでよい。
 このように、iFは、ルートノードに属する複数のデータをランダムな閾値によりルートノードよりも下位のノードに階層的に分類する複数のツリーを含む。また、複数のノードのうちの末端(最下位)のリーフノードに分類されるデータ数は、基準値以下となる。一実施形態では、基準値は“1”であるものとするが、これに限定されるものではなく、“2”以上であってもよい。
 図3の例では、iFは、変数x及び閾値“0.4”を選択し、全データ120のノード(ルートノード)を、x≦“0.4”を満たすデータを含むノードと、x>“0.4”を満たすデータを含むノードとに分割する。また、iFは、x≦“0.4”を満たすデータを含むノードについて、変数x及び閾値“0.5”を選択し、当該ノードを、x≦“0.5”を満たすデータを含むノードと、x>“0.5”を満たすデータを含むノード112とに分割する。
 iFは、x>“0.5”を満たすデータを含むノード112に存在するデータが1つ(データ113;図2参照)になったため、ノード112の分割を終了する。分割が終了したノード112は、リーフノードと称されてよい。iFは、同様の手順によって、x≦“0.5”を満たすデータを含むノードについても分割を進め、ノード114等のリーフノードに分割する。iFは、全データ120のそれぞれをリーフノードに分割すると、処理を終了する。
 iFは、例えば、ツリーを生成する機械学習モデル(以下、「ツリーモデル」と表記する場合がある)を複数含んでよい。ツリーモデルは、変数及び閾値を選択し、データ(ノード)を分割する処理を、入力される全データの分割が終わる(リーフノードに達する)まで繰り返すことでツリーを生成するためのモデルである。一実施形態では、iFが含む複数のツリーモデルは、いずれも同じ変数の同じ組み合わせ(一例として、2つの変数x、x)を選択するものとする。なお、変数は3つ以上又は1つであってもよい。
 iFにおいて、ルートノードからリーフノードに到達するまでに通過するノード(ルートノードを含む)の数、換言すれば、ルートノードからリーフノードまでの距離を、pl(Path Length)又は“リーフノードの深さ”という。図3の例では、リーフノード112はpl=“2”であり、リーフノード114はpl=“4”である。
 例えば、図2において、符号112は比較的「疎」な領域である。「疎」な領域は、ノードの分割が比較的早期に終了する(分割回数が少なくなる)ため、浅いリーフノードとなる、換言すればplが比較的小さくなる。一方、符号114は比較的「密」な領域である。「密」な領域は、ノードの分割が比較的遅くに終了する(分割回数が多くなる)ため、深いリーフノードとなる、換言すればplが比較的大きくなる。
 このように、plは、全データ120の分布における各データの分布外らしさを示す指標の一例と捉えることができる。
 ここで、疑似分布外データを生成するコンピュータ、例えばサーバに、iFを利用して疑似分布外データを生成させることを考える。疑似分布外データの生成手法としては、例えば以下の(i)~(iii)の手順が想定される。
 (i)サーバは、疑似分布外データを生成するノードの深さdを選択する。
 (ii)サーバは、iF内のツリーと、深さdのリーフノードを1つランダムに選択する。
 (iii)サーバは、選択したリーフノードの領域(定義域)から一様ランダムにデータ(サンプル)を生成する。
 上述したように、plが小さいノード、換言すれば、ツリー上で浅い位置のノードは、「疎」な領域であるため、深さdが小さいノードに一様ランダムに生成されるデータは、分布外らしい(分布外である可能性が高い)サンプルとなる。一方、plが大きいノード、換言すれば、ツリー上で深い位置のノードは、「密」な領域であるため、深さdが大きいノードに一様ランダムに生成されるデータは、分布内らしい(分布内である可能性が高い)サンプルとなる。
 従って、サーバは、手順(i)において、適切な深さd(換言すれば、所定の基準)を選択することができれば、手順(ii)及び(iii)において適切な分布外データを生成することができる。
 なお、適切な分布外データとは、例えば、分布外データを利用せずに(分布内のデータを利用して)訓練された機械学習モデルにより、分布内のデータのクラスに誤って分類され得る分布外のデータを意味してよい。生成された分布外データは、当該機械学習モデルの訓練に利用される。これにより、分布内及び分布外の判定が困難なデータセットを利用して、分布外データが分布外のデータであると判定(分類)するように機械学習モデルを訓練することができる。
 しかしながら、iFは、個々のノードのplを取得することは可能であるが、適切な深さdを特定することは想定されていない。例えば、深さdが大き過ぎる場合、生成されるサンプルは分布内になる。一方、深さdが小さ過ぎる場合、生成されるサンプルは分布外になるものの、分布外であることが明らかであり、機械学習モデルの訓練に不適切なサンプルとなる。
 また、上述したように、iFは、変数の選択及び閾値の選択がいずれもランダムな複数のツリーモデルを利用する。このため、或るツリーに基づき生成された疑似分布外データが、他の複数のツリーにおいては不適切な(分布外らしいとはいえない)データになる可能性がある。
 図4は、ツリーによるデータの他の分割例を示す図である。図4に示すように、ツリーでは、閾値131及び軸によりデータが分割される。
 図4の例において、閾値131及び軸で区切られるノード(領域)132はpl=“3”であり、ノード(領域)133はpl=“4”であるものとする。plの値と分布外らしさとの関係によれば、pl=“3”のノード132に生成されるサンプルは、pl=“4”のノード133に生成されるサンプルよりも、分布外らしさを示す指標が大きいはずである。しかし、図4に例示するように、分割のランダム性により、plの値と分布外らしさとの間に逆転が生じることがある。
 このように、想定される手法では、ツリーに基づき適切な深さdを選択すること、及び、生成されたサンプルが妥当であるかを判断すること、の一方又は双方が困難になる場合がある。
 そこで、一実施形態では、適切な深さdの選択、及び、選択した深さdのノードに生成される疑似分布外データの妥当性の判定を可能とすることで、適切な疑似分布外データの生成を実現する手法の一例を説明する。なお、以下では、適切な深さdの選択、及び、疑似分布外データの妥当性の判定の双方の手法を説明するが、いずれか一方の実施によっても、上述した想定される手法よりも適切な疑似分布外データを生成することができる。
 〔1-2〕一実施形態の構成例
 以下、疑似分布外データを生成する生成装置1(図6参照)を例に挙げて説明する。
 〔1-2-1〕ハードウェア構成例
 一実施形態に係る生成装置1は、種々のサーバ、例えば、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、生成装置1の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、生成装置1の機能のうちの少なくとも一部は、クラウド環境により提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。
 図5は、一実施形態に係る生成装置1の機能を実現するコンピュータ10のハードウェア(HW)構成例を示すブロック図である。生成装置1の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図5に例示するHW構成を備えてよい。
 図5に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、メモリ10b、記憶部10c、IF(Interface)部10d、IO(Input / Output)部10e、及び読取部10fを備えてよい。
 プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10iで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
 プロセッサ10aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC;Integrated Circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
 例えば、生成装置1が一実施形態に係る生成処理に加えて、機械学習処理を実行する場合、プロセッサ10aは、生成処理を実行するCPU等の処理装置と、機械学習処理を実行するアクセラレータとの組み合わせであってよい。アクセラレータとしては、例えば、上述したGPU、APU、DSP、ASIC又はFPGA等が挙げられる。
 メモリ10bは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10bとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。
 記憶部10cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10cとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
 記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10g(生成プログラム)を格納してよい。
 例えば、生成装置1のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、後述する生成装置1(図6に例示する制御部19)としての機能を実現できる。
 IF部10dは、生成装置1と図示しない装置との間のネットワークを含む種々のネットワークとの間の接続及び通信の制御等を行なう通信IFの一例である。装置としては、例えば、生成装置1にデータを提供するユーザ端末又はサーバ等のコンピュータ、生成装置1から出力されるデータを利用する(例えばデータに基づき機械学習処理を行なう)サーバ等のコンピュータ等が挙げられる。
 例えば、IF部10dは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。
 なお、プログラム10gは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10cに格納されてもよい。
 IO部10eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。また、IO部10eは、入力装置及び表示装置が一体となったタッチパネル等を含んでもよい。
 読取部10fは、記録媒体10hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、記録媒体10hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10hにはプログラム10gが格納されてもよく、読取部10fが記録媒体10hからプログラム10gを読み出して記憶部10cに格納してもよい。
 記録媒体10hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
 上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
 〔1-2-2〕機能構成例
 図6は、一実施形態に係る生成装置1の機能構成例を示すブロック図である。生成装置1は、(疑似)分布外データを生成する情報処理装置又はコンピュータの一例である。
 例えば、生成装置1は、複数のデータの分布外らしさを示す指標を取得するための種々の手法を採用して、機械学習モデルの訓練に利用される分布外データを生成してよい。一実施形態では、複数のデータの分布外らしさを示す指標を取得する手法の一例として、上述したiF(Isolation Forest)が利用されてよい。
 図6に示すように、生成装置1は、例示的に、メモリ部11、取得部12、統計情報生成部13、パラメータ決定部14、サンプル生成部15、妥当性判定部16及び出力部17を備えてよい。また、生成装置1は、機械学習部18aを備えてもよく、さらに、推論処理部18bを備えてもよい。取得部12、統計情報生成部13、パラメータ決定部14、サンプル生成部15、妥当性判定部16及び出力部17(、並びに、機械学習部18a及び推論処理部18b)は、制御部19の一例である。
 メモリ部11は、記憶領域の一例であり、生成装置1が利用する種々のデータを記憶する。メモリ部11は、例えば、図5に示すメモリ10b及び記憶部10cのうちの一方又は双方が有する記憶領域により実現されてもよい。
 図6に示すように、メモリ部11は、例示的に、複数のデータ11a、複数のツリーモデル11b、統計情報11c、パラメータ11d及び分布外データ11eを記憶可能であってよい。また、生成装置1が機械学習部18aを備える場合、メモリ部11は、機械学習モデル11fを記憶可能であってもよい。さらに、生成装置1が推論処理部18bを備える場合、メモリ部11は、推論結果11gを記憶可能であってもよい。メモリ部11は、これらの情報を、例えば、DB(Database)、テーブル又は配列等の種々の形式で記憶してよい。
 取得部12は、生成装置1で利用される種々の情報を取得する。例えば、取得部12は、ユーザの端末等から分布外データの生成要求を受信してよい。
 また、取得部12は、データを提供する装置(図示省略)から、複数のデータ11aと、複数のツリーモデル11bを含むiFとを取得し、メモリ部11に格納してよい。なお、複数のデータ11aは、生成要求に含まれてもよい。
 生成要求は、複数のデータ11aの分布外データを生成することの要求を含んでよい。また、生成要求は、例えば、分布外データの生成数(所定数)を指定してもよい。
 データ11aは、複数の属性の値を含むデータであり、例えば、機械学習モデルの訓練に利用される訓練データの一例である。複数の属性のそれぞれは、例えば、変数x、x、・・・、x(mは2以上の整数)に対応付けられてよい。一実施形態において、複数のデータ11aには、分布外データが含まれていないものとする。
 ツリーモデル11bは、ツリー、例えばiT(Isolation Tree)を生成するための訓練済み機械学習モデルである。ツリーモデル11bは、例えば、変数及び閾値を選択し、入力される複数のデータ(ノード)を分割する処理を、入力される全データの分割が終わる(リーフノードに達する)まで繰り返すことでツリーを生成する。
 一実施形態では、複数のツリーモデル11bの各々は、データの分割の手法、例えば選択する閾値が互いにランダムである一方、選択する変数は、互いに同一であるものとする。一例として、複数のツリーモデル11bの各々は、データ11aに含まれる属性を特定する変数として、複数の変数のうちのx及びxの2つの変数の中から、閾値と比較する変数を選択するように訓練されたものとする。
 統計情報生成部13は、複数のデータ11aを個々のデータ11a(ノード)に分割した所定のツリーにおける、データ11aの分布外らしさを示す指標の統計情報11cを生成し、メモリ部11に格納する。データ11aの分布外らしさを示す指標としては、例えば、pl(Path Length)が用いられてよい。所定のツリーは、第1のツリーの一例である。
 統計情報11cの第1の例としては、所定のツリーにおけるplの平均値c(n)(nは1以上の整数)が挙げられる。例えば、統計情報生成部13は、下記式(1)に従い、所定のツリーに含まれるデータ11a(ノード)の各々のplを用いてplの平均値c(n)を算出してよい。
  c(n)=2H(n-1)-(2(n-1)/n)      (1)
 上記式(1)において、nは、ユニークなサンプル数であり、例えば所定のツリーに含まれるデータ11aの総数である。H(i)(iは引数。i=n-1)は、自然対数ln(i)と、オイラーの定数(例えば“0.5772156649”)との和である。
 統計情報11cの第2の例としては、所定のツリーにおけるplの分布密度のヒストグラムが挙げられる。
 図7は、plの分布密度のヒストグラムの一例を示す図である。図7に示すように、統計情報生成部13は、所定のツリーに含まれる複数のデータ11aのplの値の出現頻度を集計することで、ヒストグラムを算出(生成)してよい。plの値の出現頻度としては、例えば、plの値が共通するデータ11aの個数、又は、データ11aの総数に対する、plの値が共通するデータ11aの割合等が挙げられる。
 なお、統計情報生成部13は、統計情報11cの第2の例の変形例として、所定のツリーに含まれる複数のデータ11aのplの値に代えて、複数のツリーにおけるデータ11aごとのplの値の平均値(iFでの平均値)を利用してもよい。この場合、統計情報生成部13は、データ11aごとに算出したplの平均値を用いてヒストグラムを算出してもよい。なお、データ11aごとのplの平均値の算出手法としては、例えば、上記式(1)が用いられてもよい。
 パラメータ決定部14は、統計情報11cに基づきパラメータ11dを決定し、メモリ部11に格納する。パラメータ11dとしては、例えば、ツリーに含まれるノードの深さd(第1の距離)が挙げられる。
 例えば、パラメータ決定部14は、統計情報11cに基づき、所定のツリーに含まれる複数のデータ11aのplの中からいずれかのplを深さdとして決定してよい。
 第1の例として、統計情報11cが平均値c(n)である場合、パラメータ決定部14は、下記式(2)に従い、深さdを算出してよい。
  d=int(αc(n))                 (2)
 上記式(2)において、αは“0”以上“1”以下の係数である。一例として、α=“0.5”等であってよい。また、int()は、引数を超えない最大の整数を出力する関数である。
 このように、第1の例では、パラメータ決定部14は、平均的なplの数値のα倍(小数点以下切り捨て)という、ユーザにとって理解が容易な指標を利用して、適切な深さdを導出するのである。
 第2の例として、統計情報11cがヒストグラムである場合、パラメータ決定部14は、ヒストグラムの密度の累積点を利用して、深さdを算出してよい。
 図8は、plの分布密度推定による深さdの導出例を示す図である。図8に示すように、パラメータ決定部14は、plの分布密度のヒストグラム(図7参照)における累積β%点のplの値を、深さdとして選択してよい。βは、“0”以上“100”以下の係数である。一例として、β=“20”等であってよい。
 累積β%点のplの値は、例えば、plの出現頻度の累積値がβ%に達するときのplの値を意味してよい。図8の例では、パラメータ決定部14は、値が小さいplから順に、plの出現頻度を累積し、累積値がβ%に達したときのplの値である“3”を深さdとして選択する。なお、パラメータ決定部14は、値が大きいplから順に、plの出現頻度を累積し、累積値がβ%に達したときのplの値を選択してもよい。
 このように、第2の例では、パラメータ決定部14は、plの分布密度推定による累積β%点のplの選択という、ユーザにとって理解が容易な指標を利用して、適切な深さdを導出するのである。
 サンプル生成部15は、パラメータ決定部14が決定したパラメータ11dに基づき、パラメータ11dに応じたノードの定義域にサンプルを生成する。
 例えば、サンプル生成部15は、所定の(第1の)ツリーから、パラメータ11dが示す深さdに応じたノードを選択し、選択したノードの定義域を特定してよい。定義域とは、例えば、plの値が深さdと一致するノード(深さdに位置するノード)の変数の範囲であってよい。一例として、選択したノードの定義域は、当該ノードの変数xの下限値及び上限値、並びに、変数xの下限値及び上限値により決定される範囲である。各変数の下限値及び上限値は、ツリーモデル11bによる複数のデータ11aの分割の際に選択された閾値により特定可能である。
 そして、サンプル生成部15は、ノードから特定した定義域の範囲内に、一様ランダムにサンプルとなる分布外データ(第1のデータ)を生成する。一例として、サンプル生成部15は、変数xが下限値以上且つ上限値以下であり、変数xが下限値以上且つ上限値以下である変数x及びxの値の組み合わせを、分布外データとして生成してよい。
 妥当性判定部16は、サンプル生成部15により所定のツリーを用いて生成された分布外データが妥当な分布外のデータであるか否かを判定する。
 例えば、妥当性判定部16は、iFに含まれる複数のツリーのうちの1以上の(第2の)ツリーに基づき、分布外データの妥当性を評価してよい。当該1以上のツリーは、分布外データの生成に用いられた所定の(第1の)ツリー以外のツリーである。以下、第1のツリーを「データ生成用ツリー」と表記し、1以上の第2のツリーの各々を「データ評価用ツリー」と表記する場合がある。
 図9は、データ生成用ツリーを用いて生成された分布外データの一例を示す図であり、図10は、データ評価用ツリーにおける分布外データの一例を示す図である。
 以下、サンプル生成部15が、図9に例示するように、閾値141及び軸により区切られた複数のリーフノードを含むデータ生成用ツリーにおいて、深さdに相当するノード142に分布外データ143を生成した場合を想定する。
 妥当性判定部16は、例えば、当該分布外データ143の値(変数x及びxの値)が、データ評価用ツリーにおけるいずれの深さ(pl;第2の距離)のリーフノードに対応するかを判定する。
 一例として、妥当性判定部16は、データ評価用ツリーにおいて分布外データ143が属するリーフノードのplの平均値と、パラメータ11dの深さdとを比較してよい。
 図10の例では、データ評価用ツリーは、閾値151及び軸により区切られた複数のリーフノードを含む。各ツリーにおけるデータ11aの分割のランダム性により、データ評価用ツリーの各リーフノードの定義域は、データ生成用ツリーの各リーフノードの定義域とは異なる。
 このため、データ評価用ツリーに分布外データ143をマッピングすると、分布外データ143は、データ生成用ツリー上のノード142とは異なる定義域のノード152に属することになる。
 例えば、妥当性判定部16は、分布外データ143の値と、データ評価用ツリーに含まれる各ノードの定義域とを比較することで、分布外データ143が属するノード152のplを取得する。例えば、妥当性判定部16は、1以上のデータ評価用ツリーのそれぞれについて、分布外データ143が属するノード152のplを取得してよい。
 そして、妥当性判定部16は、例えば、1以上のデータ評価用ツリーからそれぞれ取得した1以上のplの平均値を算出し、算出した平均値と深さdとを比較する。例えば、妥当性判定部16は、算出した平均値と深さdとの差分が閾値γ以上であるか否かを判定してよい。なお、1以上のplの平均値の算出手法としては、例えば、上記式(1)が用いられてもよい。閾値γは、“1”以上の整数であり、一例として“3”等の値であってよい。
 算出した平均値と深さdとの差分が閾値γ以上である場合、データ生成用ツリーから深さdに基づき生成された分布外データ143は、他のツリーにおいては不適切な深さのデータであるといえる。例えば、深さdが平均値よりもγ以上大きい場合、分布外データ143は、1以上のデータ評価用ツリーにおいて分布内となる可能性が高い。また、深さdが平均値よりもγ以上小さい場合、分布外データ143は、1以上のデータ評価用ツリーにおいて分布外になるものの、分布外であることが明らかであり、機械学習モデルの訓練に不適切なサンプルとなる。
 そこで、妥当性判定部16は、算出した平均値と深さdとの差分が閾値γ以上である場合、サンプル生成部15により生成された分布外データが不適切なデータである(妥当ではない)と判定してよい。一方、算出した平均値と深さdとの差分が閾値γ未満である場合、妥当性判定部16は、サンプル生成部15により生成された分布外データが適切(妥当)な分布外のデータであると判定し、分布外データ11eとしてメモリ部11に保存してよい。
 分布外データが不適切なデータであると判定した場合、妥当性判定部16は、例えば、サンプル生成部15に対して、新たな(他の)分布外データの生成を指示してよい。サンプル生成部15は、妥当性判定部16からの生成の指示に応じて、データ生成用ツリーに含まれる、深さdに位置するノードを特定し、当該ノードの定義域に一様ランダムな分布外データ(第2のデータ)を生成してよい。妥当性判定部16は、サンプル生成部15により分布外データが生成される都度、上述した妥当性の評価を行なってよい。
 データ生成用ツリー内に、パラメータ11dが示す深さdに位置するノードが複数存在する場合、サンプル生成部15は、第2のデータを定義域に生成するノードとして、第1のデータを定義域に生成したノードとは異なるノードを選択してもよい。
 なお、データ生成用ツリー内に、パラメータ11dが示す深さdに位置するノードが複数存在する場合、サンプル生成部15は、当該複数のノードのそれぞれの定義域に分布外データを生成してもよい。この場合、妥当性判定部16は、サンプル生成部15が生成した複数の分布外データのそれぞれに対して上述した妥当性の評価を行なってもよい。
 出力部17は、出力データを出力する。出力データの一例としては、例えば、妥当性判定部16により適切(妥当)であると判定された分布外データ11eが挙げられる。また、出力データは、分布外データ11eに加えて、複数のデータ11aを含んでもよい。さらに、出力データは、後述する機械学習モデル11f及び推論結果11gの一方又は双方を含んでもよい。
 出力部17は、出力データの「出力」において、例えば、出力データを図示しない他のコンピュータに送信(提供)してもよいし、出力データをメモリ部11に蓄積して、生成装置1又は他のコンピュータから取得可能に管理してもよい。或いは、出力部17は、出力データの「出力」において、出力データを示す情報を生成装置1等の出力装置に画面出力してもよく、その他の種々の態様により出力データを出力してよい。
 上述のように、生成装置1は、機械学習部18aを備えてもよく、さらに、推論処理部18bを備えてもよい。
 機械学習部18aは、機械学習フェーズにおいて、複数のデータ11aと分布外データ11eとを含む訓練データに基づいて、機械学習モデル11fを訓練する機械学習処理を実行する。機械学習モデル11fは、機械学習済パラメータを含むNN(Neural Network)モデルであってよい。機械学習処理は、既知の種々の手法により実現されてよい。例えば、機械学習部18aは、擬似的に生成した分布外データ11eを機械学習モデル11fの訓練に用いることで、分布外データ11eが「分布外のデータである」ことを機械学習モデル11fに学習させることができる。
 推論処理部18bは、推論フェーズにおいて、分布外データ11eに基づき訓練された機械学習モデル11fを用いて、推論処理を行なう。例えば、推論処理部18bは、機械学習モデル11fに推論処理の対象データ(図示省略)を入力し、機械学習モデル11fから出力された推論結果11gをメモリ部11に格納する。
 〔1-3〕動作例
 次に、一実施形態に係る生成装置1の動作例を説明する。図11は、一実施形態に係る生成装置1の動作例を説明するフローチャートである。なお、生成装置1は、訓練済みのiF(複数のツリーモデル11b)を予めメモリ部11に保持しているものとする。
 図11に例示するように、生成装置1の取得部12は、分布外データ11eの生成要求を受信する。また、取得部12は、複数のデータ11aを取得する(ステップS1)。
 統計情報生成部13は、複数のデータ11aのデータセットを複数のツリーモデル11bのそれぞれに入力し、複数のツリー(iT)を生成する(ステップS2)。
 統計情報生成部13は、生成した複数のツリーのうちの1つをデータ生成用ツリーとして選択し、データ生成用ツリーに基づき統計情報11cを生成する(ステップS3)。
 パラメータ決定部14は、統計情報11cに基づき、データ生成用ツリーにおけるノードの深さdをパラメータ11dとして算出する(ステップS4)。
 サンプル生成部15は、データ生成用ツリーにおける深さdのノードの定義域に、一様ランダムにサンプル(分布外データ11e)を生成する(ステップS5)。
 妥当性判定部16は、複数のツリーのうちの、データ生成用ツリー以外の1以上のデータ評価用ツリーのそれぞれにおいて、ステップS5で生成されたサンプルが属するノードの深さplを取得し、当該ツリー間の深さplの平均値を算出する(ステップS6)。
 妥当性判定部16は、深さdと、算出したplの平均値との差分の絶対値が、閾値γ以上か否かを判定する(ステップS7)。
 差分の絶対値が閾値γ以上である場合(ステップS7でYES)、妥当性判定部16は、ステップS5で生成されたサンプルを破棄し(ステップS8)、処理がステップS5に移行する。この場合、ステップS5では、サンプル生成部15は、データ生成用ツリーにおける深さdのノードの定義域に、一様ランダムにサンプル(分布外データ11e)を生成する。データ生成用ツリーに深さdのノードが複数存在する場合、サンプル生成部15は、以前にサンプルを生成したノードとは異なるノードを選択してもよい。
 ステップS7において、差分の絶対値が閾値γ未満である場合(ステップS7でNO)、妥当性判定部16は、ステップS5で生成されたサンプルを分布外データ11eとしてメモリ部11に保存する(ステップS9)。
 そして、妥当性判定部16は、分布外データ11eの数が、所定数、例えば生成要求で指定された生成数に達したか否かを判定する(ステップS10)。分布外データ11eの数が所定数に達していない場合(ステップS10でNO)、処理がステップS5に移行する。
 分布外データ11eの数が所定数に達した場合(ステップS10でYES)、処理がステップS11に移行する。
 ステップS11では、出力部17は、生成された分布外データ11eを出力し、処理が終了する。
 〔1-4〕一実施形態の効果
 一実施形態に係る生成装置1では、制御部19は、データ生成用ツリーに基づき、複数のリーフノードのうちのいずれかのリーフノードの定義域にサンプル(分布外データ)を生成する。また、制御部19は、データ生成用ツリーにおけるサンプルのpl(深さd)と、1以上のデータ評価用ツリーの各々における、サンプルを定義域に含むノードの1以上のplと、に基づき、サンプルが複数のデータ11aの分布外のデータであることの妥当性を判定する。
 これにより、生成装置1は、データ生成用ツリーにおいて深さdで生成されたサンプルが、データ評価用ツリーにおいて、尤もらしく深さdのデータであることを保証することができる。従って、生成装置1による分布外データの生成効率を向上させることができる。
 また、一実施形態に係る生成装置1では、制御部19は、データ生成用ツリーのルートノードから複数のリーフノードまでの複数の距離(pl)の統計情報11cに基づき、複数の距離のうちの深さdを選択する。
 これにより、生成装置1は、分布外データ11eの生成に用いるノードの適切な深さdを導出することができる。従って、生成装置1による分布外データの生成効率を向上させることができる。
 さらに、一実施形態では、分布外データ11eの生成にiFを用いてよい。iFは、種々の表形式データに適用可能である。また、ツリー系のアルゴリズムは、データの前処理、例えば名義変数のエンコード処理、正規化処理等が不要である。このため、カーネル密度推定等の他の密度推定手法よりも、分布外データ11eの生成手法を適用可能なデータの種類を拡張することができる。
 〔2〕その他
 上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
 例えば、図6に示す生成装置1が備える取得部12、統計情報生成部13、パラメータ決定部14、サンプル生成部15、妥当性判定部16及び出力部17(並びに機械学習部18a及び推論処理部18b)は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
 また、図6に示す生成装置1は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成(システム)であってもよい。一例として、メモリ部11はDBサーバ、取得部12及び出力部17はWebサーバ又はアプリケーションサーバ、統計情報生成部13、パラメータ決定部14、サンプル生成部15、妥当性判定部16、機械学習部18a及び推論処理部18bはアプリケーションサーバ等であってもよい。この場合、DBサーバ、アプリケーションサーバ及びwebサーバが、ネットワークを介して互いに連携することにより、生成装置1としての各処理機能を実現してもよい。
 1  生成装置
 10  コンピュータ
 11  メモリ部
 11a  データ
 11b  ツリーモデル
 11c  統計情報
 11d  パラメータ
 11e  分布外データ
 11f  機械学習モデル
 11g  推論結果
 12  取得部
 13  統計情報生成部
 14  パラメータ決定部
 15  サンプル生成部
 16  妥当性判定部
 17  出力部
 18a  機械学習部
 18b  推論処理部
 19  制御部

Claims (18)

  1.  ルートノードに属する複数のデータをランダムな閾値により前記ルートノードよりも下位のノードに階層的に分類する複数のツリーであって、複数の前記ノードのうちのリーフノードに分類されるデータ数が基準値以下である前記複数のツリーのうちの第1のツリーに基づき、複数の前記リーフノードのうちのいずれかのリーフノードの定義域に第1のデータを生成し、
     前記ルートノードから前記第1のデータが生成されたリーフノードまでの第1の距離と、前記複数のツリーのうちの前記第1のツリーとは異なる1以上の第2のツリーの各々における、前記第2のツリーのルートノードから前記第1のデータを定義域に含む前記第2のツリーのノードまでの1以上の第2の距離と、に基づき、前記第1のデータが前記複数のデータの分布外のデータであることの妥当性を判定する、
    処理をコンピュータが実行する、生成方法。
  2.  前記妥当性を判定する処理は、前記第1の距離と、前記1以上の第2の距離の平均値との差分が閾値未満である場合、前記第1のデータが前記分布外のデータであることが妥当であると判定し、前記差分が閾値以上である場合、前記第1のデータが前記分布外のデータであることが妥当ではないと判定する処理を含む、
    請求項1に記載の生成方法。
  3.  前記妥当性を判定する処理において、前記第1のデータが前記分布外のデータであることが妥当ではないと判定した場合、前記第1のツリーの前記第1の距離に応じたリーフノードの定義域に、前記第1のデータとは異なる第2のデータを生成し、
     前記第2のデータが前記複数のデータの分布外のデータであることの妥当性を判定する、
    処理を前記コンピュータが実行する、請求項1又は請求項2に記載の生成方法。
  4.  前記第1のツリーのルートノードから前記第1のツリーの前記複数のリーフノードまでの複数の距離の統計情報に基づき、前記複数の距離のうちの前記第1の距離を選択する、
    処理を前記コンピュータが実行する、請求項1~請求項3のいずれか1項に記載の生成方法。
  5.  前記統計情報は、前記第1のツリーにおける前記複数の距離の平均値であり、
     前記第1の距離を選択する処理は、前記複数の距離の平均値に基づき前記第1の距離を算出する処理を含む、
    請求項4に記載の生成方法。
  6.  前記統計情報は、前記第1のツリーにおける前記複数の距離の分布密度のヒストグラムであり、
     前記第1の距離を選択する処理は、前記ヒストグラムにおける距離の出現頻度の累積値が所定の値に達したときの出現頻度に対応する距離を前記第1の距離とする処理を含む、
    請求項4に記載の生成方法。
  7.  ルートノードに属する複数のデータをランダムな閾値により前記ルートノードよりも下位のノードに階層的に分類する複数のツリーであって、複数の前記ノードのうちのリーフノードに分類されるデータ数が基準値以下である前記複数のツリーのうちの第1のツリーに基づき、複数の前記リーフノードのうちのいずれかのリーフノードの定義域に第1のデータを生成し、
     前記ルートノードから前記第1のデータが生成されたリーフノードまでの第1の距離と、前記複数のツリーのうちの前記第1のツリーとは異なる1以上の第2のツリーの各々における、前記第2のツリーのルートノードから前記第1のデータを定義域に含む前記第2のツリーのノードまでの1以上の第2の距離と、に基づき、前記第1のデータが前記複数のデータの分布外のデータであることの妥当性を判定する、
    処理をコンピュータに実行させる、生成プログラム。
  8.  前記妥当性を判定する処理は、前記第1の距離と、前記1以上の第2の距離の平均値との差分が閾値未満である場合、前記第1のデータが前記分布外のデータであることが妥当であると判定し、前記差分が閾値以上である場合、前記第1のデータが前記分布外のデータであることが妥当ではないと判定する処理を含む、
    請求項7に記載の生成プログラム。
  9.  前記妥当性を判定する処理において、前記第1のデータが前記分布外のデータであることが妥当ではないと判定した場合、前記第1のツリーの前記第1の距離に応じたリーフノードの定義域に、前記第1のデータとは異なる第2のデータを生成し、
     前記第2のデータが前記複数のデータの分布外のデータであることの妥当性を判定する、
    処理を前記コンピュータに実行させる、請求項7又は請求項8に記載の生成プログラム。
  10.  前記第1のツリーのルートノードから前記第1のツリーの前記複数のリーフノードまでの複数の距離の統計情報に基づき、前記複数の距離のうちの前記第1の距離を選択する、
    処理を前記コンピュータに実行させる、請求項7~請求項9のいずれか1項に記載の生成プログラム。
  11.  前記統計情報は、前記第1のツリーにおける前記複数の距離の平均値であり、
     前記第1の距離を選択する処理は、前記複数の距離の平均値に基づき前記第1の距離を算出する処理を含む、
    請求項10に記載の生成プログラム。
  12.  前記統計情報は、前記第1のツリーにおける前記複数の距離の分布密度のヒストグラムであり、
     前記第1の距離を選択する処理は、前記ヒストグラムにおける距離の出現頻度の累積値が所定の値に達したときの出現頻度に対応する距離を前記第1の距離とする処理を含む、
    請求項10に記載の生成プログラム。
  13.  ルートノードに属する複数のデータをランダムな閾値により前記ルートノードよりも下位のノードに階層的に分類する複数のツリーであって、複数の前記ノードのうちのリーフノードに分類されるデータ数が基準値以下である前記複数のツリーのうちの第1のツリーに基づき、複数の前記リーフノードのうちのいずれかのリーフノードの定義域に第1のデータを生成し、
     前記ルートノードから前記第1のデータが生成されたリーフノードまでの第1の距離と、前記複数のツリーのうちの前記第1のツリーとは異なる1以上の第2のツリーの各々における、前記第2のツリーのルートノードから前記第1のデータを定義域に含む前記第2のツリーのノードまでの1以上の第2の距離と、に基づき、前記第1のデータが前記複数のデータの分布外のデータであることの妥当性を判定する、
    制御部を備える、情報処理装置。
  14.  前記制御部は、前記妥当性を判定する処理において、前記第1の距離と、前記1以上の第2の距離の平均値との差分が閾値未満である場合、前記第1のデータが前記分布外のデータであることが妥当であると判定し、前記差分が閾値以上である場合、前記第1のデータが前記分布外のデータであることが妥当ではないと判定する、
    請求項13に記載の情報処理装置。
  15.  前記制御部は、
     前記妥当性を判定する処理において、前記第1のデータが前記分布外のデータであることが妥当ではないと判定した場合、前記第1のツリーの前記第1の距離に応じたリーフノードの定義域に、前記第1のデータとは異なる第2のデータを生成し、
     前記第2のデータが前記複数のデータの分布外のデータであることの妥当性を判定する、
    請求項13又は請求項14に記載の情報処理装置。
  16.  前記制御部は、前記第1のツリーのルートノードから前記第1のツリーの前記複数のリーフノードまでの複数の距離の統計情報に基づき、前記複数の距離のうちの前記第1の距離を選択する、
    請求項13~請求項15のいずれか1項に記載の情報処理装置。
  17.  前記統計情報は、前記第1のツリーにおける前記複数の距離の平均値であり、
     前記制御部は、前記第1の距離を選択する処理において、前記複数の距離の平均値に基づき前記第1の距離を算出する、
    請求項16に記載の情報処理装置。
  18.  前記統計情報は、前記第1のツリーにおける前記複数の距離の分布密度のヒストグラムであり、
     前記制御部は、前記第1の距離を選択する処理において、前記ヒストグラムにおける距離の出現頻度の累積値が所定の値に達したときの出現頻度に対応する距離を前記第1の距離とする、
    請求項16に記載の情報処理装置。
     
PCT/JP2021/048834 2021-12-28 2021-12-28 生成方法、生成プログラム、及び、情報処理装置 WO2023127111A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/048834 WO2023127111A1 (ja) 2021-12-28 2021-12-28 生成方法、生成プログラム、及び、情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/048834 WO2023127111A1 (ja) 2021-12-28 2021-12-28 生成方法、生成プログラム、及び、情報処理装置

Publications (1)

Publication Number Publication Date
WO2023127111A1 true WO2023127111A1 (ja) 2023-07-06

Family

ID=86998384

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/048834 WO2023127111A1 (ja) 2021-12-28 2021-12-28 生成方法、生成プログラム、及び、情報処理装置

Country Status (1)

Country Link
WO (1) WO2023127111A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018105320A1 (ja) * 2016-12-06 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置、情報処理方法及びプログラム
JP2020003846A (ja) * 2018-06-25 2020-01-09 アズビル株式会社 判別ラベル付与支援装置および判別ラベル付与支援方法
WO2021095101A1 (ja) 2019-11-11 2021-05-20 日本電信電話株式会社 学習装置、検知装置、学習方法、及び異常検知方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018105320A1 (ja) * 2016-12-06 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置、情報処理方法及びプログラム
JP2020003846A (ja) * 2018-06-25 2020-01-09 アズビル株式会社 判別ラベル付与支援装置および判別ラベル付与支援方法
WO2021095101A1 (ja) 2019-11-11 2021-05-20 日本電信電話株式会社 学習装置、検知装置、学習方法、及び異常検知方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FEI TONY LIU, KAI MING TING, ZHI-HUA ZHOU: "Isolation-Based Anomaly Detection", ACM TRANSACTIONS ON KNOWLEDGE DISCOVERY FROM DATA (TKDD), ASSOCIATION FOR COMPUTING MACHINERY, INC., US, vol. 6, no. 1, 1 March 2012 (2012-03-01), US , pages 1 - 39, XP055567946, ISSN: 1556-4681, DOI: 10.1145/2133360.2133363 *
TAKAHASHI, RYOTA ET AL.: "Improving Precision of Anomaly Detection for In-Vehicle Security Using Sand Sprinkled Isolation Forest", PROCEEDINGS OF THE 2017 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 24 January 2017 (2017-01-24), pages 1 - 6, XP009547643 *

Similar Documents

Publication Publication Date Title
Dieker et al. Exact simulation of Brown-Resnick random fields at a finite number of locations
WO2018179765A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体
JP2020508522A (ja) 監視されていないクロスドメイン画像生成のための周期的敵対的生成ネットワーク
US11165790B2 (en) Malicious communication log detection device, malicious communication log detection method, and malicious communication log detection program
US9276821B2 (en) Graphical representation of classification of workloads
CN110493262B (zh) 一种改进分类的网络攻击检测方法及系统
JP7047498B2 (ja) 学習プログラム、学習方法および学習装置
US9251460B2 (en) Guiding metaheuristic to search for best of worst
US11403550B2 (en) Classifier
US20150371150A1 (en) Analysis device, analysis method, and program
JP2017004123A (ja) 判定装置、判定方法および判定プログラム
CN110855648A (zh) 一种网络攻击的预警控制方法及装置
Mostaeen et al. Clonecognition: machine learning based code clone validation tool
EP4060572A1 (en) Computer-implemented method for accelerating convergence in the training of generative adversarial networks (gan) to generate synthetic network traffic, and computer programs of same
US20190166142A1 (en) Method for analysing cyber threat intelligence data and apparatus thereof
CN114417095A (zh) 一种数据集划分方法及装置
WO2023127111A1 (ja) 生成方法、生成プログラム、及び、情報処理装置
Zhang et al. Evasion attacks based on wasserstein generative adversarial network
US20210248847A1 (en) Storage medium storing anomaly detection program, anomaly detection method, and anomaly detection apparatus
TW201903631A (zh) 資料流的分群方法和裝置
JP7283583B2 (ja) 制御方法、制御プログラム、及び情報処理装置
KR102225820B1 (ko) 악성코드 분석용 머신러닝을 위한 하이브리드 피처 벡터 생성 장치 및 방법
JP7103987B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN110276050B (zh) 对高维向量相似性比较的方法及装置
KR102046249B1 (ko) 머신러닝 기반 악성코드 탐지를 위한 특성선정 방법 및 이를 수행하기 위한 기록매체 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023570591

Country of ref document: JP

Kind code of ref document: A