Network analysis system, network analysis method, and program

The network analysis system addresses the complexity of deep learning models by condensing neural networks and generating functional maps, allowing for efficient and stable analysis and interpretation of neural network functions, overcoming the limitations of existing visualization methods.

WO2025022705A1PCT designated stage expired Publication Date: 2025-01-30TOKYO INST OF TECH
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/009074
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-21
Filing Date
2024-03-08
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

Deep learning models are complex and difficult to interpret, with existing visualization methods like GradCAM limited in explaining the behavior of neural networks, leading to challenges in understanding the functionality of individual neurons and requiring manual interpretation, which is inefficient and unstable.

Method used

A network analysis system that condenses neural networks by reducing redundant units, generating functional maps to reflect processing contents, and performing clustering to group units with similar functions, allowing for efficient, stable, and clear analysis of neural network functions.

Benefits of technology

Enables efficient and stable analysis of neural network functions by reducing output error within a predetermined range, visualizing processing contents, and grouping units with similar functions, facilitating better understanding and interpretation of deep learning models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024009074_30012025_PF_FP_ABST
    Figure JP2024009074_30012025_PF_FP_ABST
Patent Text Reader

Abstract

A condensation processing device (1) removes one or more units from a plurality of units included in a neural network and condenses the neural network within a range in which the output of the neural network is smaller than a desired error. A function map generation device (2) inputs a plurality of input images to the condensed neural network in a state in which a value is output from only one unit-to-be-analyzed among a plurality of units included in a layer-to-be-analyzed that is one of one or more intermediate layers of the condensed neural network, thereby generating a plurality of function maps each reflecting processing content of the unit-to-be-analyzed. A clustering device (3) performs hierarchical clustering on the plurality of function maps generated for the plurality of input images, and groups the units corresponding to the plurality of function maps.
Need to check novelty before this filing date? Find Prior Art

Description

Network analysis system, network analysis method and program

[0001] The present disclosure relates to a network analysis system, a network analysis method, and a program.

[0002] Artificial intelligence (AI) based on machine learning is being actively applied in a variety of fields. Machine learning models acquire functions by learning from data, but they tend to become "black boxes" that make it difficult to interpret the relationship between the object and the result. In particular, deep learning is an end-to-end machine learning paradigm that "learns" everything from input data to the final result in one go, making everything a black box.

[0003] In recent years, deep learning models have become larger and more complex, making it extremely difficult to understand their contents. As a result, research into "explainable AI," which is a method for clearly explaining such complex and large-scale deep learning models, has not progressed much.

[0004] In the field of deep learning, the overwhelming majority of research is focused on solving everything with a single deep learning model. However, this "learn all at once, solve all at once" model results in a large and complex model, which significantly hinders understanding of its contents. As a result, research into methodologies for clearly analyzing or explaining such complex and large-scale deep learning models has not progressed much to date.

[0005] One known research attempting to explain the contents of deep learning models is (1) a method for visualizing which parts of an input image the model focused on when making its decision. One such method is GradCAM (Non-Patent Document 1). GradCAM uses the feature extraction function of a convolutional neural network (CNN) to retain positional information, and calculates which parts of the input image influenced the model's decision from a feature map.

[0006] There are also known methods for visualizing the features acquired in a model layer as a map. One such method, which is limited to application to CNN models, is a deconvolutional neural network method (Non-Patent Document 2). In a deconvolutional neural network method, the features of an input image that neurons in a layer are focusing on are visualized by performing inverse calculations (deconvolution) from output to input, as opposed to forward calculations (convolution) from input to output.

[0007] U.S. Patent No. 7,545,965 U.S. Patent No. 6,819,790

[0008] RR Selvaraju, M. Cogswell, A. Das, R. Vedantam, D. Parikh and D. Batra, "Grad-CAM: Visual Explanations from Deep Networks via Gradient-Based Localization", 2017 IEEE International Conference on Computer Vision (ICCV), Venice, Italy, 2017, pp. 618-626, doi: 10.1109 / ICCV.2017.74.Matthew D. Zeiler, et al., “Visualizing and UnderstandingConvolutional Networks”, ECCV 2014, Part I, LNCS 8689, pp. 818-833.Suzuki K, et al. “A Simple Neural Network Pruning Algorithm with Application to Filter Synthesis”, Neural Proc Lett 2001.Ziv Joseph, et al. “Fast optimal leaf ordering for hierarchical clustering”, Bioinformatics, 2001, vol.17, Suppl.1, pp. S22-S29.

[0009] However, the above-mentioned method visualizes the region of interest in the input image and visualizes which features of the input image are being focused on, but does not clarify the behavior of the neural network or the function of the neurons within the neural network.

[0010] Even if a neural network's vast number of neurons are visualized, it is difficult to interpret their meaning. Furthermore, discovering interpretable neurons requires manual human effort and may be a matter of chance. Furthermore, it is difficult to use a unified standard for interpreting neural networks or neurons, and many interpretations are far-fetched. Thus, the above-mentioned methods have significant drawbacks in terms of the validity and stability of interpretations.

[0011] The present disclosure has been made in view of the above circumstances, and aims to analyze the function of a neural network efficiently, stably, and clearly.

[0012] A network analysis system according to one aspect of the present disclosure includes: a condensation processing device that condenses a neural network by removing one or more units from a plurality of units included in the neural network so that an error in the output of the neural network falls within a predetermined range; and a functional map generation device that generates a functional map that reflects the processing content of the analysis target unit by inputting an input image to the condensed neural network in a state in which an analysis target layer, which is one of one or more intermediate layers of the condensed neural network, outputs a value from only one analysis target unit out of a plurality of units included in the analysis target layer.

[0013] A network analysis system that is one aspect of the present disclosure is the above-mentioned network analysis system, and desirably further includes a clustering device that performs clustering on the multiple functional maps generated for the multiple input images and groups units corresponding to the multiple functional maps.

[0014] A network analysis system according to one aspect of the present disclosure is the above-described network analysis system, wherein the functional map preferably displays in gradation the degree of enhancement or attenuation processing performed on pixels or patterns of the input image.

[0015] A network analysis system according to one aspect of the present disclosure is the above-described network analysis system, wherein the functional map is desirably displayed in an intermediate gradation when neither the enhancement processing nor the attenuation processing has been performed, displayed in one of the gradations of two regions sandwiching the intermediate gradation within the gradation display range when the enhancement processing has been performed, and displayed in the other gradation of the two regions sandwiching the intermediate gradation within the gradation display range when the attenuation processing has been performed.

[0016] A network analysis system according to one aspect of the present disclosure is the above-described network analysis system, wherein the functional map generation device preferably includes: a gate operation unit that operates the neural network so that values ​​are output only from the analysis target unit in the analysis target layer; and a map generation unit that inputs the input image to the neural network to generate a functional map that reflects the processing content of the analysis target unit.

[0017] A network analysis method according to one aspect of the present disclosure condenses a neural network by removing one or more units from a plurality of units included in the neural network so that an error in the output of the neural network falls within a predetermined range, and then inputs an input image to the condensed neural network in a state in which a value is output from only one of the plurality of units included in an analysis target layer, the analysis target layer being one of one or more intermediate layers of the condensed neural network, thereby generating a functional map that reflects the processing content of the analysis target unit.

[0018] A program according to one aspect of the present disclosure causes a computer to perform the following steps: condensing the neural network by removing one or more units from a plurality of units included in the neural network so that an error in the output of the neural network falls within a predetermined range; and generating a function map that reflects the processing content of the analysis target unit by inputting an input image into the condensed neural network in a state in which an analysis target layer, which is one of one or more intermediate layers of the condensed neural network, outputs a value from only one analysis target unit out of a plurality of units included in the analysis target layer.

[0019] According to the present disclosure, the function of a neural network can be analyzed efficiently, stably, and clearly.

[0020] 1 is a diagram showing an example of a hardware configuration for realizing a network analysis system. FIG. 1 is a diagram showing an overview of the structure of an MTANN and data input to the MTANN. FIG. 2 is a diagram showing a schematic configuration of a network analysis system. FIG. 3 is a diagram showing a modified example of a network analysis system. FIG. 4 is a diagram showing a schematic configuration of a condensation processing device. FIG. 5 is a diagram showing a schematic configuration of a neural network to be processed. FIG. 6 is a diagram showing a flowchart of neural network condensation processing. FIG. 7 is a diagram showing a BCE loss function that changes due to unit reduction. FIG. 8 is a diagram showing an example of an output image when an input image to be analyzed is input to a trained neural network after condensation processing. FIG. 9 is a diagram showing a schematic configuration of a function map generation device. FIG. 10 is a flowchart of map generation processing. FIG. 11 is a diagram showing a neural network after gate setting. FIG. 12 is a diagram showing an example of selection of units to be analyzed. FIG. 13 is a flowchart of normalization processing. FIG. 14 is a diagram showing an example of a function map. FIG. 15 is a diagram showing a schematic configuration of a clustering device. FIG. 16 is a flowchart of clustering processing. FIG. 17 is a diagram showing an example of grouping of units. FIG. 18 is a diagram showing the relationship between function maps and groups.

[0021] Specific embodiments will be described in detail below with reference to the drawings. However, the present invention is not limited to the following embodiments. For clarity of explanation, the following description and drawings have been simplified as appropriate. The same elements are given the same reference numerals, and duplicate explanations will be omitted.

[0022] In this embodiment, a configuration and a method that can explain the function and behavior of a machine learning model including a deep learning model are described. The configuration and the method according to this embodiment make it possible to clarify the function of each neuron or group of neurons in a deep learning model after learning, and to explain the behavior of the entire model resulting from the combination of these neurons.

[0023] The configuration and method described here is a technology with a significant ripple effect that will contribute to the development, use, and implementation of various types of AI, and can be widely applied to various fields of AI application, such as medicine, health, autonomous driving, communications, robotics, space, e-commerce, online sales, social networks, security, finance and insurance, and the environment.

[0024] First, as a prerequisite for understanding the network analysis system according to the first embodiment, an example of a hardware configuration for implementing the network analysis system will be described. FIG. 1 illustrates an example of a hardware configuration for implementing the network analysis system. The network analysis system can be implemented by a computer 1000, such as a dedicated computer or a personal computer (PC). However, the computer does not need to be physically single; multiple computers may be used when performing distributed processing. As shown in FIG. 1, the computer 1000 includes a CPU (Central Processing Unit) 1001, a ROM (Read Only Memory) 1002, and a RAM (Random Access Memory) 1003, which are interconnected via a bus 1004. Although an explanation of the OS software and other software required to operate the computer will be omitted, it is assumed that the computer that implements this network analysis system also includes these software.

[0025] An input / output interface 1005 is also connected to the bus 1004. To the input / output interface 1005, for example, an input unit 1006 including a keyboard, mouse, sensor, etc., a display including a CRT, LCD, etc., an output unit 1007 including headphones, speakers, etc., a storage unit 1008 including a hard disk, etc., and a communication unit 1009 including a modem, terminal adapter, etc. are connected.

[0026] The CPU 1001 executes various processes in accordance with various programs stored in the ROM 1002 or various programs loaded from the storage unit 1008 to the RAM 1003. In this embodiment, for example, the processes of each unit of the network analysis system described below. A graphics processing unit (GPU) may be provided to execute various processes in accordance with various programs stored in the ROM 1002 or various programs loaded from the storage unit 1008 to the RAM 1003, similar to the CPU 1001. In this embodiment, for example, the processes of each unit of the network analysis system described below. The GPU is suitable for performing routine processing in parallel, and by applying it to neural network processing described below, for example, it is possible to improve processing speed compared to the CPU 1001. The RAM 1003 also stores data necessary for the CPU 1001 and the GPU to execute various processes.

[0027] The communication unit 1009 performs communication processing via the Internet (not shown), for example, transmits data provided by the CPU 1001, and outputs data received from a communication partner to the CPU 1001, RAM 1003, and storage unit 1008. The storage unit 1008 exchanges data with the CPU 1001 and stores and erases information. The communication unit 1009 also performs communication processing of analog or digital signals with other devices.

[0028] The input / output interface 1005 is also connected to a drive 1010 as needed, and, for example, a magnetic disk 1011, an optical disk 1012, a flexible disk 1013, or a semiconductor memory 1014 is appropriately attached, and computer programs read from these are installed in the memory unit 1008 as needed.

[0029] Next, a learning method for neural network images according to this embodiment will be described. In this embodiment, it is desirable to use a method for directly learning images, such as image-output deep learning, as a machine learning method for raw image data. An example of image-output deep learning is MTANN (Massive-Training Artificial Neural Network). MTANN is a nonlinear deep learning model that can output images. In this embodiment, the calculation means of the network analysis system learns a trained model (estimator) acquired by MTANN.

[0030] MTANN is described in Patent Documents 1 and 2, but will be briefly described below. MTANN is a neural network that can be applied to various image processing and pattern recognition processes. Figure 2 shows an overview of the structure of MTANN and the data input to MTANN.

[0031] The MTANN 201 is composed of a multi-layer artificial neural network (ANN) that can directly manipulate the level of input pixels and the level of output pixels. The multi-layer ANN of the MTANN 201 is composed of an input layer 202, a hidden layer 203, and an output layer 204. The input layer 202 and the hidden layer 203 have multiple units (neurons), but the output layer 204 has only one unit (neuron).

[0032] The input layer 202, hidden layer 203, and output layer 204 have a linear function, a sigmoid function, and a linear function as activation functions, respectively. Since the performance of ANN in image processing is significantly improved by using a linear function as the activation function of the output layer, in MTANN, a linear function is applied instead of a sigmoid function as the activation function of the units in the output layer.

[0033] The MTANN 201 can perform image processing and pattern recognition by learning various filtering functions such as high-pass filtering, low-pass filtering, band-pass filtering, noise reduction, edge enhancement, edge detection, interpolation, pattern matching, object enhancement, object recognition, texture analysis and segmentation using wavelet transform and Fourier transform, thereby enabling the MTANN 201 to approximately realize any mapping process.

[0034] When an image is input to the MTANN in the training phase and execution phase, the pixel values ​​of the input image are normalized. For example, if the quantization level of the pixel values ​​of the input image is 10 bits (1024 gradations), the pixel values ​​are normalized so that a pixel value of 0 (the lower limit of the dynamic range) becomes 0, and a pixel value of 1023 (the upper limit of the dynamic range) becomes 1. This normalization is an example, and other normalization methods may also be used.

[0035] The image input to the MTANN 201 is a local window R having a predetermined size. S The local window R S The input image is scanned by shifting the local window by a predetermined number of pixels from one end of the pixel row, and then shifting to the next row when the other end is reached. That is, the local window is shifted by a predetermined number of pixels while overlapping. The predetermined number can be as small as one pixel. This allows a subregion to be extracted from a single piece of input data, and the pixel values ​​contained therein can be normalized before being input to the MTANN 201.

[0036] The pixel value f(x, y) output from the MTANN 201 is calculated using the local window R S is a continuous value corresponding to the central pixel value of In equation [1], x and y are the coordinate values ​​of the image, NN{*} is the output of the modified ANN, I(x, y) is the input vector to the modified ANN, and g(x, y) is the local window R S is the normalized pixel value in

[0037] The pixel value f(x, y) of the output image, i.e., the output value of the MTANN, is output as an estimate of a desired value depending on the field of application. When converting a low-quality image into a high-quality image, as in this embodiment, the pixel value f(x, y) is output as an estimate of the pixel value of the high-quality image. When identifying whether or not an image contains a lesion, the pixel value f(x, y) is output as a "likelihood indicating the likelihood of a lesion."

[0038] As disclosed in Patent Documents 1 and 2, MTANN is trained by supervised learning using training data. During training, it is not necessary to scan the entire input image; by sampling only the necessary parts and extracting subregions, the amount of computation required for learning can be significantly reduced. Such sampling can be performed randomly, or it can be performed by concentrating on sampling important regions such as lesions. Then, by inputting an input image to be diagnosed into the trained MTANN, a local window R S The estimated pixel value described above is obtained for each image. Then, a desired output image can be obtained based on the information of the local window obtained from the input image. When identifying whether an image contains a lesion, it is possible to determine whether the diagnostic target input image contains a lesion based on the pixel values ​​obtained from one diagnostic target input image.

[0039] When using an MTANN, general machine learning techniques can be applied to the operations in the learning phase (i.e., learning method) and execution phase, and for example, the techniques described in Patent Documents 4 and 5 can be used. That is, a trained model can be constructed by inputting learning input data and supervised data into a network configured with an MTANN and performing supervised machine learning.

[0040] It should be noted that applicable deep learning methods are not limited to MTANN, and various other deep learning methods can also be used, such as convolutional neural networks (CNN), shift-invariant neural networks, deep belief networks (DBN), deep neural networks (DNN), fully convolutional neural networks (FCN), U-Net, V-Net, multi-resolution massive-training artificial neural networks, multiple expert massive-training artificial neural networks, SegNet, VGG-16, LeNet, AlexNet, Residual network (ResNet), autoencoders and decoders, generative adversarial networks (GAN), recurrent neural networks (RNN), recursive neural networks, long short-term memory (LSTM), Transformer, and Vision Transformer.

[0041] A network analysis system 100 according to this embodiment will be described. The network analysis system 100 is configured to realize explainable AI by performing processing that makes the functions of neural networks and neurons explainable. Hereinafter, in this embodiment, neurons will be referred to as units.

[0042] 3 schematically shows the configuration of a network analysis system 100. The network analysis system 100 includes a condensation processing device 1, a function map generating device 2, and a clustering device 3. The condensation processing device 1, the function map generating device 2, and the clustering device 3 may be realized, for example, by cooperation between the CPU 1001 of the computer 1000 in FIG. 1 and each component such as the storage unit 1008.

[0043] The condensation processing device 1 will now be described. Deep learning neural networks are large-scale, with many redundant units and units that do not fulfill their roles, resulting in functions being dispersed and diluted across a large number of neurons. This nature of neural networks makes it difficult to understand the internal structure of neural networks. Therefore, the condensation processing device 1 performs processing to condense the neural network structure by removing redundant units and non-functional units so that the network structure is the minimum required to achieve the desired function. This condenses the functions that were dispersed and diluted across many units into a smaller number of units.

[0044] As shown in Figure 3, the condensation processing device 1 performs condensation processing on an already constructed neural network NN. This narrows down the number of units whose functions are to be analyzed and aggregates the functions into a smaller number of neurons, thereby facilitating analysis of the neural network. The condensation processing device 1 is appropriately provided with the neural network NN to be processed, an input image IN, and a teacher image TC, which is a desired output image for the input image. The condensation processing device 1 passes the condensed neural network NN_C to the function map generation device 2.

[0045] Although different from the neural network condensation process described here, a method for optimizing the structure of a neural network has also been proposed in, for example, Non-Patent Document 3.

[0046] An input image IN for which a functional map is to be generated is provided to the function map generator 2 as appropriate. The function map generator 2 generates a function map that displays the functions of the units to be analyzed that are included in the condensed neural network NN_C. This allows the functions of the units to be analyzed to be visualized. The function map generator passes the generated function map FM to the clustering device 3.

[0047] The input image IN given to the condensation processing device 1 and the functional map generating device 2 may be the same image data or different image data, as required.

[0048] The clustering device 3 performs hierarchical clustering processing using multiple function maps generated for multiple units as input, and groups units with similar functions. If necessary, it can also visualize the similarity between groups.

[0049] There are no particular limitations on the method for supplying the neural network NN and the input image IN to the network analysis system 100. For example, information necessary for configuring the neural network NN, such as weight parameters, may be appropriately selected and supplied to the network analysis system 100.

[0050] FIG. 4 shows a modified example of the network analysis system 100. Compared to FIG. 3, the network analysis system 100 in FIG. 4 further includes a storage device 4. The neural network NN, input images IN, and teacher images TC are stored in advance in the storage device 4. The neural network NN, input images IN, and teacher images TC stored in the storage device 4 may be provided to the condensation processing device 1 as needed. The input images IN stored in the storage device 4 may be provided to the function map generation device 2 as needed. The storage device 4 can also temporarily store information such as neural networks and parameters generated or updated during processing in the network analysis system 100. The storage device 4 may be realized by various storage means, such as the storage unit 1008 of the computer 1000 shown in FIG. 1.

[0051] The network analysis system 100 will be described in more detail below. Fig. 5 shows a schematic configuration of the condensation processing device 1. The condensation processing device 1 has a processing control unit 11, an error calculation unit 12, a unit deletion unit 13, and a learning processing unit 14.

[0052] The condensation processing device 1 is appropriately provided with a trained neural network NN, a plurality of input images IN used in the neural network condensation processing, and a teacher image TC which is a desired output image.

[0053] The processing control unit 11 performs predetermined processing such as manipulation of parameters used in the process of deleting units from the neural network NN and judgment processing. The error calculation unit 12 calculates the error in the output of the neural network NN. The error calculated here may be any error function, cost function, loss function, approximation function, or distance function defined by the input image IN and the teacher image TC. The unit deletion unit 13 deletes units from the neural network NN based on the error calculated by the error calculation unit 12. The learning processing unit 14 re-learns the neural network NN after the unit deletion unit 13 deletes units.

[0054] We will now explain the neural network condensation process performed by the condensation processing device 1. The neural network condensation process according to this embodiment is applied to a deep learning model trained with a sufficient number of intermediate layer units, and can obtain a neural network that can achieve a target error while reducing the number of units.

[0055] In this process, the unit that has the smallest effect on the error when deleted is deleted, and then the error that increased due to the unit deletion is re-learned. These unit deletion and re-learning processes are performed alternately based on the same evaluation criteria, and while deleting redundant units, the functions of the deleted units are transferred to the remaining units, resulting in a compact neural network with consolidated functions.

[0056] Figure 6 shows a schematic diagram of the configuration of the neural network NN to be processed. The neural network NN to be processed is composed of layers 0 to Q+1, where Q is an integer equal to or greater than 1. Let q be an integer equal to or greater than 1 and equal to or less than Q+1, and let N be the number of units in the q layer. q , the nth unit of the qth layer is U(n,q), where n is 1 or more and N q The following integers:

[0057] The 0th layer is the input layer, the 1st to q-1th layers are the intermediate layers, and the Qth layer is the output layer. The number of units in the Qth layer, which is the output layer, is N Q is an integer equal to or greater than 1. However, for the sake of simplicity, in FIG. 6, the case where the number of units in the output layer is one (N q = 1). The number of units in the 0th to q-1th layers, N 0 ~N Q-1 is an integer equal to or greater than 2. The units U(1,0) to U(N 0 , 0) respectively contain input data I(0) to I(N 0 ) is entered.

[0058] Among the layers 0 to Q-1, the units in the previous layer and the units in the subsequent layer are comprehensively connected to form a neural network. Q-1 , Q-1) is connected to the unit U(1, Q) of the Qth layer, which is the output layer. If there are multiple units in the Qth layer, which is the output layer, the units U(1, Q-1) to U(N) of the last Q-1 layer are connected to the unit U(1, Q-1) of the last Q-1 layer. Q-1 , Q-1) is output from the Qth layer units U(1,Q) to U(N Q , Q), and units U(1, Q) to U(N Q , Q) outputs a value.

[0059] As the process progresses and units are deleted, the number of units belonging to the same layer may change. q is a value that can change as the processing progresses.

[0060] FIG. 7 shows a flowchart of the neural network condensation process. (q) is a flag indicating the layer to be deleted. The error when the n-th unit in the q-th layer is deleted is defined as E(n, q).

[0061] Step S1: The process control unit 11 reads the neural network NN from which units are to be reduced.

[0062] Step S2: The process control unit 11 sets the unit reduction target flag F for each layer. (q) is set to 1. That is, F (1) ~F (Q) Each of F is set to 1. (q) If F = 1, it indicates that the qth layer is a layer to be deleted. (q) If q=0, it indicates that the qth layer is excluded from the unit reduction target.

[0063] Step S3: The process control unit 11 sets the initial value 0 to q (q=0).

[0064] Step S4: The process control unit 11 adds 1 to q (q=q+1).

[0065] Step S5: The process control unit 11 sets the unit reduction target flag F (q) is 1 or (F (q) = 1) is determined. The unit reduction target flag F (q) If is not 1, that is, is 0 (step S5: NO), the process returns to step S4.

[0066] Step S6: The error calculation unit 12 calculates the unit reduction target flag F (q) If it is 1 (step S5: YES), the error calculation when any one of the units belonging to the qth layer is virtually deleted is performed for the first unit to N q This is done for each of the units. In other words, here, the errors E(1,q) to E(N q , q) are calculated. Note that the virtual unit can be deleted by, for example, setting the output of the unit to be deleted to zero.

[0067] An example of step S6 will be described below. In step S6, the following steps S61 to S64 may be performed.

[0068] In step S61, the initial value 1 is set to n (n=1).

[0069] Step S62: Calculate the error E(n, q) when the n-th unit U(n, q) in the q-th layer is virtually deleted.

[0070] Step S63: n is N q Determine whether n is equal to N. q If it is equal to (step S63: YES), the process proceeds to the next step S7.

[0071] Step S64: n is N q If not (step S63: NO), add 1 to n (n=n+1) and return to step S6.

[0072] Step S7: After step S5, the process control unit 11 determines whether q is equal to Q-1 (q=Q-1). If q is not Q-1 (step S7: NO), the process returns to step S4.

[0073] Step S8: If q is equal to Q-1 (step S7: YES), that is, if the calculation of errors has been completed for all units belonging to all layers to be processed, the unit deletion unit 13 identifies the unit with the smallest value among the calculated errors. Then, it deletes the a-th unit U(a, b) in the b-th layer that corresponds to the identified error E(a, b). Here, the neural network before deleting the a-th unit U(a, b) in the b-th layer is called NN. t-1 , the neural network after deleting the a-th unit U(a, b) in the b-th layer is called NN t It is called.

[0074] Step S9: The learning processing unit 14 executes the process of removing the a-th unit U(a, b) from the b-th layer of the neural network NN. t Relearn the above.

[0075] Step S10: The error calculation unit 12 calculates the neural network NN after re-learning. t Calculate the error E.

[0076] Step S11: The process control unit 11 determines whether the error E is equal to the error reference value E p It is determined whether the error E is greater than the error reference value E p If it is equal to or less than the predetermined value (step S11: NO), the process returns to step S3.

[0077] Step S12: The process control unit 11 determines whether the error E is equal to the error reference value E p (step S11: YES), the neural network NN t is the neural network NN before deleting the a-th unit U(a, b) in the b-th layer. t-1 Replace with.

[0078] Step S13: The process control unit 11 performs F (b) The value of is set to 0.

[0079] In step S14, the process control unit 11 determines whether all layers have been excluded from the unit deletion process. If there are layers that have not been excluded from the unit deletion process (step S14: NO), the process returns to step S3. If all layers have been excluded from the unit deletion process (step S14: YES), the process ends, assuming that a condensed neural network NN_C having the desired performance has been generated.

[0080] Next, we verified the effectiveness of the neural network condensation process. For verification, we applied the neural network condensation process described above to a neural network model trained to segment liver tumors from CT images of the human liver. The neural network model used was the Massive-Training Artificial Neural Network (MTANN) described above. The dataset consisted of contrast-enhanced liver CT images of 32 patients containing 142 liver tumors, with handwritten liver tumor labels by radiologists used as ground truth labels. For simplicity, we used a single hidden layer in the neural network.

[0081] Seven patient cases were used for training and 25 patient cases for testing. Image patches of 7x7x7 pixels were used as the input kernel for the MTANN model, with 80 hidden layer units. A binary cross-entropy (BCE) loss function was used to train the model to separate tumor and non-tumor regions on a pixel-by-pixel basis.

[0082] Figure 8 shows the BCE loss function that changes as units are reduced. As units are removed from an 80-unit model, the BCE loss fluctuates slightly, but no major fluctuations are observed until the number of units reaches 10. However, when the number of units reaches 9 or less, the BCE loss increases sharply.

[0083] Therefore, the reference error value E used in the unit deletion process p By appropriately setting the standard error value E, it is possible to reduce the number of units while keeping the error, i.e., the BCE loss function, within a desired range. For example, p When the reference value of the BCE loss function is set to 0.11, the number of units can be reduced to 14 according to this configuration.

[0084] The condensed neural network described above enables image processing equivalent to that of a neural network before the unit reduction. Furthermore, by reducing the number of units, the functions required for image processing can be consolidated into fewer units than before the reduction. This allows for a reduction in the number of units to be analyzed when analyzing the functions of each unit, as described below, and allows for more efficient analysis.

[0085] Image data to be analyzed is input to the condensed neural network, and the image data composed of output values ​​output from the output layer is subjected to enhancement and attenuation processing based on the learning results. Figure 9 shows an example of an output image when an input image to be analyzed is input to the condensed neural network. Here, a CT image of a human liver is used as the input image, and the condensed neural network NN_C outputs an output image OUT in which the tumor area is enhanced.

[0086] However, even if we observe the output image OUT, we can only see that the tumor area is emphasized, and we cannot understand how each unit of the neural network is operating. Therefore, below we will explain a method for generating a function map that can be used to understand the operation of each unit of the neural network.

[0087] 10 is a schematic diagram showing the configuration of the function map generating device 2. The function map generating device 2 includes a gate setting unit 21, a gate control unit 22, a map generating unit 23, and a normalization processing unit 24.

[0088] The gate setting unit 21 provides a gate after the analysis target layer of the neural network after the condensation processing received from the condensation processing device 1. The gate control unit 22 controls the gate so that only one analysis target unit of the analysis target layer is connected to the output layer. The map generation unit 23 performs processing to generate a map for the analysis target unit. The normalization processing unit 24 performs processing to normalize the map generated by the map generation unit 23.

[0089] The map generation process will be described below with reference to the flowchart shown in FIG.

[0090] Step S21: The gate setting unit 21 sets a gate at the rear of the analysis target layer. FIG. 12 shows a schematic diagram of the neural network after the gate setting. For simplicity of explanation, the explanation will be given assuming that the Q-1th layer, which is the last intermediate layer, is the analysis target layer. In this case, the units U(1, Q-1) to U(N Q-1 Gates G(1) to G(Q-1) are provided between the output of unit U(1,Q) and the input of unit U(1,Q) in the Qth layer, which is the output layer.

[0091] Step S22: The gate control unit 22 analyzes the units U(1,Q−1) to U(N Q-1 , Q-1), one unit is selected as the analysis target unit U OBJ Select as.

[0092] Step S23: The gate control unit 22 OBJThe gate after the analysis target unit U is turned on, and the other gates are turned off. OBJ In FIG. 13, the analysis target unit U OBJ In this example, the first unit U(1, Q-1) is selected. In this case, the gate G(1) is turned on, and the gates G(2) to G(N Q-1 ) is turned off. This turns off the analysis target unit U OBJ A value is output only from unit U(1,Q-1) where .

[0093] In step S24, the map generating unit 23 inputs the input image IN to the neural network and acquires an output value from the output layer. As a result, the active unit in the analysis target layer is designated as the analysis target unit U OBJ Analysis target unit U when only OBJ This output value may be an output value from the output layer. The image data acquired here is used as the analysis target unit U OBJ This is called the operation map.

[0094] Step S25: Since the operation map is image data having gradations according to output values, it is difficult to clearly determine, by simply looking at the operation map, to what extent the unit being analyzed has performed enhancement or attenuation processing on which part of the input image. Therefore, the map generating unit 23 inverts the shading of the operation map depending on whether the unit being analyzed has performed enhancement processing or attenuation processing. The determination of whether the unit being analyzed has performed enhancement processing or attenuation processing is made by the analysis unit U of the Q-1th layer. OBJThe inversion is performed based on the sign of the weight connecting the unit U(1,Q) in the Qth layer and the unit U(1,Q). That is, if the weight is positive, an enhancement process is performed, and if it is negative, an attenuation process is performed. Here, the operation map after the process of inverting the shading of the operation map is called a function map. Note that when the operation map is constructed using output values ​​from the output layer, the enhancement process and attenuation process are determined based on whether the sign of the pixel in the operation map is positive or negative. That is, if the sign of the pixel is positive, an enhancement process is performed, and if it is negative, an attenuation process is performed. For example, when enhancement and intensity processes are not performed, a neutral color (medium gradation) may be displayed, when an enhancement process is performed, a bright gradation, and when an attenuation process is performed, a dark gradation. Note that when an enhancement process is performed, a dark gradation may be displayed, and when an attenuation process is performed, a bright gradation may be displayed.

[0095] Specifically, the sign of the values ​​in the motion map is reversed between enhancement and attenuation. That is, in the case of enhancement, the values ​​in the motion map remain positive, and in the case of attenuation, the sign of the values ​​in the motion map is reversed to make them negative, which becomes the functional map. In this way, a functional map can be obtained that clearly indicates whether enhancement or attenuation processing has been performed.

[0096] In step S26, the functional map shows the target area to be emphasized or attenuated by the target unit and the degree of the emphasis or attenuation. However, if the degree of emphasis or attenuation is small, the contrast difference in the functional map will be small. In this case, it is assumed that it will be difficult to determine which part of the input image the target unit has emphasized or attenuated. Therefore, in this step, the pixel values ​​in the functional map are normalized.

[0097] An example of the normalization process will be described below. Fig. 14 shows a flowchart of the normalization process.

[0098] Step S261: Take the absolute value of each pixel in the function map, and find the maximum pixel value P MAX Detect.

[0099] In step S262, each pixel value is set to the maximum pixel value P MAXAs a result, each pixel value of the function map is converted to a value between 0 and 1 in the case of enhancement processing, and to a value between -1 and 0 in the case of attenuation processing. A value of 0 indicates that no processing is performed, that is, no enhancement or attenuation is performed.

[0100] In step S263, in order to provide sufficient contrast to the functional map, each pixel value after division is multiplied by a predetermined coefficient, which may be an arbitrary coefficient such as 100 or 1000.

[0101] For example, if pixel values ​​are distributed between 0 and 150 in a certain function map, the maximum pixel value P MAX becomes 150. Then, by multiplying each pixel value by a coefficient of 1000, the pixel value distribution of the function map can be converted into a range from 0 to 1000. As a result, the contrast of the function map can be made clearer.

[0102] FIG. 15 shows an example of a function map. In FIG. 15, a neural network with only one analysis target unit in the analysis target layer is represented by the symbol NN_TEMP. In this function map, a value of 0 is represented in gray, negative values ​​are represented in darker colors, and positive values ​​are represented in lighter colors. In this example, as shown in the function map FM, the areas of the liver other than the tumor are darker than gray, indicating that the analysis target unit is performing a process to attenuate the areas of the liver other than the tumor. In this way, by limiting the analysis target unit to one, it is possible to clearly indicate what kind of processing the analysis target unit is performing on the input image.

[0103] Next, we will explain how to group functional maps. Hierarchical clustering is applied to multiple functional maps obtained for multiple units as input. This makes it possible to group functional maps that are close to each other. For calculating hierarchical clustering, methods such as group average method, Ward's method, and shortest distance method can be used. Note that the clustering used here is not limited to hierarchical clustering, and any clustering method can be used. Non-hierarchical clustering, including k-means, can also be used. Hard clustering, which assigns each unit to one group, can be used, or soft clustering, which calculates the probability that each unit belongs to multiple groups, can be used.

[0104] The distance used in hierarchical clustering is not particularly limited, and various distance functions, error functions, loss functions, and similarity functions, or combinations thereof, may be used. For example, Euclidean distance, SSIM (Structural Similarity Index Measure) distance, normalized root mean square error, Mahalanobis distance, or combinations thereof may be used. When similarity, distance, and error are combined, the evaluation function is determined taking these directions into consideration. For example, the evaluation function is determined so that the higher the similarity, the shorter the distance, and the smaller the error, the better.

[0105] 16 is a schematic diagram showing the configuration of the clustering device 3. The clustering device 3 includes an initial setting unit 31, a hierarchical clustering unit 32, and a group analysis unit 33.

[0106] The hierarchical clustering process will be described below. A flowchart of the clustering process is shown in FIG.

[0107] Step S31: The initial setting unit 31 performs initial setting so that each of the function maps belongs to a separate cluster.

[0108] In step S32, the hierarchical clustering unit 32 merges clusters in order of the distance between function maps, i.e., the distance between clusters. Here, the merging of clusters is repeated until the initial clusters are merged into a single cluster. For example, if the function maps are multidimensional vectors, the distance between two multidimensional vectors may be used as the distance between clusters. Alternatively, the distance between the centers of gravity of the clusters may be used.

[0109] Step S33: Once all the clusters have been merged into one, the group analysis section 33 divides the units into groups based on the hierarchical clustering result.

[0110] This makes it possible to hierarchically grasp, among a plurality of function maps, function maps that are similar in function.

[0111] An example of clustering processing is shown below. In this example, an MRI image of the liver in which the presence of a tumor was detected was used as the input image, and hierarchical clustering was performed on the function maps of nine units 0 to 8. Figure 18 shows an example of unit grouping. In this example, it can be seen that the nine units were roughly divided into three groups, A to C.

[0112] Figure 19 shows the relationship between the functional maps and groups. Group A contains units that correspond to units that enhance the liver region. Group B contains units that attenuate parts of the liver other than the tumor. Group C contains units that attenuate parts of the liver that are tumor-like.

[0113] In this way, by performing hierarchical clustering on the function map, units having similar functions can be grouped.

[0114] Other Embodiments The present invention is not limited to the above-described embodiments and can be modified as appropriate without departing from the spirit and scope of the present invention. For example, in the above-described embodiments, an example of learning image data, which is a diagnostic image obtained by imaging with an imaging diagnostic device, has been described, but this is merely an example. For example, the data to be learned is not limited, and it goes without saying that the above-described information processing system can be applied to federated learning of models in various fields, such as social networks that handle personal and confidential information, security, finance and insurance, medical care, health, smartphones, e-commerce, online sales, and autonomous driving.

[0115] In the above-described embodiment, the present invention has been described mainly as a hardware configuration, but the present invention is not limited to this. Any processing can also be realized by having a CPU (Central Processing Unit) execute a computer program. In this case, the computer program can be stored using various types of non-transitory computer-readable media and supplied to a computer. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, programmable ROMs (PROMs), erasable PROMs (EPROMs), flash ROMs, and random access memories (RAMs)). The program may also be supplied to a computer by various types of transient computer-readable media. Examples of transient computer-readable media include electric signals, optical signals, and electromagnetic waves. The transient computer-readable medium can supply the program to a computer via a wired communication path such as an electric wire or optical fiber, or via a wireless communication path.

[0116] This application claims priority based on Japanese Patent Application No. 2023-119202, filed on July 21, 2023, the disclosure of which is incorporated herein by reference in its entirety.

[0117] REFERENCE SIGNS LIST 1 Condensation processing device 2 Functional map generation device 3 Clustering device 4 Storage device 11 Processing control unit 12 Error calculation unit 13 Unit deletion unit 14 Learning processing unit 21 Gate setting unit 22 Gate control unit 23 Map generation unit 24 Normalization processing unit 31 Initial setting unit 32 Hierarchical clustering unit 33 Group analysis unit 100 Network analysis system 201 MTANN 202 Input layer 203 Hidden layer 204 Output layer 1000 Computer 1001 CPU 1002 ROM 1003 RAM 1004 Bus 1005 Input / output interface 1006 Input unit 1007 Output unit 1008 Storage unit 1009 Communication unit 1010 Drive 1011 Magnetic disk 1012 Optical disk 1013 Flexible disk 1014 semiconductor memory

Claims

1. A network analysis system comprising: a condensation processing device that condenses a neural network by removing one or more units from a plurality of units included in the neural network so that an error in the output of the neural network falls within a predetermined range; and a functional map generation device that generates a functional map that reflects the processing content of the analysis target unit by inputting an input image to the condensed neural network in a state in which an analysis target layer, which is one of one or more intermediate layers of the condensed neural network, outputs a value from only one analysis target unit out of the plurality of units included in the analysis target layer.

2. The network analysis system according to claim 1, further comprising a clustering device that performs clustering on a plurality of said functional maps generated for a plurality of said input images, and performs grouping of units corresponding to said plurality of said functional maps.

3. The network analysis system according to claim 1 or 2, wherein the functional map displays, in gradations, the degree of enhancement or attenuation applied to the pixels or patterns of the input image.

4. The network analysis system of claim 3, wherein the functional map is displayed in an intermediate gradation when neither the enhancement process nor the attenuation process has been performed, is displayed in one of the gradations of two regions sandwiching the intermediate gradation within the gradation display range when the enhancement process has been performed, and is displayed in the other gradation of the two regions sandwiching the intermediate gradation within the gradation display range when the attenuation process has been performed.

5. The network analysis system according to claim 1 or 2, wherein the functional map generating device comprises: a gate operation unit that operates the neural network so that values ​​are output only from the analysis target unit in the analysis target layer; and a map generating unit that generates a functional map reflecting the processing contents of the analysis target unit by inputting the input image into the neural network.

6. A network analysis method comprising the steps of: condensing the neural network by removing one or more units from a plurality of units included in the neural network so that an error in the output of the neural network falls within a predetermined range; and inputting an input image into the condensed neural network in a state in which an analysis target layer, which is one of one or more intermediate layers of the condensed neural network, outputs a value only from one analysis target unit out of the plurality of units included in the analysis target layer, thereby generating a functional map that reflects the processing content of the analysis target unit.

7. A program that causes a computer to execute the following steps: condensing the neural network by removing one or more units from a plurality of units included in the neural network so that an error in the output of the neural network falls within a predetermined range; and generating a functional map that reflects the processing content of the analysis target unit by inputting an input image to the condensed neural network in a state in which an analysis target layer, which is one of one or more intermediate layers of the condensed neural network, outputs a value from only one analysis target unit out of the plurality of units included in the analysis target layer.

Citation Information

Patent Citations

  • Oxygen inhibition reducing agent, polymerizable composition, cured product, and method of producing cured product

    JP2023119202A

  • Massive training artificial neural network (MTANN) for detecting abnormalities in medical images

    US6819790B2

  • Image modification and detection using massive training artificial neural networks (MTANN)

    US7545965B2

  • Method and device for optimizing neural network structure

    JP1997091264A

  • Image identification apparatus, image identification method and program

    JP2020008896A