WO2020013726A1 - Способ интерпретации искусственных нейронных сетей - Google Patents
Способ интерпретации искусственных нейронных сетей Download PDFInfo
- Publication number
- WO2020013726A1 WO2020013726A1 PCT/RU2018/000462 RU2018000462W WO2020013726A1 WO 2020013726 A1 WO2020013726 A1 WO 2020013726A1 RU 2018000462 W RU2018000462 W RU 2018000462W WO 2020013726 A1 WO2020013726 A1 WO 2020013726A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- neural network
- decision tree
- artificial neural
- decision
- trees
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000003066 decision tree Methods 0.000 claims abstract description 97
- 230000004044 response Effects 0.000 claims abstract description 5
- 230000004913 activation Effects 0.000 claims description 24
- 238000009826 distribution Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 13
- 230000006872 improvement Effects 0.000 abstract description 2
- 230000003213 activating effect Effects 0.000 abstract 1
- 238000012549 training Methods 0.000 description 24
- 238000001994 activation Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 210000000887 face Anatomy 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000004821 distillation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000037308 hair color Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008555 neuronal activation Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
Definitions
- One of the disadvantages of artificial neural networks is the complexity of meaningful interpretation, including the difficulty of substantiating neuronal activation.
- the problems of interpretability lead to a decrease in the value of the obtained results of the operation of an artificial neural network.
- the internal presentation of learning outcomes is often so complex that it cannot be analyzed even by an expert in the prior art, except for some simple cases that are usually not of interest.
- the technical task set in this technical solution is to present the decision rules of the neural network in the form of easily interpreted logical expressions.
- the indicated technical result is achieved due to the implementation of a method for interpreting artificial neural networks, in which at least one artificial neural network is previously trained on a set of objects; next, at least one decision tree is formed for each layer of the trained neural network, and the decision tree receives as input data the activation of the corresponding layer obtained when passing through the neural network of the object from the existing data set; Predict by means of decision trees the answer that the trained artificial neural network gives out on this object; then, for each object, an ordered sequence of leaf numbers generated at the previous step of decision trees is obtained; then form a set of rules that predicts the sequence of leaf numbers for the object.
- the cross-entropy between the class distribution predicted by it and the distribution returned by the classifier is used as a measure of the quality of the decision tree.
- the mean square error or absolute error between the answer predicted by him and the response returned by the classifier is used as a measure of the quality of the decision tree.
- decision trees are constructed independently of each other. [0012] In some embodiments of the invention, decision trees are constructed depending on each other based on a boosting algorithm.
- decision trees are constructed depending on each other by adding information about leaf numbers from trees built on previous layers to the input of the next layer tree.
- XGBoost XGBoost
- AdaBoost LPBoost
- TotalBoost Boost
- BrownBoost MadaBoost
- LogitBoost LogitBoost
- a decision tree is generated for each layer of a trained neural network based on the CLS algorithm, or SW, or C4.5, or CART, or IndCART, or DB-CART, or CHAID, or MARS.
- a decision tree is formed based on minimizing the error functional for all objects that are input.
- an initial feature description for an artificial neural network or a description of an object with a modified set of features is supplied to the decision tree.
- the leaves are numbered in each decision tree.
- an ordered sequence of leaf numbers is generated by a layer number in a neural network.
- FIG. 1 is a flow chart of a method for interpreting artificial neural networks.
- FIG. 2 shows an embodiment of an object falling into a decision tree when the object falls into one of the leaves of the tree;
- FIG. Figure 3 shows an implementation option for the formation of decision trees for each ANN layer and the resulting discrete trajectories along the leaves of decision trees where the object falls.
- FIG. Figure 4 shows an embodiment of the formation of a decision tree that predicts the sequence of leaf numbers for an object.
- FIG. 5 shows an example implementation, according to which the minimum number of constructed discrete trajectories that cover at least 90% of the examples is selected from a common set
- FIG. Figure 6 shows the averaging of objects in different discrete trajectories, leading to a high probability of symbol 2.
- FIG. 7 shows an example of the implementation of images of a discrete trajectory with only five examples of different spelling of symbol 3.
- FIG. Figure 8 shows a variant of the obtained discrete trajectory leading to a high probability of symbol 7, and binarized and weighted rules leading to this trajectory.
- a system including a computer system, a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), computerized control systems, and any other devices capable of performing a given , clearly defined sequence of operations (actions, instructions).
- An instruction processing device is understood to mean an electronic unit or an integrated circuit (microprocessor) executing machine instructions (programs).
- the command processing device reads and executes machine instructions (programs) from one or more data storage devices.
- Storage devices may include, but are not limited to, hard drives (HDD), flash memory, ROM (read-only memory), solid state drives (SSD), optical drives.
- a program is a sequence of instructions for execution by a computer control device or an instruction processing device.
- ANN artificial neural network
- the decision tree is a graph, a diagram that reflects the structure of the optimization task for a multi-step decision-making process. It is used in classification problems and in other areas for analyzing solutions, structuring problems.
- the branches of the tree represent various events that may take place, and the nodes (vertices) represent the states in which the need for choice arises. In this technical solution, this is a way of dividing the space, since each condition divides the space with a hyperplane of the perpendicular axis along which the choice is made.
- Boosting is a machine learning meta-algorithm for performing training with a teacher.
- Fully connected neural network is a neural network in which each neuron transmits its output signal to the input of neurons in the next layer.
- a neural network layer is a set of network neurons that are united according to the features of their functioning.
- Neural network activation function is a function that is used to convert the activation level of an element (neuron) into an output signal. Usually, the activation function has a “compressive” effect.
- a predicate is an element of attributive judgment denoting any sign (property) of its subject, or what is said about the subject.
- a tuple is in mathematics a sequence of a finite number of elements.
- a graph is defined as a tuple (V, E), where V is a set of vertices, and E is a subset of V c V denoting edges.
- V is a set of vertices
- E is a subset of V c V denoting edges.
- a tuple is usually defined inductively.
- the task is to classify and regress the data set using an artificial neural network and then analyze the resulting network in order to find the rules characterizing the process of transforming input data by the network to obtain an answer.
- Step 110 receive at least one artificial neural network pre-trained on a set of objects.
- the results of the obtained class probabilities are also generated as a matrix P of size N x C, where C is the output dimension (the number of classes or the dimension of the regression variables).
- the number of layers of an artificial neural network is not limited by implementation options.
- a trained neural network a fully connected neural network, or a convolutional neural network, or a recurrent neural network, or a combination thereof, may be used, not limited to.
- ReLU rectified linear unit
- activation functions of Sigmoid, tanh, LeakyReLU, PReLU, and other known in the art may be used, but are not limited to.
- An artificial neural network can be trained on a set of objects, which, for example, are images.
- Educational the sample may consist of positive and negative examples.
- the training sample may consist of examples of an arbitrary number of classes, it may not be marked up at all, or it may be a regression task, where classes are an inapplicable concept.
- an ANN is trained to detect people's faces
- the training sample consists of images that contain faces and images that do not have faces.
- the ratio of positive examples to negative examples can be selected as N: M, for example, 4: 1, for example 8000 positive and 2000 negative.
- the LFW3D database may be used as a positive training sample. It contains color images of frontal faces such as JPEG, size 90x90 pixels, in the amount of 13000.
- the SUN397 database can be used for training, which contains a huge number of all kinds of scenes, which are divided into categories. In total, this database contains 130,000 images, 908 scenes, 313,000 scene objects. The total weight of this base is 37 GB.
- the MNIST database namely a voluminous database of handwritten numbers samples, can be used for training.
- An artificial neural network is transmitted and stored as architecture and weights in its layers.
- the network architecture and the weight values in the layers are stored separately so that the weight values can be loaded into a network with a different architecture.
- This approach is used, for example, when combining education without a teacher and with a teacher.
- training without a teacher is performed using an auto-encoder, a deep network of trust, or another method.
- the weights obtained are uploaded to a network of another architecture, which is retrained by the standard approach of teaching with the teacher using the back propagation method of the error.
- the combination of the two methods allows you to train the network in the case when there is little labeled data for training.
- the values of weights in the layers can be stored, for example, in the format HDF5 data.
- the contents of HDF5 files are organized like a hierarchical file system, and paths similar to the POSIX syntax, for example, / path / to / resource, are used to access the data.
- Metadata is stored as a set of named attributes of objects.
- normalization of many objects for the ANN is performed, since neural networks work better with data represented by numbers normally distributed around 0, and the initial data may have an arbitrary range or not be numerical data at all.
- various methods are possible, ranging from simple linear conversion to the required range and ending with multidimensional analysis of parameters, and non-linear normalization, depending on the influence of the parameters on each other.
- Step 120 at least one decision tree is formed for each layer of the trained neural network.
- the decision tree consists of two types of vertices, as shown in FIG. 2.
- the vertices of solutions containing conditions are indicated by circles. Goals or inferences are indicated by rectangles.
- the vertices are numbered and conditions are set on the arcs.
- Each vertex can have no more than one input.
- the paths of movement along the tree from the upper level to the lowest determine logical rules in the form of chains of conjunctions.
- the rules expressing the laws are formulated in the form of products: “IF A THEN B” or in the case of many conditions: “IF (condition 1) L (condition 2) L ... A (condition N) THEN (value of the output vertex)”.
- Solution trees can be generated based on expert judgment or using example processing algorithms (CLS, SW - Interactive Dichotomizer, C4.5, CART - classification and regression trees, IndCART, DB-CART, Chi-square automatic interaction detector ( CHAID), MARS, not limited to others).
- decision trees for each layer of a neural network can be constructed independently of each other.
- the decision tree is a list of conjunctions as shown in FIG. 2, where at each vertex of the decision tree there are predicates or rules (shown as x and y) that include two arguments: a specific feature of the object that is fed to the input of the decision tree, as well as a particular value this sign.
- the features of an object are fed directly to the decision tree only on the zero (input) layer.
- decision trees accept the activation obtained when the object passes through the corresponding layer.
- the activation function is a function that takes a weighted sum as an argument. The value of this function is the output of a neuron in AND.
- D independent decision trees T d are obtained (for predicting the final probabilities P from A d ) trained on the matrices A d as input and the final probabilities P as output.
- This implementation option can be considered as a special type of creating many trees with averaging trees, where each decision tree is built on separate input data.
- a predicate is executed for a specific filed value of an object attribute in this decision tree, the tree object falls into the right or left branch depending on the fulfillment of the predicate condition.
- the decision tree is built on the basis of minimizing the error functional for all objects that are fed to it at the input.
- the goal of the decision tree is to make the forecast as accurate as possible.
- To evaluate accuracy use the error functional (or, if you take it with the opposite sign, the quality functional.)
- the lower the values of the error functional the better the decision tree solves the problem.
- Each new condition at the top of the decision tree is selected so that as a result, the overall error functional can be reduced as much as possible.
- all the features of all objects of the training set for the ANN are involved in the decision tree formation procedure.
- the features of the objects act as input features for the first decision tree on the zero layer, and the activation values of the corresponding layer on the sample objects are the next decision tree.
- regression decision trees are formed that do not predict the probability of a particular classification on the last layer of the ANN, but predict real values (for example, class scores) that can be uniquely converted to probability values. In this case, the opposite conclusion incorrect, since the same probability values at the output of the ANN may correspond to different real values.
- Several different sets of such values when applying the deterministic transformation procedure, can give the same probability value on the last layer of the ANN.
- the decision trees are not constructed independently of each other, but depending on the basis of the boosting method.
- Boosting is a procedure for sequentially constructing a composition of machine learning algorithms when each subsequent algorithm seeks to compensate for the shortcomings of the composition of all previous algorithms.
- Boosting is a greedy algorithm for constructing a composition of algorithms.
- decision trees are formed sequentially, with each of the following trees adding something to the ensemble, correcting or improving the previous result. Depending on the number of the tree that is being formed at a given time, the data on which this tree is built also changes.
- the error correction usually occurs as follows: the error functional of the already prepared composition of decision trees is taken, its gradient is calculated - that is, the direction of the error increasing as soon as possible, and the next model tries to approximate this gradient so that its prediction, when subtracted, is directed to the side speedy decreasing error.
- the coefficient b is selected by minimizing the cross-entropy functional (Softmax ( ⁇ - b * prediction), ⁇ ) by b ⁇
- these decision trees can be considered as a special case of the boosting algorithm, where different data is used for each new tree, and b is also chosen with a goal different from the goal of the decision tree.
- This strategy is that in this implementation there are not many independent trees, but trees that are trying to get new information from each layer, not forgetting about the previous partitions.
- the same set of features is used to build each decision tree, from which a random subsample is made.
- XGBoost As a boosting algorithm, XGBoost, AdaBoost, LPBoost, TotalBoost, BrownBoost, MadaBoost, LogitBoost can be used, without limitation.
- the following algorithm is used to form decision trees.
- the attributes of each object of the training set for the nth tree are replenished with the number of the sheet that it fell into in the previous i - 1 tree or in all previous trees from 1 TO i - 1.
- Step 120.1 the decision tree receives as input data the activation of the corresponding layer obtained by passing through the neural network of the object from the existing set.
- Step 120.2 Using the decision trees, they predict the same response that the trained artificial neural network provides on this object. [0071] The ensemble of decision trees distill the response of the neural network, i.e. form the same answers through the decision tree on the objects that the network gives them.
- Step 130 for each object, an ordered sequence of leaf numbers generated at the previous step of decision trees is obtained.
- An ordered sequence of leaf numbers of decision trees is formed by the layer number in the neural network. This means that if the object was in sheet a in the zero decision tree, in the first in sheet b, and in the third with sheet, then in the end this “ordered sequence of leaf numbers” reduces to a tuple “a, b, c” .
- a necessary condition is that the order is the same for all objects and in some embodiments of the invention may have a different formation principle.
- a discrete trajectory is a tuple where in a row there are sheets of trees into which an object has fallen through ANN layers. For example, there are two decision trees, the first decision tree having five leaves and the second five leaves that are formed for different layers, so the total number of potential paths reaches twenty-five. It turns out a discrete version of the trajectory along which the object passed as the totality of its signs, which are fed to the input of the ANN, upon activation of the ANN neurons.
- Step 140 form a set of rules predicting the sequence of leaf numbers for the object.
- the prediction problem is solved using a set of rules of a discrete trajectory number from an initial set of interpreted features of an object.
- the set of interpreted features is not the original, but constructed on the basis of the original features. It is necessary to define rules that describe which trajectory which object will fall into, i.e. discrete path number.
- the entire text sample is fed into the neural network.
- the formation of a “bag of words” can be used, when they are recorded in the data warehouse, how many times each word is found in the text, and all words are reduced to their initial form, as a result of which a digital description appears text. This conversion is unambiguously performed in one direction (from text to a bag of words) and ambiguously in the opposite direction, since it is impossible to uniquely restore the original text from a bag of words.
- the original feature space on which the ANN was trained is input to a set of rules.
- the input to the decision tree is supplied not with the original feature description, but with the description of this object with a modified set of features.
- This set can be modified in such a way as to help build expressive rules.
- the rules will look like "IF interpreted_sign_1 ⁇ value_1 AND ... And interpreted_sign_p ⁇ value_n, then the object will follow the discrete path x".
- ANNs are pre-trained in photographs of people, and the decision tree is fed to the input hair color, the distance between the pupils, etc., formed in the form of a table.
- a neural network is trained on a user's transaction sequence, however, this dataset is not interpretable.
- the following interpreted attribute will be changed: what proportion of the amount the user spends on Mondays, Tuesdays, Wednesdays, etc.
- the decision tree is already built on a set of changed characteristics.
- a coefficient is generated for each entity that determines its importance.
- different examples may have different importance, that is, the degree of influence on the resulting rules.
- a coefficient can be formed based on how much the prediction of an artificial neural network at an object differs from the prediction of an ensemble of layered decision trees.
- the server includes various hardware components, including one or more single or multi-core processors, which are represented by a processor, a graphic processor (GPU), a solid state drive, RAM, a monitor interface and an input / output interface.
- processors including one or more single or multi-core processors, which are represented by a processor, a graphic processor (GPU), a solid state drive, RAM, a monitor interface and an input / output interface.
- Communication between the various server components may be via one or more internal and / or external buses (eg, PCI bus, universal serial bus, high-speed IEEE 1394 buses, SCSI buses, Serial ATA buses and so on), to which various hardware components are electronically connected.
- the monitor interface can be connected to a monitor (for example, via an HDMI cable), visible to the operator, the input / output interface can be connected to a touch screen, keyboard (for example, via a USB cable) and a mouse (for example, via a USB cable), moreover, both the keyboard and the mouse are used by the operator.
- a solid state drive stores program instructions suitable for loading into RAM and used by a GPU processor and / or GPU to select a given process target from a plurality of attributes and a given type of output values, as will be described below.
- program instructions may be part of a library or application.
- the server may be a desktop computer, laptop, tablet, smartphone, personal digital organizer (PDA), or other device that can be configured to implement the present technology, as will be understood by a person skilled in the art.
- PDA personal digital organizer
- the server may be configured to implement a machine learning algorithm (MLA) and perform various methods for training MLA.
- MLA may be either an artificial neural network, a Bayesian network, a reference vector machine, etc.
- an MLA may be a prediction model that includes a set of decision trees for solving, among other things, regression and classification problems.
- the MLA can be trained using machine learning methods, such as gradient boosting.
- the server may be configured to perform a variety of procedures, wherein at least one of the many procedures is to create a training sample for MLA training.
- the MLA can be trained to predict the design errors inherent in calculation methods. How a server for creating a training sample for MLA training can be performed will be described below.
- the server may be configured to access history data associated with a user's financial transactions or other data. History data can be stored locally on the server's solid state drive. In other embodiments of the present technology, historical data may be stored remotely on a storage medium that is operatively connected to a server via a network. In this case, the server can retrieve history data from the storage medium over the network.
- the main advantage of this technical solution lies in the generalizing ability of artificial neural networks, which allows to obtain simpler decision trees, i.e. so-called distillation is performed.
- the distillation is carried out not standard and well-known from the prior art, but allowing to determine which objects ANN tends to process in a similar way, i.e. what patterns in the data are distinguished by the existing trained neural network.
- the invention allows to extract structured knowledge not only from extremely simplified neural networks, but also from neural networks, which are interpreted in finished form without simplifying their structure in the analysis process, which makes it possible to apply it in a wide range of practical problems.
- the modules described above and used in this technical solution can be implemented using electronic components used to create digital integrated circuits. Not limited to, can be used microcircuits, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set by programming.
- FPGA programmable logic integrated circuits
- programmers and debugging environments are used that allow you to specify the desired structure of a digital device in the form of a circuit diagram or a program in special hardware description languages: Verilog, VHDL, AHDL, etc.
- An alternative to FPGAs is: programmable logic controllers (PLC), base matrix crystals (BMC), requiring a factory production process for programming; ASIC specialized custom large integrated circuits (LSI), which are much more expensive in small-scale and single-unit production.
- Modules can also be implemented using read-only memory devices (see ON Lebedev. Memory microcircuits and their application. - M.: Radio and communications, 1990. - 160 s; Large-scale integrated circuits of memory devices: Reference / A .U. Gordenov et al. - M.: Radio and Communications, 1990. - 288 s).
- This technical solution can be implemented using an MNIST data sample and a fully connected ANN.
- a network model will be explained below.
- a network with a direct connection was trained, configured as follows: (784, 200, ReLU) - (200, 200, ReLU) - (200, 200, ReLU) - (200, 10, LogSoftmax).
- the data triple (784, 200, ReLU) implies that there is a layer that has an input dimension of 784, an output dimension of 200, and a ReLU activation function.
- the model was trained with the Adam optimizer with a training step of Ze-4.
- the network trained over 10 eras and achieved an accuracy of 97.5% on the test set.
- Activations were obtained after each use of the ReLU activation function, as well as before the LogSoftmax function (grade for each class), thus, they received three sets of activations, 200 values in size, and one set of activations, 10 values in size.
- a strategy for generating decision trees through boosting is used. Then we limited the maximum depth of decision trees to three and the minimum number of objects in the sheet - 3% of the sample size.
- decision trees the Scikit-learn library is used. Grades classes were chosen as targets for boosting. The cross entropy of the ensemble of decision trees turned out to be 0.54. Objects with an upper 5% error during boosting were excluded from the training set for the finite tree.
- the final decision tree is formed in which the original image is input and the discrete path number is the target for determination.
- N discrete paths from the previous step are selected and 1 path contains all other samples.
- FIG. 8 shows a discrete trajectory that is highly likely to refer to symbol 7 and the rules that define this trajectory.
- the pixels are red (in the b / w version of the figure is not shown), if it was included in the final decision tree with a negative value (the pixel value must be lower than the threshold set in the tree node), the pixels with a positive value, otherwise, yellow (in the b / w version, color figures are not shown).
- each pixel is indicated about the brightness value proportional to the number of examples affected by this rule.
- receiving data from a user means receiving electronic data from a computer system, server, etc. in the form of an electronic (or other) signal.
- displaying data to a user through a graphical user interface may include transmitting a signal to a graphical user interface, this signal containing data that may be processed, and at least part of this data can be displayed to the user through a graphical user interface.
- Signals can be transmitted-received using optical means (for example, fiber optic connection), electronic means (for example, wired or wireless connection) and mechanical means (for example, based on pressure, temperature or other suitable parameter).
- optical means for example, fiber optic connection
- electronic means for example, wired or wireless connection
- mechanical means for example, based on pressure, temperature or other suitable parameter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Image Analysis (AREA)
Abstract
Данное техническое решение, в общем, относится к области вычислительной техники, а в частности к способам и системам интерпретации работы моделей искусственных нейронных сетей. Способ интерпретации искусственных нейронных сетей, в котором получают по меньшей мере одну предварительно обученную на наборе объектов искусственную нейронную сеть; формируют для каждого слоя обученной нейронной сети по меньшей мере одно дерево решений, причем дерево решений получает в качестве входных данных активации соответствующего слоя, полученного при прохождении по нейронной сети объекта, из имеющегося набора данных; предсказывают посредством деревьев решений тот же ответ, который выдает на этом объекте обученная искусственная нейронная сеть; затем получают для каждого объекта упорядоченную последовательность номеров листьев сформированных на предыдущем шаге деревьев решений; далее формируют набор правил, предсказывающий последовательность номеров листьев по объекту. Технический результат - повышение качества и точности интерпретации работы искусственной нейронной сети.
Description
СПОСОБ ИНТЕРПРЕТАЦИИ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
ОБЛАСТЬ ТЕХНИКИ
[001] Данное техническое решение, в общем, относится к области вычислительной техники, а в частности к способам и системам интерпретации работы моделей искусственных нейронных сетей.
УРОВЕНЬ ТЕХНИКИ
[002] В настоящее время искусственные нейронные сети являются важным инструментом для решения многих прикладных задач. Они уже позволили справиться с рядом непростых проблем и обещают создание новых изобретений, способных решать задачи, которые пока под силу только человеку. Искусственные нейронные сети, также как и биологические, представляют собой системы, состоящие из огромного количества функционирующих процессоров-нейронов, каждый из которых выполняет какой-либо небольшой объём работ, возложенный на него, при этом обладая большим числом связей с остальными, что и характеризует силу вычислений сети.
[003] К одному из недостатков искусственных нейронных сетей относят сложность содержательной интерпретации, и в том числе сложность обоснования активации нейронов. Проблемы интерпретируемости приводят к снижению ценности полученных результатов работы искусственной нейронной сети. Внутреннее представление результатов обучения зачастую настолько сложно, что его невозможно проанализировать даже эксперту в уровне техники, за исключением некоторых простейших случаев, обычно не представляющих интереса.
[004] В настоящее время искусственные нейронные сети используются во многих областях техники, но прежде чем их можно будет применять там, где под угрозу могут быть поставлены человеческие жизни или значительные материальные ресурсы, должны быть решены важные вопросы, касающиеся надежности их работы, в связи с чем интерпретация искусственных нейронных сетей приобретает дополнительную важность.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[005] Данное техническое решение направлено на устранение недостатков, присущих существующим решениям из известного уровня техники.
[006] Технической задачей, поставленной в данном техническом решении, является представление правил принятия решения нейронной сетью в виде легко интерпретируемых логических выражений.
[007] Техническим результатом, достигающимся при решении вышеуказанной задачи, является повышение качества и точности интерпретации работы искусственной нейронной сети.
[008] Указанный технический результат достигается благодаря осуществлению способа интерпретации искусственных нейронных сетей, в котором получают по меньшей мере одну предварительно обученную на наборе объектов искусственную нейронную сеть; далее формируют для каждого слоя обученной нейронной сети по меньшей мере одно дерево решений, причем дерево решений получает в качестве входных данных активации соответствующего слоя, полученного при прохождении по нейронной сети объекта, из имеющегося набора данных; предсказывают посредством деревьев решений ответ, который выдает на этом объекте обученная искусственная нейронная сеть; затем получают для каждого объекта упорядоченную последовательность номеров листьев сформированных на предыдущем шаге деревьев решений; после чего формируют набор правил, предсказывающий последовательность номеров листьев по объекту.
[009] В некоторых вариантах осуществления изобретения в качестве меры качества дерева решений используют кросс-энтропию между распределением классов, предсказанным им, и распределением, возвращенным классификатором.
[0010] В некоторых вариантах осуществления изобретения в качестве меры качества дерева решений используют среднюю квадратичную либо абсолютную ошибку между ответом, предсказанным им, и ответом, возвращенным классификатором.
[0011] В некоторых вариантах осуществления изобретения деревья решений строятся независимо друга от друга.
[0012] В некоторых вариантах осуществления изобретения деревья решений строятся зависимо друг от друга на основании алгоритма бустинга.
[0013] В некоторых вариантах осуществления изобретения деревья решений строятся зависимо друг от друга посредством добавления информации о номерах листьев из деревьев, построенных на предыдущих слоях, на вход дерева следующего слоя.
[0014] В некоторых вариантах осуществления изобретения в качестве алгоритма бустинга используют XGBoost, или AdaBoost, или LPBoost, или TotalBoost, или BrownBoost, или MadaBoost, или LogitBoost.
[0015] В некоторых вариантах осуществления изобретения формируют для каждого слоя обученной нейронной сети дерево решений на основании алгоритма CLS, или ЮЗ, или С4.5, или CART, или IndCART, или DB-CART, или CHAID, или MARS.
[0016] В некоторых вариантах осуществления изобретения формируют дерево решений исходя из минимизации функционала ошибки на все объекты, которые ему подаются на вход.
[0017] В некоторых вариантах осуществления изобретения на вход дереву решений подается исходное признаковое описание для искусственной нейронной сети или описание объекта с измененным набором признаков.
[0018] В некоторых вариантах осуществления изобретения нумеруют листья в каждом дереве решений.
[0019] В некоторых вариантах осуществления изобретения упорядоченная последовательность номеров листьев формируется по номеру слоя в нейронной сети.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0020] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых:
[0021] На Фиг. 1 приведена блок-схема способа интерпретации искусственных нейронных сетей.
[0022] На Фиг. 2 показан вариант реализации попадания объекта в дерево решений, когда объект попадает в один из листьев дерева;
[0023] На Фиг. 3 показан вариант реализации формирования деревьев решений для каждого слоя ИНС и получающиеся в итоге дискретные траектории по листьям деревьев решений, куда попадает объект.
[0024] На Фиг. 4 показан вариант реализации формирования дерева решений, предсказывающего последовательность номеров листьев по объекту.
[0025] На Фиг. 5 показан пример реализации, согласно которому выбрано из общего набора минимальное количество построенных дискретных траекторий, которые перекрывают не менее 90% примеров
[0026] На Фиг. 6 показано усреднение объектов в разных дискретных траекториях, приводящее к высокой вероятности символа 2.
[0027] На Фиг. 7 показан пример реализации изображений дискретной траектории с только пятью примерами различного написания символа 3.
[0028] На Фиг. 8 показан вариант полученной дискретной траектории, ведущей к высокой вероятности символа 7, и бинаризованные, и взвешенные правила, приводящие к этой траектории.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0029] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.
[0030] В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
[0031] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[0032] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь,
жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[0033] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[0034] Искусственная нейронная сеть (далее - ИНС) - вычислительная или логическая схема, построенная из однородных процессорных элементов, являющихся упрощенными функциональными моделями нейронов.
[0035] Дерево решений (англ decision tree) — граф, схема, отражающая структуру задачи оптимизации для многошагового процесса принятия решений. Применяется в задачах классификации и в других областях для анализа решений, структуризации проблем. Ветви дерева отображают различные события, которые могут иметь место, а узлы (вершины) — состояния, в которых возникает необходимость выбора. В данном техническом решении это способ деления пространства, так как каждое условие разделяет пространство гиперплоскостью перпендикулярной оси, по которой осуществлен выбор.
[0036] Boosting— это мета-алгоритм машинного обучения для выполнения обучение с учителем.
[0037] Нейронная сеть полносвязная (англ. Fully connected neural network) - нейронная сеть, в которой каждый нейрон передает свой выходной сигнал на вход нейронов следующего слоя.
[0038] Слой нейронной сети (англ layer) - совокупность нейронов сети, объединяемых по особенностям их функционирования.
[0039] Функция активации нейронной сети - функция, которая используется для преобразования уровня активации элемента (нейрона) в выходной сигнал. Обычно функция активации имеет «сжимающее» действие.
[0040] Предикат - элемент атрибутивного суждения, обозначающий какой- либо признак (свойство) его субъекта, или то, что говорится о субъекте.
[0041] Кортеж — в математике последовательность конечного числа элементов. Например, граф определяется как кортеж (V,E), где V— это набор вершин, а Е— подмножество V c V, обозначающее ребра. В теории множеств, кортеж обычно определяется индуктивно.
[0042] Способ интерпретации искусственных нейронных сетей, показанный на Фиг. 1 в виде-блок-схемы, может включать следующие шаги.
[0043] Задача состоит в классификации и регрессии набора данных с помощью искусственной нейронной сети и последующего анализа полученной сети с целью нахождения правил, характеризующих процесс трансформации входных данных сетью для получения ответа.
[0044] Шаг 110: получают по меньшей мере одну предварительно обученную на наборе объектов искусственную нейронную сеть.
[0045] Пусть в данном техническом решении получают предварительно обученную нейронную сеть с D слоями (каждый слой содержит St нейронов) с размерами слоев 51 ...,SD, и обучающую выборку На данном
шаге собирают дополнительные данные для дальнейшей обработки, а именно для каждого слоя нейронной сети d =
получают все выходы нейронов (определенные как активации) для каждого обучающего набора объектов как D матриц Ad размера N x Sd . Также формируют результаты полученных вероятностей классов как матрицу Р размером N х С , где С - размерность выхода (количество классов или размерность переменных регрессии).
[0046] Количество слоев искусственной нейронной сети не ограничено вариантами реализации. В качестве обученной нейронной сети могут использовать полносвязную нейронную сеть, или сверточную нейронную сеть, или рекуррентную нейронную сеть или их комбинацию, не ограничиваясь.
[0047] В качестве функции активации могут использовать выпрямленную линейную функцию активации (rectified linear unit, ReLU), которая выражается следующей формулой:
/ О) = max (0, s)
[0048] В некоторых вариантах реализации могут использоваться функции активации Sigmoid, tanh, LeakyReLU, PReLU и другие известные из уровня техники, не ограничиваясь.
[0049] Искусственная нейронная сеть может быть обучена на наборе объектов, которые, например, представляют собой изображения. Обучающая
выборка может состоять из положительных и отрицательных примеров. В некоторых вариантах реализации обучающая выборка может состоять из примеров произвольного количества классов, может быть вообще не размечена, а может быть и задачей регрессии, где классы - неприменимое понятие. Например, если ИНС обучается для детекции лиц людей, обучающая выборка состоит из изображений, которые содержат лица и изображений, на которых отсутствуют лица. Соотношение положительных примеров к отрицательным примерам может быть выбрано как N:M, например, 4:1 , например 8000 положительных и 2000 отрицательных.
[0050] В конкретном примере реализации в качестве положительной обучающей выборки может использоваться база данных LFW3D. Она содержит цветные изображения фронтальных лиц типа JPEG, размером 90x90 пикселей, в количестве 13000.
[0051] В качестве отрицательных обучающих примеров может использоваться для обучения база данных SUN397, которая содержит огромное количество всевозможных сцен, которые разбиты по категориям. Всего данная база содержит 130000 изображений, 908 сцен, 313000 объектов сцены. Общий вес этой базы составляет 37 GB.
[0052] В случае использования полносвязной или сверточной нейронной сети и когда объектами являются рукописные цифры, может использоваться для обучения база данных MNIST, а именно объёмная база данных образцов рукописного написания цифр.
[0053] Искусственная нейронная сеть передается и хранится как архитектура и значения весов в ее слоях. В некоторых вариантах реализации архитектура сети и значения весов в слоях хранятся отдельно для того, чтобы можно было загрузить значения весов в сеть с другой архитектурой. Такой подход используется, например, при совмещении обучения без учителя и с учителем. На первом этапе выполняется обучение без учителя с использованием автокодировщика, глубокой сети доверия или другого метода. Затем полученные веса загружаются в сеть другой архитектуры, которая дообучается стандартным подходом обучения с учителем с помощью метода обратного распространения ошибки. Совмещение двух способов позволяет обучать сеть в случае, когда мало размеченных данных для обучения. Значения весов в слоях могут хранить, например, в формате
данных HDF5. Содержимое файлов HDF5 организовано подобно иерархической файловой системе, и для доступа к данным применяются пути, сходные с POSIX-синтаксисом, например, /path/to/resource. Метаданные хранятся в виде набора именованных атрибутов объектов.
[0054] В некоторых вариантах реализации осуществляют нормировку множества объектов для ИНС, поскольку нейронные сети лучше работают с данными, представленными числами, нормально распределенными вокруг 0, а исходные данные могут иметь произвольный диапазон или вообще быть не числовыми данными. При этом возможны различные способы, начиная от простого линейного преобразования в требуемый диапазон и заканчивая многомерным анализом параметров, и нелинейной нормировкой, в зависимости от влияния параметров друг на друга.
[0055] Шаг 120: формируют для каждого слоя обученной нейронной сети по меньшей мере одно дерево решений.
[0056] Дерево решений состоит из вершин двух типов, как показано на Фиг. 2. Вершины решений, содержащие условия, обозначаются окружностями. Цели или логические выводы обозначаются прямоугольниками. Вершины нумеруются и на дугах задаются условия. Каждая вершина может иметь не более одного входа. Пути движения по дереву с верхнего уровня на самые нижние определяют логические правила в виде цепочек конъюнкций. Правила, выражающие закономерности, формулируются в виде продукций: «ЕСЛИ А ТО В» или в случае множества условий: «ЕСЛИ (условие 1 ) L (условие 2) L ... А (условие N) ТО (Значение вершины вывода)».
[0057] Формирование деревьев решений может осуществляться на основе экспертных оценок или с использованием алгоритмов обработки примеров (CLS, ЮЗ - Interactive Dichotomizer, С4.5, CART - classification and regression trees, IndCART, DB-CART, автоматический детектор взаимодействия Хи- квадрат (CHAID), MARS, не ограничиваясь и др.).
[0058] В одном варианте реализации деревья решений для каждого слоя нейронной сети могут строиться независимо друг от друга. Дерево решений представляет собой список конъюнкций как показано на Фиг. 2, где в каждой вершине дерева решений находятся предикаты или правила (показано как х и у), которые включает в себя два аргумента: конкретный признак объекта, который подается на вход дереву решений, а также частное значение
данного признака. Непосредственно признаки объекта подаются в дерево решений только на нулевом (входном) слое. На всех остальных слоях деревья решений принимают активации, полученные при прохождении объекта через соответствующий слой. Функция активации — функция, принимающая взвешенную сумму как аргумент. Значение этой функции и является выходом нейрона в И НС.
[0059] На данном шаге получают D независимых деревьев решений Td (для прогнозирования конечных вероятностей Р из Ad), обученных на матрицах Ad как вход и конечные вероятности Р как выход. Этот вариант реализации можно рассматривать как особый тип создания множества деревьев с усреднением деревьев, где каждое дерево решений строится на отдельных входных данных.
[0060] Если предикат выполняется для конкретного поданного значения признака объекта в это дерево решений, объект дерева попадают в правую или левую ветку в зависимости от выполнения условия предиката. Дерево решений строится исходя из минимизации функционала ошибки на все объекты, которые ему подаются на вход. Целью дерева решений является выполнение как можно более точного прогноза. Для оценки точности используют функционал ошибки (или, если взять его с обратным знаком, функционал качества.) Чем ниже значения функционала ошибки - тем лучше дерево решений решает задачу. Каждое новое условие в вершине дерева решений выбирается так, чтобы в результате как можно сильнее уменьшить общий функционал ошибки.
[0061] В некоторых вариантах реализации в процедуре формирования дерева решений принимают участие все признаки всех объектов обучающей выборки для ИНС. В качестве входных признаков для первого дерева решений на нулевом слое выступают признаки объектов, а для очередного дерева решений выступают значения активаций соответствующего слоя на объектах выборки.
[0062] В некоторых вариантах реализации формируют регрессионные деревья решений, которые предсказывают не вероятность той или иной классификации на последнем слое ИНС, а предсказывают вещественные значения (например, баллы классов), которые могут быть однозначно преобразованы в значения вероятности. При этом обратное заключение
неверно, так как одним и тем же значениям вероятности на выходе ИНС могут соответствовать разные вещественные значения. Несколько разных наборов таких значений при применении детерминированной процедуры преобразования могут давать одно и то же значение вероятности на последнем слое ИНС.
[0063] В другом варианте реализации деревья решений строятся не независимо друга от друга, а зависимо на основании способа бустинга. Бустинг — это процедура последовательного построения композиции алгоритмов машинного обучения, когда каждый следующий алгоритм стремится компенсировать недостатки композиции всех предыдущих алгоритмов. Бустинг представляет собой жадный алгоритм построения композиции алгоритмов. В данном варианте реализации последовательно формируются деревья решений, причем каждое из последующих деревьев добавляет нечто в ансамбль, исправляет или улучшает предыдущий результат. В зависимости от номера дерева, которое формируется в данный момент времени, меняются и данные, на которых это дерево строится. То есть если сформирован ансамбль деревьев решений до N-ro слоя, то (N+1 )-e дерево решений формируется на активациях (N+1 )-ro слоя ИНС, таким образом, каждое дерево решений ставится в соответствие слою ИНС. В конкретном варианте реализации формируют первую модель (имеется в виду дерево решений), затем вторую, которая пытается исправить ошибки первой, затем третью, которая пытается исправить ошибку первых двух, и т.д. При этом исправление ошибки обычно происходит следующим образом: берется функционал ошибки уже готовой композиции деревьев решений, вычисляется его градиент - то есть направление скорейшего возрастания ошибки, и следующая модель пытается приблизить этот градиент, чтобы затем ее предсказание, будучи вычтенным, было направлено уже в сторону скорейшего убывания ошибки.
[0064] На данном шаге формируют D— 1 деревьев посредством бустинга. Обучение происходит следующим образом. Выбирают баллы AD как цель для оценки. Формируют базовую оценку, прогнозирующую средние баллы от всех обучающих наборов и принимают эту оценку как текущую наилучшую оценку С. Для каждого слоя d = 1, ...,D - 1 формируют новое дерево решений по следующим шагам:
a) Подготавливают новую цель как m = AD - С , чтобы позволить следующей оценке исправить ошибку предыдущего;
B) Формируют дерево решений Td, которое получает на вход Аа \л дает на выходе m как цель;
c) Собирают обучающий набор предсказаний текущего дерева в качестве предсказания;
d) Выбирают коэффициент b посредством минимизации функционала кросс-энтропии (Softmax (С— b * prediction), Р) по b\
e) Выбирают новую С*- С— b * prediction.
[0065] Таким образом, эти деревья решений можно рассматривать как особый случай алгоритма бустинга, где используются разные данные для каждого нового дерева, а также выбирается b с целью, отличной от цели дерева решений. Эта стратегия состоит в том, что в данной реализации нет множества независимых деревьев, но деревья, которые пытаются получить новую информацию из каждого слоя, не забывая о предыдущих разбиениях.
[0066] В некоторых вариантах реализации в алгоритме бустинга над деревьями решений для построения каждого дерева решений используется один и тот же набор признаков, из которого делается случайная подвыборка.
[0067] В качестве алгоритма бустинга может использоваться XGBoost, AdaBoost, LPBoost, TotalBoost, BrownBoost, MadaBoost, LogitBoost, не ограничиваясь.
[0068] В еще одном варианте реализации для формирования деревьев решений используют следующий алгоритм. Признаки каждого объекта обучающей выборки для -го дерева пополняются номером листа, в который он попал в предыдущем i - 1 дереве или во всех предыдущих деревьях от 1 ДО i - 1.
[0069] Шаг 120.1 : дерево решений получает в качестве входных данных активации соответствующего слоя, полученного при прохождении по нейронной сети объекта, из имеющегося набора.
[0070] Шаг 120.2: предсказывают посредством деревьев решений тот же ответ, который выдает на этом объекте обученная искусственная нейронная сеть.
[0071] Ансамблем деревьев решений осуществляют дистилляцию ответа нейронной сети, т.е. формируют такие же ответы посредством дерева решений на объектах, какие на них выдает сеть.
[0072] Чем глубже деревья решений, тем больше количество потенциально возможных дискретных траекторий, что плохо. Однако чем менее глубоки деревья решений, тем хуже качество предсказания итогового ансамбля решений.
[0073] Шаг 130: получают для каждого объекта упорядоченную последовательность номеров листьев сформированных на предыдущем шаге деревьев решений.
[0074] Упорядоченная последовательность номеров листьев деревьев решений формируется по номеру слоя в нейронной сети. Имеется в виду, что если в нулевом дереве решений объект был в листе а, в первом - в листе b, а в третьем - с листе, то в итоге эта «упорядоченная последовательность номеров листьев» сводится к кортежу « а, Ь, с ». Необходимым условием является то, чтобы порядок был одинаковым для всех объектов и в некоторых вариантах реализации изобретения может иметь другой принцип формирования.
[0075] Так для одного входа X получают дискретный набор чисел (дискретную траекторию) следующим образом:
a) Получают соответствующие активации a ... , aD
b) Пропускают активации через связанные деревья Т и собирают идентификаторы прогнозируемых листьев L = Lx,
[0076] После формирования набора траекторий активаций как декартовых произведений индикаторов листьев деревьев решений, можно выбрать наиболее интересующие. В некоторых вариантах реализации листья в каждом дереве решений нумеруют, чтобы иметь возможность однозначно к ним обращаться. По сути, дискретная траектория является кортежем, где подряд находятся листы деревьев, в которые попал объект по слоям ИНС. Например, присутствуют два дерева решений, причем у первого дерева решений имеется пять листьев и у второго пять листьев, которые сформированы для разных слоев, таким образом, общее количество потенциально возможных траекторий достигает двадцати пяти. Получается дискретная версия той траектории, по которой прошел объект как
совокупность его признаков, которые подаются на вход ИНС, при активации нейронов ИНС.
[0077] Шаг 140: формируют набор правил, предсказывающий последовательность номеров листьев по объекту.
[0078] На основании всего ансамбля деревьев решений по объектам и их активациям анализируют, что выполняет с объектом ИНС в том или ином слое. На данном шаге необходимо понять, по каким признакам исходного описания нейронная сеть определяет объект в ту или иную дискретную траекторию.
[0079] Таким образом решается задача предсказания с помощью набора правил номера дискретной траектории по исходному набору интерпретируемых признаков объекта. В других вариантах реализации набор интерпретируемых признаков не является исходным, а построенным на основании исходных признаков. Необходимо определить правила, описывающие, в какую траекторию попадет какой объект, т.е. номер дискретной траектории. Например, при анализе текста в нейронную сеть подается сам образец текста целиком. В качестве упомянутого преобразования может служить формирование «мешка слов» (англ «bag of words»), когда записывают в хранилище данных, сколько раз встретилось каждое слово в тексте, при этом все слова приводятся к своей начальной форме, в результате чего появляется цифровое описание текста. Данное преобразование однозначно выполняется в одну сторону (от текста к мешку слов) и неоднозначно в обратную сторону, так как по мешку слов невозможно однозначно восстановить исходный текст.
[0080] Исходное признаковое пространство, на котором была обучена ИНС, подается на вход набору правил. В качестве алгоритма построения правил можно использовать дерево решений. В некоторых вариантах реализации на вход дереву решений подается не исходное признаковое описание, а описание данного объекта с измененным набором признаков. Данный набор может изменяться таким образом, чтобы помогать строить экспрессивные правила. Правила будут выглядеть как «ЕСЛИ интерпретируемый_признак_1 < значение_1 И ... И интерпретируемый_признак_п < значение_п, ТО объект проследует по дискретной траектории х». Например, ИНС обучают предварительно на фотографиях людей, а дереву решений подают на вход
цвет волос, расстояние между зрачками и т.д., сформированные в виде таблицы. В другом примере обучают нейронную сеть на последовательности транзакций пользователя, однако данный набор данных не является интерпретируемым. Измененным интерпретируемым признаком будет следующее: какую долю суммы пользователь тратит по понедельникам, вторникам, средам и т.д. Таким образом, дерево решений строят уже на наборе измененных признаков.
[0081] В некоторых вариантах осуществления формируют коэффициент для каждого объекта, который определяет его важность. Во время процедуры построения финальных правил, разные примеры могут иметь разную важность, то есть степень влияния на получающиеся правила. Например, коэффициент может формироваться на основании того, насколько предсказание искусственной нейронной сети на объекте отличается от предсказания ансамбля послойных деревьев решений.
[0082] В качестве глобального критерия завершения работы технического решения могут быть использованы максимальный размер дерева и общая оценка качества классификации примеров деревом. Разумеется, чем глубже дерево (длиннее набор правил), тем точнее оно предскажет дискретную траекторию. Но слишком большое количество правил осложняет интерпретацию. После построения дерева решений необходимо еще выполнить постобработку правил по одному из известных алгоритмов. В некоторых вариантах реализации построение набора правил также может происходить и напрямую, без участия дерева решений, например посредством алгоритма RuleFit.
[0083] Основным преимуществом данного подхода является дискретизация последовательности активаций ИНС, что позволяет получать интерпретацию с помощью правил. Причем сервер включает в себя различные аппаратные компоненты, включая один или несколько одно- или многоядерных процессоров, которые представлены процессором, графическим процессором (GPU), твердотельным накопителем, ОЗУ, интерфейсом монитора и интерфейсом ввода/вывода.
[0084] Связь между различными компонентами сервера может осуществляться с помощью одной или нескольких внутренних и/или внешних шин (например, шины PCI, универсальной последовательной шины,
высокоскоростной шины IEEE 1394, шины SCSI, шины Serial АТА и так далее), с которыми электронными средствами соединены различные аппаратные компоненты. Интерфейс монитора может быть соединен с монитором (например, через HDMI-кабель), видимым оператору, интерфейс ввода/вывода может быть соединен с сенсорным экраном, клавиатурой (например, через USB-кабель) и мышью (например, через USB-кабель), причем как клавиатура, так и мышь используются оператором.
[0085] В соответствии с вариантами осуществления настоящей технологии твердотельный накопитель хранит программные инструкции, подходящие для загрузки в ОЗУ и использующиеся процессором и/или графическим процессором GPU для отбора данного целевого признака процесса из множества признаков и данного типа выходных значений, как будет описано ниже. Например, программные инструкции могут представлять собой часть библиотеки или приложение.
[0086] Сервер может быть настольным компьютером, ноутбуком, планшетом, смартфоном, персональным цифровым органайзером (PDA) или другим устройством, которое может быть выполнено с возможностью реализовать настоящую технологию, как будет понятно специалисту в данной области техники.
[0087] Сервер может быть выполнен с возможностью осуществлять алгоритм машинного обучения (MLA) и выполнять различные способы для обучения MLA. В некоторых вариантах осуществления настоящей технологии MLA может быть либо искусственной нейронной сетью, Байесовой сетью, машиной опорных векторов и т.д. В другом варианте осуществления настоящей технологии MLA может быть моделью прогнозирования, которая включает в себя набор деревьев решений для решения, среди прочего, задач регрессии и классификации. В этом случае MLA может быть обучен с помощью способов машинного обучения, например, градиентного бустинга (gradient boosting).
[0088] Сервер может быть выполнен с возможностью осуществлять множество процедур, причем по меньшей мере одна из множества процедур является созданием обучающей выборки для обучения MLA. В общем случае MLA может быть обучен прогнозировать расчетные погрешности, присущие
способам расчетов. То, как может быть выполнен сервер для создания обучающей выборки для обучения MLA, будет описано ниже.
[0089] В некоторых вариантах осуществления настоящей технологии сервер может быть выполнен с возможностью получать доступ к данным истории, связанной с финансовыми транзакциями пользователя или другими данными. Данные истории могут быть сохранены локально на твердотельном накопителе сервера. В других вариантах осуществления настоящей технологии данные истории могут быть сохранены удаленно на носителе информации, который функционально соединен с сервером по сети. В этом случае сервер может извлекать данные истории из носителя информации по сети.
[0090] Основное преимущество данного технического решения заключается в обобщающей способности искусственных нейронных сетей, что позволяет получать более простые деревья решений, т.е. выполняется так называемая дистилляция. Дистилляция осуществляется не стандартная и известная из уровня техники, а позволяющая определять какие объекты ИНС склонна обрабатывать схожим образом, т.е. какие паттерны в данных различает именно имеющаяся обученная нейронная сеть. Таким образом, изобретение позволяет извлекать структурированные знания не только из чрезвычайно упрощенных нейронных сетей, но и из нейронных сетей, которые интерпретируются в готовом виде, не упрощая их структуру в процессе анализа, что делает возможным его применение в широком круге практических задач.
[0091] Модули, описанные выше и используемые в данном техническом решении, могут быть реализованы с помощью электронных компонентов, используемых для создания цифровых интегральных схем. Не ограничиваюсь, могут использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задается посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС являются: программируемые логические контроллеры
(ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже.
[0092] Также модули могут быть реализованы с помощью постоянных запоминающих устройств (см. Лебедев О.Н. Микросхемы памяти и их применение. - М.: Радио и связь, 1990. - 160 с; Большие интегральные схемы запоминающих устройств: Справочник/ А.Ю. Горденов и др. - М.: Радио и связь, 1990. - 288 с).
[0093] Таким образом, реализация всех используемых блоков достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники, известных из уровня техники.
ПРИМЕРЫ РЕАЛИЗАЦИИ
[0094] Данное техническое решение может быть реализовано с ипсользованием выборки данных MNIST и полносвязной ИНС.
[0095] Модель сети будет объяснена ниже. В данном техническом решении обучили сеть с прямой связью, сконфигурированную следующим образом: (784, 200, ReLU) - (200, 200, ReLU) - (200, 200, ReLU) - (200, 10, LogSoftmax). Тройка данных (784, 200, ReLU) подразумевает, что есть слой, у которого входная размерность 784, выходная размерность 200, а функция активации ReLU.
[0096] Модель была натренирована с оптимизатором Adam с шагом обучения Зе-4. Сеть обучалась в течение 10 эпох и достигла точности 97,5% на тестовом наборе. Активации получали после каждого использования функции активации ReLU, а также перед функцией LogSoftmax (оценка для каждого класса), таким образом, получили три множества активаций, размером в 200 значений, и одно множество активаций, размером 10 значений.
[0097] Далее в конкретном варианте осуществления используется стратегия формирования деревьев решений посредством бустинга. Затем ограничили максимальную глубину деревьев решений значением три и минимальным количеством объектов в листе - 3% от размера выборки. В качестве деревьев принятия решений используется библиотека Scikit-learn. Оценки
классов были выбраны в качестве цели для бустинга. Кросс энтропия ансамбля деревьев решений оказалась равно 0,54. Объекты с верхней 5%- ой ошибкой при бустинге были исключены из обучающего набора для конечного дерева.
[0098] Далее выбрали минимальное количество дискретных траекторий, которые включают не менее 90% примеров обучающей выборки, как показано на Фиг. 5. Выбранные дискретные траектории сохраняют свой исходный идентификатор, пока все другие траектории отмечаются как -1. Различные дискретные траектории, ведущие к одному и тому же номеру, показаны на Фиг. 6.
[0099] Затем формируется окончательное дерево решений, в котором исходное изображение является входными данными, и номер дискретной траектории является целью для определения. Таким образом, у нас есть задача с несколькими N + 1 дискретными траекториями, где выбраны N дискретных траекторий с предыдущего шага и 1 траектория содержит все остальные образцы. На Фиг. 8 показана дискретная траектория, которая с высокой вероятностью относится к символу 7 и правила, которые определяют эту траекторию. В двоичных правилах изображения пиксели имеют красный цвет (в ч/б варианте фигуры не показано), если он был включен в окончательное дерево решений с отрицательным значением (значение пикселя должно быть ниже, чем порог установленный в узле дерева), зеленый цвет имеют пиксели с положительным значением, в ином случае - желтый (в ч/б варианте фигуры цвета не показаны). Во взвешенной части указывается каждый пиксель о значении яркости, пропорциональным количеству примеров, на которые повлияло это правило.
[00100] Для специалиста в данном уровне техники очевидно, что в настоящем описании выражение «получение данных» от пользователя подразумевает получение электронным устройством данных от вычислительной системы, сервера и т.д. в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран электронного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть
обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя.
[00101] Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, оптоволоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).
[00102] Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.
Claims
1. Способ интерпретации искусственных нейронных сетей, включающий следующие шаги:
• получают по меньшей мере одну предварительно обученную на наборе объектов искусственную нейронную сеть;
• формируют для каждого слоя обученной нейронной сети по меньшей мере одно дерево решений, причем о дерево решений получает в качестве входных данных активации соответствующего слоя, полученного при прохождении по нейронной сети объекта, из имеющегося набора данных; о предсказывают посредством деревьев решений тот же ответ, который выдает на этом объекте обученная искусственная нейронная сеть.
• получают для каждого объекта упорядоченную последовательность номеров листьев сформированных на предыдущем шаге деревьев решений/
• формируют набор правил, предсказывающий последовательность номеров листьев по объекту.
2. Способ по п.1 , характеризующийся тем, что в качестве меры качества дерева решений используют кросс-энтропию между распределением классов, предсказанным им, и распределением, возвращенным ИНС.
3. Способ по п.1 , характеризующийся тем, что в качестве меры качества дерева решений используют среднюю квадратичную либо абсолютную ошибку между ответом, предсказанным им, и ответом, возвращенным ИНС.
4. Способ по п.1 , характеризующийся тем, что деревья решений строятся независимо друга от друга.
5. Способ по п.1 , характеризующийся тем, что деревья решений строятся зависимо друг от друга на основании алгоритма бустинга.
6. Способ по п.1 , характеризующийся тем, что деревья решений строятся зависимо друг от друга посредством добавления информации о номерах листьев из деревьев, построенных на предыдущих слоях, на вход дерева следующего слоя.
7. Способ по п.5 и п.6, характеризующийся тем, что в качестве алгоритма бустинга используют XGBoost, или AdaBoost, или LPBoost, или TotalBoost, или BrownBoost, или MadaBoost, или LogitBoost.
8. Способ по п.1 , характеризующийся тем, что формируют для каждого слоя обученной нейронной сети дерево решений на основании алгоритма CLS, или ЮЗ, или С4.5, или CART, или IndCART, или DB-CART, или СНАЮ, или MARS.
9. Способ по п.1 , характеризующийся тем, что формируют дерево решений исходя из минимизации функционала ошибки на все объекты, которые ему подаются на вход.
10. Способ по п.1 , характеризующийся тем, что на вход дереву решений подается исходное признаковое описание для искусственной нейронной сети или описание объекта с измененным набором признаков.
11. Способ по п.1 , характеризующийся тем, что нумеруют листья в каждом дереве решений.
12. Способ по п.1 , характеризующийся тем, что упорядоченная последовательность номеров листьев формируется по номеру слоя в нейронной сети.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018125981 | 2018-07-13 | ||
RU2018125981A RU2689818C1 (ru) | 2018-07-13 | 2018-07-13 | Способ интерпретации искусственных нейронных сетей |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020013726A1 true WO2020013726A1 (ru) | 2020-01-16 |
Family
ID=67037593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/RU2018/000462 WO2020013726A1 (ru) | 2018-07-13 | 2018-07-13 | Способ интерпретации искусственных нейронных сетей |
Country Status (2)
Country | Link |
---|---|
RU (1) | RU2689818C1 (ru) |
WO (1) | WO2020013726A1 (ru) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111476713A (zh) * | 2020-03-26 | 2020-07-31 | 中南大学 | 基于多深度卷积神经网络融合的天气图像智能识别方法及系统 |
CN112766415A (zh) * | 2021-02-09 | 2021-05-07 | 第四范式(北京)技术有限公司 | 用于解释人工智能模型的方法、装置及系统 |
US20210142169A1 (en) * | 2019-11-08 | 2021-05-13 | Accenture Global Solutions Limited | Prediction interpretation |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2755935C2 (ru) * | 2019-06-20 | 2021-09-23 | Сергей Александрович Шумский | Способ и система машинного обучения иерархически организованному целенаправленному поведению |
US11977990B2 (en) | 2020-04-28 | 2024-05-07 | International Business Machines Corporation | Decision tree interface for neural networks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519580B1 (en) * | 2000-06-08 | 2003-02-11 | International Business Machines Corporation | Decision-tree-based symbolic rule induction system for text categorization |
WO2007113700A2 (en) * | 2006-03-30 | 2007-10-11 | Koninklijke Philips Electronics N.V. | Generating rules for a decision tree |
US20170076214A1 (en) * | 2015-09-14 | 2017-03-16 | International Business Machines Corporation | Detecting Interesting Decision Rules in Tree Ensembles |
CN106897366A (zh) * | 2017-01-12 | 2017-06-27 | 华南理工大学 | 基于人脸卷积神经网络和随机kd‑树森林的图像检索方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2598300C2 (ru) * | 2015-01-27 | 2016-09-20 | Общество с ограниченной ответственностью "Аби Девелопмент" | Способы и системы автоматического распознавания символов с использованием дерева решений |
-
2018
- 2018-07-13 WO PCT/RU2018/000462 patent/WO2020013726A1/ru active Application Filing
- 2018-07-13 RU RU2018125981A patent/RU2689818C1/ru active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519580B1 (en) * | 2000-06-08 | 2003-02-11 | International Business Machines Corporation | Decision-tree-based symbolic rule induction system for text categorization |
WO2007113700A2 (en) * | 2006-03-30 | 2007-10-11 | Koninklijke Philips Electronics N.V. | Generating rules for a decision tree |
US20170076214A1 (en) * | 2015-09-14 | 2017-03-16 | International Business Machines Corporation | Detecting Interesting Decision Rules in Tree Ensembles |
CN106897366A (zh) * | 2017-01-12 | 2017-06-27 | 华南理工大学 | 基于人脸卷积神经网络和随机kd‑树森林的图像检索方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210142169A1 (en) * | 2019-11-08 | 2021-05-13 | Accenture Global Solutions Limited | Prediction interpretation |
CN111476713A (zh) * | 2020-03-26 | 2020-07-31 | 中南大学 | 基于多深度卷积神经网络融合的天气图像智能识别方法及系统 |
CN111476713B (zh) * | 2020-03-26 | 2022-07-22 | 中南大学 | 基于多深度卷积神经网络融合的天气图像智能识别方法及系统 |
CN112766415A (zh) * | 2021-02-09 | 2021-05-07 | 第四范式(北京)技术有限公司 | 用于解释人工智能模型的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
RU2689818C1 (ru) | 2019-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2689818C1 (ru) | Способ интерпретации искусственных нейронных сетей | |
Buniyamin et al. | Educational data mining for prediction and classification of engineering students achievement | |
Menezes et al. | Continual object detection: a review of definitions, strategies, and challenges | |
EP3968337A1 (en) | Target object attribute prediction method based on machine learning and related device | |
Pfeiffer et al. | Reward-modulated Hebbian learning of decision making | |
Yin et al. | Classification of eye tracking data using a convolutional neural network | |
Koppisetti | Deep Learning: Advancements and Applications in Artificial Intelligence | |
CN117521063A (zh) | 基于残差神经网络并结合迁移学习的恶意软件检测方法及装置 | |
EP3614314A1 (en) | Method and apparatus for generating chemical structure using neural network | |
Leite et al. | Interpretability index based on balanced volumes for transparent models and agnostic explainers | |
Chen et al. | Tensorview: visualizing the training of convolutional neural network using paraview | |
EA040190B1 (ru) | Способ интерпретации искусственных нейронных сетей | |
Titu et al. | Acquiring businesss intelligence through data science: A practical approach | |
KR102636797B1 (ko) | 인공지능 모델을 활용하여 해시태그 기반 노트 주제 및 노트 콘텐츠 분석을 통해 사용자 심리 상태를 분석하고 이에 대한 솔루션 제공 방법, 장치 및 시스템 | |
Daniel et al. | Object Recognition Using Deep Learning | |
KR102610242B1 (ko) | 인공지능 ocr 기반 비정형 손글씨 인식 방법, 장치 및 시스템 | |
Regan et al. | The learning of deep learning: Overview methods and applications | |
Monrousseau et al. | Processing measure uncertainty into fuzzy classifier | |
Navdeep et al. | Facial Emotions Recognition System using Hybrid Transfer Learning Models and Optimization Techniques | |
Lau | Evaluation of machine learning techniques on reducing computational expense for numerical weather prediction | |
Mas Lillo | Identification and monitoring of violent interactions in video | |
Hasan | Real-Time Classification of Traffic Signs with Deep Learning | |
Richardson | A software environment for visualizing high-dimensional data using contextual self-organizing maps linked with immersive virtual reality | |
Yennimar et al. | Implementation of artificial neural network and support vector machine algorithm on student graduation prediction model on time | |
Saputra et al. | How do we choose the appropriate deep learning method for our case? A systematic literature review |
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: 18925944 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18925944 Country of ref document: EP Kind code of ref document: A1 |