Residual neural network system and program
Patent Information
- Application Number
- JP2023065781
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-04-13
- Publication Date
- 2025-02-26
- Estimated Expiration
- 2043-04-13
AI Technical Summary
【0007】 一つの側面では、少ない回数の演算で処理を行うことが可能となる。
Smart Images

Figure 0007636015000001 
Figure 0007636015000002 
Figure 0007636015000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a residual neural network system and a program. [Background technology]
[0002] In recent years, the development of board games and the like based on artificial intelligence (AI) has been actively promoted. For example, Patent Document 1 discloses an information processing device capable of self-learning based on data based on the board state. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2020-086616 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, the invention of Patent Document 1 has a problem in that it is not possible to provide a residual neural network system that can perform processing with fewer calculations than those used by a normal learning model.
[0005] One aspect of the present invention is to provide a residual neural network system etc. capable of performing processing with a small number of calculations. [Means for solving the problem]
[0006] A residual neural network system according to one aspect is characterized in that, in a residual neural network system in which a plurality of residual blocks are connected, the residual blocks include a first convolutional layer that applies a first kernel having the same plurality of pixels in the height and width directions, a second kernel that has the same number of pixels in the height direction as the input data and one pixel in the width direction, and is moved in the width direction with a predetermined stride but not moved in the height direction, and a second convolutional layer that applies a third kernel that has one pixel in the height direction and the same number of pixels in the width direction as the width direction of the data, and is moved in the height direction with a predetermined stride but is not moved in the width direction, and a fully connected layer connected to the first convolutional layer or the second convolutional layer. Effect of the Invention
[0007] In one aspect, it is possible to perform processing with a smaller number of calculations. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram illustrating an example of the configuration of a computer. [Diagram 2] FIG. 1 is an explanatory diagram illustrating the structure of a residual block in ResNet. [Diagram 3] FIG. 2 is an explanatory diagram illustrating a structure of a residual block in the present embodiment. [Figure 4] FIG. 1 is an explanatory diagram illustrating a first convolutional layer. [Diagram 5] FIG. 1 is an explanatory diagram illustrating a second convolutional layer. [Figure 6] FIG. 11 is an explanatory diagram illustrating a process of converting the size of a feature map. [Figure 7] 13 is a flowchart showing the processing steps when playing a board game using a learning model. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, the present invention will be described in detail with reference to the drawings showing embodiments thereof.
[0010] (Embodiment 1) The first embodiment relates to a form of constructing a residual neural network in which a plurality of residual blocks are connected. The residual neural network is a neural network method that incorporates skip connections (structures), such as ResNet (Residual Neural Network) or DenseNet (Dense Convolutional Network). In the following, an example in which the residual neural network is ResNet will be described, but the present invention can be similarly applied to other types of residual neural networks.
[0011] In this embodiment, the information processing device 1 is included. The information processing device 1 is an information processing device that processes, stores, transmits, receives, etc. various information. The information processing device 1 is, for example, a server device, a personal computer, or a general-purpose tablet PC (personal computer). In this embodiment, the information processing device 1 is a personal computer, and hereinafter, for simplicity, it will be read as a computer 1.
[0012] 1 is a block diagram showing an example of the configuration of a computer 1. The computer 1 includes a control unit 11, a storage unit 12, a communication unit 13, an input unit 14, a display unit 15, a reading unit 16, and a large-capacity storage unit 17. Each component is connected by a bus B.
[0013] The control unit 11 includes an arithmetic processing device such as a central processing unit (CPU), a micro-processing unit (MPU), a graphics processing unit (GPU), a field programmable gate array (FPGA), a digital signal processor (DSP), or a quantum processor. The control unit 11 reads out and executes a control program 1P (program product) stored in the storage unit 12, thereby performing various information processing or control processing related to the computer 1.
[0014] The control program 1P can be deployed to be executed on a single computer, or on multiple computers located at one site, or distributed across multiple sites and interconnected by a communications network. Although the control unit 11 is described in FIG. 1 as being a single processor, it may be a multiprocessor.
[0015] The storage unit 12 includes memory elements such as a RAM (Random Access Memory) and a ROM (Read Only Memory), and stores the control program 1P or data required for the control unit 11 to execute processing. The storage unit 12 also temporarily stores data required for the control unit 11 to execute arithmetic processing. The communication unit 13 is a communication module for performing processing related to communication, and transmits and receives information to and from an external information processing device, etc., via a network, etc.
[0016] The input unit 14 is an input device such as a mouse, a keyboard, a touch panel, or a button, and outputs received operation information to the control unit 11. The display unit 15 is a liquid crystal display, an organic EL (electroluminescence) display, or the like, and displays various information according to instructions from the control unit 11. The input unit 14 may be a keyboard, a mouse, or a touch panel integrated with the display unit 15.
[0017] The reading unit 16 reads the portable storage medium 1a including a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc)-ROM. The control unit 11 may read the control program 1P from the portable storage medium 1a via the reading unit 16 and store it in the mass storage unit 17. The control unit 11 may also download the control program 1P from another computer via a network or the like and store it in the mass storage unit 17. Furthermore, the control unit 11 may read the control program 1P from the semiconductor memory 1b.
[0018] The mass storage unit 17 includes a recording medium such as a hard disk drive (HDD) or a solid state drive (SSD). The mass storage unit 17 includes a learning model 171. The learning model 171 is a learning model constructed based on ResNet.
[0019] In this embodiment, the storage unit 12 and the large-capacity storage unit 17 may be configured as an integrated storage device. The large-capacity storage unit 17 may be configured with a plurality of storage devices. Furthermore, the large-capacity storage unit 17 may be an external storage device connected to the computer 1.
[0020] The computer 1 may execute various information processing and control processing, etc., as a single computer, or may execute the processing in a distributed manner among multiple computers. Furthermore, the computer 1 may be realized by multiple virtual machines provided in one server, or may be realized by using a cloud server.
[0021] Fig. 2 is an explanatory diagram explaining the structure of a residual block in ResNet. In ResNet, multiple residual blocks 10a, 10b... (hereinafter sometimes represented by 10) consisting of two elements, a skip connection (residual connection) and an addition operator (+), are connected in series. A skip connection is a residual connection that connects layers that have skipped one or more layers with a detour path, allowing the feature map to be propagated as a shortcut to the next layer and subsequent layers.
[0022] The residual block 10 includes a plurality of convolution layers 11a, batch normalization layers 11b, and activation functions 11c. As shown in the figure, the residual block 10 includes a residual block 10a and a residual block 10b.
[0023] The convolution layer 11a is a layer in the deep neural network that performs convolution using a trained filter bank. The batch normalization 11b is a layer in the hidden layer of the convolution neural network that normalizes the features for each channel based on the data distribution in the mini-batch and then scales or shifts them. The activation function 11c is widely used in deep neural networks and is an activation function mainly for intermediate layers.
[0024] The activation function may include, for example, a ReLU (Rectified Linear Units) function, a ReLU6 function, a Swish function, a Mish function, a GELU (Gaussian error linear units) function, a step function, a sigmoid function, a softsign function, or a softplus function.
[0025] 3 is an explanatory diagram for explaining the structure of the residual block in this embodiment. In this embodiment, the residual block 20a, 20b, etc. (hereinafter sometimes represented by 20) includes a first convolution layer 11a (same as the convolution layer 11a in FIG. 2), a batch normalization 11b, an activation function 11c, a second convolution layer 12a, and a fully connected layer 12b. As shown in the figure, the residual block 20 includes a residual block 20a and a residual block 20b.
[0026] The first convolution layer 11a and the second convolution layer 12a will be described in detail later with reference to Figures 4 and 5. The fully connected layer 12b is a layer connected to the first convolution layer 11a or the second convolution layer 12a.
[0027] A normal residual block 10 is composed of a first convolutional layer 11a, a first convolutional layer 11a, . . ., a first convolutional layer 11a. . . (that is, 11a → 11a → . . . → 11a → . . .).
[0028] In the residual block 20 in this embodiment, any first convolutional layer 11a can be replaced with the second convolutional layer 12a or the fully connected layer 12b. That is, the residual block 20 may include any of the first convolutional layer 11a, the second convolutional layer 12a, or the fully connected layer 12b. Alternatively, the residual block 20 may be composed of any combination of the first convolutional layer 11a, the second convolutional layer 12a, and the fully connected layer 12b.
[0029] For example, the residual block 20 may be configured from the first convolutional layer 11a, the second convolutional layer 12a, the fully connected layer 12b, the first convolutional layer 11a, the second convolutional layer 12a,..., the first convolutional layer 11a... (11a → 12a → 12b → 11a → 12a →... → 11a →...). Alternatively, the residual block 20 may be configured from the second convolutional layer 12a, the first convolutional layer 11a, the fully connected layer 12b, the fully connected layer 12b, the second convolutional layer 12a,..., the first convolutional layer 11a... (12a → 11a → 12b → 12b → 12a →... → 11a →...).
[0030] As shown in the figure, the residual block 20a is composed of a first convolutional layer 11a, a second convolutional layer 12a, a fully connected layer 12b, etc. The residual block 20b is composed of a first convolutional layer 11a, a second convolutional layer 12a, etc. The number or order of the first convolutional layer 11a, the second convolutional layer 12a, and the fully connected layer 12b provided in the residual block 20 is not particularly limited.
[0031] FIG. 4 is an explanatory diagram for explaining the first convolution layer 11a. The first convolution layer 11a is a layer that applies a first kernel having the same pixels in the height direction and width direction. The kernel (mask; filter) is a coefficient used when transforming data.
[0032] C indicates the number of channels, H indicates the height of the input data, and W indicates the width of the input data. A kernel 11a_1 (first kernel) is applied to the first convolution layer 11a. The kernel 11a_1 has k_H pixels in the height direction (H) and k_W pixels in the width direction (W), and is a kernel that moves in the width direction (W) and in the height direction (H) with a predetermined stride (for example, 1). k_H indicates the height of the kernel 11a_1, and k_W indicates the width of the kernel 11a_1. In the first convolution layer 11a, the number of elements of the kernel 11a_1 for each channel is C×k_H×k_W, and the results of multiplication C×k_H×k_W times are added to perform conversion to obtain one output value (inner product value).
[0033] As shown in the figure, the size of the kernel 11a_1 is, for example, "3x3". That is, the height (k_H) of the kernel 11a_1 is 3 pixels, and the width (k_W) is 3 pixels. The kernel size (Kernel_Size) is the size of the convolution kernel, and may be, for example, 3x3 pixels, 5x5 pixels, or 7x7 pixels.
[0034] If the kernel size is 3x3 pixels, the padding is 1. If the kernel size is 5x5 pixels, the padding is 2. If the kernel size is 7x7 pixels, the padding is 3. Padding is the process of filling the input data with fixed data, such as 0, before processing the convolutional layer in order to adjust the output size of the data. Stride is 1. The stride is the interval at which the kernel is applied. The larger the stride, the smaller the output size.
[0035] FIG. 5 is an explanatory diagram for explaining the second convolution layer 12a. FIG. 5A is an explanatory diagram for explaining the second convolution layer 12a to which the second kernel is applied. FIG. 5B is an explanatory diagram for explaining the second convolution layer 12a to which the third kernel is applied. FIG. 5C is an explanatory diagram for explaining the second convolution layer 12a to which the fourth kernel is applied. C indicates the number of channels, H indicates the height of the input data, and W indicates the width of the input data.
[0036] The kernel 12a_1 (second kernel) has the same number of pixels in the height direction (H) as the input data and one pixel in the width direction (W), and is a kernel that moves in the width direction (W) with a predetermined stride (for example, 1) but does not move in the height direction (H). The number of transformations per channel is "W". The kernel 12a_1, which is "H x 1" in the height direction and width direction, is applied to the second convolution layer 12a for each channel.
[0037] In the second convolution layer 12a, the number of elements of the kernel 12a_1 for each channel is C×H×1, and the subelements of the input value of the same size are multiplied C×H×1 times and the results are added to perform a conversion to obtain one output value. As shown in FIG. 5A, the height (H) of the kernel 12a_1 is 9 pixels and the width (W) is 1 pixel. The size of the kernel 12a_1 is "9×1", the padding is 0, and the stride is 1.
[0038] The kernel 12a_2 (third kernel) is a kernel that has one pixel in the height direction (H) of the input data and the same number of pixels in the width direction (W) as the width direction (W) of the data, and moves in the height direction (H) with a predetermined stride (for example, 1) but does not move in the width direction (W). The number of transformations per channel is "H". The kernel 12a_2, which is "1 x W" in the height direction and width direction, is applied to the second convolution layer 12a for each channel.
[0039] In the second convolutional layer 12a, the number of elements of the kernel 12a_2 for each channel is C×1×W, and the subelements of the input value of the same size are multiplied C×1×W times and the results are added to perform a conversion to obtain one output value. As shown in FIG. 5B, the height (H) of the kernel 12a_2 is 1 pixel and the width (W) is 9 pixels. The size of the kernel 12a_2 is "1×9", the padding is 0, and the stride is 1.
[0040] The kernel 12a_3 (fourth kernel) has the same number of pixels in the height direction (H) and width direction (W) as the input data, and one pixel in the channel direction (C), and is a kernel that strides in the channel direction (C). The second convolution layer 12a has a kernel 12a_3 with 1×H×W elements, and performs a transformation that strides in the channel direction (C). As shown in FIG. 5C, the second convolution layer 12a has a kernel 12a_3 with 1×9×9 elements, and performs a transformation that strides in the channel direction (C).
[0041] In the convolution process in the first convolution layer 11a that normally strides in both the height and width directions, there are no position-dependent weight parameters. In the case of the second convolution layer 12a to which any one of the kernels 12a_1, 12a_2, and 12a_3, or a combination thereof, is applied, there are position-dependent weight parameters in the convolution process that does not stride in any direction, so that position-dependent information can be recognized in a single convolution process.
[0042] In addition, in the normal first convolution layer 11a, for example, one convolution process of C×k_H×k_W can only recognize information of one surrounding pixel. In the second convolution layer 12a to which the above-mentioned kernel 12a_1, kernel 12a_2, or kernel 12a_3 is applied, information of pixels separated in the lattice direction can be recognized in one convolution process by C×H×1, C×1×W, or 1×H×W.
[0043] In this manner, the kernel 12a_1, the kernel 12a_2, and the kernel 12a_3 are applied to the second convolutional layer 12a. Note that, in FIG. 5, an example in which the kernel 12a_1, the kernel 12a_2, and the kernel 12a_3 are applied to the second convolutional layer 12a has been described, but the present invention is not limited to this. Any of the kernel 12a_1, the kernel 12a_2, and the kernel 12a_3 may be applied to the second convolutional layer 12a. Alternatively, a combination of the kernel 12a_1, the kernel 12a_2, and the kernel 12a_3 may be applied to the second convolutional layer 12a.
[0044] Typically, the shape of the input data indicating the size of the feature map is the same as the shape of the output data in the residual block 20. When the second convolutional layer 12a is used, the size of the feature map is (C, 1, W) or (C, H, 1), so it is necessary to convert the kernel 12a_1 (second kernel) or kernel 12a_2 (third kernel) applied to the second convolutional layer 12a into (C, H, W).
[0045] FIG. 6 is an explanatory diagram illustrating the process of converting the size of the feature map. Fig. 6A is an explanatory diagram for explaining the size of a feature map. Fig. 6B is an explanatory diagram showing an example of a feature map obtained by a conversion process. The size of the feature map is obtained by adding each data in the height direction in the second kernel and each data in the width direction in the third kernel to each other.
[0046] In FIG. 6, an example is described in which the input data is shogi board data, but the invention can be applied to other types of input data as well. As shown in the figure, in the kernel 12a_1 (second kernel) applied to the second convolution layer 12a, the pieces of board data in the height direction are y1, y2, y3, y4, y5, y6, y7, y8, and y9. In addition, in the kernel 12a_2 (third kernel) applied to the second convolution layer 12a, the pieces of board data in the width direction are x1, x2, x3, x4, x5, x6, x7, x8, and x9. By performing a conversion process in which each piece of board data in the height direction and each piece of board data in the width direction are mutually added, the size of the feature map, which is (H, W), is obtained for each channel.
[0047] As shown in Figure 6B, by performing a conversion process in which (y1, y2, y3, y4, y5, y6, y7, y8, y9) and (x1, x2, x3, x4, x5, x6, x7, x8, x9) are added to each other, the feature map size for each channel is obtained as (9, 9).
[0048] Note that the conversion process of the size of the feature map is not limited to the above-mentioned one. The size of the feature map is obtained by copying the data in the height direction to the second kernel by the same number as the data in the height direction, or by copying the data in the width direction to the third kernel by the same number as the data in the width direction.
[0049] For example, by repeatedly copying the same values, a feature map size of (C,H,W) is obtained. Specifically, for the kernel 12a_1 (second kernel), the board data is copied in the horizontal direction (W) by the same number (e.g., 9) as the height direction (H) of the board data. Or, for the kernel 12a_2 (third kernel), the board data is copied in the height direction (H) by the same number (e.g., 9) as the width direction (W) of the board data.
[0050] The fully connected layer 12b is a layer connected to the first convolution layer 11a or the second convolution layer 12a described above. For example, the fully connected layer 12b is a layer that connects the first convolution layer 11a and the second convolution layer 12a, the number of which is the same as that of the first convolution layer 11a (for example, 256). Alternatively, the fully connected layer 12b is a fully connected layer that performs full connection for each channel, as described later in the second embodiment.
[0051] Next, the data convolution process will be described by taking an example in which the residual block 20 is the residual block 20a.
[0052] The control unit 11 of the computer 1 acquires target data. The control unit 11 inputs the acquired data to the first convolutional layer 11a of the residual block 20a. The control unit 11 executes a convolution process on the input data in the first convolutional layer 11a. A first kernel (kernel 11a_1) having the same number of pixels in the height direction and width direction is applied to the first convolutional layer 11a.
[0053] The control unit 11 normalizes the features of the data output from the first convolution layer 11a for each channel using batch normalization 11b. The control unit 11 converts the result of the convolution operation in the first convolution layer 11a using an activation function 11c by passing the result through the activation function. The output data of the first convolution layer 11a represents a feature map in which the features of the input data are extracted.
[0054] The control unit 11 inputs the data output from the first convolutional layer 11a to the second convolutional layer 12a. The control unit 11 executes a convolution process on the data in the second convolutional layer 12a. A second kernel (kernel 12a_1), a third kernel (kernel 12a_2), and a fourth kernel (kernel 12a_3) are applied to the second convolutional layer 12a.
[0055] The second kernel is a kernel that has the same number of pixels in the height direction as the input data and 1 pixel in the width direction, and moves in the width direction with a predetermined stride (e.g., 1) but does not move in the height direction. The third kernel is a kernel that has 1 pixel in the height direction and the same number of pixels in the width direction as the width direction of the data, and moves in the height direction with a predetermined stride (e.g., 1) but does not move in the width direction. The fourth kernel is a kernel that has the same number of pixels in the height and width directions as the input data and 1 pixel in the channel direction, and strides in the channel direction.
[0056] The control unit 11 performs a conversion process of the size of the feature map for the second kernel and the third kernel in the second convolutional layer 12a. Specifically, the control unit 11 performs a conversion process in the second convolutional layer 12a to add each piece of data in the height direction in the second kernel and each piece of data in the width direction in the third kernel to each other. The control unit 11 performs the conversion process in the second convolutional layer 12a to obtain the size of the feature map, which is (H, W), for each channel.
[0057] The control unit 11 normalizes the features of the data output from the second convolutional layer 12a for each channel using batch normalization 11b. The control unit 11 transforms the result of the convolution operation in the second convolutional layer 12a by passing it through an activation function 11c.
[0058] The control unit 11 inputs the data output from the second convolution layer 12a to the fully connected layer 12b. The control unit 11 executes a convolution process on the data in the fully connected layer 12b. The fully connected layer 12b is a fully connected layer connected to the first convolution layer 11a or the second convolution layer 12a. For example, the fully connected layer 12b is a layer that connects the first convolution layer 11a and the second convolution layer 12a, the number of which is the same as that of the first convolution layer 11a (for example, 256). In this case, a tensor (array) in which the input data and the output data are the same can be obtained.
[0059] The control unit 11 normalizes the features of the data output from the fully connected layer 12b for each channel using batch normalization 11b. The control unit 11 converts the result of the convolution operation in the fully connected layer 12b by passing it through an activation function 11c.
[0060] According to this embodiment, it is possible to provide a learning model 171 for performing processing with a small number of calculations.
[0061] (Embodiment 2) The second embodiment relates to a form in which a fully connected layer 12b obtained by fully connecting each channel is combined with a first convolutional layer 11a. Note that a description of the contents that overlap with the first embodiment will be omitted.
[0062] The fully connected layer 12b is a fully connected layer that performs full connections for each channel. In this embodiment, the residual block 20 is obtained by connecting the fully connected layer 12b in series with the first convolution layer 11a.
[0063] First, the control unit 11 of the computer 1 acquires input data. The input data is a three-dimensional tensor (array), and the size of each dimension is (C, H, W). No modification process (copy, move, conversion, etc.) is performed on the input data, and the size of the input data itself is considered to be (G, C / / G, H, W). G is the number of groups (for example, 1) and is a divisor of C (the number of channels). " / / " is an integer division operator or quotient operator, and the quotient (integer part) of the division result is obtained. For example, when the number of groups is 1, the size of the input data is (1, C, H, W).
[0064] Next, the control unit 11 inputs the acquired input data to the fully connected layer 12b. The control unit 11 executes a first convolution process for the fully connected layer 12b. Specifically, the control unit 11 executes a convolution process in the fully connected layer 12b, with the number of input channels set to G, the number of output channels set to "C×H×W", the kernel size set to (1,H,W), and the number of groups set to G. The control unit 11 acquires output data with a size of (G,H,W,C / / G) obtained by the first convolution process.
[0065] The control unit 11 applies the acquired output data to the first convolution layer 11a. Specifically, the control unit 11 sets the number of input channels to G, the number of output channels to C, the kernel size to (k, k, C / / G), the number of groups to G, and the padding to (k / / 2, k / / 2, 0) in the first convolution layer 11a. k is, for example, 3.
[0066] The control unit 11 executes a second convolution process on the first convolution layer 11a. The size of the output data obtained by the second convolution process is (C, H, W, 1). Note that a batch normalization 11b and an activation function 11c, etc. may be provided between the fully connected layer 12b and the first convolution layer 11a. By the above-mentioned convolution process that strides in the channel direction, it is possible to obtain tensors in which the input data and the output data have the same size.
[0067] According to this embodiment, it is possible to combine the fully connected layer 12b obtained by fully connecting each channel with the first convolutional layer 11a.
[0068] (Embodiment 3) The third embodiment relates to an embodiment in which a board game is executed using a learning model 171. Note that a description of the contents that overlap with the first and second embodiments will be omitted.
[0069] A board game is a game in which objects are arranged in a grid pattern, such as shogi or chess. Using the learning model 171, the board game can be realized with a small number of calculations based on the data of the board game.
[0070] 7 is a flowchart showing a processing procedure when a board game is executed using the learning model 171. The control unit 11 of the computer 1 acquires input data input by a player playing the board game through the input unit 14 (step S101). The control unit 11 inputs the acquired input data to the learning model 171 (step S102) and outputs output data (step S103).
[0071] If the learning model 171 is provided on a server or a cloud server, the control unit 11 uses the learning model 171 through the server or the cloud server. The control unit 11 displays the output data output from the learning model 171 on the display unit 15 (step S104). The control unit 11 returns to the process of step S101.
[0072] Although the above-mentioned processing has been described using an example of a board game, the present invention is not limited to this example. In addition to board games, the present invention can be similarly applied to applications or games based on periodic data such as musical scales or days of the week.
[0073] According to this embodiment, using the learning model 171, it is possible to realize a board game with a small number of calculations.
[0074] The embodiments disclosed herein are illustrative in all respects and should not be considered as limiting. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the scope and meaning equivalent to the claims.
[0075] The matters described in each embodiment can be combined with each other. In addition, the independent claims and dependent claims described in the claims can be combined with each other in any combination regardless of the reference format. Furthermore, the claims use a format in which a claim references two or more other claims (multiple claim format), but this is not limited to this format. [Explanation of symbols]
[0076] 1. Information processing equipment (computer) 11 Control section 12 Storage section 13. Communications Department 14 Input section 15 Display 16 Reading unit 17 Mass storage 171 Learning Model 1a Removable storage media 1b Semiconductor memory 1P control program
Claims
1. In a residual neural network system in which multiple residual blocks are connected, a first convolutional layer that applies a first kernel having the same number of pixels in the height and width directions; A second convolution layer applies a second kernel having the same number of pixels in the height direction as the input data and one pixel in the width direction, which is moved in the width direction at a predetermined stride and not moved in the height direction, and a third kernel having one pixel in the height direction and the same number of pixels in the width direction as the data in the width direction, which is moved in the height direction at a predetermined stride and not moved in the width direction; a fully connected layer connected to the first convolution layer or the second convolution layer; A residual neural network system comprising:
2. The second convolution layer is applied with a fourth kernel having the same number of pixels in the height and width directions of the data, one pixel in the channel direction, and a stride in the channel direction.
2. The residual neural network system of claim 1 .
3. Get the input data, A first convolution layer that applies a first kernel having the same number of pixels in the height direction and the width direction, a second kernel that has the same number of pixels in the height direction of the input data and one pixel in the width direction, and moves in the width direction with a predetermined stride but does not move in the height direction, and a second convolution layer that applies a third kernel that has one pixel in the height direction and the same number of pixels in the width direction of the data as the width direction of the data, moves in the height direction with a predetermined stride but does not move in the width direction, and a fully connected layer connected to the first convolution layer or the second convolution layer, and the acquired input data is input to a residual neural network in which a plurality of the residual blocks are connected, thereby acquiring output data output from the residual neural network. A program that causes a computer to carry out processing.
Citation Information
Patent Citations
Information processing device, information processing method, and information processing program
JP2020086616A