EA040190B1 - METHOD OF INTERPRETATION OF ARTIFICIAL NEURAL NETWORKS - Google Patents

METHOD OF INTERPRETATION OF ARTIFICIAL NEURAL NETWORKS Download PDF

Info

Publication number
EA040190B1
EA040190B1 EA201891425 EA040190B1 EA 040190 B1 EA040190 B1 EA 040190B1 EA 201891425 EA201891425 EA 201891425 EA 040190 B1 EA040190 B1 EA 040190B1
Authority
EA
Eurasian Patent Office
Prior art keywords
neural network
decision tree
decision
layer
tree
Prior art date
Application number
EA201891425
Other languages
Russian (ru)
Inventor
Ярослав Максимович Жаров
Денис Михайлович Корженков
Павел Дмитриевич Швечиков
Original Assignee
Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Filing date
Publication date
Application filed by Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) filed Critical Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Publication of EA040190B1 publication Critical patent/EA040190B1/en

Links

Description

Область техникиTechnical field

Изобретение решение, в общем, относится к области вычислительной техники, а в частности к способам и системам интерпретации работы моделей искусственных нейронных сетей.The invention, in general, relates to the field of computer technology, and in particular to methods and systems for interpreting the operation of artificial neural network models.

Уровень техникиState of the art

В настоящее время искусственные нейронные сети являются важным инструментом для решения многих прикладных задач. Они уже позволили справиться с рядом непростых проблем и обещают создание новых изобретений, способных решать задачи, которые пока под силу только человеку. Искусственные нейронные сети, также как и биологические, представляют собой системы, состоящие из огромного количества функционирующих процессоров-нейронов, каждый из которых выполняет какой-либо небольшой объём работ, возложенный на него, при этом обладая большим числом связей с остальными, что и характеризует силу вычислений сети.Currently, artificial neural networks are an important tool for solving many applied problems. They have already made it possible to cope with a number of difficult problems and promise the creation of new inventions capable of solving problems that so far only man can do. Artificial neural networks, as well as biological ones, are systems consisting of a huge number of functioning neuron processors, each of which performs a small amount of work assigned to it, while having a large number of connections with the rest, which characterizes the strength network computing.

К одному из недостатков искусственных нейронных сетей относят сложность содержательной интерпретации, и в том числе сложность обоснования активации нейронов. Проблемы интерпретируемости приводят к снижению ценности полученных результатов работы искусственной нейронной сети. Внутреннее представление результатов обучения зачастую настолько сложно, что его невозможно проанализировать даже эксперту в уровне техники, за исключением некоторых простейших случаев, обычно не представляющих интереса.One of the disadvantages of artificial neural networks is the complexity of meaningful interpretation, including the difficulty of substantiating the activation of neurons. Interpretability problems lead to a decrease in the value of the results of the work of an artificial neural network. The internal representation of learning outcomes is often so complex that it cannot be analyzed even by an expert in the prior art, except in some simple cases that are usually of no interest.

В настоящее время искусственные нейронные сети используются во многих областях техники, но прежде чем их можно будет применять там, где под угрозу могут быть поставлены человеческие жизни или значительные материальные ресурсы, должны быть решены важные вопросы, касающиеся надежности их работы, в связи с чем интерпретация искусственных нейронных сетей приобретает дополнительную важность.Currently, artificial neural networks are used in many areas of technology, but before they can be used where human lives or significant material resources can be endangered, important issues regarding the reliability of their work must be resolved, and therefore the interpretation artificial neural networks takes on additional importance.

Сущность изобретенияThe essence of the invention

Изобретение направлено на устранение недостатков, присущих существующим решениям из известного уровня техники.The invention is aimed at eliminating the disadvantages inherent in existing solutions from the prior art.

Технической задачей, поставленной в данном техническом решении, является представление правил принятия решения нейронной сетью в виде легко интерпретируемых логических выражений.The technical problem posed in this technical solution is to represent the rules for making a decision by a neural network in the form of easily interpreted logical expressions.

Техническим результатом, достигающимся при решении вышеуказанной задачи, является повышение качества и точности интерпретации работы искусственной нейронной сети.The technical result achieved by solving the above problem is to improve the quality and accuracy of the interpretation of the artificial neural network.

Указанный технический результат достигается благодаря осуществлению способа интерпретации искусственных нейронных сетей, в котором получают по меньшей мере одну предварительно обученную на наборе объектов искусственную нейронную сеть; далее формируют для каждого слоя обученной нейронной сети по меньшей мере одно дерево решений, причем дерево решений получает в качестве входных данных активации соответствующего слоя, полученного при прохождении по нейронной сети объекта, из имеющегося набора данных; предсказывают посредством деревьев решений ответ, который выдает на этом объекте обученная искусственная нейронная сеть; затем получают для каждого объекта упорядоченную последовательность номеров листьев сформированных на предыдущем шаге деревьев решений; после чего формируют набор правил, предсказывающий последовательность номеров листьев по объекту.The specified technical result is achieved due to the implementation of a method for interpreting artificial neural networks, in which at least one artificial neural network pre-trained on a set of objects is obtained; further, at least one decision tree is formed for each layer of the trained neural network, and the decision tree receives as input the activation of the corresponding layer obtained when passing through the neural network of the object, from the available data set; predicting, by means of decision trees, the answer that the trained artificial neural network produces at this object; then, for each object, an ordered sequence of leaf numbers of the decision trees formed at the previous step is obtained; after that, a set of rules is formed that predicts the sequence of leaf numbers for the object.

В некоторых вариантах осуществления изобретения в качестве меры качества дерева решений используют кросс-энтропию между распределением классов, предсказанным им, и распределением, возвращенным классификатором.In some embodiments of the invention, 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.

В некоторых вариантах осуществления изобретения в качестве меры качества дерева решений используют среднюю квадратичную либо абсолютную ошибку между ответом, предсказанным им, и ответом, возвращенным классификатором.In some embodiments of the invention, the mean square or absolute error between the answer predicted by it and the answer returned by the classifier is used as a measure of the quality of the decision tree.

В некоторых вариантах осуществления изобретения деревья решений строятся независимо друга от друга.In some embodiments of the invention, decision trees are built independently of each other.

В некоторых вариантах осуществления изобретения деревья решений строятся зависимо друг от друга на основании алгоритма бустинга.In some embodiments of the invention, the decision trees are built dependent on each other based on the boosting algorithm.

В некоторых вариантах осуществления изобретения деревья решений строятся зависимо друг от друга посредством добавления информации о номерах листьев из деревьев, построенных на предыдущих слоях, на вход дерева следующего слоя.In some embodiments of the invention, decision trees are built dependently on each other by adding information about the numbers of leaves from trees built on previous layers to the input of the tree of the next layer.

В некоторых вариантах осуществления изобретения в качестве алгоритма бустинга используют XGBoost, или AdaBoost, или LPBoost, или TotalBoost, или BrownBoost, или MadaBoost, или LogitBoost.In some embodiments, XGBoost or AdaBoost or LPBoost or TotalBoost or BrownBoost or MadaBoost or LogitBoost is used as the boosting algorithm.

В некоторых вариантах осуществления изобретения формируют для каждого слоя обученной нейронной сети дерево решений на основании алгоритма CLS, или ID3, или C4.5, или CART, или IndCART, или DB-CART, или CHAID, или MARS.In some embodiments of the invention, a decision tree is formed for each layer of the trained neural network based on the CLS algorithm, or ID3, or C4.5, or CART, or IndCART, or DB-CART, or CHAID, or MARS.

В некоторых вариантах осуществления изобретения формируют дерево решений исходя из минимизации функционала ошибки на все объекты, которые ему подаются на вход.In some embodiments of the invention, a decision tree is formed based on the minimization of the error functional for all objects that are fed to it as input.

В некоторых вариантах осуществления изобретения на вход дереву решений подается исходное признаковое описание для искусственной нейронной сети или описание объекта с измененным набором признаков.In some embodiments of the invention, the input to the decision tree is the original feature description for an artificial neural network or a description of an object with a modified set of features.

- 1 040190- 1 040190

В некоторых вариантах осуществления изобретения нумеруют листья в каждом дереве решений.In some embodiments, the leaves in each decision tree are numbered.

В некоторых вариантах осуществления изобретения упорядоченная последовательность номеров листьев формируется по номеру слоя в нейронной сети.In some embodiments of the invention, an ordered sequence of leaf numbers is formed by the layer number in the neural network.

Краткое описание чертежейBrief description of the drawings

Признаки и преимущества изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых на фиг. 1 приведена блок-схема способа интерпретации искусственных нейронных сетей;The features and advantages of the invention will become apparent from the following detailed description of the invention and the accompanying drawings, in which: FIG. 1 is a block diagram of a method for interpreting artificial neural networks;

на фиг. 2 показан вариант реализации попадания объекта в дерево решений, когда объект попадает в один из листьев дерева;in fig. 2 shows a variant of the implementation of getting an object into the decision tree when the object gets into one of the leaves of the tree;

на фиг. 3 - вариант реализации формирования деревьев решений для каждого слоя ИНС и получающиеся в итоге дискретные траектории по листьям деревьев решений, куда попадает объект;in fig. 3 - an implementation option for the formation of decision trees for each layer of the ANN and the resulting discrete trajectories along the leaves of the decision trees where the object falls;

на фиг. 4 - вариант реализации формирования дерева решений, предсказывающего последовательность номеров листьев по объекту;in fig. 4 - an implementation option for the formation of a decision tree that predicts the sequence of leaf numbers for the object;

на фиг. 5 - пример реализации, согласно которому выбрано из общего набора минимальное количество построенных дискретных траекторий, которые перекрывают не менее 90% примеров;in fig. 5 - an example of implementation, according to which the minimum number of constructed discrete trajectories is selected from the general set, which cover at least 90% of the examples;

на фиг. 6 - усреднение объектов в разных дискретных траекториях, приводящее к высокой вероятности символа 2;in fig. 6 - averaging objects in different discrete trajectories, leading to a high probability of symbol 2;

на фиг. 7 - пример реализации изображений дискретной траектории с только пятью примерами различного написания символа 3;in fig. 7 - an example of the implementation of images of a discrete trajectory with only five examples of different spellings of the symbol 3;

на фиг. 8 - вариант полученной дискретной траектории, ведущей к высокой вероятности символа 7, и бинаризованные, и взвешенные правила, приводящие к этой траектории.in fig. 8 is a variant of the resulting discrete trajectory leading to a high probability of symbol 7, and the binarized and weighted rules leading to this trajectory.

Подробное описание изобретенияDetailed description of the invention

Ниже будут описаны понятия и термины, необходимые для понимания изобретения.Concepts and terms necessary for understanding the invention will be described below.

В данном изобретении под системой подразумевается в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).In this invention, the system means, among other things, 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, well-defined sequence of operations (actions, instructions).

Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).A command processing device is an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).

Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.An instruction processing device reads and executes machine instructions (programs) from one or more data storage devices. The role of a storage device can be, but not limited to, hard drives (HDD), flash memory, ROM (read only memory), solid state drives (SSD), optical drives.

Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.Program - a sequence of instructions intended for execution by a computer control device or a command processing device.

Искусственная нейронная сеть (далее - ИНС) - вычислительная или логическая схема, построенная из однородных процессорных элементов, являющихся упрощенными функциональными моделями нейронов.An artificial neural network (hereinafter - ANN) is a computational or logical circuit built from homogeneous processor elements, which are simplified functional models of neurons.

Дерево решений (англ. decision tree) - граф, схема, отражающая структуру задачи оптимизации для многошагового процесса принятия решений.A decision tree is a graph, a diagram that reflects the structure of an optimization problem 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 display various events that may take place, and the nodes (vertices) of the states in which the need for selection arises. In this technical solution, this is a way of dividing the space, since each condition divides the space with a hyperplane perpendicular to the axis along which the choice is made.

Boosting - это метаалгоритм машинного обучения для выполнения обучение с учителем.Boosting is a machine learning meta-algorithm for performing supervised learning.

Нейронная сеть полносвязная (англ. Fully connected neural network) - нейронная сеть, в которой каждый нейрон передает свой выходной сигнал на вход нейронов следующего слоя.A fully connected neural network is a neural network in which each neuron transmits its output signal to the input of the neurons of the next layer.

Слой нейронной сети (англ. layer) - совокупность нейронов сети, объединяемых по особенностям их функционирования.Neural network layer (English layer) - a set of network neurons, combined according to the features of their functioning.

Функция активации нейронной сети - функция, которая используется для преобразования уровня активации элемента (нейрона) в выходной сигнал.The activation function of a neural network is a function that is used to convert the activation level of an element (neuron) into an output signal.

Обычно функция активации имеет сжимающее действие.Typically, the activation function has a squeezing action.

Предикат - элемент атрибутивного суждения, обозначающий какой-либо признак (свойство) его субъекта, или то, что говорится о субъекте.A predicate is an element of an attributive judgment denoting some sign (property) of its subject, or what is said about the subject.

Кортеж - в математике последовательность конечного числа элементов.Tuple - in mathematics, a sequence of a finite number of elements.

Например, граф определяется как кортеж (V,E), где V - это набор вершин, а E - подмножество V х V, обозначающее ребра. В теории множеств, кортеж обычно определяется индуктивно.For example, a graph is defined as a tuple (V,E), where V is a set of vertices and E is a subset of V x V denoting edges. In set theory, a tuple is usually defined inductively.

Способ интерпретации искусственных нейронных сетей, показанный на фиг. 1 в виде-блок-схемы, может включать следующие шаги.The method for interpreting artificial neural networks shown in FIG. 1 in flowchart form may include the following steps.

Задача состоит в классификации и регрессии набора данных с помощью искусственной нейронной сети и последующего анализа полученной сети с целью нахождения правил, характеризующих процессThe task is to classify and regress a data set using an artificial neural network and then analyze the resulting network in order to find rules that characterize the process.

- 2 040190 трансформации входных данных сетью для получения ответа.- 2 040190 transformation of the input data by the network to obtain a response.

Шаг 110: получают по меньшей мере одну предварительно обученную на наборе объектов искусственную нейронную сеть.Step 110: at least one artificial neural network pre-trained on a set of objects is obtained.

Пусть в данном техническом решении получают предварительно обученную нейронную сеть с D слоями (каждый слой содержит Si нейронов) с размерами слоев S1,...,SD, и обучающую выборку •Let in this technical solution get a pre-trained neural network with D layers (each layer contains Si neurons) with layer sizes S1,...,S D , and a training sample •

На данном шаге собирают дополнительные данные для дальнейшей обработки, а именно для каждого слоя нейронной сети d = 1, ..., D получают все выходы нейронов (определенные как активации) для каждого обучающего набора объектов как D матриц Ad размера N х Sd. Также формируют результаты полученных вероятностей классов как матрицу P размером N х C, где C - размерность выхода (количество классов или размерность переменных регрессии).At this step, additional data is collected for further processing, namely, for each layer of the neural network d = 1, ..., D, all neuron outputs (defined as activations) are obtained for each training set of objects as D matrices Ad of size N x S d . Also, the results of the obtained class probabilities are formed as an N x C matrix P, where C is the output dimension (the number of classes or the dimension of the regression variables).

Количество слоев искусственной нейронной сети не ограничено вариантами реализации. В качестве обученной нейронной сети могут использовать полносвязную нейронную сеть, или сверточную нейронную сеть, или рекуррентную нейронную сеть или их комбинацию, не ограничиваясь. В качестве функции активации могут использовать выпрямленную линейную функцию активации (rectified linear unit, ReLU), которая выражается следующей формулой:The number of artificial neural network layers is not limited by implementation options. As a trained neural network, a fully connected neural network, or a convolutional neural network, or a recurrent neural network, or a combination of them can be used, without being limited. As an activation function, a rectified linear unit (ReLU) can be used, which is expressed by the following formula:

В некоторых вариантах реализации могут использоваться функции активации Sigmoid, tanh, LeakyReLU, PReLU и другие известные из уровня техники, не ограничиваясь.In some implementations, the Sigmoid, tanh, LeakyReLU, PReLU, and other activation functions known in the art may be used, without being limited.

Искусственная нейронная сеть может быть обучена на наборе объектов, которые, например, представляют собой изображения. Обучающая выборка может состоять из положительных и отрицательных примеров. В некоторых вариантах реализации обучающая выборка может состоять из примеров произвольного количества классов, может быть вообще не размечена, а может быть и задачей регрессии, где классы - неприменимое понятие. Например, если ИНС обучается для детекции лиц людей, обучающая выборка состоит из изображений, которые содержат лица и изображений, на которых отсутствуют лица. Соотношение положительных примеров к отрицательным примерам может быть выбрано как N:M, например, 4:1, например 8000 положительных и 2000 отрицательных.An artificial neural network can be trained on a set of objects, which, for example, are images. The training sample can consist of positive and negative examples. In some implementations, the training sample may consist of examples of an arbitrary number of classes, may not be labeled at all, or may be a regression problem, where classes are an inapplicable concept. For example, if an ANN is trained to detect human faces, the training set consists of images that contain faces and images that do not have faces. The ratio of positive examples to negative examples can be chosen as N:M, eg 4:1, eg 8000 positive and 2000 negative.

В конкретном примере реализации в качестве положительной обучающей выборки может использоваться база данных LFW3D. Она содержит цветные изображения фронтальных лиц типа JPEG, размером 90х90 пикселей, в количестве 13000.In a specific implementation example, the LFW3D database can be used as a positive training sample. It contains 13000 color images of frontal faces of the JPEG type, 90x90 pixels in size.

В качестве отрицательных обучающих примеров может использоваться для обучения база данных SUN397, которая содержит огромное количество всевозможных сцен, которые разбиты по категориям. Всего данная база содержит 130000 изображений, 908 сцен, 313000 объектов сцены. Общий вес этой базы составляет 37 GB.As negative training examples, the SUN397 database can be used for training, which contains a huge number of various scenes, which are categorized. In total, this database contains 130,000 images, 908 scenes, 313,000 scene objects. The total weight of this database is 37 GB.

В случае использования полносвязной или сверточной нейронной сети и когда объектами являются рукописные цифры, может использоваться для обучения база данных MNIST, а именно объёмная база данных образцов рукописного написания цифр.In the case of using a fully connected or convolutional neural network and when the objects are handwritten digits, the MNIST database can be used for training, namely a large database of handwritten digit samples.

Искусственная нейронная сеть передается и хранится как архитектура и значения весов в ее слоях. В некоторых вариантах реализации архитектура сети и значения весов в слоях хранятся отдельно для того, чтобы можно было загрузить значения весов в сеть с другой архитектурой. Такой подход используется, например, при совмещении обучения без учителя и с учителем. На первом этапе выполняется обучение без учителя с использованием автокодировщика, глубокой сети доверия или другого метода. Затем полученные веса загружаются в сеть другой архитектуры, которая дообучается стандартным подходом обучения с учителем с помощью метода обратного распространения ошибки. Совмещение двух способов позволяет обучать сеть в случае, когда мало размеченных данных для обучения. Значения весов в слоях могут хранить, например, в формате данных HDF5. Содержимое файлов HDF5 организовано подобно иерархической файловой системе, и для доступа к данным применяются пути, сходные с POSIXсинтаксисом, например, /path/to/resource. Метаданные хранятся в виде набора именованных атрибутов объектов.An artificial neural network is transmitted and stored as architecture and weight values in its layers. In some implementations, the architecture of the network and the weights in the layers are stored separately so that the weights can be loaded into a network with a different architecture. This approach is used, for example, when combining learning without a teacher and with a teacher. The first step is unsupervised learning using an autoencoder, deep web of trust, or other method. Then the obtained weights are loaded into a network of a different architecture, which is further trained with a standard supervised learning approach using the backpropagation method. Combining the two methods allows you to train the network in the case when there is little labeled data for training. The weight values in the layers can be stored, for example, in the HDF5 data format. The contents of HDF5 files are organized like a hierarchical file system, and data is accessed using paths similar to POSIX syntax, such as /path/to/resource. Metadata is stored as a set of named object attributes.

В некоторых вариантах реализации осуществляют нормировку множества объектов для ИНС, поскольку нейронные сети лучше работают с данными, представленными числами, нормально распределенными вокруг 0, а исходные данные могут иметь произвольный диапазон или вообще быть не числовыми данными. При этом возможны различные способы, начиная от простого линейного преобразования в требуемый диапазон и заканчивая многомерным анализом параметров, и нелинейной нормировкой, в зависимости от влияния параметров друг на друга.In some implementations, feature set normalization is performed for ANNs because neural networks work better with data represented by numbers normally distributed around 0, and the original data may have an arbitrary range or not be numeric data at all. In this case, various methods are possible, ranging from a simple linear transformation to the required range and ending with a multivariate analysis of the parameters, and nonlinear normalization, depending on the influence of the parameters on each other.

Шаг 120: формируют для каждого слоя обученной нейронной сети по меньшей мере одно дерево решений.Step 120: At least one decision tree is generated for each layer of the trained neural network.

Дерево решений состоит из вершин двух типов, как показано на фиг. 2. Вершины решений, содержащие условия, обозначаются окружностями. Цели или логические выводы обозначаются прямоугольниками. Вершины нумеруются и на дугах задаются условия. Каждая вершина может иметь не более од- 3 040190 ного входа. Пути движения по дереву с верхнего уровня на самые нижние определяют логические правила в виде цепочек конъюнкций. Правила, выражающие закономерности, формулируются в виде продукций: ЕСЛИ A ТО B или в случае множества условий:The decision tree consists of two types of vertices, as shown in Fig. 2. Vertices of solutions containing conditions are denoted by circles. Goals or inferences are indicated by boxes. Vertices are numbered and conditions are set on arcs. Each vertex can have at most one input. The paths of movement along the tree from the top level to the lowest ones define logical rules in the form of chains of conjunctions. The rules expressing regularities are formulated as productions: IF A THEN B or in the case of a set of conditions:

ЕСЛИ (условие 1) Λ (условие 2) Λ ... Λ (условие N) ТО (значение вершины вывода).IF (condition 1) Λ (condition 2) Λ ... Λ (condition N) THEN (value of output node).

Формирование деревьев решений может осуществляться на основе экспертных оценок или с использованием алгоритмов обработки примеров (CLS, ID3 - Interactive Dichotomize^ C4.5, CART - classification and regression trees, IndCART, DB-CART, автоматический детектор взаимодействия Хи-квадрат (CHAID), MARS, не ограничиваясь и др.).The formation of decision trees can be based on expert assessments or using example processing algorithms (CLS, ID3 - Interactive Dichotomize ^ C4.5, CART - classification and regression trees, IndCART, DB-CART, Chi-square automatic interaction detector (CHAID), MARS, but not limited to, etc.).

В одном варианте реализации деревья решений для каждого слоя нейронной сети могут строиться независимо друг от друга. Дерево решений представляет собой список конъюнкций как показано на фиг. 2, где в каждой вершине дерева решений находятся предикаты или правила (показано как x и у), которые включает в себя два аргумента: конкретный признак объекта, который подается на вход дереву решений, а также частное значение данного признака. Непосредственно признаки объекта подаются в дерево решений только на нулевом (входном) слое. На всех остальных слоях деревья решений принимают активации, полученные при прохождении объекта через соответствующий слой. Функция активации - функция, принимающая взвешенную сумму как аргумент. Значение этой функции и является выходом нейрона в ИНС.In one implementation, the decision trees for each layer of the neural network can be built independently of each other. A 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), which include two arguments: a specific feature of the object that is input to the decision tree, as well as a particular value of this feature. The features of the object are directly fed into the decision tree only at the zero (input) layer. On all other layers, decision trees accept activations received when an object passes through the corresponding layer. An activation function is a function that takes a weighted sum as an argument. The value of this function is the output of the neuron in the ANN.

На данном шаге получают D независимых деревьев решений Td (для прогнозирования конечных вероятностей P из Ad), обученных на матрицах Ad как вход и конечные вероятности P как выход. Этот вариант реализации можно рассматривать как особый тип создания множества деревьев с усреднением деревьев, где каждое дерево решений строится на отдельных входных данных. Если предикат выполняется для конкретного поданного значения признака объекта в это дерево решений, объект дерева попадают в правую или левую ветку в зависимости от выполнения условия предиката. Дерево решений строится исходя из минимизации функционала ошибки на все объекты, которые ему подаются на вход. Целью дерева решений является выполнение как можно более точного прогноза. Для оценки точности используют функционал ошибки (или, если взять его с обратным знаком, функционал качества.) Чем ниже значения функционала ошибки - тем лучше дерево решений решает задачу. Каждое новое условие в вершине дерева решений выбирается так, чтобы в результате как можно сильнее уменьшить общий функционал ошибки.At this step, D independent decision trees T d (for predicting finite probabilities P from A d ) are obtained, trained on matrices A d as input and finite probabilities P as output. This implementation can be thought of as a special type of multi-tree creation with tree averaging, where each decision tree is built on separate inputs. If the predicate is fulfilled for a specific given 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 as input. The goal of a decision tree is to make the most accurate prediction possible. To estimate the accuracy, the error functional is used (or, if we 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 chosen so that as a result, the overall error functional is reduced as much as possible.

В некоторых вариантах реализации в процедуре формирования дерева решений принимают участие все признаки всех объектов обучающей выборки для ИНС. В качестве входных признаков для первого дерева решений на нулевом слое выступают признаки объектов, а для очередного дерева решений выступают значения активаций соответствующего слоя на объектах выборки. В некоторых вариантах реализации формируют регрессионные деревья решений, которые предсказывают не вероятность той или иной классификации на последнем слое ИНС, а предсказывают вещественные значения (например, баллы классов), которые могут быть однозначно преобразованы в значения вероятности. При этом обратное заключение неверно, так как одним и тем же значениям вероятности на выходе ИНС могут соответствовать разные вещественные значения. Несколько разных наборов таких значений при применении детерминированной процедуры преобразования могут давать одно и то же значение вероятности на последнем слое ИНС.In some embodiments, all the features of all objects of the training sample for the ANN take part in the decision tree formation procedure. The input features for the first decision tree on the zero layer are features of objects, and for the next decision tree, the values of activations of the corresponding layer on the sample objects are used. In some implementations, regression decision trees are formed that do not predict the probability of a particular classification in the last layer of the ANN, but predict real values (for example, class scores) that can be uniquely converted to probability values. At the same time, the reverse conclusion is not true, since different real values can correspond to the same probabilities at the ANN output. Several different sets of such values, when applying a deterministic transformation procedure, can give the same probability value at the last layer of the ANN.

В другом варианте реализации деревья решений строятся не независимо друга от друга, а зависимо на основании способа бустинга. Бустинг - это процедура последовательного построения композиции алгоритмов машинного обучения, когда каждый следующий алгоритм стремится компенсировать недостатки композиции всех предыдущих алгоритмов. Бустинг представляет собой жадный алгоритм построения композиции алгоритмов. В данном варианте реализации последовательно формируются деревья решений, причем каждое из последующих деревьев добавляет нечто в ансамбль, исправляет или улучшает предыдущий результат. В зависимости от номера дерева, которое формируется в данный момент времени, меняются и данные, на которых это дерево строится. То есть если сформирован ансамбль деревьев решений до N-го слоя, то (N+1)-e дерево решений формируется на активациях (N+1)-го слоя ИНС, таким образом, каждое дерево решений ставится в соответствие слою ИНС. В конкретном варианте реализации формируют первую модель (имеется в виду дерево решений), затем вторую, которая пытается исправить ошибки первой, затем третью, которая пытается исправить ошибку первых двух, и т.д. При этом исправление ошибки обычно происходит следующим образом: берется функционал ошибки уже готовой композиции деревьев решений, вычисляется его градиент - то есть направление скорейшего возрастания ошибки, и следующая модель пытается приблизить этот градиент, чтобы затем ее предсказание, будучи вычтенным, было направлено уже в сторону скорейшего убывания ошибки. На данном шаге формируют D - 1 деревьев посредством бустинга. Обучение происходит следующим образом. Выбирают баллы AD как цель для оценки. Формируют базовую оценку, прогнозирующую средние баллы от всех обучающих наборов и принимают эту оценку как текущую наилучшую оценку C. Для каждого слоя d = 1, ..., D - 1 формируют новое дерево решений по следующим шагам:In another embodiment, the decision trees are not built independently of each other, but dependently based on the boosting method. Boosting is a procedure for sequential construction of the composition of machine learning algorithms, when each next 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. In this embodiment, decision trees are sequentially formed, with each of the subsequent 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. That is, if an ensemble of decision trees up to the Nth layer is formed, then the (N + 1)-e decision tree is formed on activations of the (N + 1)-th ANN layer, thus, each decision tree is assigned to the ANN layer. In a specific implementation, the first model is formed (meaning the decision tree), then the second, which tries to correct the errors of the first, then the third, which tries to correct the error of the first two, and so on. In this case, the error correction usually occurs as follows: the error functional of an already prepared composition of decision trees is taken, its gradient is calculated - that is, the direction of the fastest increase in the error, and the next model tries to approximate this gradient, so that then its prediction, being subtracted, would be directed to the side the fastest decrease in error. At this step, D - 1 trees are formed by boosting. The training takes place in the following way. Select AD scores as the target for evaluation. A base estimate is formed that predicts the average scores from all training sets and this estimate is taken as the current best estimate C. For each layer d = 1, ..., D - 1, a new decision tree is formed in the following steps:

a) подготавливают новую цель, как μ = AD - C, чтобы позволить следующей оценке исправить ошибку предыдущего;a) prepare a new target, like μ = AD - C, to allow the next evaluation to correct the error of the previous one;

- 4 040190- 4 040190

b) формируют дерево решений Td, которое получает на вход Ad и дает на выходе μ как цель;b) form a decision tree Td that takes Ad as input and outputs μ as the target;

с) собирают обучающий набор предсказаний текущего дерева в качестве предсказания;c) collecting a training set of current tree predictions as a prediction;

d) выбирают коэффициент β посредством минимизации функционала кросс-энтропии (Softmax (C β * prediction), P) по β;d) choose the coefficient β by minimizing the cross entropy functional (Softmax (C β * prediction), P) over β;

e) выбирают новую C ^ C - β * prediction.e) choose a new C^C - β * prediction.

Таким образом, эти деревья решений можно рассматривать как особый случай алгоритма бустинга, где используются разные данные для каждого нового дерева, а также выбирается β с целью, отличной от цели дерева решений. Эта стратегия состоит в том, что в данной реализации нет множества независимых деревьев, но деревья, которые пытаются получить новую информацию из каждого слоя, не забывая о предыдущих разбиениях.Thus, these decision trees can be thought of as a special case of the boosting algorithm, where different data is used for each new tree, and β is chosen with a different goal from the decision tree. This strategy is that in this implementation there are not many independent trees, but trees that try to get new information from each layer, not forgetting previous partitions.

В некоторых вариантах реализации в алгоритме бустинга над деревьями решений для построения каждого дерева решений используется один и тот же набор признаков, из которого делается случайная подвыборка.In some implementations, the decision tree boosting algorithm uses the same set of features to build each decision tree, from which a random subsample is made.

В качестве алгоритма бустинга может использоваться XGBoost, AdaBoost, LPBoost, TotalBoost, BrownBoost, MadaBoost, LogitBoost, не ограничиваясь.The boosting algorithm can be XGBoost, AdaBoost, LPBoost, TotalBoost, BrownBoost, MadaBoost, LogitBoost, but not limited to.

В еще одном варианте реализации для формирования деревьев решений используют следующий алгоритм. Признаки каждого объекта обучающей выборки для i-го дерева пополняются номером листа, в который он попал в предыдущем i - 1 дереве или во всех предыдущих деревьях от 1 до i - 1.In yet another implementation, the following algorithm is used to generate decision trees. The features of each object of the training sample for the i-th tree are replenished with the number of the leaf in which it fell in the previous i - 1 tree or in all previous trees from 1 to i - 1.

Шаг 120.1: дерево решений получает в качестве входных данных активации соответствующего слоя, полученного при прохождении по нейронной сети объекта, из имеющегося набора.Step 120.1: The decision tree receives as input the activations of the corresponding layer, obtained by passing through the neural network of the object, from the available set.

Шаг 120.2: предсказывают посредством деревьев решений тот же ответ, который выдает на этом объекте обученная искусственная нейронная сеть.Step 120.2: using decision trees, predict the same answer that the trained artificial neural network gives on this object.

Ансамблем деревьев решений осуществляют дистилляцию ответа нейронной сети, т.е. формируют такие же ответы посредством дерева решений на объектах, какие на них выдает сеть.An ensemble of decision trees distills the response of the neural network, i.e. form the same answers by means of a decision tree on the objects that the network gives them.

Чем глубже деревья решений, тем больше количество потенциально возможных дискретных траекторий, что плохо. Однако чем менее глубоки деревья решений, тем хуже качество предсказания итогового ансамбля решений.The deeper the decision trees, the greater the number of potentially possible discrete trajectories, which is bad. However, the less deep the decision trees, the worse the quality of the prediction of the final ensemble of decisions.

Шаг 130: получают для каждого объекта упорядоченную последовательность номеров листьев сформированных на предыдущем шаге деревьев решений.Step 130: for each object, an ordered sequence of leaf numbers from the decision trees formed in the previous step is obtained.

Упорядоченная последовательность номеров листьев деревьев решений формируется по номеру слоя в нейронной сети. Имеется в виду, что если в нулевом дереве решений объект был в листе a, в первом - в листе b, а в третьем - c листе, то в итоге эта упорядоченная последовательность номеров листьев сводится к кортежу a,b,c. Необходимым условием является то, чтобы порядок был одинаковым для всех объектов и в некоторых вариантах реализации изобретения может иметь другой принцип формирования.An ordered sequence of decision tree leaf numbers is formed by the layer number in the neural network. This means that if in the zero decision tree the object was in leaf a, in the first one - in leaf b, and in the third - leaf c, then as a result this ordered sequence of leaf numbers is reduced 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 principle of formation.

Так, для одного входа X получают дискретный набор чисел (дискретную траекторию) следующим образом:So, for one input X, a discrete set of numbers (a discrete trajectory) is obtained as follows:

a) получают соответствующие активации ab ..., aD;a) get the corresponding activations a b ..., a D ;

b) Пропускают активации через связанные деревья T и собирают идентификаторы прогнозируемых листьев L = L1, ..., LD.b) Run activations through linked trees T and collect predictive leaf IDs L = L1, ..., L D .

После формирования набора траекторий активаций как декартовых произведений индикаторов листьев деревьев решений можно выбрать наиболее интересующие. В некоторых вариантах реализации листья в каждом дереве решений нумеруют, чтобы иметь возможность однозначно к ним обращаться. По сути, дискретная траектория является кортежем, где подряд находятся листы деревьев, в которые попал объект по слоям ИНС. Например, присутствуют два дерева решений, причем у первого дерева решений имеется пять листьев и у второго пять листьев, которые сформированы для разных слоев, таким образом, общее количество потенциально возможных траекторий достигает двадцати пяти.After forming a set of activation trajectories as Cartesian products of decision tree leaf indicators, the most interesting ones can be selected. In some implementations, the leaves in each decision tree are numbered so that they can be uniquely referenced. In fact, a discrete trajectory is a tuple, where there are leaves of trees in a row, into which the object fell through the ANN layers. For example, there are two decision trees, where the first decision tree has five leaves and the second has five leaves, which are formed for different layers, so that the total number of potential trajectories reaches twenty-five.

Получается дискретная версия той траектории, по которой прошел объект как совокупность его признаков, которые подаются на вход ИНС, при активации нейронов ИНС.It turns out a discrete version of the trajectory along which the object passed as a set of its features that are fed to the input of the ANN when the neurons of the ANN are activated.

Шаг 140: формируют набор правил, предсказывающий последовательность номеров листьев по объекту.Step 140: a set of rules is formed that predicts the sequence of leaf numbers by object.

На основании всего ансамбля деревьев решений по объектам и их активациям анализируют, что выполняет с объектом ИНС в том или ином слое. На данном шаге необходимо понять, по каким признакам исходного описания нейронная сеть определяет объект в ту или иную дискретную траекторию. Таким образом, решается задача предсказания с помощью набора правил номера дискретной траектории по исходному набору интерпретируемых признаков объекта. В других вариантах реализации набор интерпретируемых признаков не является исходным, а построенным на основании исходных признаков. Необходимо определить правила, описывающие, в какую траекторию попадет какой объект, т.е. номер дискретной траектории. Например, при анализе текста в нейронную сеть подается сам образец текста целиком. В качестве упомянутого преобразования может служить формирование мешка слов (англ. bag of words), когда записывают в хранилище данных, сколько раз встретилось каждое слово в тексте, приBased on the entire ensemble of decision trees for objects and their activations, they analyze what the ANN does with the object in a particular layer. At this step, it is necessary to understand by what features of the initial description the neural network determines the object into one or another discrete trajectory. Thus, the problem of prediction is solved using a set of rules for the number of a discrete trajectory based on the initial set of interpreted features of the object. In other implementations, the set of interpreted features is not the original one, but is built on the basis of the original features. It is necessary to define the rules that describe which trajectory will fall into which object, i.e. discrete trajectory number. For example, when analyzing a text, the entire sample of the text itself is fed into the neural network. As the mentioned transformation, the formation of a bag of words can serve, when it is recorded in the data warehouse, how many times each word was encountered in the text, when

- 5 040190 этом все слова приводятся к своей начальной форме, в результате чего появляется цифровое описание текста. Данное преобразование однозначно выполняется в одну сторону (от текста к мешку слов) и неоднозначно в обратную сторону, так как по мешку слов невозможно однозначно восстановить исходный текст.- 5 040190 In this case, all words are reduced to their initial form, as a result of which a digital description of the text appears. This transformation is uniquely performed in one direction (from the text to the bag of words) and ambiguously in the opposite direction, since it is impossible to uniquely restore the original text from the bag of words.

Исходное признаковое пространство, на котором была обучена ИНС, подается на вход набору правил. В качестве алгоритма построения правил можно использовать дерево решений. В некоторых вариантах реализации на вход дереву решений подается не исходное признаковое описание, а описание данного объекта с измененным набором признаков. Данный набор может изменяться таким образом, чтобы помогать строить экспрессивные правила. Правила будут выглядеть как ЕСЛИ интерпретируемый_признак_1 < значение_1 И ... И интерпретируемый_признак_n < значение_п, ТО объект проследует по дискретной траектории x. Например, ИНС обучают предварительно на фотографиях людей, а дереву решений подают на вход цвет волос, расстояние между зрачками и т.д., сформированные в виде таблицы. В другом примере обучают нейронную сеть на последовательности транзакций пользователя, однако данный набор данных не является интерпретируемым. Измененным интерпретируемым признаком будет следующее: какую долю суммы пользователь тратит по понедельникам, вторникам, средам и т.д. Таким образом, дерево решений строят уже на наборе измененных признаков.The initial feature space, on which the ANN was trained, is fed to the input of a set of rules. A decision tree can be used as an algorithm for constructing rules. In some embodiments, the input to the decision tree is not the original feature description, but a description of the given object with a modified set of features. This set can be modified to help build expressive rules. The rules will look like IF interpreted_feature_1 < value_1 AND ... AND interpreted_feature_n < value_n, THEN the object will follow a discrete trajectory x. For example, ANNs are trained in advance on photographs of people, and the decision tree is fed into the input hair color, distance between pupils, etc., formed in the form of a table. In another example, a neural network is trained on a sequence of user transactions, however, this data set is not interpretable. The modified interpretable attribute will be the following: what proportion of the amount the user spends on Mondays, Tuesdays, Wednesdays, etc. Thus, the decision tree is already built on a set of modified features.

В некоторых вариантах осуществления формируют коэффициент для каждого объекта, который определяет его важность. Во время процедуры построения финальных правил разные примеры могут иметь разную важность, то есть степень влияния на получающиеся правила. Например, коэффициент может формироваться на основании того, насколько предсказание искусственной нейронной сети на объекте отличается от предсказания ансамбля послойных деревьев решений.In some embodiments, a coefficient is generated for each item that determines its importance. During the procedure for constructing the final rules, different examples may have different importance, that is, the degree of influence on the resulting rules. For example, the coefficient can be formed based on how much the prediction of an artificial neural network on an object differs from the prediction of an ensemble of layered decision trees.

В качестве глобального критерия завершения работы технического решения могут быть использованы максимальный размер дерева и общая оценка качества классификации примеров деревом. Разумеется, чем глубже дерево (длиннее набор правил), тем точнее оно предскажет дискретную траекторию. Но слишком большое количество правил осложняет интерпретацию. После построения дерева решений необходимо еще выполнить постобработку правил по одному из известных алгоритмов. В некоторых вариантах реализации построение набора правил также может происходить и напрямую, без участия дерева решений, например посредством алгоритма RuleFit.As a global criterion for completing the work of a technical solution, the maximum size of the tree and the overall assessment of the quality of the classification of examples by the tree can be used. Of course, the deeper the tree (the longer the set of rules), the more accurately it will predict the discrete trajectory. But too many rules complicate interpretation. After building the decision tree, it is also necessary to post-process the rules according to one of the well-known algorithms. In some implementations, the construction of a set of rules can also occur directly, without the participation of a decision tree, for example, through the RuleFit algorithm.

Основным преимуществом данного подхода является дискретизация последовательности активаций ИНС, что позволяет получать интерпретацию с помощью правил. Причем сервер включает в себя различные аппаратные компоненты, включая один или несколько одно- или многоядерных процессоров, которые представлены процессором, графическим процессором (GPU), твердотельным накопителем, ОЗУ, интерфейсом монитора и интерфейсом ввода/вывода.The main advantage of this approach is the discretization of the ANN activation sequence, which makes it possible to obtain an interpretation using rules. Moreover, the server includes various hardware components, including one or more single or multi-core processors, which are represented by a processor, a graphics processing unit (GPU), a solid state drive, a RAM, a monitor interface, and an I/O interface.

Связь между различными компонентами сервера может осуществляться с помощью одной или нескольких внутренних и/или внешних шин (например, шины PCI, универсальной последовательной шины, высокоскоростной шины IEEE 1394, шины SCSI, шины Serial ATA и так далее), с которыми электронными средствами соединены различные аппаратные компоненты. Интерфейс монитора может быть соединен с монитором (например, через HDMI-кабель), видимым оператору, интерфейс ввода/вывода может быть соединен с сенсорным экраном, клавиатурой (например, через USB-кабель) и мышью (например, через USB-кабель), причем как клавиатура, так и мышь используются оператором. В соответствии с вариантами осуществления настоящей технологии твердотельный накопитель хранит программные инструкции, подходящие для загрузки в ОЗУ и использующиеся процессором и/или графическим процессором GPU для отбора данного целевого признака процесса из множества признаков и данного типа выходных значений, как будет описано ниже. Например, программные инструкции могут представлять собой часть библиотеки или приложение.Communication between the various server components may be via one or more internal and/or external buses (e.g., PCI bus, Universal Serial Bus, IEEE 1394 high speed bus, SCSI bus, Serial ATA bus, etc.) to which various hardware components. The monitor interface can be connected to a monitor (e.g. via HDMI cable) visible to the operator, the I/O interface can be connected to a touch screen, keyboard (e.g. via USB cable) and mouse (e.g. via USB cable), both keyboard and mouse are used by the operator. In accordance with embodiments of the present technology, a solid state drive stores program instructions suitable for loading into RAM and used by the processor and/or GPU to select a given process feature target from a set of features and a given type of output values, as will be described below. For example, the program instructions may be part of a library or an application.

Сервер может быть настольным компьютером, ноутбуком, планшетом, смартфоном, персональным цифровым органайзером (PDA) или другим устройством, которое может быть выполнено с возможностью реализовать настоящую технологию, как будет понятно специалисту в данной области техники. Сервер может быть выполнен с возможностью осуществлять алгоритм машинного обучения (MLA) и выполнять различные способы для обучения MLA. В некоторых вариантах осуществления настоящей технологии MLA может быть либо искусственной нейронной сетью, Байесовой сетью, машиной опорных векторов и т.д. В другом варианте осуществления настоящей технологии MLA может быть моделью прогнозирования, которая включает в себя набор деревьев решений для решения, среди прочего, задач регрессии и классификации. В этом случае MLA может быть обучен с помощью способов машинного обучения, например градиентного бустинга (gradient boosting).The server may be a desktop computer, laptop, tablet, smartphone, personal digital organizer (PDA), or other device that may be configured to implement the present technology, as will be understood by one skilled in the art. The server may be configured to implement a machine learning algorithm (MLA) and perform various methods for learning the MLA. In some embodiments of the present technology, the MLA may be either an artificial neural network, Bayesian network, support vector machine, etc. In another embodiment of the present technology, the MLA may be a prediction model that includes a set of decision trees for solving regression and classification problems, among other things. In this case, MLA can be trained using machine learning techniques such as gradient boosting.

Сервер может быть выполнен с возможностью осуществлять множество процедур, причем по меньшей мере одна из множества процедур является созданием обучающей выборки для обучения MLA. В общем случае MLA может быть обучен прогнозировать расчетные погрешности, присущие способам расчетов. То, как может быть выполнен сервер для создания обучающей выборки для обучения MLA, будет описано ниже.The server may be configured to perform a plurality of procedures, wherein at least one of the plurality of procedures is to create a training sample for training the MLA. In general, the MLA can be trained to predict the design errors inherent in the calculation methods. How a server can be configured to create a training sample for MLA training will be described below.

В некоторых вариантах осуществления настоящей технологии сервер может быть выполнен с возможностью получать доступ к данным истории, связанной с финансовыми транзакциями пользователяIn some embodiments of the present technology, the server may be configured to access history data associated with a user's financial transactions.

- 6 040190 или другими данными. Данные истории могут быть сохранены локально на твердотельном накопителе сервера. В других вариантах осуществления настоящей технологии данные истории могут быть сохранены удаленно на носителе информации, который функционально соединен с сервером по сети. В этом случае сервер может извлекать данные истории из носителя информации по сети. Основное преимущество данного технического решения заключается в обобщающей способности искусственных нейронных сетей, что позволяет получать более простые деревья решений, т.е. выполняется так называемая дистилляция. Дистилляция осуществляется не стандартная и известная из уровня техники, а позволяющая определять какие объекты ИНС склонна обрабатывать схожим образом, т.е. какие паттерны в данных различает именно имеющаяся обученная нейронная сеть. Таким образом, изобретение позволяет извлекать структурированные знания не только из чрезвычайно упрощенных нейронных сетей, но и из нейронных сетей, которые интерпретируются в готовом виде, не упрощая их структуру в процессе анализа, что делает возможным его применение в широком круге практических задач.- 6 040190 or other data. History data can be stored locally on the server's SSD. In other embodiments of the present technology, history data may be stored remotely on a storage medium that is operatively connected to a server over a network. In this case, the server can retrieve the 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 makes it possible to obtain simpler decision trees, i.e. the so-called distillation is carried out. Distillation is not carried out in the standard and known from the prior art, but allows you to determine which objects the ANN tends to process in a similar way, i.e. what patterns in the data are distinguished by the existing trained neural network. Thus, the invention makes it possible to extract structured knowledge not only from extremely simplified neural networks, but also from neural networks that are interpreted in finished form, without simplifying their structure during the analysis, which makes it possible to use it in a wide range of practical problems.

Модули, описанные выше и используемые в данном техническом решении, могут быть реализованы с помощью электронных компонентов, используемых для создания цифровых интегральных схем. Не ограничиваюсь, могут использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задается посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС являются программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже.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, microcircuits, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set by programming, can be used. Programmers and debugging environments are used for programming, allowing you to set 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 are programmable logic controllers (PLCs), basic matrix crystals (BMC ) requiring a factory manufacturing process for programming; ASICs are specialized custom large integrated circuits (LSI), which are significantly more expensive in small-scale and single-piece production.

Также модули могут быть реализованы с помощью постоянных запоминающих устройств (см. Лебедев О.Н. Микросхемы памяти и их применение. - М.: Радио и связь, 1990. - 160 с; Большие интегральные схемы запоминающих устройств: Справочник/А.Ю. Горденов и др. - М.: Радио и связь, 1990. - 288 с). Таким образом, реализация всех используемых блоков достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники, известных из уровня техники.Also, modules can be implemented using read-only memory devices (see Lebedev O.N. Memory microcircuits and their application. - M .: Radio and communication, 1990. - 160 s; Large integrated memory circuits: Handbook / A.Yu. Gordenov and others - M .: Radio and communication, 1990. - 288 p.). Thus, the implementation of all used blocks is achieved by standard means based on the classical principles of implementing the fundamentals of computer technology, known from the prior art.

Примеры реализацииImplementation examples

Изобретение может быть реализовано с использованием выборки данных MNIST и полносвязной ИНС.The invention can be implemented using MNIST data sampling and a fully connected ANN.

Модель сети будет объяснена ниже. В данном техническом решении обучили сеть с прямой связью, сконфигурированную следующим образом: (784, 200, ReLU) - (20о, 200, ReLU) - (200, 200, ReLU) - (200, 10, LogSoftmax). Тройка данных (784, 200, ReLU) подразумевает, что есть слой, у которого входная размерность 784, выходная размерность 200, а функция активации ReLU. Модель была натренирована с оптимизатором Adam с шагом обучения 3e-4. Сеть обучалась в течение 10 эпох и достигла точности 97,5% на тестовом наборе. Активации получали после каждого использования функции активации ReLU, а также перед функцией LogSoftmax (оценка для каждого класса), таким образом, получили три множества активаций, размером в 200 значений, и одно множество активаций, размером 10 значений.The network model will be explained below. In this technical solution, a feed-forward network was trained, configured as follows: (784, 200, ReLU) - (20o, 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 an activation function of ReLU. The model was trained with the Adam optimizer with a training step of 3e-4. The network was trained for 10 epochs and achieved 97.5% accuracy on the test set. Activations were obtained after each use of the ReLU activation function, as well as before the LogSoftmax function (evaluation for each class), thus obtaining three activation sets of 200 values and one activation set of 10 values.

Далее в конкретном варианте осуществления используется стратегия формирования деревьев решений посредством бустинга. Затем ограничили максимальную глубину деревьев решений значением три и минимальным количеством объектов в листе - 3% от размера выборки. В качестве деревьев принятия решений используется библиотека Scikit-learn. Оценки классов были выбраны в качестве цели для бустинга. Кросс энтропия ансамбля деревьев решений оказалась равно 0,54. Объекты с верхней 5%-ной ошибкой при бустинге были исключены из обучающего набора для конечного дерева. Далее выбрали минимальное количество дискретных траекторий, которые включают не менее 90% примеров обучающей выборки, как показано на фиг. 5. Выбранные дискретные траектории сохраняют свой исходный идентификатор, пока все другие траектории отмечаются как -1. Различные дискретные траектории, ведущие к одному и тому же номеру, показаны на фиг. 6.Further, in a specific embodiment, the strategy of forming decision trees through boosting is used. Then we limited the maximum depth of decision trees to three and the minimum number of objects in a leaf - 3% of the sample size. The Scikit-learn library is used as decision trees. Class grades were chosen as the target for boosting. The cross entropy of the ensemble of decision trees turned out to be 0.54. Features with the top 5% boost error were excluded from the final tree training set. Next, a minimum number of discrete trajectories were selected that included at least 90% of the training sample examples, as shown in FIG. 5. Selected discrete trajectories retain their original ID as long as all other trajectories are flagged as -1. Various discrete trajectories leading to the same number are shown in FIG. 6.

Затем формируется окончательное дерево решений, в котором исходное изображение является входными данными, и номер дискретной траектории является целью для определения. Таким образом, у нас есть задача с несколькими N + 1 дискретными траекториями, где выбраны N дискретных траекторий с предыдущего шага и 1 траектория содержит все остальные образцы. На фиг. 8 показана дискретная траектория, которая с высокой вероятностью относится к символу 7 и правила, которые определяют эту траекторию. В двоичных правилах изображения пиксели имеют красный цвет (в ч/б варианте фигуры не показано), если он был включен в окончательное дерево решений с отрицательным значением (значение пикселя должно быть ниже, чем порог установленный в узле дерева), зеленый цвет имеют пиксели с положительным значением, в ином случае - желтый (в ч/б варианте фигуры цвета не показаны). Во взвешенной части указывается каждый пиксель о значении яркости, пропорциональным количеству примеров, на которые повлияло это правило. Для специалиста в данном уровне техники очевидно, что в настоящем описании выражение получение данных от пользователя подразумевает получение электронThen the final decision tree is formed, in which the original image is the input, and the number of the discrete trajectory is the target for determination. Thus, we have a problem with several N + 1 discrete trajectories, where N discrete trajectories from the previous step are selected and 1 trajectory contains all other samples. In FIG. 8 shows a discrete trajectory that belongs to symbol 7 with a high probability and the rules that define this trajectory. In the binary image rules, pixels are red (not shown in the b/w version of the figure), 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), green are pixels with positive value, otherwise - yellow (colors are not shown in the b/w version). The weighted part tells each pixel about a brightness value proportional to the number of instances affected by this rule. For a person skilled in the art it is obvious that in the present description, the expression receiving data from the user means receiving an electron

- 7 040190 ным устройством данных от вычислительной системы, сервера и т.д. в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран электронного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя. Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, оптоволоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).- 7 040190 data device from a computer system, server, etc. in the form of an electronic (or other) signal. In addition, those skilled in the art will appreciate that displaying data to a user via a graphical user interface (e.g., a screen of an electronic device, and the like) may include transmitting a signal to the graphical user interface, that signal contains data that can be processed, and at least some of this data may be displayed to the user via a graphical user interface. Some of these steps, as well as transmitting/receiving a signal, are well known in the art and have therefore been omitted from specific parts of this specification for simplicity. Signals can be transmitted/received by optical means (eg, fiber optic connection), electronic means (eg, wired or wireless connection), and mechanical means (eg, based on pressure, temperature, or other suitable parameter).

Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.Modifications and improvements to the above described embodiments of the present technology will be apparent to those skilled in the art. The foregoing description is provided by way of example only and is not intended to be limiting in any way. Thus, the scope of the present technology is limited only by the scope of the appended claims.

Claims (12)

ФОРМУЛА ИЗОБРЕТЕНИЯCLAIM 1. Способ интерпретации искусственных нейронных сетей, включающий следующие шаги:1. A method for interpreting artificial neural networks, including the following steps: получают по меньшей мере одну предварительно обученную на наборе объектов искусственную нейронную сеть;receive at least one artificial neural network pre-trained on a set of objects; формируют для каждого слоя обученной нейронной сети по меньшей мере одно дерево решений, причем дерево решений получает в качестве входных данных данные активации нейронов соответствующего слоя, полученного при прохождении по нейронной сети объекта, из имеющегося набора данных;at least one decision tree is formed for each layer of the trained neural network, wherein the decision tree receives as input the activation data of the neurons of the corresponding layer obtained when passing through the neural network of the object from the existing data set; предсказывают посредством деревьев решений, сформированных для каждого слоя обученной нейронной сети, тот же ответ, который выдает на этом объекте обученная искусственная нейронная сеть;predicting, by means of decision trees formed for each layer of the trained neural network, the same answer that the trained artificial neural network produces at this object; получают для каждого объекта упорядоченную последовательность номеров листьев, сформированных на предыдущем шаге деревьев решений;get for each object an ordered sequence of leaf numbers generated at the previous step of the decision trees; на основе упорядоченной последовательности номеров листьев и данных активаций нейронов формируют набор правил, предсказывающий последовательность номеров листьев по объекту.based on the ordered sequence of leaf numbers and neuron activation data, a set of rules is formed that predicts the sequence of leaf numbers for the object. 2. Способ по п.1, характеризующийся тем, что в качестве меры качества дерева решений используют кросс-энтропию между распределением классов, предсказанным им, и распределением, возвращенным ИНС.2. The method according to claim 1, characterized in that, as a measure of the quality of the decision tree, the cross entropy between the class distribution predicted by it and the distribution returned by the ANN is used. 3. Способ по п.1, характеризующийся тем, что в качестве меры качества дерева решений используют среднюю квадратичную либо абсолютную ошибку между ответом, предсказанным им, и ответом, возвращенным ИНС.3. The method according to claim 1, characterized in that, as a measure of the quality of the decision tree, the mean square or absolute error between the answer predicted by it and the answer returned by the ANN is used. 4. Способ по п.1, характеризующийся тем, что деревья решений строятся независимо друга от друга.4. The method according to claim 1, characterized in that the decision trees are built independently of each other. 5. Способ по п.1, характеризующийся тем, что деревья решений строятся зависимо друг от друга на основании алгоритма бустинга.5. The method according to claim 1, characterized in that the decision trees are built depending on each other based on the boosting algorithm. 6. Способ по п.1, характеризующийся тем, что деревья решений строятся зависимо друг от друга посредством добавления информации о номерах листьев из деревьев, построенных на предыдущих слоях, на вход дерева следующего слоя.6. The method according to claim 1, characterized in that the decision trees are built depending on each other by adding information about the numbers of leaves from trees built on previous layers to the input of the tree of the next layer. 7. Способ по пп.5 и 6, характеризующийся тем, что в качестве алгоритма бустинга используют XGBoost, или AdaBoost, или LPBoost, или TotalBoost, или BrownBoost, или MadaBoost, или LogitBoost.7. The method according to claims 5 and 6, characterized in that XGBoost, or AdaBoost, or LPBoost, or TotalBoost, or BrownBoost, or MadaBoost, or LogitBoost is used as the boosting algorithm. 8. Способ по п.1, характеризующийся тем, что формируют для каждого слоя обученной нейронной сети дерево решений на основании алгоритма CLS, или ID3, или C4.5, или CART, или IndCART, или DBCART, или CHAID, или MARS.8. The method according to claim 1, characterized in that a decision tree is formed for each layer of the trained neural network based on the CLS algorithm, or ID3, or C4.5, or CART, or IndCART, or DBCART, or CHAID, or MARS. 9. Способ по п.1, характеризующийся тем, что формируют дерево решений исходя из минимизации функционала ошибки на все объекты, которые ему подаются на вход.9. The method according to claim 1, characterized in that the decision tree is formed based on the minimization of the error functional for all objects that are fed to it as input. 10. Способ по п.1, характеризующийся тем, что на вход дереву решений подается исходное признаковое описание для искусственной нейронной сети или описание объекта с измененным набором признаков.10. The method according to claim 1, characterized in that the input to the decision tree is an initial feature description for an artificial neural network or a description of an object with a modified set of features. 11. Способ по п.1, характеризующийся тем, что нумеруют листья в каждом дереве решений.11. The method according to claim 1, characterized in that the leaves in each decision tree are numbered. 12. Способ по п.1, характеризующийся тем, что упорядоченная последовательность номеров листьев формируется по номеру слоя в нейронной сети.12. The method according to claim 1, characterized in that the ordered sequence of leaf numbers is formed according to the layer number in the neural network.
EA201891425 2018-07-13 METHOD OF INTERPRETATION OF ARTIFICIAL NEURAL NETWORKS EA040190B1 (en)

Publications (1)

Publication Number Publication Date
EA040190B1 true EA040190B1 (en) 2022-04-28

Family

ID=

Similar Documents

Publication Publication Date Title
Wayne et al. Unsupervised predictive memory in a goal-directed agent
RU2689818C1 (en) Method of interpreting artificial neural networks
Fei et al. Temporal models for predicting student dropout in massive open online courses
Kim Book review: Deep learning
CN111797895B (en) Training method, data processing method, system and equipment for classifier
Sharma Utilizing Explainable Artificial Intelligence to Address Deep Learning in Biomedical Domain
Paul et al. Disease predictor using random forest classifier
Jat et al. Applications of statistical techniques and artificial neural networks: A review
CN113407820A (en) Model training method, related system and storage medium
US11816185B1 (en) Multi-view image analysis using neural networks
EP3614314A1 (en) Method and apparatus for generating chemical structure using neural network
Borovska et al. Experimental framework for the investigations in internet of medical imaging things ecosystem
Nizam et al. Explainable Artificial Intelligence (XAI): Conception, Visualization and Assessment Approaches Towards Amenable XAI
EA040190B1 (en) METHOD OF INTERPRETATION OF ARTIFICIAL NEURAL NETWORKS
Anjaneyulu et al. Effective heart disease prediction using hybrid machine learning techniques
Qamar et al. Artificial Neural Networks: An Overview
Rakhmetulayeva et al. Building Disease Prediction Model Using Machine Learning Algorithms on Electronic Health Records' Logs
Hu A web application for crowd counting by building parallel and direct connection-based CNN architectures
Rhee et al. Three decades of machine learning with neural networks in computer-aided architectural design (1990–2021)
KR20230046361A (en) Apparatus for diagnosing the state of production facilities based on deep neural network and method therefor
Upadhyay et al. Artificial intelligence application to D and D—20492
Sun Revisiting Human Activity Recognition with Explainable AI Approaches
Yousif et al. Critical Review of Neural Network Generations and Models Design
Titu et al. Acquiring businesss intelligence through data science: A practical approach
Dhar The Paradigm Shifts in Artificial Intelligence