WO2021002215A1 - サーバ装置、サーバ装置の作動プログラム及び作動方法、並びにデータ解析処理システム - Google Patents

サーバ装置、サーバ装置の作動プログラム及び作動方法、並びにデータ解析処理システム Download PDF

Info

Publication number
WO2021002215A1
WO2021002215A1 PCT/JP2020/024025 JP2020024025W WO2021002215A1 WO 2021002215 A1 WO2021002215 A1 WO 2021002215A1 JP 2020024025 W JP2020024025 W JP 2020024025W WO 2021002215 A1 WO2021002215 A1 WO 2021002215A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
neural network
sub
processing
image
Prior art date
Application number
PCT/JP2020/024025
Other languages
English (en)
French (fr)
Inventor
隆史 涌井
Original Assignee
富士フイルム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士フイルム株式会社 filed Critical 富士フイルム株式会社
Publication of WO2021002215A1 publication Critical patent/WO2021002215A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection

Definitions

  • the technology of the present disclosure relates to a server device, an operation program and operation method of the server device, and a data analysis processing system.
  • a data analysis processing system that executes data analysis processing using a machine learning model having a neural network is known (see JP-A-2002-342739 and JP-A-2010-287062).
  • the data analysis process executed by such a data analysis processing system includes, for example, an image analysis process such as an image recognition process as described in JP-A-2002-342739.
  • the data analysis processing system described in JP-A-2002-342739 is composed of a client device and a server device.
  • the server device is in charge of the learning phase in which the machine learning model is trained using the training data
  • the client device is in charge of the operation phase in which the data analysis process is executed using the learned machine learning model learned in the server device.
  • the client device obtains the parameters required in the learning phase in which the server device additionally learns the machine learning model, which is acquired through the execution of the data analysis process in the client device. It is transmitting from the device to the server device.
  • the server device is acquired through additional learning of the machine learning model, and the parameters required in the operation phase are transmitted to the client device.
  • the data analysis processing system of JP-A-2010-287062 is also composed of a client device and a server device.
  • the server device is composed of a plurality of server computers, and the client device functions as a management device for managing each server computer.
  • the processing using the neural network is shared by a plurality of server computers.
  • the client device does not execute the processing using the neural network, but has a relay function that relays the execution result of the processing output by each server computer between the server computers and a synchronization function that synchronizes the processing of each server computer. Is responsible for.
  • the inventor is studying to provide data analysis processing using such a neural network as an online application service (also called a cloud service) that uses a communication line.
  • an online application service also called a cloud service
  • the amount of data processing generally increases as the analysis accuracy increases.
  • hardware having high processing capacity is required, which increases the hardware cost of the processing device.
  • the development cost increases, and the maintenance cost required for maintenance such as additional learning tends to increase. Therefore, if the data analysis process can be provided to the user as an online application service, the user will not need the maintenance cost in addition to the initial investment such as the hardware cost and the development cost, and the user will be highly accurate with only the usage fee. It becomes possible to use the data analysis processing service at a relatively low cost.
  • the shared line means a shared communication line that can be used by a plurality of users, such as a public line such as the Internet.
  • the content of the data to be analyzed by the user may be intercepted. If the data to be analyzed by the user is intercepted, the information security risk that the user's business content (research content, product development content, etc.) will be grasped based on the content of the data to be analyzed poses a dedicated line. There is a problem that it is larger than when it is used.
  • the technology of the present disclosure is a server device, an operation program and an operation method of the server device, which can reduce the information security risk as compared with the conventional one even when the data analysis process is provided as an online service using a shared line. , And a data analysis processing system.
  • the server device is a server device that executes a part of the data analysis process in the data analysis processing system that executes the data analysis process by using the neural network. , Used by a plurality of users from a client device that outputs the first processed data by executing the first process that is a part of the data analysis process using the first sub-neural network that is a part of the neural network.
  • a data acquisition unit that acquires the first processed data via a shared line that is a possible shared communication line, and a second sub-neural network that is a part of the neural network and is different from the first sub-neural network are used.
  • the data processing unit is provided with a data processing unit that outputs the second processing data by executing the second processing that is a part of the data analysis processing based on the first processing data.
  • the neural network it is preferable to have a division portion capable of changing the division portion to be divided as the first sub-neural network.
  • the divided portion is changed based on preset conditions.
  • the data acquisition unit has a function of decrypting the first processed data encrypted in the client device.
  • the first process executed using the first sub-neural network includes a plurality of sub-processes, and each of the plurality of sub-processes outputs sub-data that is a part of the first-process data.
  • the data acquisition unit acquires the first processed data by dividing it into sub-data.
  • the first sub-neural network has a plurality of layers for analyzing the input input data, the plurality of sub-processes may be executed in each of the plurality of layers, and the sub-data may be output for each sub-process. preferable.
  • the first sub-neural network preferably includes an encoder network that extracts the features of the input data as the first processed data by analyzing the input input data.
  • the data analysis process is preferably an image analysis process that analyzes the input input image.
  • the first sub-neural network preferably includes an encoder network that extracts an image feature map representing the features of the input image as the first processed data by analyzing the input image.
  • the first process executed using the encoder network is a convolution process that performs a convolution operation using a filter to extract an image feature map that represents features with different frequency bands included in the input image, and a convolution process that extracts the image.
  • a convolution process that extracts the image.
  • the pooling process of outputting the image feature map with the reduced image size by calculating the local statistics of the image feature map and compressing the image feature map is included.
  • the first processed data has a larger number of channels according to the number of applied filters than the input image and the first processing includes a pooling process, the first processed data has a smaller image size than the input image. Is preferable.
  • the encoder network has a plurality of layers for analyzing the input image, and it is preferable to extract an image feature map for each layer in the first process.
  • the neural network has an encoder network and a decoder network that generates an output image in which a region for each class in the input image is segmented based on an image feature map extracted for each layer, and as an image analysis process, It is preferable that the convolutional neural network performs semantic segmentation that discriminates a plurality of classes included in the input image on a pixel-by-pixel basis.
  • the encoder network and the decoder network each have N layers from the first layer of the uppermost layer to the Nth layer of the lowest layer as a plurality of layers, and the first sub-neural network is one of the encoder networks. It is preferable that the second sub-neural network includes at least a portion corresponding to the first layer of the lowermost layer of the decoder network, including at least a portion corresponding to the first layer of the uppermost layer to which the input image is input.
  • the input image is preferably a cell image obtained by photographing a cell.
  • the neural network is learned for two or more cell types in the learning phase.
  • the operation program of the server device is an operation program of the server device that executes a part of the data analysis process in the data analysis processing system that executes the data analysis process by using the neural network.
  • the first process that is a part of the data analysis process using the first sub-neural network that is a part of the neural network it can be used by a plurality of users from the client device that outputs the first process data.
  • a data acquisition unit that acquires the first processed data via a shared line, which is a common communication line, and a second sub-neural network that is a part of the neural network and is different from the first sub-neural network.
  • the computer functions as a data processing unit that outputs the second processing data by executing the second processing that is a part of the data analysis processing based on the first processing data.
  • the method of operating the server device is a method of operating the server device that executes a part of the data analysis process in the data analysis processing system that executes the data analysis process by using the neural network.
  • the first processing that is a part of the data analysis processing using the first sub-neural network that is a part of the neural network it can be used by a plurality of users from the client device that outputs the first processing data.
  • a data processing step of outputting the second processing data by executing the second processing which is a part of the data analysis processing based on the first processing data is included.
  • the data analysis processing system is a data analysis processing system that includes a client device and a server device and executes data analysis processing by using a neural network, and the client device is one of the neural networks.
  • a client-side data processing unit that outputs the first processing data that is the processing result of the first processing by executing the first processing that is a part of the data analysis processing using the first sub-neural network that is the unit.
  • the server device is a part of a neural network and a data acquisition unit that acquires first processing data from a client device via a shared line that is a shared communication line that can be used by a plurality of users.
  • the processing result of the second processing by executing the second processing which is a part of the data analysis processing based on the first processing data by using the second sub-neural network different from the first sub-neural network. It is provided with a server-side data processing unit that outputs the second processing data.
  • information security risk can be reduced even when data analysis processing is provided as an online service using a shared line.
  • FIG. 2A shows an input image
  • FIG. 2B shows an output image, respectively.
  • the data analysis processing system 10 is a system that provides a data analysis processing service as an application service to a plurality of users 11 online via a shared line 16.
  • the data analysis processing system 10 includes each client device 12 of a plurality of users 11 and a server device 14 operated by an application service provider (hereinafter, simply referred to as a provider) 13.
  • the plurality of client devices 12 and the server device 14 are communicably connected to each other via the shared line 16.
  • the shared line 16 is a shared communication line that can be used by an unspecified or specific plurality of users 11.
  • the shared line 16 can be used by an unspecified number of users 11 such as the Internet, public switched telephone networks (PSTN: Public Switched Telephone Networks), mobile communication networks, and wired or wireless public LANs (Local Area Networks).
  • PSTN Public Switched Telephone Networks
  • PSTN Public Switched Telephone Networks
  • mobile communication networks and wired or wireless public LANs (Local Area Networks).
  • VPN Virtual Private Network
  • a VPN is a communication line that uses a public network such as the Internet as a base network and uses this base network and encryption technology to build a virtual dedicated line between specific users. Since the base network is a public line, the VPN is physically a shared line 16 that can be used by a plurality of users 11.
  • the data analysis processing service provided by the provider 13 is a data analysis processing service using a machine learning model (hereinafter, simply referred to as a model) M having a neural network.
  • the provider 13 includes a learning device 17 for learning the model M.
  • the server device 14 provides the data analysis processing service to the user 11 by executing the data analysis processing using the model M trained by the learning device 17.
  • the data analysis processing service of this example is an image analysis processing service that executes semantic segmentation on the image to be analyzed.
  • Semantic segmentation is an image analysis method in which a plurality of classes included in an input image are discriminated on a pixel-by-pixel basis, and an output image in which regions are divided for each discriminated class is output.
  • a class is a type of object that appears in an input image. For example, when an input image showing three objects of a cup, a book, and a mobile phone is given to the model M, the cup, the book, and the mobile phone are each classified as a class, and the outline of the cup, the book, and the mobile phone is faithful. An output image is obtained in which the area defined by the contour line traced to is presented identifiable for each class.
  • the input image II is a cell image of cells in culture taken with a phase-contrast microscope.
  • Input image II shows each class of differentiated cells, undifferentiated cells, dead cells, and the medium in which the cells are cultured.
  • model M class 1 differentiated cell DC, class 2 undifferentiated cell UDC, class 3 dead cell DDC, and class in input image II.
  • Each region of the medium PL of 4 is differentiated.
  • an output image OI is generated in which the identified regions of each class 1 to 4 are displayed in an identifiable form such as being displayed in different colors. Based on such an output image OI, the user grasps, for example, the number and size of each cell, and evaluates the progress and result of cell culture.
  • the user 11 When the user 11 wants to use the provider 13, for example, he / she concludes a data analysis processing service usage contract with the provider 13 in advance and acquires a user account or the like. Then, when the user 11 actually uses the data analysis processing service, the user 11 transmits the data to be analyzed and the processing request from the client device 12 to the server device 14 via the shared line 16.
  • the server device 14 receives the processing request, the server device 14 executes the data analysis processing on the data to be analyzed. Then, the server device 14 transmits the processing result such as the output image OI to the client device 12 via the shared line 16.
  • the server device 14 assigns a part of the data analysis processing service executed by using the model M to the client device 12. Specifically, the server device 14 divides the model M supplied from the learning device 17 into two parts, a first sub-neural network SBN1 and a second sub-neural network SBN2. Then, the server device 14 distributes the divided first sub-neural network SBN1 to the client device 12. The client device 12 outputs the first processed data PD1 by executing the first process which is a part of the data analysis process by using the first sub-neural network SBN1 with respect to the input image II to be analyzed. .. The client device 12 transmits a processing request to the server device 14 together with the first processing data PD1 via the shared line 16.
  • the server device 14 executes the second processing, which is a part of the data analysis processing, on the received first processing data PD1 by using the second sub-neural network SBN2.
  • the server device 14 outputs the second process data PD2 which is the process result of the second process.
  • the second process is a part of the data analysis process and is a process executed based on the first process data PD1. Therefore, the second process is executed after the first process in the data analysis process.
  • the second processed data PD2 is the output image OI itself in this example.
  • the server device 14 delivers the second processed data PD2, which is the output image OI, to the client device 12 that is the request source of the processing request as the processing result.
  • the client device 12 acquires the second processed data PD2 which is the output image OI.
  • the learning device 17 trains the model M by using the learning data LD composed of a set of the input image IIL for learning and the annotation image AI.
  • the learning input image IIL is an image input to the model M for learning to improve the class discrimination accuracy.
  • the model M performs semantic segmentation on the learning input image IIL and outputs the learning output image OIL.
  • the annotation image AI is an image in which an area is specified for each class and distinguished from the learning input image IIL.
  • the area of each class is specified by the creator of the learning data LD drawing a contour line using a pen tablet or the like.
  • the area is distinguished by the creator color-coding the inside of the contour line for each class.
  • the annotation image AI is, so to speak, an image for matching the answer with the learning output image OIL, and is compared with the learning output image OIL. The higher the discrimination accuracy of the model M class, the smaller the difference between the annotation image AI and the learning output image OIL.
  • the learning input image IIL is an image similar to the input image II shown in FIG. 2A
  • the learning output image OIL is an image similar to the output image OI shown in FIG. 2B.
  • the learning device 17 compares the annotation image AI and the learning output image OIL, and evaluates the discrimination accuracy of the class of the model M. Then, the model M is updated according to the evaluation result of the discrimination accuracy of this class.
  • the learning device 17 inputs the learning input image IIL to the model M, outputs the learning output image OIL from the model M, evaluates the discrimination accuracy of the class of the model M, and updates the model M in the learning data LD. This is performed while changing, and the process is repeated until the discrimination accuracy of the model M class reaches a preset level.
  • the learning device 17 supplies the server device 11 with the model M whose class discrimination accuracy is set to a preset level.
  • the model M in the server device 11 is updated by the model M that has undergone additional learning. As a result, the discrimination accuracy of the model M of the server device 11 is continuously improved. As described above, the model M is divided into the first sub-neural network SBN1 and the second sub-neural network SBN2 in the server device 11.
  • the model M of this example has a plurality of layers for analyzing the input image, and U-Net extracts features in which the frequency band of the spatial frequency included in the input image is different for each layer. It is a hierarchical model composed of convolutional neural networks such as.
  • the model M of this example has five layers, that is, a first layer, a second layer, a third layer, a fourth layer, and a fifth layer. In the following, a case where the input image II is given to the model M and the output image OI is output from the model M will be described as an example.
  • Model M has an encoder network ENC and a decoder network DEC.
  • the encoder network ENC performs a convolution operation using the filter F (see FIG. 6) for each layer, and performs a convolution process for extracting the image feature map CMP.
  • the decoder network DEC gradually increases the image size of the smallest image feature map CMP output from the encoder network ENC. Then, the gradually enlarged image feature map CMP and the image feature map CMP output in each layer of the encoder network ENC are combined to obtain a learning output image OIL having the same image size as the learning input image IIL. Generate.
  • the image feature map CMP is an example of "features in which the frequency bands of the spatial frequencies included in the input image are different" according to the technique of the present disclosure.
  • Input data DI (see FIG. 6) having a plurality of pixel values arranged two-dimensionally is input to the encoder network ENC for each layer.
  • the encoder network ENC performs a convolution process on the input data DI in each layer to extract the image feature map CMP.
  • the input image II is input as the input data DI in the first layer of the encoder network ENC.
  • the first layer performs a convolution process on the input image II, and outputs, for example, an image feature map CMP having the same image size as the input image II.
  • the image feature map CMP output in each upper layer is input as the input data DI.
  • convolution processing is performed on the image feature map CMP, and for example, an image feature map CMP having the same image size as the input image feature map CMP is output.
  • the convolution process is shown as "conv (convolution)" in FIG.
  • a 3 ⁇ 3 filter F is applied to the input data DI, and the pixel value e of the pixel of interest Ip in the input data DI and the pixel value of eight pixels adjacent to the pixel of interest Ip.
  • an output data DIc in which pixel values are arranged in a two-dimensional manner is obtained in the same manner as the input data DI.
  • the pixel value Icp (x, x,) of the pixel Icp of the output data DIc, which is the result of the convolution calculation for the pixel of interest Ip. y) can be obtained, for example, by calculating the following (Equation 1).
  • Icp (x, y) az + by + cx + dw + ev + fu + gt + hs + ir ... (Equation 1)
  • the above-mentioned convolution operation is performed on each pixel of the input data DI, and the pixel value Icp (x, y) is output.
  • the output data DIc having the pixel values Icp (x, y) arranged in two dimensions is output.
  • One output data DIc is output for one filter F.
  • output data DIc is output for each filter F.
  • the output data DIc is data in which pixel values Icp (x, y) are arranged two-dimensionally, and has a width and a height. Further, when a plurality of output data DIc are output by applying a plurality of filters F of different types, the image feature map CMP becomes a set of a plurality of output data DIc. In the image feature map CMP, the number of filters F is called the number of channels.
  • the image feature map CMP shown in FIG. 7 is an example of a 4-channel image feature map CMP having four output data DIcs output by applying four filters F.
  • FIG. 8 is an explanatory diagram in which the convolution process using the filter F is applied to the concept of the convolutional neural network CNN.
  • the convolutional neural network CNN has an input layer and an intermediate layer having a plurality of units U.
  • the weights w1, w2, and w3 indicating the strength of the bond between each unit U in the input layer and each unit U in the intermediate layer correspond to the coefficients of the filter F.
  • Each pixel value Ip (x1, y1), Ip (x1, y2), Ip (x1, y3), ... Of the input data DI is input to each unit U of the input layer, and each pixel value Ip (x1).
  • each number 64, 128, 256, 512, 1024 shown above each image feature map CMP indicates the number of channels possessed by each image feature map CMP.
  • the parenthesized 1/1, 1/2, 1/4, 1/8, and 1/16 attached to the first to fifth layers are the input image II input to the highest first layer. Shows the image size handled in each layer based on the image size.
  • the input image II is subjected to the convolution process twice.
  • a convolution process for applying 64 filters F is performed on the input image II, and a 64-channel image feature map CMP is output.
  • a convolution process for applying 64 filters F is further performed on the image feature map CMP, and the image feature map CMP of 64 channels is finally output in the first layer.
  • the image size which is the width and height of the image feature map CMP output by the first layer, is the same as the image size of the input image II. Therefore, the image size handled by the first layer is the same as the input image II, that is, 1/1 representing the same magnification.
  • the pooling process shown as "pool” in FIG. 5 is performed on the image feature map CMP extracted by the two convolution processes.
  • the pooling process is a process of calculating the local statistics of the image feature map CMP and compressing the image feature map CMP.
  • the local statistic for example, the maximum value or the average value of the pixel values in the block of 2 ⁇ 2 pixels is used.
  • the pooling process that calculates the maximum value is called maximum value pooling
  • the pooling process that calculates the average value is called average value pooling.
  • the pooling process is a process of selecting a local representative value from the pixel values of each pixel of the image feature map CMP, lowering the resolution of the image feature map CMP, and reducing the image size of the image feature map CMP.
  • the pooling process for selecting a representative value from a block of 2 ⁇ 2 pixels is performed by shifting the pooling process by one pixel, the image feature map CMP is reduced to half the original image size.
  • a pooling process for halving the image size of the image feature map CMP is performed in the first layer. Therefore, in the second layer of the encoder network ENC, the image feature map CMP reduced to 1/2 the image size with reference to the input image II is input as the input data DI.
  • the convolution process of applying 128 filters F is performed twice, and the 128-channel image feature map CMP is output. Then, a pooling process for halving the image size is performed on the 128-channel image feature map CMP.
  • 128 channels of image feature map CMP reduced to 1/4 of the image size based on the image size of the input image II are input as input data DI in the second to third layers.
  • the convolution process of applying 256 filters F is performed twice, the image feature map CMP of 256 channels is output, and the image size is further increased with respect to the image feature map CMP of 256 channels.
  • the pooling process is performed in half.
  • 256-channel image feature map CMP reduced to 1/8 of the image size based on the input image II is input as input data DI in the third to fourth layers.
  • the fourth layer two convolution processes for applying 512 filters F are performed, a 512-channel image feature map CMP is output, and an image is output with respect to the 512-channel image feature map CMP.
  • a pooling process is performed to further halve the size.
  • the 512-channel image feature map CMP reduced to 1/16 of the image size based on the input image II is input as the input data DI in the 4th to 5th layers.
  • the convolution process of applying 1024 filters is performed twice.
  • the pooling process is not performed on the image feature map CMP extracted by the convolution process.
  • the input data DI (input image II or image feature map CMP) input to each layer has a stepwise image size from the highest first layer to the lowest fifth layer. It is reduced and the resolution is lowered.
  • the first layer is 1/1 (that is, the same size)
  • the second layer is 1/2
  • the third layer is 1 /.
  • Input data DIs of image sizes of 1/8 for the 4th and 4th layers and 1/16 for the 5th layer are input.
  • Each layer of the encoder network ENC applies a filter F to the input data DI having a different resolution for each layer to perform convolution processing.
  • the convolution process is performed on the input image II having the highest resolution among the input data DIs of each layer. Therefore, the image feature map CMP extracted in the first layer represents the feature of the finest structure having the frequency band having the highest spatial frequency in the input image II.
  • the convolution process is performed on the input data DI whose resolution is lower than that of the input image II. Therefore, the image feature map CMP extracted in the second layer and the third layer represents the feature of the mid-range structure having a frequency band having a lower spatial frequency than the first layer.
  • the image feature map CMP extracted in the 4th layer and the 5th layer is a feature of the global structure having a frequency band having a lower spatial frequency. Represents.
  • the characteristics of images having different frequency bands included in the input image II are output for each layer from the highest layer 1 to the lowest layer 5.
  • Each image size from 1/1 of the first layer to 1/16 of the fifth layer indicates a frequency band that can be analyzed by each layer. That is, 1/1 indicates the frequency band having the highest spatial frequency, and 1/16 indicates the frequency band having the lowest spatial frequency.
  • the reason for increasing the number of filters F to 64, 128, 256, ... As the hierarchy goes down is that the number of filters F is increased as the image size becomes smaller, and the input image II This is to extract various features contained in.
  • the first to fourth layers of the encoder network ENC transmit the image feature map CMP extracted by each to the decoder network DEC.
  • the process of transmitting this image feature map CMP from the encoder network ENC to the decoder network DEC is called a skip layer process, and is indicated by “skip” in FIG.
  • the image feature map CMP indicated by hatching is the image feature map CMP transmitted from the encoder network ENC.
  • the decoder network DEC repeats the upsampling process and the merge process.
  • the upsampling process is shown as "upsmp (upsampling)" in FIG.
  • the upsampling process is a process of gradually increasing the image size of the image feature map CMP having the minimum image size output from the encoder network ENC.
  • the merge process is a process of combining the image feature map CMP that has been gradually enlarged by the upsampling process and the image feature map CMP that is output for each layer in the encoder network ENC and has the same image size.
  • the decoder network DEC generates an output image OI in which the region for each class in the input image II is segmented by the upsampling process and the merge process.
  • the decoder network DEC has a first layer to a fifth layer corresponding to each layer of the encoder network ENC.
  • the image feature map CMP is enlarged so as to have the same size as the image size of each layer corresponding to the encoder network ENC.
  • the upsampling process of this example involves a convolution process of applying the filter F in addition to enlarging the image size.
  • the upsampling process that involves such a convolution process is called an upconvolution process.
  • a merge process and a further convolution process are performed after the up-convolution process is completed.
  • the fifth layer of the decoder network DEC first receives an image feature map CMP having a minimum image size of 1/16 from the lowest fifth layer of the encoder network ENC.
  • the number of channels of this image feature map CMP is 1024.
  • the fifth layer of the decoder network DEC expands the image feature map CMP having an image size of 1/16 to a double image size of 1/8, and performs a convolution process to apply 512 filters F. , Reduce the number of channels by half to 512.
  • An image feature map CMP of 512 channels with an image size of 1/8 is output to the 5th to 4th layers of the decoder network DEC.
  • the image feature map CMP received from the 5th layer of the encoder network ENC and the image feature map CMP transmitted from the 4th layer of the encoder network ENC by skip layer processing are combined. Processing is done.
  • the image feature map CMPs combined in the fourth layer each have an image size of 1/8 and 512 channels. Therefore, in the fourth layer, an image feature map CMP having an image size of 1/8 and 1024 channels (512 + 512) is generated by the merge process.
  • the convolution process of applying 512 filters F to the 1024-channel image feature map CMP is performed twice to have an image size of 1/8 and 512-channel image features.
  • a map CMP is generated.
  • an up-convolution process that doubles the image size to 1/4 and halves the number of channels to 256 channels with respect to the image feature map CMP having an image size of 1/8. Is done.
  • an image feature map CMP having an image size of 1/4 and 256 channels is output from the 4th layer to the 3rd layer.
  • merge processing is performed to combine the image feature map CMP received from the fourth layer and the image feature map CMP transmitted by the skip layer process from the third layer of the encoder network ENC. ..
  • the image feature map CMPs combined in the third layer each have an image size of 1/4 and 256 channels. Therefore, in the third layer, an image feature map CMP having an image size of 1/4 and 512 channels (256 + 256) is generated by the merge process.
  • the convolution process of applying 256 filters F to the 512-channel image feature map CMP is performed twice to have a 1/4 image size and 256-channel image features.
  • a map CMP is generated.
  • an up-convolution process that doubles the image size to 1/2 and halves the number of channels to 128 channels with respect to the image feature map CMP having an image size of 1/4. Is done.
  • an image feature map CMP having an image size of 1/2 and 128 channels is output from the third layer to the second layer.
  • a merge process is performed in which the image feature map CMP received from the third layer and the image feature map CMP transmitted from the second layer of the encoder network ENC by the skip layer process are combined. ..
  • the image feature map CMPs combined in the second layer each have an image size of 1/2 and 128 channels. Therefore, in the second layer, an image feature map CMP having an image size of 1/2 and 256 channels (128 + 128) is generated by the merge process.
  • the convolution process of applying 128 filters F to the 256-channel image feature map CMP is performed twice, and the image size is halved and the 128-channel image feature is displayed.
  • a map CMP is generated.
  • an up-convolution process that doubles the image size to 1/1 and halves the number of channels to 64 channels with respect to the image feature map CMP having an image size of 1/2. Is done.
  • an image feature map CMP having an image size of 1/1 and 64 channels is output from the second layer to the first layer.
  • a merge process is performed in which the image feature map CMP received from the second layer and the image feature map CMP transmitted from the first layer of the encoder network ENC by the skip layer process are combined. ..
  • the image feature map CMPs combined in the first layer have an image size of 1/1 and 64 channels, respectively. Therefore, in the first layer, an image feature map CMP having a 1/1 image size and 128 channels (64 + 64) is generated by the merge process.
  • the convolution process of applying 64 filters F to the 128-channel image feature map CMP is performed.
  • the convolution process of applying one filter F is performed.
  • an output image OI having the same image size as the input image II is generated.
  • the image size of the image feature map CMP with the minimum image size output from the encoder network ENC is gradually increased. Then, while enlarging the image feature map CMP, the image feature map CMP extracted for each layer in the encoder network ENC is combined to generate the output image OI.
  • the image feature map CMP with the smallest image size represents the features of the global structure with the lowest spatial frequency of the input image II.
  • the decoder network DEC by enlarging the image feature map CMP of this minimum image size, the features of the global structure are expanded, and by combining the image feature map CMP from the encoder network ENC, the mid-range structure is fine. Incorporate features up to the structure.
  • the model M uses such an encoder network ENC and a decoder network DEC to generate an output image OI in which the classes included in the input image II are divided into regions.
  • FIG. 9 is an explanatory diagram for more clearly showing the contents of processing for each of the first to fifth layers in the model M shown in FIG.
  • the encoder network ENC is distributed to the client device 12 and used as the first sub-neural network SBN1 in the client device 12.
  • the client device 12 outputs the first processed data PD1 by executing the first process on the input image II using the encoder network ENC.
  • the first process is a process of extracting the features of the input image II as an image feature map CMP by analyzing the input image II
  • the first processed data PD1 is an image feature map CMP.
  • the first process executed by using the encoder network ENC includes a plurality of sub-processes ESP1 to ESP5.
  • the plurality of sub-processes ESP1 to ESP5 are executed in each of the first layer to the fifth layer of the encoder network ENC.
  • each of the processes ESP1 to ESP5 includes a convolution process (conv) and a skip layer process (skip).
  • each of the processes ESP1 to ESP4 also includes a pooling process (pool).
  • the sub-data that is a part of the first process data PD1 is output.
  • the sub data is an image feature map CMP output in each of the sub-processes ESP1 to ESP5
  • the first processing data PD1 includes all the image feature map CMPs output in each of the sub-processes ESP1 to ESP5.
  • the image feature map CMP as sub-data output from each sub-process ESP1 to ESP5 is divided and transmitted for each sub-data from the client device 12 to the server device 14. That is, the plurality of image feature map CMPs output in the sub-processes ESP1 to ESP5 are not transmitted collectively, but are transmitted separately for each image feature map CMP.
  • the skip layer processing for transmitting the image feature map CMP of 64 channels in the sub-processing ESP1 of the first layer and the image feature map CMP of 128 channels in the sub-processing ESP2 of the next second layer. Is executed at a different timing from the skip layer processing for transmitting. Specifically, the skip layer processes of the sub-processes ESP1 and ESP2 are sequentially executed in this order. As a result, the 64-channel image feature map CMP in the first-layer sub-processing ESP1 and the 128-channel image feature map CMP in the next second-layer sub-processing ESP2 are transmitted separately. The same applies to the third and subsequent layers. As a result, the image feature map CMP output in each of the sub-processes ESP1 to ESP5 passes through the shared line 16 at different timings.
  • the image feature map CMP as the first processing data PD1 has a larger number of channels than the input image II. Further, when the first process includes a pooling process, the image feature map CMP has a smaller image size than the input image II.
  • a 64-channel image feature map CMP is output by applying 64 filters in the convolution processing. Since the input image II is not filtered and has substantially one channel, the 64-channel image feature map CMP has more channels than the input image II.
  • the image feature map CMP output in the first layer is subjected to pooling processing when sent from the first layer to the second layer, the image size is smaller than that of the input image II. Since the image size of the image feature map CMP of the second and subsequent layers is gradually reduced by executing the pooling process, the image size of the image feature map CMP of each layer is smaller than that of the input image II. .. However, the image feature map CMP transmitted to the server device 14 as the target of the skip layer processing in the first layer has the same image size as the input image II because the pooling processing is not performed.
  • the decoder network DEC is used as the second sub-neural network SBN2 in the server device 14.
  • the server device 14 outputs the second processed data PD2 (output image OI in this example) by executing the second process on the first processed data PD1 using the decoder network DEC.
  • the second process executed by using the decoder network DEC includes a plurality of sub-processes DSP1 to DSP5.
  • the plurality of sub-processes DSP1 to DSP5 are executed in each of the first layer to the fifth layer of the decoder network DEC.
  • Each of the processes DSP1 to DSP5 includes an upsampling process (upsmp) as described with reference to FIG.
  • each of the sub-processes DSP1 to DSP4 of the first layer to the fourth layer includes a merge process (merge) and a convolution process (conv).
  • the image feature map CMP is output toward the upper layer in each of the sub-processes DSP2 to DSP5 of the second layer to the fifth layer.
  • the image feature map CMP output from the lower layer in the decoder network DEC is merged with the image feature map CMP transmitted by the skip layer process from the encoder network ENC of the client device 12 by the merge process.
  • the output image OI is generated by executing the subprocessed DSP1 based on the image feature map CMP.
  • this output image OI is the second processed data PD2.
  • the second process is executed by using the decoder network DEC.
  • the output image OI is output as the second processed data PD2.
  • the computers constituting the client device 12 and the server device 14 have the same basic configuration, and have a storage device 30, a memory 31, a CPU (Central Processing Unit) 32, a communication unit 33, and a display 34. , And an input device 35. These are interconnected via a bus line 36.
  • a bus line 36 interconnects the computers constituting the client device 12 and the server device 14 to have a bus line 36.
  • the storage device 30 is a hard disk drive built in the computer or connected via a cable or a network. Alternatively, the storage device 30 is a disk array in which a plurality of hard disk drives are connected in series. The storage device 30 stores control programs such as an operating system, various application programs, and various data associated with these programs. A solid state drive may be used instead of the hard disk drive.
  • the memory 31 is a work memory for the CPU 32 to execute a process.
  • the CPU 32 comprehensively controls each part of the computer by loading the operation program 40 stored in the storage device 30 into the memory 31 and executing the processing according to the operation program.
  • the communication unit 33 is a network interface that controls transmission during communication via the shared line 16.
  • the display 34 displays various screens.
  • the computer receives input of operation instructions from the input device 35 through various screens.
  • the input device 35 is a keyboard, a mouse, a touch panel, or the like.
  • the operation program 40 is stored in the storage device 30 of the server device 14.
  • the operation program 40 is an application program for operating the computer as the server device 14. That is, the operation program 40 of the server device 14 is an example of the "operation program of the server device" according to the technique of the present disclosure.
  • the CPU 32 of the server device 14 functions as a data acquisition unit 51, a server-side data processing unit 52, a distribution unit 53, and a division unit 54 by executing the operation program 40.
  • the CPU 32 of the server device 14 is an example of a server-side processor.
  • the data acquisition unit 51 acquires the first processing data PD1 from the client device 12 via the shared line 16. Further, the data acquisition unit 51 receives the processing request from the client device 12. The first processed data PD1 and the processing request acquired by the data acquisition unit 51 are passed to the server-side data processing unit 52.
  • the data acquisition unit 51 has a function of decrypting the first processed data PD1 encrypted in the client device 12.
  • the server-side data processing unit 52 uses the second sub-neural network SBN2 to execute the second processing in which the first processing data is the data to be processed, so that the second processing data which is the processing result of the second processing is executed.
  • Output PD2 The data acquisition unit 51 is an example of the "data acquisition unit” according to the technology of the present disclosure, and the server-side data processing unit 52 is an example of the "data processing unit” according to the technology of the present disclosure.
  • the division unit 54 divides the model M supplied from the learning device 17 into the first sub-neural network SBN1 and the second sub-neural network SBN2.
  • the division unit 54 stores the divided first sub-neural network SBN 1 and the second sub-neural network SBN 2 in the storage device 30.
  • the server-side data processing unit 52 reads the second sub-neural network SBN2 from the storage device 30 when executing the second processing.
  • the distribution unit 53 distributes the second processed data PD2 and the first sub-neural network SBN1 to the client device 12 via the shared line 16.
  • the distribution unit 53 is an example of a “distribution unit” according to the technique of the present disclosure. Further, the distribution unit 53 has a function of encrypting data such as the second processing data PD2 to be distributed to the client device 12.
  • the CPU 32 of the client device 12 functions as a client-side data processing unit 61 and a transmission / reception processing unit 62 by executing an operation program (not shown).
  • the CPU 32 of the client device 12 is an example of a client-side processor.
  • the client-side data processing unit 61 outputs the first processed data PD1 by executing the first process using the first sub-neural network SBN1.
  • the transmission / reception processing unit 62 transmits the first processing data PD1 and the processing request to the server device 14 via the shared line 16. Further, the transmission / reception processing unit 62 receives the second processing data PD2 and the first sub-neural network SBN1.
  • the transmission / reception processing unit 62 has a function of encrypting the first processing data PD1 transmitted to the server device 14 via the shared line 16. Further, the transmission / reception processing unit 62 has a function of decrypting data such as the second processing data PD2 encrypted by the server device 14.
  • Data such as an input image II, a first sub-neural network SBN1, a second processing data PD2, and an operation program (not shown) are stored in the storage device 30 of the client device 12.
  • the client-side data processing unit 61 reads out the first sub-neural network SBN1 when executing the first processing.
  • the first sub-neural network SBN1 is divided from the model M by the dividing unit 54 in advance, and the first sub-neural network SBN1 is distributed to the client device 12.
  • the user 11 first causes the client device 12 to execute the first process for the input image II.
  • the client-side data processing unit 61 executes the first processing on the input image II to be analyzed by using the first sub-neural network SBN1.
  • the transmission / reception processing unit 62 transmits a processing request to the server device 14.
  • the transmission / reception processing unit 62 transmits the first processing data PD1 which is the processing result of the first processing for each sub data, specifically, for each image feature map CMP output in each layer. Divide and send.
  • the first processed data PD1 is encrypted.
  • the server device 14 waits for a processing request in step S2110. Then, when the data acquisition unit 51 receives the processing request (YES in step S2110), the data acquisition unit 51 acquires the first processing data PD1 in step S2210. Since the acquired first processed data PD1 is encrypted, it is decrypted.
  • the server-side data processing unit 52 executes the second processing on the first processing data PD1 by using the second sub-neural network SBN2. As a result, in the server device 14, the output image OI is generated as the second processing data PD2.
  • the distribution unit 53 distributes the output image OI to the client device 12 as the second processing data PD2.
  • the client device 12 receives the output image OI as the second processing data PD2.
  • the output image OI is acquired as the processing result of the data analysis processing for the input image II.
  • the user grasps the number and size of each cell based on the output image OI, and evaluates the cell culture.
  • the first process which is a part of the data analysis process, is executed on the input image II by using the first sub-neural network SBN1.
  • the data acquisition unit 51 acquires the first processed data PD1, which is the processing result of the first process, from the client device 12 via the shared line 16.
  • the server-side data processing unit 52 uses the second sub-neural network SBN2 to execute the second processing, which is a part of the data analysis processing, based on the first processing data PD1, thereby performing the second processing data.
  • the output image OI is output as PD2.
  • the technique of the present disclosure it is not the input image II itself to be analyzed that is input by the user that passes through the shared line 16, but the first process that is a part of the data analysis process for the input image II. This is the data given.
  • the data analysis process using the neural network if the process using a part of the neural network is performed, the input data to be analyzed is abstracted. Therefore, even when the data passing through the shared line 16 is intercepted, the user's business content (research content, product development content, etc.) can be grasped from the data content as compared with the case where the input image II itself is intercepted. It is unlikely that it will end up.
  • the first process executed by using the first sub-neural network SBN1 includes a plurality of sub-processes such as sub-processes ESP1 to ESP5, and the image feature map CMP output by each of the plurality of sub-processes.
  • Sub-data that is a part of the first processing data PD1 is output.
  • the data acquisition unit 51 divides and acquires the first processed data PD1 for each sub data. That is, since the first processed data PD1 passes through the shared line 16 in a divided state, even if a part of the first processed data PD1 is intercepted, all of the first processed data PD1 is collectively shared. It is harder to grasp the business content of the user than when passing through 16. As a result, information security risk is further reduced.
  • the encoder network ENC of this example has a plurality of layers for analyzing the input image II, and in the first processing, the image feature map CMP is output as the first processing data PD1 for each layer. Will be done.
  • the image feature map CMP becomes more abstract each time it is processed by each layer. Therefore, even if the first processed data PD1 is intercepted, it is more difficult to grasp the business content of the user from the first processed data PD1 having a high degree of abstraction. As a result, information security risk is further reduced.
  • the first sub-neural network SBN1 is an encoder network ENC that extracts the features of the input data as the first processed data PD1 by analyzing the input data such as the input image II.
  • the first processed data PD1 is an image feature map CMP extracted as a feature of the input image II.
  • the first processing data PD1 has a larger number of channels than the input image II.
  • the image size is often small, and the degree of abstraction of the first processed data PD1 is increased. Therefore, even if the first processed data PD1 is intercepted, it is more difficult to grasp the business content of the user from the first processed data PD1 having a high degree of abstraction. As a result, information security risk is further reduced.
  • the business content is specified as compared with the case where the analysis target is, for example, text data.
  • the analysis target is, for example, text data.
  • the amount of information is abundant. Therefore, there is a great need to reduce information security risks by using the technology of the present disclosure.
  • the model M is a neural network for performing semantic segmentation in the image analysis process
  • the load of development and maintenance is often large. Therefore, for services that perform semantic segmentation, there is a high need for online services that bear less cost to users.
  • the technique of the present disclosure is effective in providing such an online service at low cost by using the shared line 16.
  • the first sub-neural network SBN1 is the uppermost layer to which the input image II is input. Includes the part corresponding to the first layer of. Therefore, the input image II itself does not pass through the shared line 16.
  • the division method in which the first sub-neural network SBN1 includes the portion corresponding to the first layer of the encoder network ENC is most preferable from the viewpoint of reducing the information security risk.
  • the second sub-neural network SBN2 includes a portion of the decoder network DEC corresponding to the lowest Nth layer (N is 5 in the above example).
  • N is 5 in the above example.
  • the division method in which the second sub-neural network SBN2 includes the portion corresponding to the lowermost layer of the decoder network DEC is most preferable from the viewpoint of reducing the processing load of the client device 12.
  • the division method in which the first sub-neural network SBN1 includes the portion corresponding to the uppermost layer of the encoder network ENC and the second sub-neural network SBN2 includes the portion corresponding to the lowermost layer of the decoder network DEC is used. , Many merits are preferable.
  • the cell image was described as the input image II as an example, but when the semantic segmentation of the cell image is performed, the classes to be discriminated are differentiated cells and undifferentiated cells. Compared with a class in which the subject in the image has a relatively clear form such as a person or a car, the class in which the subject in the cell image is a subject is relatively difficult to visually distinguish. There is a great need to provide an online service for data analysis processing services that perform such semantic segmentation of cell images. Therefore, the technology of the present disclosure that can reduce the information security risk of such a data analysis processing service is effective.
  • the server device 14 includes a distribution unit 53 that distributes the first sub-neural network SBN1 to the client device 12. Therefore, when the model M is updated, the updated first sub-neural network SBN1 can be easily provided to the client device 12.
  • the data acquisition unit 51 has a function of decrypting the first processed data PD1 encrypted by the client device 12, it is difficult to intercept the data as compared with the case where the data is not encrypted, and there is an information security risk. Is further reduced.
  • the model M is divided into two sub-neural networks, an encoder network ENC and a decoder network DEC. Then, in the first embodiment, the process corresponding to the encoder network ENC is executed by the client device 12, and the process corresponding to the decoder network DEC is executed by the server device 14.
  • the division method of the model M is not limited to the example of the first embodiment, and may be divided as in the second embodiment shown in FIG. 13, for example.
  • the model M is divided into three parts: a first sub-neural network SBN1, a second sub-neural network SBN2, and a third sub-neural network SBN3. Then, in the second embodiment, each sub-neural network is divided across the encoder network ENC and the decoder network DEC. By being divided across the board in this way, the processing corresponding to the portion corresponding to the first layer of each of the encoder network ENC and the decoder network DEC is executed by the client device 12. Then, the server device 14 executes the process corresponding to the portion of the second layer or lower.
  • the overall content of the model M in the second embodiment is the same as that of the first embodiment shown in FIGS. 5 and 9, and only the division method is different from that of the first embodiment.
  • the client device 12 executes the first process using the first sub-neural network SBN1 and the third process using the third sub-neural network SBN3.
  • the server device 14 executes the second process using the second sub-neural network SBN2. In the data analysis process, the first process, the second process, and the third process are executed in this order.
  • the first sub-neural network SBN1 includes only the portion corresponding to the first layer of the encoder network ENC.
  • the first processing is only the sub-processing ESP1
  • the first processing data PD1 is an image feature map CMP output in the sub-processing ESP1.
  • the second sub-neural network SBN2 includes a portion corresponding to the second layer to the fifth layer of the encoder network ENC and the fifth layer to the second layer of the decoder network DEC.
  • the second processing is sub-processing ESP2 to ESP5 using the encoder network ENC and sub-processing DSP5 to DSP2 using the decoder network DEC based on the first processing data PD1.
  • the second processed data PD2 is an image feature map CMP output in the sub-process DSP2.
  • the second processed data PD2 is not the output image OI but the intermediate data for generating the output image OI.
  • the third sub-neural network SBN3 includes only the part corresponding to the first layer of the decoder network DEC.
  • the third process is only the sub-process DSP1, and the third process data PD3 is the output image OI.
  • step S1120 the client device 12 executes the first processing on the input image II by using the first sub-neural network SBN1.
  • the first process is the sub-process ESP1 of the encoder network ENC
  • the first process data PD1 is the image feature map CMP output in the sub-process ESP1.
  • a process request is transmitted in step S1220.
  • step S1320 the image feature map CMP output in the sub-processing ESP1 is transmitted to the server device 14 as the first processing data PD1 via the shared line 16.
  • the data acquisition unit 51 acquires the first processing data PD1 in step S2220.
  • the server-side data processing unit 52 executes the second processing using the second sub-neural network SBN2 based on the acquired first processing data PD1.
  • the second processing data PD2 is output.
  • the distribution unit 53 distributes the second processed data PD2, which is intermediate data, to the client device 12.
  • the client device 12 receives the second processing data PD2 in step S1420.
  • the client device 12 executes the third process based on the second process data PD2 using the third sub-neural network SBN3.
  • the third process is the sub-process DSP1 of the first layer of the decoder network DEC, and when the third process is executed, the output image OI is generated as the third process data PD3 in S1620.
  • the input image II does not pass through the shared line 16 as it is, as in the first embodiment. Therefore, the information security risk can be reduced as in the first embodiment.
  • the encoder network ENC and the decoder network DEC are executed so that both processes corresponding to the same layer of the encoder network ENC and the decoder network DEC are executed in either the client device 12 or the server device 14. And are divided across the board. Therefore, the skip layer processing of each layer is performed in the client device 12 or the server device 14. As a result, the image feature map CMP associated with the skip layer processing does not pass through the shared line 16. As a result, the amount of image feature map CMP passing through the shared line 16 is reduced, and the information security risk is reduced.
  • the first sub-neural network SBN1 used by the client device 12 includes a portion corresponding to the first layer of the encoder network ENC, and the server device 14
  • the second sub-neural network SBN2 used by is included a portion corresponding to the bottom layer of the decoder network DEC.
  • such a division method is preferable because it has great merits from the viewpoint of reducing the information security risk and the processing load of the client device 12.
  • the portion having the same configuration as the first embodiment has the same effect as that in the first embodiment.
  • the division method of the second embodiment is effective from the viewpoint of shortening the processing time.
  • the abstraction level of the data transmitted from the client device 12 to the server device 14 is reduced by dividing the data so as to be included in the first sub-neural network SBN1 to the lowest layer as much as possible. It is preferable to raise it.
  • the processing load tends to increase toward the bottom layer. Therefore, from the viewpoint of reducing the processing load of the client device 12, the lower layer layer is provided in the first sub-neural network SBN1. It is not preferable to include it.
  • the image feature map CMP is abstracted to the extent that the class shown in the input image II cannot be recognized, even if the image feature map CMP is intercepted, the user's business content can be obtained from the content of the image feature map CMP. It becomes impossible to grasp. Although it depends on the content of the input image II, in the case of a cell image, if the image feature map CMP is reduced to about half the image size of the input image II, even if it is understood that it is a cell image, the type of cell. It becomes difficult to identify. Therefore, it is preferable to divide the image feature map CMP into a hierarchy in which the image size is about half that of the input image II so as to be included in the first sub-neural network SBN1.
  • the size of one class such as one cell included in the input image II is reduced to a degree of 3 pixels or less in the image feature map CMP, the cell type and the like class. Since it is impossible to specify the type, the information security risk can be reduced to almost zero. Therefore, if you want to reduce the information security risk to zero, divide it so that it is included in the first sub-neural network SBN1 up to the layer where the size of the class to be discriminated included in the image feature map CMP is 3 pixels or less. Is preferable. As a result, the processing load of the client device 12 can be reduced while reducing the information security risk.
  • the method of dividing the model M is not limited to the first embodiment shown in FIG. 9 and the second embodiment shown in FIG. 13, and various methods can be considered.
  • the first sub-neural network SBN1 may include only the portion corresponding to the first layer of the encoder network ENC, and the rest may be the second sub-neural network SBN2.
  • the divided portion to be divided as the first sub-neural network SBN1 may be changed.
  • the division unit 54 determines and divides the division portion of the first sub-neural network SBN1.
  • the change of the divided portion is performed according to the preset conditions. In the example of FIG. 16, it is changed every time a processing request for data analysis processing is received.
  • the server device 14 receives the processing request in step S2130.
  • the server device 14 determines the division portion of the first sub-neural network SBN1 by the division unit 54, and divides the server device 14 according to the determined contents. Then, in step S2330, the distribution unit 53 distributes the divided portion to the client device 12 as the first sub-neural network SBN1.
  • the client device 12 acquires the first sub-neural network SBN1 in step S1230. Then, in step 1330, the first process is executed on the input image II by using the acquired first sub-neural network SBN1.
  • the division method is the same as that of the second embodiment shown in FIGS. 13 and 14. Therefore, the processing from step S2430 to step S2630 in the server device 14 and the processing from step S1530 to step S1730 in the client device 12 are the same as those in the second embodiment shown in FIG. 14, and the description thereof will be omitted.
  • the division unit 54 that is distributed to the client device 12 and can change the division portion to be divided as the first sub-neural network SBN1 is provided. If the divided portion is changed in this way, the content of the data passing through the shared line 16 changes each time the divided portion is changed. Therefore, it becomes more difficult to grasp the business content of the user 11 from the intercepted data, and the information security risk can be further reduced.
  • the condition for changing the divided portion is every time a processing request for data analysis processing is received, that is, every time the data analysis processing is performed once, but the condition for changing the divided portion is this. Other than that.
  • the condition may be, for example, every time the data analysis process is performed a plurality of times. Further, the condition for changing the divided portion may be a preset time interval, or the change instruction from the user 11 may be a condition.
  • the server device 14 is provided with the out-licensing unit 56.
  • the derivation unit 56 derives at least one of the number and size of cells shown as a class in the output image OI based on the output image OI.
  • the size may be an area, or may be an index indicating an approximate size such as large, medium, or small.
  • FIG. 18 shows the processing procedure of the fourth embodiment. Note that, in FIG. 18, steps S2440 and S2540 of the server device 14 and steps S1440 of the client device 12 are excluded, and the same as the first embodiment shown in FIG. 12, so the description of the common parts will be omitted.
  • the server-side data processing unit 52 executes the second process in step S2440 and outputs the output image OI.
  • the out-licensing unit 56 derives the number and size of cells based on the output image OI.
  • the derivation unit 56 identifies the region of each cell based on the data labeled as differentiated cells and undifferentiated cells by discriminating on a pixel-by-pixel basis in the output image OI. Derivation of numbers and sizes.
  • the derived information is distributed to the client device 12.
  • the client device 12 receives the number and size of delivered cells in step S1440.
  • cells Compared to humans and automobiles, cells have a finer structure, so it is relatively difficult to recognize the outline and type of cells in a cell image. Therefore, in addition to semantic segmentation, it is effective to add a service for deriving the number and size of cells to the data analysis processing service in consideration of the convenience of the user 11.
  • the model M including the neural network is learned for two or more cell types in the learning phase.
  • the model M of the fifth embodiment for example, in the learning device 17, two or more cells are used by using the learning data of different types of cell images such as the learning data LD1 of the nerve cell and the learning data LD2 of the cardiomyocyte. You are learning about the types of.
  • model M is learned about two or more cell types, there are the following merits. That is, in this case, the degree of abstraction of the image feature map CMP output as the first processed data PD1 is higher than that of the model M trained by only one type of cell. This is because the model M is learned to discriminate between classes such as differentiated cells and undifferentiated cells regardless of the cell type, so that the distinction between nerve cells and cardiomyocytes is not emphasized in the learning process. Therefore, in the image feature map CMP, the degree of abstraction is high for the features for discriminating the cell type such as nerve cells or cardiomyocytes.
  • the first process executed by the client device 12 using the first sub-neural network SBN1 has been described as an example of the first process in the data analysis process, but the first process is the data analysis process. It does not have to be the first process. For example, another process may be performed before the first process. Further, as shown in the second embodiment, the second process does not have to be the final process in the data analysis process. That is, the first process and the second process are each a part of the data analysis process, and the first process may be a process performed prior to the second process.
  • the input image II a cell image obtained by photographing a plurality of cells in culture is exemplified, and as a class, differentiated cells, a medium, etc. are exemplified, but the present invention is not limited thereto.
  • an MRI (Magnetic Resonance Imaging) image may be used as the input image II, and an organ such as the liver or kidney may be used as the class.
  • the model M is not limited to U-Net, and may be another convolutional neural network such as SegNet.
  • the data analysis process is not limited to the one for performing semantic segmentation, and may be an image analysis process that only detects an object reflected in the input image II. Further, for example, an image analysis process may be performed in which an input image II obtained by capturing a subject with a camera or the like is analyzed and the subject is converted into an image drawn in an illustration style.
  • the data analysis process may be other than the image analysis process.
  • the technique of the present disclosure is applied to data analysis processing such as solving a variable selection problem and an optimization problem by analyzing the input data using a neural network using various experimental data and statistical data as input data. It is also possible.
  • the client device 12 may be a terminal device directly operated by the user, such as a tablet or a laptop computer, or may be connected to a plurality of terminal devices used by the user 11 by an in-house LAN, and may be connected to the request of each terminal device according to the request of each terminal device. It may be a server device under the control of the client side that executes processing on the terminal device. When the server device on the client side is the client device 12, the server device on the client side and the server device 14 in the provider 13 share the processing of the neural network.
  • the hardware configuration of the computer that constitutes the data analysis processing system 10 can be modified in various ways.
  • the server device 14 and the learning device 17 may be integrated and configured by one computer.
  • the data acquisition unit 51, the server-side data processing unit 52, the distribution unit 53, the division unit 54, and the derivation unit 56 of the server device 14 are distributed and carried by two computers.
  • the server device 14 is composed of two computers.
  • the hardware configurations of the data analysis processing system 10 and the server device 14 can be appropriately changed according to the required performance such as processing capacity, safety, and reliability. Furthermore, not only hardware but also application programs such as the operation program 40 can be duplicated or distributed and stored in a plurality of storage devices for the purpose of ensuring safety and reliability. is there.
  • the hardware structure of the processing unit (Processing Unit) that executes various processes such as the server-side data processing unit 52, the distribution unit 53, the division unit 54, and the derivation unit 56 is as follows.
  • Various processors (Processors) shown in the above can be used.
  • the CPU 32 which is a general-purpose processor that executes software (operation program 40) and functions as various processing units, after manufacturing an FPGA (Field Programgable Gate Array) or the like.
  • Dedicated processor with a circuit configuration specially designed to execute specific processing such as programmable logic device (PLD), ASIC (Application Specific Integrated Circuit), which is a processor whose circuit configuration can be changed. Includes electrical circuits and the like.
  • One processor may be composed of one of these various processors, or a combination of two or more processors of the same type or different types (for example, a combination of a plurality of FPGAs and / or a CPU and a CPU). It may be configured in combination with FPGA). Further, a plurality of processing units may be configured by one processor.
  • one processor is configured by a combination of one or more CPUs and software, as in the case where a server device 14 is configured by a plurality of computers.
  • this processor functions as a plurality of processing units.
  • SoC system on chip
  • a processor that realizes the functions of the entire system including a plurality of processing units with one IC (Integrated Circuit) chip is used. is there.
  • the various processing units are configured by using one or more of the various processors as a hardware structure.
  • an electric circuit in which circuit elements such as semiconductor elements are combined can be used.
  • these various processors execute various processes in cooperation with the memory built in or connected to the processor.
  • a server device that executes a part of data analysis processing in a data analysis processing system that executes data analysis processing using a neural network.
  • the first process that is a part of the data analysis process using the first sub-neural network that is a part of the neural network, it can be used by a plurality of users from the client device that outputs the first process data.
  • a first processor that acquires first processing data via a shared line, which is a common communication line.
  • the second processing which is a part of the data analysis processing, based on the first processing data, using the second sub-neural network which is a part of the neural network and is different from the first sub-neural network.
  • a server device including a second processor that outputs second processing data.
  • Appendix 2 In a data analysis processing system that executes data analysis processing using a neural network, it is an operation program of a server device that executes a part of the data analysis processing. By executing the first process that is a part of the data analysis process using the first sub-neural network that is a part of the neural network, it can be used by a plurality of users from the client device that outputs the first process data.
  • a program for operating a server device that causes a computer processor to execute a data output process for outputting the second process data.
  • Appendix 3 In a data analysis processing system that executes data analysis processing using a neural network, it is a method of operating a server device that executes a part of data analysis processing.
  • a method of operating the server device including outputting the second processing data.
  • the client device is The client side that outputs the first processing data that is the processing result of the first processing by executing the first processing that is a part of the data analysis processing using the first sub-neural network that is a part of the neural network. Equipped with a processor
  • the server device is Data acquisition processing to acquire the first processing data from the client device via the shared line, which is a shared communication line that can be used by multiple users.
  • a data analysis processing system including a server-side processor that executes a data output process for outputting the second process data which is a process result of the second process.
  • the technique of the present disclosure can be appropriately combined with the various embodiments described above and various modifications.
  • various configurations can be adopted as long as they do not deviate from the gist.
  • the technique of the present disclosure extends to a computer-readable storage medium that stores the program non-temporarily.
  • a and / or B is synonymous with "at least one of A and B". That is, “A and / or B” means that it may be only A, only B, or a combination of A and B. Further, in the present specification, when three or more matters are connected and expressed by "and / or", the same concept as “A and / or B" is applied.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

データ解析処理の一部を実行するサーバ装置であって、ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、第1処理データを取得するデータ取得部と、ニューラルネットワークの一部であり、第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、第1処理データに基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理データを出力するデータ処理部と、を備えている。

Description

サーバ装置、サーバ装置の作動プログラム及び作動方法、並びにデータ解析処理システム
 本開示の技術は、サーバ装置、サーバ装置の作動プログラム及び作動方法、並びにデータ解析処理システムに関する。
 ニューラルネットワークを有する機械学習モデルを利用してデータ解析処理を実行するデータ解析処理システムが知られている(特開2002-342739号公報及び特開2010-287062号公報参照)。このようなデータ解析処理システムが実行するデータ解析処理には、例えば、特開2002-342739号公報に記載されているような、画像認識処理などの画像解析処理が含まれる。
 特開2002-342739号公報に記載のデータ解析処理システムは、クライアント装置とサーバ装置とで構成されている。サーバ装置は、学習データを用いて機械学習モデルを学習させる学習フェーズを担当し、クライアント装置は、サーバ装置において学習された学習済みの機械学習モデルを用いてデータ解析処理を実行する運用フェーズを担当する。また、特開2002-342739号公報に記載のデータ解析処理システムにおいては、クライアント装置においてデータ解析処理の実行を通じて取得され、サーバ装置が機械学習モデルを追加学習させる学習フェーズにおいて必要なパラメータを、クライアント装置からサーバ装置に送信している。サーバ装置は、機械学習モデルの追加学習を通じて取得され、運用フェーズにおいて必要となるパラメータを、クライアント装置に送信している。
 また、特開2010-287062号公報のデータ解析処理システムも、クライアント装置とサーバ装置とで構成される。特開2010-287062号公報のデータ解析処理システムにおいては、サーバ装置が複数のサーバコンピュータで構成されており、クライアント装置は、各サーバコンピュータを管理する管理装置として機能する。具体的には、特開2010-287062号公報に記載のデータ解析処理システムは、ニューラルネットワークを用いた処理は、複数のサーバコンピュータが分担する。クライアント装置は、ニューラルネットワークを用いた処理を実行することはなく、各サーバコンピュータが出力する処理の実行結果を各サーバコンピュータ間で中継する中継機能と、各サーバコンピュータの処理を同期させる同期機能とを担っている。
 こうしたニューラルネットワークを用いたデータ解析処理を、通信回線を使用するオンラインのアプリケーションサービス(クラウドサービスなどとも呼ばれる)として提供することが、発明者によって検討されている。ニューラルネットワークを用いたデータ解析処理は、解析精度が上がるほど、データ処理量が多くなるのが一般的である。このようなデータ解析処理の処理時間を短縮するためには処理能力の高いハードウェアが必要になり、そうすると、処理装置のハードウェアコストが増加する。また、ニューラルネットワークは、解析精度が上がるほど、開発コストが大きくなることに加えて、追加学習などのメインテナンスに要するメインテナンスコストも増加する傾向がある。そのため、データ解析処理をオンラインのアプリケーションサービスとしてユーザに提供することができれば、ユーザは、ハードウェアコスト及び開発コストなどの初期投資に加えて、メインテナンスコストも不要となり、利用料のみで、精度の高いデータ解析処理サービスを比較的安価に利用することが可能となる。
 しかしながら、不特定多数のユーザにオンラインサービスを安価に提供するためには、次のような問題があった。すなわち、利用料を安く抑えるには、通信回線としては、コストが高い専用回線を使用せずに、共用回線を利用することが好ましい。ここで、共用回線とは、インターネットなどの公衆回線のように、複数のユーザが利用可能な共用の通信回線をいう。
 しかし、共用回線を使用する場合は、ユーザの解析対象のデータの内容が傍受されるおそれがある。ユーザの解析対象のデータそのものが傍受されると、解析対象のデータの内容に基づいてユーザの事業内容(研究内容及び商品の開発内容など)が把握されてしまうという情報セキュリティリスクが、専用回線を使用する場合に比べて、大きいという問題がある。
本開示の技術は、共用回線を使用してデータ解析処理をオンラインサービスとして提供する場合でも、従来と比べて、情報セキュリティリスクを低減することが可能なサーバ装置、サーバ装置の作動プログラム及び作動方法、並びにデータ解析処理システムを提供することを目的とする。
 上記目的を達成するために、本開示の技術に係るサーバ装置は、ニューラルネットワークを用いて、データ解析処理を実行するデータ解析処理システムにおいて、データ解析処理の一部を実行するサーバ装置であって、ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、第1処理データを取得するデータ取得部と、ニューラルネットワークの一部であり、第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、第1処理データに基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理データを出力するデータ処理部と、を備えている。
 第1サブニューラルネットワークを、共用回線を介して、クライアント装置に配信する配信部を備えていることが好ましい。
 ニューラルネットワークのうち、第1サブニューラルネットワークとして分割する分割部分を変更可能な分割部を備えていることが好ましい。
 分割部分の変更は、予め設定された条件に基づいて行われることが好ましい。
 データ取得部は、クライアント装置において暗号化された第1処理データを復号化する機能を備えていることが好ましい。
 第1サブニューラルネットワークを用いて実行される第1処理は、複数のサブ処理が含まれており、かつ、複数のサブ処理のそれぞれによって、第1処理データの一部であるサブデータが出力され、データ取得部は、第1処理データを、サブデータ毎に分割して取得することが好ましい。
 第1サブニューラルネットワークは、入力される入力データを解析する複数の階層を有し、複数のサブ処理は、複数の階層のそれぞれにおいて実行され、サブデータは、サブ処理毎に出力されることが好ましい。
 第1サブニューラルネットワークは、入力される入力データを解析することにより、入力データの特徴を第1処理データとして抽出するエンコーダネットワークを含むことが好ましい。
 データ解析処理は、入力される入力画像を解析する画像解析処理であることが好ましい。
 第1サブニューラルネットワークは、入力画像を解析することにより、入力画像の特徴を表す画像特徴マップを第1処理データとして抽出するエンコーダネットワークを含むことが好ましい。
 エンコーダネットワークを用いて実行される第1処理は、フィルタを用いた畳み込み演算を行って、入力画像に含まれる、周波数帯域が異なる特徴を表す画像特徴マップを抽出する畳み込み処理と、畳み込み処理で抽出された画像特徴マップの局所的な統計量を計算して画像特徴マップを圧縮することにより、画像サイズが縮小された画像特徴マップを出力するプーリング処理とのうち、少なくとも畳み込み処理を含み、第1処理データは、入力画像よりも、フィルタの適用枚数に応じたチャンネル数が多く、かつ、第1処理にプーリング処理が含まれる場合は、第1処理データは、入力画像よりも、画像サイズが小さいことが好ましい。
 エンコーダネットワークは、入力画像を解析する複数の階層を有し、第1処理において、階層毎に画像特徴マップを抽出することが好ましい。
 ニューラルネットワークは、エンコーダネットワークと、階層毎に抽出された画像特徴マップに基づいて、入力画像内のクラス毎の領域がセグメンテーションされた出力画像を生成するデコーダネットワークとを有し、画像解析処理として、入力画像に含まれる複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを行う畳み込みニューラルネットワークであることが好ましい。
 エンコーダネットワーク及びデコーダネットワークは、それぞれ、複数の階層として、最上層の第1階層から最下層の第N階層までのN個の階層を有しており、第1サブニューラルネットワークは、エンコーダネットワークのうち、入力画像が入力される最上層の第1階層に対応する部分を少なくとも含み、第2サブニューラルネットワークは、デコーダネットワークのうち、最下層の第N階層に対応する部分を少なくとも含むことが好ましい。
 セマンティックセグメンテーションの処理結果である出力画像に基づいて、クラスの数、及びサイズの少なくとも1つを導出する導出部を備えていることが好ましい。
 入力画像は、細胞を撮影した細胞画像であることが好ましい。
 ニューラルネットワークは、学習フェーズにおいて、2以上の細胞種類について学習されていることが好ましい。
 本開示の技術に係るサーバ装置の作動プログラムは、ニューラルネットワークを利用して、データ解析処理を実行するデータ解析処理システムにおいて、データ解析処理の一部を実行するサーバ装置の作動プログラムであって、ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、第1処理データを取得するデータ取得部と、ニューラルネットワークの一部であり、第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、第1処理データに基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理データを出力するデータ処理部として、コンピュータを機能させる。
 本開示の技術に係るサーバ装置の作動方法は、ニューラルネットワークを利用して、データ解析処理を実行するデータ解析処理システムにおいて、データ解析処理の一部を実行するサーバ装置の作動方法であって、ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、第1処理データを取得するデータ取得ステップと、ニューラルネットワークの一部であり、第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、第1処理データに基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理データを出力するデータ処理ステップとを含む。
 本開示の技術に係るデータ解析処理システムは、クライアント装置とサーバ装置とを含み、ニューラルネットワークを利用して、データ解析処理を実行するデータ解析処理システムであって、クライアント装置は、ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、データ解析処理の一部である第1処理を実行することにより、第1処理の処理結果である第1処理データを出力するクライアント側データ処理部を備えており、サーバ装置は、クライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、第1処理データを取得するデータ取得部と、ニューラルネットワークの一部であり、第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、第1処理データに基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理の処理結果である第2処理データを出力するサーバ側データ処理部とを備えている。
 本開示の技術によれば、共用回線を使用してデータ解析処理をオンラインサービスとして提供する場合でも、情報セキュリティリスクを低減することができる。
データ解析処理システムを示す図である。 培養中の複数の細胞を撮影した細胞画像を示す図であり、図2Aは入力画像、図2Bは出力画像をそれぞれ示す。 データ解析処理システムの処理の概要を示す図である。 モデルを示す図である。 学習装置の概要を示す図である。 畳み込み処理の説明図である。 画像特徴マップを示す図である。 フィルタを使用した畳み込み処理を、畳み込みニューラルネットワークの概念に当てはめた説明図である。 モデルの階層毎の処理を示す図である。 コンピュータを示すブロック図である。 クライアント装置及びサーバ装置のCPUの処理部を示すブロック図である。 データ解析処理システムの処理手順を示すフローチャートである。 第2実施形態のモデルの分割方法を示す図である。 第2実施形態のデータ解析処理システムの処理手順を示すフローチャートである。 モデルの分割方法の変形例を示す図である。 第3実施形態のデータ解析処理システムの処理手順を示すフローチャートを示す図である。 第4実施形態のデータ解析処理システムの構成を示す図である。 第4実施形態のデータ解析処理システムの処理手順を示すフローチャートを示す図である。 第5実施形態の説明図である。
 [第1実施形態]
 図1において、データ解析処理システム10は、データ解析処理サービスをアプリケーションサービスとして、複数のユーザ11に対して、共用回線16を介してオンラインで提供するシステムである。データ解析処理システム10は、複数のユーザ11のそれぞれのクライアント装置12と、アプリケーションサービスプロバイダ(以下、単にプロバイダという)13が運用するサーバ装置14とを備える。複数のクライアント装置12と、サーバ装置14とは共用回線16を介して通信可能に接続されている。
 共用回線16は、上述のとおり、不特定又は特定の複数のユーザ11が利用可能な共用の通信回線である。共用回線16には、例えば、インターネット、公衆交換電話網(PSTN: Public Switched Telephone Networks)、移動体通信網、有線又は無線の公衆LAN(Local Area Network)などの不特定多数のユーザ11が利用可能な公衆回線の他、特定の複数のユーザが利用可能なVPN(Virtual Private Network)なども含まれる。VPNは、インターネットなどの公衆回線網をベースネットワークとして利用し、このベースネットワークと暗号化技術とを用いて特定のユーザ間における仮想的な専用線を構築する通信回線である。VPNは、ベースネットワークが公衆回線であるため、物理的には複数のユーザ11が利用可能な共用回線16である。
 プロバイダ13が提供するデータ解析処理サービスは、ニューラルネットワークを有する機械学習モデル(以下、単にモデルという)Mを用いたデータ解析処理サービスである。プロバイダ13は、モデルMを学習させる学習装置17を備えている。サーバ装置14は、学習装置17によって学習済みのモデルMを使用して、データ解析処理を実行することにより、データ解析処理サービスをユーザ11に提供する。
 本例のデータ解析処理サービスは、具体的には、解析対象となる画像について、セマンティックセグメンテーションを実行する画像解析処理サービスである。セマンティックセグメンテーションとは、入力画像に含まれる複数のクラスの判別を画素単位で行って、判別したクラス毎に領域を区分けした出力画像を出力する、という画像解析手法である。クラスとは、入力画像に映る物体の種類である。例えば、コップ、本、携帯電話の3つの物体が映った入力画像を、モデルMに与えた場合、コップ、本、携帯電話が各々クラスとして判別され、かつコップ、本、携帯電話の輪郭を忠実に辿った輪郭線で画定される領域がクラス毎に識別可能に提示された出力画像が得られる。
 図2Aに示すように、本例では、入力画像IIは、培養途中の細胞を位相差顕微鏡で撮影した細胞画像である。入力画像IIには、分化細胞、未分化細胞、死細胞、及び細胞を培養する培地のそれぞれのクラスが映っている。こうした入力画像IIに対して、モデルMを利用してセマンティックセグメンテーションが実施されると、入力画像II内のクラス1の分化細胞DC、クラス2の未分化細胞UDC、クラス3の死細胞DDC、クラス4の培地PLの各々の領域が判別される。そして、図2Bに示すように、判別された各クラス1からクラス4の領域が、例えば異なる色で表示されるなどの識別可能な形態で表示される出力画像OIが生成される。ユーザは、こうした出力画像OIに基づいて、例えば、各細胞の数及びサイズなどを把握して、細胞培養の経過及び結果の評価などを行う。
 ユーザ11は、プロバイダ13を利用したい場合は、例えば、予めプロバイダ13との間でデータ解析処理サービスの利用契約を結び、ユーザアカウントなどを取得する。そして、ユーザ11は、実際にデータ解析処理サービスを利用する場合は、クライアント装置12から共用回線16を介して、解析対象のデータと処理要求とを、サーバ装置14に送信する。サーバ装置14は、処理要求を受け付けると、解析対象のデータに対してデータ解析処理を実行する。そして、サーバ装置14は、出力画像OIなどの処理結果を、共用回線16を介してクライアント装置12に送信する。
 また、図3に示すように、サーバ装置14は、モデルMを利用して実行されるデータ解析処理サービスの一部を、クライアント装置12に分担させる。具体的には、サーバ装置14は、学習装置17から供給されるモデルMを第1サブニューラルネットワークSBN1及び第2サブニューラルネットワークSBN2の2つの部分に分割する。そして、サーバ装置14は、分割した第1サブニューラルネットワークSBN1をクライアント装置12に配信する。クライアント装置12は、解析対象の入力画像IIに対して、第1サブニューラルネットワークSBN1を用いて、データ解析処理の一部である第1処理を実行することにより、第1処理データPD1を出力する。クライアント装置12は、共用回線16を介して、第1処理データPD1とともに処理要求をサーバ装置14に送信する。
 サーバ装置14は、受信した第1処理データPD1に対して、第2サブニューラルネットワークSBN2を用いて、データ解析処理の一部である第2処理を実行する。サーバ装置14は、第2処理を実行することにより、第2処理の処理結果である第2処理データPD2を出力する。第2処理は、データ解析処理の一部であり、第1処理データPD1に基づいて実行される処理である。そのため、第2処理は、データ解析処理において、第1処理の後に実行される。第2処理データPD2は、本例では、出力画像OIそのものである。サーバ装置14は、処理要求の要求元のクライアント装置12に対して、出力画像OIである第2処理データPD2を、処理結果として配信する。クライアント装置12は、出力画像OIである第2処理データPD2を取得する。
 図4において、学習装置17は、学習用入力画像IIL及びアノテーション画像AIの組で構成される学習データLDを用いて、モデルMを学習させる。学習用入力画像IILは、クラスの判別精度を高める学習のためにモデルMに入力される画像である。モデルMは、学習用入力画像IILにセマンティックセグメンテーションを実施して、学習用出力画像OILを出力する。
 アノテーション画像AIは、学習用入力画像IILに対して、クラス毎に領域が指定されて区別された画像である。各クラスの領域の指定は、学習データLDの作成者がペンタブレット等を用いて輪郭線を描くことで行われる。また、領域の区別は、作成者が輪郭線内をクラス毎に色分けすることで行われる。アノテーション画像AIは、学習用出力画像OILとのいわば答え合わせを行うための画像であり、学習用出力画像OILと比較される。モデルMのクラスの判別精度が高いほど、アノテーション画像AIと学習用出力画像OILとの差異は小さくなる。
 学習用入力画像IILは、図2Aに示す入力画像IIと同様の画像であり、学習用出力画像OILは、図2Bに示す出力画像OIと同様の画像である。
 学習装置17は、アノテーション画像AIと学習用出力画像OILとを比較し、モデルMのクラスの判別精度を評価する。そして、このクラスの判別精度の評価結果に応じて、モデルMを更新する。学習装置17は、学習用入力画像IILのモデルMへの入力と学習用出力画像OILのモデルMからの出力、モデルMのクラスの判別精度の評価、及びモデルMの更新を、学習データLDを変更しつつ行い、モデルMのクラスの判別精度が予め設定されたレベルとなるまで繰り返す。学習装置17は、クラスの判別精度が予め設定されたレベルとされたモデルMを、サーバ装置11に供給する。
 なお、例えば、モデルMはサーバ装置11にいったん供給された後も、学習装置17において学習が継続される。サーバ装置11内のモデルMは、追加学習がされたモデルMによって更新される。これにより、サーバ装置11のモデルMの判別精度は継続的に向上する。上述したとおり、モデルMは、サーバ装置11において、第1サブニューラルネットワークSBN1と、第2サブニューラルネットワークSBN2とに分割される。
 図5に示すように、本例のモデルMは、入力画像を解析する複数の階層を有し、階層毎に、入力画像に含まれる空間周波数の周波数帯域が異なる特徴を抽出する、U-Net等の畳み込みニューラルネットワークで構成された階層型のモデルである。本例のモデルMは、第1階層、第2階層、第3階層、第4階層、第5階層の5つの階層を有する。なお、以下では、入力画像IIをモデルMに与え、モデルMから出力画像OIを出力させる場合を例に説明する。
 モデルMは、エンコーダネットワークENCとデコーダネットワークDECとを有する。エンコーダネットワークENCは、階層毎に、フィルタF(図6参照)を用いた畳み込み演算を行って、画像特徴マップCMPを抽出する畳み込み処理を行う。デコーダネットワークDECは、エンコーダネットワークENCから出力された最小の画像特徴マップCMPの画像サイズを段階的に拡大する。そして、段階的に拡大された画像特徴マップCMPと、エンコーダネットワークENCの各階層で出力された画像特徴マップCMPとを結合して、学習用入力画像IILと同じ画像サイズの学習用出力画像OILを生成する。なお、画像特徴マップCMPは、本開示の技術に係る「入力画像に含まれる空間周波数の周波数帯域が異なる特徴」の一例である。
 エンコーダネットワークENCには、階層毎に、二次元に配列された複数の画素値をもつ入力データDI(図6参照)が入力される。エンコーダネットワークENCは、各階層において、入力データDIに対して畳み込み処理を行って画像特徴マップCMPを抽出する。エンコーダネットワークENCの第1階層には、入力データDIとして入力画像IIが入力される。第1階層は、入力画像IIに畳み込み処理を行って、例えば、入力画像IIと同じ画像サイズの画像特徴マップCMPを出力する。第2階層以下では、入力データDIとして、上位の各階層で出力された画像特徴マップCMPが入力される。第2階層以下では、画像特徴マップCMPに対して畳み込み処理が行われて、例えば、入力された画像特徴マップCMPと同じ画像サイズの画像特徴マップCMPが出力される。畳み込み処理は、図5において「conv(convolution)」として示す。
 図6において、畳み込み処理は、入力データDIに3×3のフィルタFを適用して、入力データDI内の注目画素Ipの画素値eと、注目画素Ipに隣接する8個の画素の画素値a、b、c、d、f、g、h、iを畳み込むことにより、入力データDIと同様に、二次元状に画素値が配列された出力データDIcを得る。フィルタFの係数をr、s、t、u、v、w、x、y、zとした場合、注目画素Ipに対する畳み込み演算の結果である、出力データDIcの画素Icpの画素値Icp(x,y)は、例えば下記の(式1)を計算することで得られる。
 Icp(x、y)=az+by+cx+dw+ev+fu+gt+hs+ir・・・(式1)
 畳み込み処理では、入力データDIの各画素に対して上記のような畳み込み演算を行い、画素値Icp(x、y)を出力する。こうして、二次元状に配列された画素値Icp(x、y)をもつ出力データDIcが出力される。出力データDIcは、1個のフィルタFに対して1つ出力される。種類が異なる複数のフィルタFが使用された場合は、フィルタF毎に出力データDIcが出力される。
 図7に示すように、出力データDIcは、二次元状に画素値Icp(x,y)が配列されたデータであり、幅と高さをもつ。また、種類が異なる複数のフィルタFを適用して、複数の出力データDIcが出力された場合は、画像特徴マップCMPは、複数の出力データDIcの集合になる。画像特徴マップCMPにおいて、フィルタFの数はチャンネル数と呼ばれる。図7に示す画像特徴マップCMPは、4個のフィルタFを適用して出力された4つの出力データDIcを有する、4チャンネルの画像特徴マップCMPの例である。
 図8は、こうしたフィルタFを使用した畳み込み処理を、畳み込みニューラルネットワークCNNの概念に当てはめた説明図である。図8に示すように、畳み込みニューラルネットワークCNNが、複数のユニットUを持つ入力層及び中間層を有しているとする。この場合、入力層の各ユニットUと中間層の各ユニットU同士の結合の強さを示す重みw1、w2、w3は、フィルタFの係数に相当する。入力層の各ユニットUには、入力データDIの各画素値Ip(x1,y1)、Ip(x1,y2)、Ip(x1,y3)・・・が入力されて、各画素値Ip(x1,y1)、Ip(x1,y2)、Ip(x1,y3)・・・と重みw1、w2、w3の積和が、中間層の各ユニットUの出力値となる。この出力値が出力データDIcの画素値Icp(x,y)に相当する。モデルMを学習させると、重みw1、w2、w3・・・に相当するフィルタFの係数が更新される。
 図5において、各画像特徴マップCMPの上に示す64、128、256、512、1024の各数字は、各画像特徴マップCMPが有するチャンネル数を示す。そして、第1階層から第5階層にそれぞれ付す括弧付きの1/1、1/2、1/4、1/8、1/16は、最上位の第1階層に入力される入力画像IIの画像サイズを基準とした、各階層で取り扱う画像サイズを示す。
 本例のエンコーダネットワークENCの第1階層においては、入力画像IIに対して2回の畳み込み処理が行われる。まず、入力画像IIに対して、64個のフィルタFを適用する畳み込み処理が行われて、64チャンネルの画像特徴マップCMPが出力される。そして、この画像特徴マップCMPに対して、さらに64個のフィルタFを適用する畳み込み処理が行われて、第1階層においては、最終的に64チャンネルの画像特徴マップCMPが出力される。
 エンコーダネットワークENCにおいて、第1階層が出力する画像特徴マップCMPの幅と高さである画像サイズは、入力画像IIの画像サイズと同じである。このため、第1階層が取り扱う画像サイズは、入力画像IIと同じ、すなわち等倍を表す1/1である。
 エンコーダネットワークENCの第1階層において、2回の畳み込み処理で抽出された画像特徴マップCMPに対して、図5において「pool(pooling)」として示すプーリング処理が行われる。プーリング処理は、画像特徴マップCMPの局所的な統計量を計算して画像特徴マップCMPを圧縮する処理である。局所的な統計量としては、例えば、2×2の画素のブロック内における画素値の最大値または平均値が用いられる。最大値を計算するプーリング処理は最大値プーリング、平均値を計算するプーリング処理は平均値プーリングと呼ばれる。つまり、プーリング処理は、画像特徴マップCMPの各画素の画素値から局所的な代表値を選択して、画像特徴マップCMPの解像度を下げ、画像特徴マップCMPの画像サイズを縮小する処理といえる。例えば、2×2の画素のブロックから代表値を選択するプーリング処理を1画素ずつずらして行うと、画像特徴マップCMPは、元の画像サイズの半分に縮小される。モデルMでは、第1階層において、例えば画像特徴マップCMPの画像サイズを1/2にするプーリング処理が行われる。このため、エンコーダネットワークENCの第2階層においては、入力画像IIを基準として、1/2の画像サイズに縮小された画像特徴マップCMPが、入力データDIとして入力される。
 第2階層においては、128個のフィルタFを適用する畳み込み処理が2回行われて、128チャンネルの画像特徴マップCMPが出力される。そして、128チャンネルの画像特徴マップCMPに対して、画像サイズを半分にするプーリング処理が行われる。これにより、第2階層から第3階層には、入力画像IIの画像サイズを基準として、1/4の画像サイズに縮小された128チャンネルの画像特徴マップCMPが、入力データDIとして入力される。
 第3階層においては、256個のフィルタFを適用する2回の畳み込み処理が行われて、256チャンネルの画像特徴マップCMPが出力され、256チャンネルの画像特徴マップCMPに対して、画像サイズをさらに半分にするプーリング処理が行われる。これにより、第3階層から第4階層には、入力画像IIを基準として、1/8の画像サイズに縮小された256チャンネルの画像特徴マップCMPが、入力データDIとして入力される。
 同様に、第4階層においては、512個のフィルタFを適用する2回の畳み込み処理が行われて、512チャンネルの画像特徴マップCMPが出力され、512チャンネルの画像特徴マップCMPに対して、画像サイズをさらに半分にするプーリング処理が行われる。これにより、第4階層から第5階層には、入力画像IIを基準として、1/16の画像サイズに縮小された512チャンネルの画像特徴マップCMPが、入力データDIとして入力される。
 最下位の階層の第5階層においては、1024個のフィルタを適用する2回の畳み込み処理が行われる。ただし、第5階層においては、畳み込み処理で抽出された画像特徴マップCMPに対してはプーリング処理が行われない。
 エンコーダネットワークENCにおいては、各階層に入力される入力データDI(入力画像IIまたは画像特徴マップCMP)は、最上位の第1階層から最下位の第5階層に向かって、画像サイズが段階的に縮小されて解像度が下げられる。本例においては、第1階層に入力される入力画像IIの画像サイズを基準に、第1階層は1/1(つまり、等倍)、第2階層は1/2、第3階層は1/4、第4階層は1/8、第5階層は1/16のそれぞれの画像サイズの入力データDIが入力される。
 エンコーダネットワークENCの各階層は、階層毎に、解像度が異なる入力データDIに対してフィルタFを適用して畳み込み処理を行う。第1階層では、各階層の入力データDIのうちで最も解像度が高い入力画像IIに対して畳み込み処理が行われる。このため、第1階層で抽出される画像特徴マップCMPは、入力画像IIにおいて最も空間周波数が高い周波数帯域をもつ、最も微細な構造の特徴を表す。第2階層及び第3階層では、入力画像IIよりも解像度が下げられた入力データDIに対して畳み込み処理が行われる。このため、第2階層及び第3階層で抽出される画像特徴マップCMPは、第1階層と比べて、空間周波数が低い周波数帯域をもつ、中域構造の特徴を表す。第4階層及び第5階層では、さらに入力データDIの解像度が下がるため、第4階層及び第5階層で抽出される画像特徴マップCMPは、さらに空間周波数が低い周波数帯域をもつ、大域構造の特徴を表す。
 エンコーダネットワークENCにおいては、最上位の第1階層から最下位の第5階層の階層毎に、入力画像IIに含まれる周波数帯域が異なる画像の特徴を出力する。第1階層の1/1から第5階層の1/16までの各画像サイズは、各階層が解析可能な周波数帯域を示す。すなわち、1/1は最も空間周波数が高い周波数帯域を示し、反対に1/16は最も空間周波数が低い周波数帯域を示す。なお、エンコーダネットワークENCにおいて、階層が下るにつれて、フィルタFの数を64、128、256、・・・と増加させる理由は、画像サイズが小さくなる分、フィルタFの数を増やして、入力画像IIに含まれる様々な特徴を抽出するためである。
 エンコーダネットワークENCの第1階層から第4階層は、それぞれが抽出した画像特徴マップCMPを、デコーダネットワークDECに対して送信する。この画像特徴マップCMPをエンコーダネットワークENCからデコーダネットワークDECに送信する処理は、スキップレイヤ処理と呼ばれ、図5において「skip」で示す。デコーダネットワークDECの各階層において、ハッチングで示す画像特徴マップCMPが、エンコーダネットワークENCから送信された画像特徴マップCMPである。
 デコーダネットワークDECは、アップサンプリング処理とマージ処理とを繰り返す。アップサンプリング処理は、図5において「upsmp(upsampling)」として示す。アップサンプリング処理は、エンコーダネットワークENCから出力された最小の画像サイズの画像特徴マップCMPの画像サイズを段階的に拡大する処理である。マージ処理は、アップサンプリング処理で段階的に拡大された画像特徴マップCMPと、エンコーダネットワークENCにおいて階層毎に出力され、かつ、画像サイズが同じ画像特徴マップCMPとを結合する処理である。デコーダネットワークDECは、これらアップサンプリング処理とマージ処理とにより、入力画像II内のクラス毎の領域がセグメンテーションされた出力画像OIを生成する。
 デコーダネットワークDECは、エンコーダネットワークENCの各階層と対応する第1階層から第5階層を有する。デコーダネットワークDECの各階層で行われるアップサンプリング処理では、エンコーダネットワークENCの対応する各階層の画像サイズと同じサイズになるように画像特徴マップCMPが拡大される。
 また、本例のアップサンプリング処理は、画像サイズを拡大することに加えて、フィルタFを適用する畳み込み処理を伴う。こうした畳み込み処理を伴うアップサンプリング処理は、アップコンボリューション処理と呼ばれる。デコーダネットワークDECの各階層においては、アップコンボリューション処理が終了した後に、マージ処理とさらなる畳み込み処理とが行なわれる。
 デコーダネットワークDECの第5階層は、まず、エンコーダネットワークENCの最下位の第5階層から、1/16という最小の画像サイズの画像特徴マップCMPを受け取る。この画像特徴マップCMPのチャンネル数は1024である。デコーダネットワークDECの第5階層は、1/16の画像サイズの画像特徴マップCMPを、2倍の1/8の画像サイズに拡大し、かつ、512個のフィルタFを適用する畳み込み処理を行って、チャンネル数を半分の512個に減らす。デコーダネットワークDECの第5層から第4層には、1/8の画像サイズで、512チャンネルの画像特徴マップCMPが出力される。
 デコーダネットワークDECの第4階層においては、エンコーダネットワークENCの第5階層から受け取った画像特徴マップCMPと、エンコーダネットワークENCの第4階層からスキップレイヤ処理で送信された画像特徴マップCMPとを結合するマージ処理が行われる。第4階層において結合される画像特徴マップCMPは、それぞれ1/8の画像サイズで、かつ、512チャンネルである。そのため、第4階層においては、マージ処理によって、1/8の画像サイズで、かつ、1024チャンネル(512+512)の画像特徴マップCMPが生成される。
 さらに、第4階層においては、1024チャンネルの画像特徴マップCMPに対して512個のフィルタFを適用する畳み込み処理が2回行われて、1/8の画像サイズで、かつ、512チャンネルの画像特徴マップCMPが生成される。第4階層においては、この1/8の画像サイズの画像特徴マップCMPに対して、画像サイズを2倍の1/4に拡大し、かつ、チャンネル数を半分の256チャンネルにするアップコンボリューション処理が行われる。この結果、第4階層から第3階層に対して、1/4の画像サイズで、かつ、256チャンネルの画像特徴マップCMPが出力される。
 デコーダネットワークDECの第3階層においては、第4階層から受け取った画像特徴マップCMPと、エンコーダネットワークENCの第3階層からスキップレイヤ処理で送信された画像特徴マップCMPとを結合するマージ処理が行われる。第3階層において結合される画像特徴マップCMPは、それぞれ1/4の画像サイズで、かつ、256チャンネルである。そのため、第3階層においては、マージ処理によって、1/4の画像サイズで、かつ、512チャンネル(256+256)の画像特徴マップCMPが生成される。
 さらに、第3階層においては、512チャンネルの画像特徴マップCMPに対して256個のフィルタFを適用する畳み込み処理が2回行われて、1/4の画像サイズで、かつ、256チャンネルの画像特徴マップCMPが生成される。第3階層においては、この1/4の画像サイズの画像特徴マップCMPに対して、画像サイズを2倍の1/2に拡大し、かつ、チャンネル数を半分の128チャンネルにするアップコンボリューション処理が行われる。この結果、第3階層から第2階層に対して、1/2の画像サイズで、かつ、128チャンネルの画像特徴マップCMPが出力される。
 デコーダネットワークDECの第2階層においては、第3階層から受け取った画像特徴マップCMPと、エンコーダネットワークENCの第2階層からスキップレイヤ処理で送信された画像特徴マップCMPとを結合するマージ処理が行われる。第2階層において結合される画像特徴マップCMPは、それぞれ1/2の画像サイズで、かつ、128チャンネルである。そのため、第2階層においては、マージ処理によって、1/2の画像サイズで、かつ、256チャンネル(128+128)の画像特徴マップCMPが生成される。
 さらに、第2階層においては、256チャンネルの画像特徴マップCMPに対して128個のフィルタFを適用する畳み込み処理が2回行われて、1/2の画像サイズで、かつ、128チャンネルの画像特徴マップCMPが生成される。第2階層においては、この1/2の画像サイズの画像特徴マップCMPに対して、画像サイズを2倍の1/1に拡大し、かつ、チャンネル数を半分の64チャンネルにするアップコンボリューション処理が行われる。この結果、最終的に、第2階層から第1階層に対して、1/1の画像サイズで、かつ、64チャンネルの画像特徴マップCMPが出力される。
 デコーダネットワークDECの第1階層においては、第2階層から受け取った画像特徴マップCMPと、エンコーダネットワークENCの第1階層からスキップレイヤ処理で送信された画像特徴マップCMPとを結合するマージ処理が行われる。第1階層において結合される画像特徴マップCMPは、それぞれ1/1の画像サイズで、かつ、64チャンネルである。そのため、第1階層においては、マージ処理によって、1/1の画像サイズで、かつ、128チャンネル(64+64)の画像特徴マップCMPが生成される。
 さらに、第1階層においては、128チャンネルの画像特徴マップCMPに対して64個のフィルタFを適用する畳み込み処理が行われた後、1個のフィルタFを適用する畳み込み処理が行われる。これにより、入力画像IIと同じ1/1の画像サイズの出力画像OIが生成される。
 デコーダネットワークDECにおいては、エンコーダネットワークENCから出力された最小の画像サイズの画像特徴マップCMPの画像サイズを段階的に拡大する。そして、画像特徴マップCMPを拡大しながら、エンコーダネットワークENCにおいて階層毎に抽出された画像特徴マップCMPを結合して出力画像OIを生成する。最小の画像サイズの画像特徴マップCMPは、入力画像IIの最も空間周波数が低い大域構造の特徴を表すものである。デコーダネットワークDECでは、この最小の画像サイズの画像特徴マップCMPを拡大することで、大域構造の特徴を拡大しつつ、エンコーダネットワークENCからの画像特徴マップCMPを結合することで、中域構造から微細構造までの特徴を取り込む。
 モデルMは、このようなエンコーダネットワークENCとデコーダネットワークDECとを用いることで、入力画像IIに含まれるクラスを領域毎に区分けした出力画像OIを生成する。
 図9に示すように、モデルMは、本例では、エンコーダネットワークENCが、第1サブニューラルネットワークSBN1として、デコーダネットワークDECが、第2サブニューラルネットワークSBN2として分割される。図9は、図5に示したモデルMにおける第1階層から第5階層の階層毎の処理の内容を、より明瞭に示すための説明図である。
 エンコーダネットワークENCは、クライアント装置12に配信されて、クライアント装置12において、第1サブニューラルネットワークSBN1として用いられる。クライアント装置12は、エンコーダネットワークENCを用いて、入力画像IIに対して第1処理を実行することにより、第1処理データPD1を出力する。第1処理は、上述したとおり、入力画像IIを解析することにより、入力画像IIの特徴を画像特徴マップCMPとして抽出する処理であり、第1処理データPD1は、画像特徴マップCMPである。
 エンコーダネットワークENCを用いて実行される第1処理は、複数のサブ処理ESP1からESP5が含まれている。複数のサブ処理ESP1からESP5は、エンコーダネットワークENCが有する第1階層から第5階層のそれぞれにおいて実行される。各処理ESP1からESP5のそれぞれには、図5で説明したとおり、畳み込み処理(conv)及びスキップレイヤ処理(skip)が含まれている。また、第5階層のサブ処理ESP5を除いて、各処理ESP1からESP4のそれぞれには、プーリング処理(pool)も含まれている。
 また、複数のサブ処理ESP1からESP5のそれぞれにおいて、第1処理データPD1の一部であるサブデータが出力される。本例においては、サブデータは、各サブ処理ESP1からESP5においてそれぞれ出力される画像特徴マップCMPであり、第1処理データPD1は、各サブ処理ESP1からESP5で出力される画像特徴マップCMPをすべて含む。
 各サブ処理ESP1からESP5において出力されるサブデータとしての画像特徴マップCMPは、クライアント装置12からサーバ装置14に向けて、サブデータ毎に分割して送信される。つまり、サブ処理ESP1からESP5において出力される複数の画像特徴マップCMPは、まとめて送信されるのではなく、それぞれの画像特徴マップCMP毎に別々に送信される。
 例えば、図9の例では、第1階層のサブ処理ESP1における、64チャンネルの画像特徴マップCMPを送信するスキップレイヤ処理と、次の第2階層のサブ処理ESP2における、128チャンネルの画像特徴マップCMPを送信するスキップレイヤ処理とは、異なるタイミングで実行される。具体的には、各サブ処理ESP1、ESP2のそれぞれのスキップレイヤ処理は、この順番で順次実行される。これにより、第1階層のサブ処理ESP1における、64チャンネルの画像特徴マップCMPと、次の第2階層のサブ処理ESP2における、128チャンネルの画像特徴マップCMPとは、別々に送信される。第3階層以降についても同様である。その結果、各サブ処理ESP1からESP5においてそれぞれ出力される画像特徴マップCMPは、共用回線16を異なるタイミングで通過する。
 また、エンコーダネットワークENCを用いて第1処理が実行される本例において、第1処理データPD1としての画像特徴マップCMPは、入力画像IIよりも、チャンネル数が多い。さらに、第1処理にプーリング処理が含まれる場合は、画像特徴マップCMPは、入力画像IIよりも、画像サイズが小さい。
 例えば、第1階層のサブ処理ESP1では、畳み込み処理において64枚のフィルタが適用されることにより、64チャンネルの画像特徴マップCMPが出力される。入力画像IIは、フィルタが適用されず、チャンネル数が実質的に1枚であるため、64チャンネルの画像特徴マップCMPは、入力画像IIよりも、チャンネル数が多い。
 また、第1階層において出力される画像特徴マップCMPは、第1階層から第2階層に送られる際にはプーリング処理が行われるため、入力画像IIよりも画像サイズが小さくなる。第2階層以降においても画像特徴マップCMPは、プーリング処理が実行されることにより、画像サイズが段階的に縮小されるため、各階層の画像特徴マップCMPは、入力画像IIよりも画像サイズが小さい。ただし、第1階層においてスキップレイヤ処理の対象としてサーバ装置14に送信される画像特徴マップCMPは、プーリング処理が行われないため、入力画像IIと画像サイズが同じである。
 デコーダネットワークDECは、サーバ装置14において、第2サブニューラルネットワークSBN2として用いられる。サーバ装置14は、デコーダネットワークDECを用いて、第1処理データPD1に対して、第2処理を実行することにより、第2処理データPD2(本例では出力画像OI)を出力する。
 デコーダネットワークDECを用いて実行される第2処理は、複数のサブ処理DSP1からDSP5が含まれている。複数のサブ処理DSP1からDSP5は、デコーダネットワークDECの第1階層から第5階層のそれぞれにおいて実行される。各処理DSP1からDSP5のそれぞれには、図5で説明したとおり、アップサンプリング処理(upsmp)が含まれている。また、第5階層のサブ処理DSP5を除いて、第1階層から第4階層のサブ処理DSP1からDSP4のそれぞれには、マージ処理(merge)及び畳み込み処理(conv)が含まれている。
 また、第2階層から第5階層のサブ処理DSP2からDSP5のそれぞれにおいて、画像特徴マップCMPが上層に向けて出力される。上述したとおり、デコーダネットワークDECにおいて下層から出力される画像特徴マップCMPは、マージ処理によって、クライアント装置12のエンコーダネットワークENCからスキップレイヤ処理で送信される画像特徴マップCMPとマージされる。最上位の第1階層のサブ処理DSP1においては、画像特徴マップCMPに基づいてサブ処理DSP1が実行されることにより、出力画像OIが生成される。本例では、この出力画像OIが第2処理データPD2である。このように、サーバ装置14においては、デコーダネットワークDECを用いて、第2処理が実行される。そして、最終的に出力画像OIが第2処理データPD2として出力される。
 図10に示すように、クライアント装置12及びサーバ装置14を構成するコンピュータは、基本的な構成は同様であり、ストレージデバイス30、メモリ31、CPU(Central Processing Unit)32、通信部33、ディスプレイ34、及び入力デバイス35を備えている。これらはバスライン36を介して相互接続されている。
 ストレージデバイス30は、コンピュータに内蔵、またはケーブル、ネットワークを通じて接続されたハードディスクドライブである。もしくはストレージデバイス30は、ハードディスクドライブを複数台連装したディスクアレイである。ストレージデバイス30には、オペレーティングシステム等の制御プログラム、各種アプリケーションプログラム、及びこれらのプログラムに付随する各種データ等が記憶されている。なお、ハードディスクドライブに代えてソリッドステートドライブを用いてもよい。
 メモリ31は、CPU32が処理を実行するためのワークメモリである。CPU32は、ストレージデバイス30に記憶された作動プログラム40をメモリ31へロードして、作動プログラムにしたがった処理を実行することにより、コンピュータの各部を統括的に制御する。
 通信部33は、共用回線16を介した通信に際しての伝送制御を行うネットワークインターフェースである。ディスプレイ34は各種画面を表示する。コンピュータは、各種画面を通じて、入力デバイス35からの操作指示の入力を受け付ける。入力デバイス35は、キーボード、マウス、タッチパネル等である。
 図11に示すように、サーバ装置14のストレージデバイス30には、作動プログラム40が記憶されている。作動プログラム40は、コンピュータをサーバ装置14として機能させるためのアプリケーションプログラムである。すなわち、サーバ装置14の作動プログラム40は、本開示の技術に係る「サーバ装置の作動プログラム」の一例である。
 サーバ装置14のCPU32は、作動プログラム40を実行することにより、データ取得部51、サーバ側データ処理部52、配信部53、及び分割部54として機能する。サーバ装置14のCPU32は、サーバ側プロセッサの一例である。データ取得部51は、クライアント装置12から、共用回線16を介して、第1処理データPD1を取得する。さらに、データ取得部51は、クライアント装置12からの処理要求を受信する。データ取得部51が取得した第1処理データPD1及び処理要求は、サーバ側データ処理部52に受け渡される。
 また、データ取得部51は、クライアント装置12において暗号化された第1処理データPD1を復号化する機能を備えている。
 サーバ側データ処理部52は、第2サブニューラルネットワークSBN2を用いて、第1処理データを処理対象のデータとする第2処理を実行することにより、第2処理の処理結果である第2処理データPD2を出力する。データ取得部51は、本開示の技術に係る「データ取得部」の一例であり、サーバ側データ処理部52は、本開示の技術に係る「データ処理部」の一例である。
 分割部54は、学習装置17から供給されるモデルMを、第1サブニューラルネットワークSBN1と第2サブニューラルネットワークSBN2とに分割する。分割部54は、分割した第1サブニューラルネットワークSBN1と第2サブニューラルネットワークSBN2とをストレージデバイス30に格納する。サーバ側データ処理部52は、第2処理を実行する際に、第2サブニューラルネットワークSBN2をストレージデバイス30から読み出す。
 配信部53は、第2処理データPD2及び第1サブニューラルネットワークSBN1を、共用回線16を介して、クライアント装置12に配信する。配信部53は、本開示の技術に係る「配信部」の一例である。また、配信部53は、クライアント装置12に配信する第2処理データPD2などのデータを暗号化する機能を備えている。
 クライアント装置12のCPU32は、図示しない作動プログラムを実行することにより、クライアント側データ処理部61及び送受信処理部62として機能する。クライアント装置12のCPU32は、クライアント側プロセッサの一例である。クライアント側データ処理部61は、第1サブニューラルネットワークSBN1を用いて第1処理を実行することにより、第1処理データPD1を出力する。送受信処理部62は、共用回線16を介して、第1処理データPD1及び処理要求をサーバ装置14に送信する。また、送受信処理部62は、第2処理データPD2及び第1サブニューラルネットワークSBN1を受信する。送受信処理部62は、共用回線16を介して、サーバ装置14に送信する第1処理データPD1を暗号化する機能を備えている。また、送受信処理部62は、サーバ装置14において暗号化された第2処理データPD2などのデータを復号化する機能を備えている。
 クライアント装置12のストレージデバイス30には、入力画像II、第1サブニューラルネットワークSBN1、第2処理データPD2及び作動プログラム(図示せず)などのデータが格納される。クライアント側データ処理部61は、第1処理を実行する際に、第1サブニューラルネットワークSBN1を読み出す。
 以下、上記構成による作用について、図12に示すフローチャートを参照しながら説明する。本例においては、事前に、サーバ装置14において、分割部54によって、第1サブニューラルネットワークSBN1がモデルMから分割されており、かつ、第1サブニューラルネットワークSBN1がクライアント装置12に配信されている例で説明する。ユーザ11は、プロバイダ13のデータ解析処理サービスを利用する場合は、まず、クライアント装置12において、入力画像IIに対する第1処理を実行させる。クライアント側データ処理部61は、ステップS1110に示すように、第1サブニューラルネットワークSBN1を用いて、解析対象の入力画像IIに対して第1処理を実行する。そして、ステップS1210において、送受信処理部62は、サーバ装置14に対して処理要求を送信する。
 加えて、ステップS1310において、送受信処理部62は、第1処理の処理結果である第1処理データPD1を、サブデータ毎に、具体的には、各階層において出力される画像特徴マップCMP毎に分割して送信する。第1処理データPD1の送信に際しては、第1処理データPD1が暗号化される。
 一方、サーバ装置14は、ステップS2110において、処理要求を待機する。そして、データ取得部51は、処理要求を受信すると(ステップS2110でYES)、ステップS2210において、第1処理データPD1を取得する。取得した第1処理データPD1は、暗号化されているため、復号化される。ステップS2310において、サーバ側データ処理部52は、第2サブニューラルネットワークSBN2を用いて、第1処理データPD1に対して第2処理を実行する。これにより、サーバ装置14において、第2処理データPD2として、出力画像OIが生成される。ステップS2410において、配信部53は、第2処理データPD2として出力画像OIをクライアント装置12に配信する。
 S1410において、クライアント装置12は、第2処理データPD2として出力画像OIを受信する。これにより、入力画像IIに対するデータ解析処理の処理結果として出力画像OIが取得される。ユーザは、出力画像OIに基づいて、各細胞の数及びサイズなどを把握して、細胞培養の評価などを行う。
 以上説明したように、本開示の技術では、クライアント装置12において、第1サブニューラルネットワークSBN1を用いて、入力画像IIに対して、データ解析処理の一部である第1処理が実行される。サーバ装置14において、データ取得部51は、第1処理の処理結果である第1処理データPD1を、共用回線16を介してクライアント装置12から取得する。そして、サーバ側データ処理部52は、第2サブニューラルネットワークSBN2を用いて、第1処理データPD1に基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理データPD2として出力画像OIを出力する。
 すなわち、本開示の技術においては、共用回線16を通過するのは、ユーザが入力する解析対象の入力画像IIそのものではなく、入力画像IIに対してデータ解析処理の一部である第1処理が施されたデータである。ニューラルネットワークを用いたデータ解析処理においては、ニューラルネットワークの一部を用いた処理を行うと、解析対象の入力データは抽象化される。そのため、共用回線16を通過するデータが傍受された場合でも、入力画像IIそのものが傍受される場合と比べて、データの内容からユーザの事業内容(研究内容及び商品の開発内容など)が把握されてしまう可能性は低い。例えば、仮に、傍受されたデータが細胞画像だと把握された場合でも、どのような種類の細胞かといった詳細な内容を把握される可能性は低い。したがって、本開示の技術によれば、共用回線16を使用してデータ解析処理をオンラインサービスとして提供する場合でも、解析対象の入力データそのものを共用回線16を通過させる従来と比べて、情報セキュリティリスクを低減することができる。
また、第1サブニューラルネットワークSBN1を用いて実行される第1処理は、サブ処理ESP1からESP5などの複数のサブ処理が含まれており、かつ、複数のサブ処理がそれぞれ出力する画像特徴マップCMPなど、第1処理データPD1の一部であるサブデータが出力される。そして、データ取得部51は、こうした第1処理データPD1を、サブデータ毎に分割して取得する。つまり、第1処理データPD1は、分割された状態で共用回線16を通過するため、第1処理データPD1の一部が傍受された場合でも、第1処理データPD1の全部を一括して共用回線16を通過させる場合と比べて、ユーザの事業内容が把握しづらい。その結果、情報セキュリティリスクがより低減される。
 また、第1サブニューラルネットワークSBN1が複数の階層を有している場合には、解析対象のデータが複数の階層によって処理される毎に第1処理データPD1の抽象度が高まる場合が多い。図9に示したように、本例のエンコーダネットワークENCにおいては、入力画像IIを解析する複数の階層を有し、第1処理において、階層毎に画像特徴マップCMPが第1処理データPD1として出力される。画像特徴マップCMPは、各階層によって処理される毎に抽象度が高まる。そのため、第1処理データPD1が傍受された場合でも、抽象度が高い第1処理データPD1からは、ユーザの事業内容がより把握しづらい。その結果、情報セキュリティリスクがより低減される。
 さらに、第1サブニューラルネットワークSBN1は、入力画像IIなどの入力データを解析することにより、入力データの特徴を第1処理データPD1として抽出するエンコーダネットワークENCである。上記例においては、第1処理データPD1は、入力画像IIの特徴として抽出される画像特徴マップCMPである。このように、エンコーダネットワークENCを用いて第1処理が施されることにより、入力画像IIなどの解析対象の入力データよりも抽象度の高い第1処理データPD1が出力される。そのため、第1処理データPD1が傍受された場合でも、第1処理データPD1からは、ユーザの事業内容がより把握しづらい。その結果、情報セキュリティリスクがより低減される。
 また、上記例のように、第1サブニューラルネットワークSBN1が、畳み込み処理及びプーリング処理を伴うエンコーダネットワークENCの場合には、第1処理データPD1は、入力画像IIと比べて、チャンネル数が多く、画像サイズが小さくなる場合が多く、第1処理データPD1の抽象度が高まる。そのため、第1処理データPD1が傍受された場合でも、抽象度が高い第1処理データPD1からは、ユーザの事業内容がより把握しづらい。その結果、情報セキュリティリスクがより低減される。
 また、上記例のように、データ解析処理が画像解析処理であり、解析対象が入力画像IIの場合は、解析対象が、例えば、テキストデータである場合と比べて、事業内容を特定するための情報量が豊富に含まれている場合が多い。そのため、本開示の技術を用いて、情報セキュリティリスクを低減する必要性が大きい。
 また、上記例のように、モデルMが、画像解析処理がセマンティックセグメンテーションを実施するためのニューラルネットワークである場合は、開発及びメインテナンスの負荷も大きい場合が多い。そのため、セマンティックセグメンテーションを行うサービスについては、ユーザのコスト負担が少ない、オンラインサービスの必要性が高い。共用回線16を使用することにより、こうしたオンラインサービスを安価に提供するために、本開示の技術は有効である。
 また、上記例において、第1階層から第N階層(上記例ではNは5)の複数の階層を有するエンコーダネットワークENCのうち、第1サブニューラルネットワークSBN1は、入力画像IIが入力される最上層の第1階層に対応する部分を含んでいる。そのため、共用回線16を入力画像IIそのものが通過することが無い。このように第1サブニューラルネットワークSBN1にエンコーダネットワークENCの第1階層に対応する部分を含ませる分割方法は、情報セキュリティリスクを低減する観点では最も好ましい。
 また、第2サブニューラルネットワークSBN2は、デコーダネットワークDECのうち、最下層の第N階層(上記例ではNは5)に対応する部分を含んでいる。デコーダネットワークDECにおいて、最下層が取り扱う画像特徴マップCMPのチャンネル数は、最大であるため、一般的に、データ解析処理の処理負荷が最も大きい。そのため、このように第2サブニューラルネットワークSBN2にデコーダネットワークDECの最下層に対応する部分を含ませる分割方法は、クライアント装置12の処理負荷を低減する観点では最も好ましい。
 そのため、第1サブニューラルネットワークSBN1に、エンコーダネットワークENCの最上層に対応する部分を含ませ、かつ、第2サブニューラルネットワークSBN2に、デコーダネットワークDECの最下層に対応する部分を含ませる分割方法は、メリットが多く好ましい。
 また、上記例において、入力画像IIとして細胞画像を例に説明したが、細胞画像のセマンティックセグメンテーションを行う場合、判別されるクラスは、分化細胞及び未分化細胞などである。画像に写っている被写体が、人及び自動車などの形態が比較的明瞭なクラスと比較すると、細胞画像の被写体となるクラスは、人の視覚による判別が比較的困難である。こうした細胞画像のセマンティックセグメンテーションを実施するデータ解析処理サービスを、オンラインサービスで提供する必要性は大きい。そのため、こうしたデータ解析処理サービスの情報セキュリティリスクを低減することができる本開示の技術は有効である。
 また、上記例において、サーバ装置14は、第1サブニューラルネットワークSBN1をクライアント装置12に配信する配信部53を備えている。そのため、モデルMが更新された場合など、更新された第1サブニューラルネットワークSBN1をクライアント装置12に提供しやすい。
 また、データ取得部51は、クライアント装置12において暗号化された第1処理データPD1を復号化する機能を備えているため、暗号化されない場合と比べて、データの傍受がしにくく、情報セキュリティリスクがより低減される。
 [第2実施形態]
 第1実施形態においては、モデルMをエンコーダネットワークENCとデコーダネットワークDECの2つのサブニューラルネットワークに分割した。そして、第1実施形態においては、エンコーダネットワークENCに対応する処理をクライアント装置12で実行し、デコーダネットワークDECに対応する処理をサーバ装置14で実行する例で説明した。しかし、モデルMの分割方法は、第1実施形態の例に限らず、例えば、図13に示す第2実施形態のように分割してもよい。
 図13に示す第2実施形態においては、モデルMを、第1サブニューラルネットワークSBN1、第2サブニューラルネットワークSBN2、及び第3サブニューラルネットワークSBN3の3つに分割する。そして、第2実施形態においては、各サブニューラルネットワークは、エンコーダネットワークENCとデコーダネットワークDECとを横断的に分割される。このように横断的に分割されることにより、エンコーダネットワークENCとデコーダネットワークDECのそれぞれの第1階層に対応する部分に対応する処理は、クライアント装置12によって実行される。そして、第2階層以下の部分に対応する処理は、サーバ装置14が実行される。なお、第2実施形態におけるモデルMの全体の内容は、図5及び図9に示す第1実施形態と同じであり、第1実施形態とは分割方法のみが異なる。
 クライアント装置12は、第1サブニューラルネットワークSBN1を用いた第1処理と、第3サブニューラルネットワークSBN3を用いた第3処理を実行する。サーバ装置14は、第2サブニューラルネットワークSBN2を用いた第2処理を実行する。データ解析処理において、第1処理、第2処理、第3処理の順に実行される。
 図13に示すように、第2実施形態において、第1サブニューラルネットワークSBN1は、エンコーダネットワークENCの第1階層に対応する部分のみを含んでいる。第1処理はサブ処理ESP1のみであり、第1処理データPD1は、サブ処理ESP1において出力される画像特徴マップCMPである。
 第2サブニューラルネットワークSBN2は、エンコーダネットワークENCの第2階層から第5階層と、デコーダネットワークDECの第5階層から第2階層に対応する部分を含んでいる。第2処理は、第1処理データPD1に基づいて、エンコーダネットワークENCを用いたサブ処理ESP2からESP5と、デコーダネットワークDECを用いたサブ処理DSP5からDSP2である。第2処理データPD2は、サブ処理DSP2において出力される画像特徴マップCMPである。第2実施形態においては、第1実施形態と異なり、第2処理データPD2は、出力画像OIではなく、出力画像OIを生成するための中間データである。
 第3サブニューラルネットワークSBN3は、デコーダネットワークDECの第1階層に対応する部分のみを含んでいる。第3処理はサブ処理DSP1のみであり、第3処理データPD3は、出力画像OIである。
 図14に示すフローチャートを用いて、第2実施形態の作用を説明する。プロバイダ13のデータ解析処理サービスを利用する場合は、まず、ステップS1120において、クライアント装置12は、第1サブニューラルネットワークSBN1を用いて入力画像IIに対して第1処理を実行する。第1処理は、エンコーダネットワークENCのサブ処理ESP1であり、第1処理データPD1は、サブ処理ESP1において出力される画像特徴マップCMPである。第1処理の後、ステップS1220において処理要求が送信される。そして、ステップS1320において、サブ処理ESP1において出力された画像特徴マップCMPが第1処理データPD1として、共用回線16を介してサーバ装置14に送信される。
 サーバ装置14は、ステップS2120において、処理要求を受信すると、ステップS2220において、データ取得部51が第1処理データPD1を取得する。ステップS2320において、サーバ側データ処理部52は、取得した第1処理データPD1に基づいて、第2サブニューラルネットワークSBN2を用いて第2処理を実行する。これにより、第2処理データPD2を出力する。ステップS2420において、配信部53は、中間データである第2処理データPD2をクライアント装置12に配信する。
 クライアント装置12は、ステップS1420において、第2処理データPD2を受信する。ステップS1520において、クライアント装置12は、第3サブニューラルネットワークSBN3を用いて、第2処理データPD2に基づいて第3処理を実行する。第3処理は、デコーダネットワークDECの第1階層のサブ処理DSP1であり、第3処理が実行されることにより、S1620において、第3処理データPD3として、出力画像OIが生成される。
 第2実施形態のようにモデルMを分割しても、第1実施形態と同様に、入力画像IIがそのまま共用回線16を通過することはない。そのため、第1実施形態と同様に、情報セキュリティリスクを低減できる。
 また、第2実施形態では、エンコーダネットワークENC及びデコーダネットワークDECの同一階層に対応する両方の処理が、クライアント装置12及びサーバ装置14のいずれかにおいて実行されるように、エンコーダネットワークENCとデコーダネットワークDECとが横断的に分割されている。そのため、各階層のスキップレイヤ処理は、クライアント装置12又はサーバ装置14内で行われることになる。その結果、スキップレイヤ処理に伴う画像特徴マップCMPは、共用回線16を通過することはない。これにより、共用回線16を通過する画像特徴マップCMPの量が少なくなる分、情報セキュリティリスクが低減される。
 また、第2実施形態においても、第1実施形態と同様に、クライアント装置12が用いる第1サブニューラルネットワークSBN1に、エンコーダネットワークENCの第1階層に対応する部分が含まれており、サーバ装置14が用いる第2サブニューラルネットワークSBN2に、デコーダネットワークDECの最下層に対応する部分が含まれている。第1実施形態で述べたとおり、こうした分割方法は、情報セキュリティリスクを低減する観点及びクライアント装置12の処理負荷を低減する観点ではメリットが大きいため、好ましい。この他、第2実施形態においても、第1実施形態と同様の構成を有する部分は、第1実施形態と同様の効果が得られる。
 また、第2実施形態においては、階層型のモデルMにおいて、比較的処理負荷が小さいと考えられる第1階層に対応する部分のみを、クライアント装置12が用いる第1サブニューラルネットワークSBN1としている。クライアント装置12は、サーバ装置14と比べて処理能力が低い場合が多いため、処理時間の短縮の観点からは、第2実施形態の分割方法は有効である。
 なお、図13などに示すように、複数の階層を有する階層型のモデルMを有する場合は、最下層に近づくほど、サブ処理ESPにおいて出力されるサブデータ(本例では画像特徴マップCMP)の抽象度が上がる。共用回線16を通過させるデータの抽象度が高いほど、情報セキュリティリスクは低減される。そのため、情報セキュリティリスクを低減する観点からは、できるだけ最下層まで第1サブニューラルネットワークSBN1に含まれるように分割することにより、クライアント装置12からサーバ装置14に向けて送信されるデータの抽象度を上げることが好ましい。
 しかし、階層型のモデルMにおいては、最下層に向かうほど、処理負荷は大きくなる傾向があるため、クライアント装置12の処理負荷を低減する観点からは、第1サブニューラルネットワークSBN1に下層の階層を含ませるのは好ましくない。
 入力画像IIに映っているクラスが認識できない程度に、画像特徴マップCMPが抽象化されていれば、画像特徴マップCMPが傍受された場合でも、画像特徴マップCMPの内容から、ユーザの事業内容を把握することは不可能になる。入力画像IIの内容にもよるが、細胞画像の場合は、入力画像IIの画像サイズの半分程度の画像特徴マップCMPまで縮小されれば、細胞画像であることは把握されても、細胞の種類まで特定することは困難になる。そのため、画像特徴マップCMPの画像サイズが入力画像IIの半分程度になる階層まで、第1サブニューラルネットワークSBN1に含まれるように分割することが好ましい。
 さらに、より好ましくは、入力画像IIに含まれる1個の細胞など、1個のクラスの大きさが、画像特徴マップCMPにおいて3ピクセル以下になる程度まで縮小されれば、細胞の種類などクラスの種類を特定することは不可能になるため、情報セキュリティリスクをほぼゼロにすることができる。そのため、情報セキュリティリスクをゼロに近づけたい場合は、画像特徴マップCMPに含まれる判別対象のクラスの大きさが3ピクセル以下になる階層まで、第1サブニューラルネットワークSBN1に含まれるように分割することが好ましい。これにより、情報セキュリティリスクを低減しつつ、クライアント装置12の処理負荷を低減することができる。
 (第2実施形態の変形例)
 モデルMの分割方法としては、図9に示す第1実施形態及び図13に示す第2実施形態に限らず、各種の方法が考えられる。例えば、図15に示すように、第1サブニューラルネットワークSBN1として、エンコーダネットワークENCの第1階層に対応する部分だけを含ませて、残りの全部を第2サブニューラルネットワークSBN2としてもよい。
 [第3実施形態]
 図16に示す第3実施形態のように、ニューラルネットワークを含むモデルMのうち、第1サブニューラルネットワークSBN1として分割する分割部分を変更可能としてもよい。第1サブニューラルネットワークSBN1の分割部分の決定及び分割は、分割部54が行う。分割部分の変更は、予め設定された条件に従って行われる。図16の例では、データ解析処理の処理要求を受け付ける毎に変更される。
 図16において、ステップS1130において、クライアント装置12が処理要求を送信すると、サーバ装置14は、ステップS2130において処理要求を受信する。サーバ装置14は、ステップS2230において、分割部54が、第1サブニューラルネットワークSBN1の分割部分の決定し、決定した内容で分割する。そして、ステップS2330において、配信部53は、分割部分を第1サブニューラルネットワークSBN1として、クライアント装置12に配信する。
 クライアント装置12は、ステップS1230において、第1サブニューラルネットワークSBN1を取得する。そして、ステップ1330において、取得した第1サブニューラルネットワークSBN1を用いて、入力画像IIに対して第1処理を実行する。
 図16の例では、分割方法は、図13及び図14に示す第2実施形態を例と同様である。そのため、サーバ装置14における、ステップS2430からステップS2630までの処理と、クライアント装置12における、ステップS1530からステップS1730までの処理は、図14に示す第2実施形態と同様であるので説明を省略する。
 このように、第3実施形態においては、クライアント装置12に配信される、第1サブニューラルネットワークSBN1として分割する分割部分を変更することが可能な分割部54を備えている。このように、分割部分を変更すれば、分割部分が変更される毎に、共用回線16を通過するデータの内容が変化することになる。そのため、傍受されたデータからユーザ11の事業内容などを把握することがより困難になり、情報セキュリティリスクをより低減することができる。
 なお、図16の例では、分割部分を変更する条件として、データ解析処理の処理要求を受け付ける毎、すなわち、データ解析処理が1回行われる毎としているが、分割部分を変更する条件は、これ以外でもよい。条件としては、例えば、データ解析処理が複数回行われる毎でもよい。また、分割部分を変更する条件を、予め設定された時間間隔としてもよいし、ユーザ11からの変更指示を条件としてもよい。
 また、分割部分の変更は、予め設定された条件に基づいて行われるので、プロバイダ13の事情及びユーザ11の要望などに応じて、条件を変更することも可能となる。
 [第4実施形態]
 上記各実施形態では、データ解析処理サービスとして、入力画像IIに対するセマンティックセグメンテーションのみをサービスの対象とし、セマンティックセグメンテーションの処理結果である出力画像OIを最終データとする例で説明した。しかし、図17に示す第4実施形態のように、データ解析処理サービスとしては、セマンティックセグメンテーションに加えて、セマンティックセグメンテーションの処理結果である出力画像OIに基づいて、細胞の数及びサイズなどを導出する処理を加えてもよい。
 図17に示す第4実施形態では、サーバ装置14に導出部56が設けられている。導出部56は、出力画像OIに基づいて、出力画像OIにクラスとして映っている細胞の数及びサイズのうちの少なくとも1つを導出する。サイズは、面積でもよいし、大、中、小といったおおよそのサイズを示す指標でもよい。
 図18に第4実施形態の処理手順を示す。なお、図18において、サーバ装置14のステップS2440及びS2540、クライアント装置12のステップS1440を除いて、図12に示す第1実施形態と同様であるので、共通部分については説明を省略する。
 図18に示すように、サーバ装置14において、サーバ側データ処理部52は、ステップS2440において第2処理を実行して出力画像OIを出力する。導出部56は、ステップS2540において、出力画像OIに基づいて、細胞の数及びサイズを導出する。導出部56は、出力画像OIにおいて画素単位で判別されることにより、分化細胞及び未分化細胞などのラベルが付されているデータに基づいて、各細胞の領域を特定することにより、各細胞の数及びサイズなどを導出する。導出された情報はクライアント装置12に配信される。クライアント装置12は、ステップS1440において、配信された細胞の数及びサイズを受信する。
 人及び自動車などと比較して、細胞は微細な構造をしているため、細胞画像内の細胞の輪郭及び種類等を認識することは比較的難しい。そのため、セマンティックセグメンテーションに加えて、細胞の数及びサイズを導出するサービスを、データ解析処理サービスに加えることはユーザ11の利便性を考えると有効である。
 [第5実施形態]
 また、図19に示す第5実施形態のように、ニューラルネットワークを含むモデルMは、学習フェーズにおいて、2以上の細胞の種類について学習されていることが好ましい。第5実施形態のモデルMは、例えば、学習装置17において、神経細胞の学習データLD1及び心筋細胞の学習データLD2というように、異なる種類の細胞画像の学習データを使用して、2以上の細胞の種類について学習されている。
 このように、モデルMが2以上の細胞の種類について学習されていると、次のようなメリットがある。すなわち、こうすると、1種類の細胞のみで学習されているモデルMと比較して、第1処理データPD1として出力される画像特徴マップCMPの抽象度が高くなる。モデルMは、細胞の種類に関わらず、分化細胞及び未分化細胞といったクラスを判別するように学習されるため、学習過程において、神経細胞か心筋細胞かといった区別は重視されなくなるためである。そのため、画像特徴マップCMPにおいては、神経細胞か心筋細胞かといった細胞の種類を判別するための特徴については抽象度が高くなる。そのため、こうした抽象度の高い画像特徴マップCMPが共用回線16を介して傍受された場合でも、その画像特徴マップCMPからは、どのような細胞の種類かの判別が難しいため、ユーザ11の事業内容の把握が困難になる。その結果、情報セキュリティリスクが低減される。
 上記各実施形態において、第1サブニューラルネットワークSBN1を用いてクライアント装置12が実行する第1処理は、データ解析処理において最先の処理の例で説明したが、第1処理は、データ解析処理の最先の処理でなくてもよい。例えば、第1処理の前に別の処理が行われていてもよい。また、第2実施形態で示したように、第2処理は、データ解析処理において、最終の処理でなくてもよい。つまり、第1処理と第2処理はそれぞれ、データ解析処理の一部であり、第1処理が、第2処理に先立って行われる処理であればよい。
 上記各実施形態では、入力画像IIとして、培養中の複数の細胞を撮影した細胞画像を例示し、クラスとして分化細胞、培地等を例示したが、これに限定されない。例えばMRI(Magnetic Resonance Imaging)画像を入力画像IIとし、肝臓又は腎臓といった臓器をクラスとしてもよい。また、モデルMはU-Netに限らず、他の畳み込みニューラルネットワーク、例えばSegNetなどでもよい。
 また、データ解析処理としては、セマンティックセグメンテーションを実施するためのものに限らず、入力画像II内に映る物体の検出のみを行う画像解析処理でもよい。また、例えば、カメラなどで被写体を撮影した入力画像IIを解析して、被写体をイラスト風に描いた画像に変換するといった画像解析処理でもよい。
 また、データ解析処理としては、画像解析処理以外でもよい。例えば、各種の実験データ及び統計データを入力データとして、ニューラルネットワークを用いて入力データを解析することにより、変数選択問題及び最適化問題などを解くといったデータ解析処理に、本開示の技術を適用することも可能である。
 また、クライアント装置12は、タブレット、ノート型パソコンなど、ユーザが直接操作する端末装置でもよいし、ユーザ11が使用する複数の端末装置と社内LANによって接続され、各端末装置の要求に応じて、端末装置に対して処理を実行するクライアント側の管理下にあるサーバ装置でもよい。クライアント側のサーバ装置がクライアント装置12の場合は、クライアント側のサーバ装置と、プロバイダ13におけるサーバ装置14とが、ニューラルネットワークの処理を分担する。
 データ解析処理システム10を構成するコンピュータのハードウェア構成は種々の変形が可能である。例えば、サーバ装置14と学習装置17とを統合して、1台のコンピュータで構成してもよい。また、サーバ装置14の処理能力及び信頼性の向上を目的として、ハードウェアとして分離された複数台のコンピュータで構成することも可能である。例えば、サーバ装置14のデータ取得部51、サーバ側データ処理部52、配信部53、分割部54、及び導出部56の各部を、2台のコンピュータに分散して担わせる。この場合は2台のコンピュータでサーバ装置14が構成される。
 このように、データ解析処理システム10及びサーバ装置14のハードウェア構成は、処理能力、安全性、信頼性等の要求される性能に応じて適宜変更することができる。さらに、ハードウェアに限らず、作動プログラム40等のアプリケーションプログラムについても、安全性及び信頼性の確保を目的として、二重化したり、あるいは、複数のストレージデバイスに分散して格納することももちろん可能である。
 上記各実施形態において、例えば、サーバ側データ処理部52、配信部53、分割部54、及び導出部56といった各種の処理を実行する処理部(Processing Unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(Processor)を用いることができる。各種のプロセッサには、上述したように、ソフトウェア(作動プログラム40)を実行して各種の処理部として機能する汎用的なプロセッサであるCPU32に加えて、FPGA(Field Programmable Gate Array)等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
 1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種または異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせ、及び/または、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
 複数の処理部を1つのプロセッサで構成する例としては、第1に、複数台のコンピュータでサーバ装置14を構成する場合のように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
 さらに、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子等の回路素子を組み合わせた電気回路(circuitry)を用いることができる。
 また、これらの各種のプロセッサは、プロセッサに内蔵又は接続されたメモリと協働して、各種の処理を実行する。
 以上の記載から、以下の付記項1に記載の技術を把握することができる。
 [付記項1]
  ニューラルネットワークを用いて、データ解析処理を実行するデータ解析処理システムにおいて、データ解析処理の一部を実行するサーバ装置であって、
 ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、第1処理データを取得する第1プロセッサと、
 ニューラルネットワークの一部であり、第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、第1処理データに基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理データを出力する第2プロセッサと、を備えているサーバ装置。
 [付記項2]
 ニューラルネットワークを利用して、データ解析処理を実行するデータ解析処理システムにおいて、データ解析処理の一部を実行するサーバ装置の作動プログラムであって、
 ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、第1処理データを取得するデータ取得処理と、
 ニューラルネットワークの一部であり、第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、第1処理データに基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理データを出力するデータ出力処理とを、コンピュータのプロセッサに実行させるサーバ装置の作動プログラム。
 [付記項3]
 ニューラルネットワークを利用して、データ解析処理を実行するデータ解析処理システムにおいて、データ解析処理の一部を実行するサーバ装置の作動方法であって、
 ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、第1処理データを取得することと、
 ニューラルネットワークの一部であり、第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、第1処理データに基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理データを出力することとを含む、サーバ装置の作動方法。
 [付記項4]
 クライアント装置とサーバ装置とを含み、ニューラルネットワークを利用して、データ解析処理を実行するデータ解析処理システムであって、
 クライアント装置は、
 ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、データ解析処理の一部である第1処理を実行することにより、第1処理の処理結果である第1処理データを出力するクライアント側プロセッサを備えており、
 サーバ装置は、
 クライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、第1処理データを取得するデータ取得処理と、
 ニューラルネットワークの一部であり、第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、第1処理データに基づいて、データ解析処理の一部である第2処理を実行することにより、第2処理の処理結果である第2処理データを出力するデータ出力処理とを、実行するサーバ側プロセッサとを備えている、データ解析処理システム。
 本開示の技術は、上述の種々の実施形態と種々の変形例を適宜組み合わせることも可能である。また、上記各実施形態に限らず、要旨を逸脱しない限り種々の構成を採用し得ることはもちろんである。さらに、本開示の技術は、プログラムに加えて、プログラムを非一時的に記憶し、かつ、コンピュータで読み取り可能な記憶媒体にも及ぶ。
 以上に示した記載内容及び図示内容は、本開示の技術に係る部分についての詳細な説明であり、本開示の技術の一例に過ぎない。例えば、上記の構成、機能、作用、及び効果に関する説明は、本開示の技術に係る部分の構成、機能、作用、及び効果の一例に関する説明である。よって、本開示の技術の主旨を逸脱しない範囲内において、以上に示した記載内容及び図示内容に対して、不要な部分を削除したり、新たな要素を追加したり、置き換えたりしてもよいことはいうまでもない。また、錯綜を回避し、本開示の技術に係る部分の理解を容易にするために、以上に示した記載内容及び図示内容では、本開示の技術の実施を可能にする上で特に説明を要しない技術常識等に関する説明は省略されている。
 本明細書において、「A及び/またはB」は、「A及びBのうちの少なくとも1つ」と同義である。つまり、「A及び/またはB」は、Aだけであってもよいし、Bだけであってもよいし、A及びBの組み合わせであってもよい、という意味である。また、本明細書において、3つ以上の事柄を「及び/または」で結び付けて表現する場合も、「A及び/またはB」と同様の考え方が適用される。
 2019年7月2日に出願された日本国特許出願2019-123664号の開示はその全体が参照により本明細書に取り込まれる。また、本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (20)

  1.  ニューラルネットワークを用いて、データ解析処理を実行するデータ解析処理システムにおいて、前記データ解析処理の一部を実行するサーバ装置であって、
     前記ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、前記データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、前記第1処理データを取得するデータ取得部と、
     前記ニューラルネットワークの一部であり、前記第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、前記第1処理データに基づいて、前記データ解析処理の一部である第2処理を実行することにより、第2処理データを出力するデータ処理部と、を備えているサーバ装置。
  2.  前記第1サブニューラルネットワークを、前記共用回線を介して、前記クライアント装置に配信する配信部を備えている請求項1に記載のサーバ装置。
  3.  前記ニューラルネットワークのうち、前記第1サブニューラルネットワークとして分割する分割部分を変更可能な分割部を備えている請求項2に記載のサーバ装置。
  4.  前記分割部分の変更は、予め設定された条件に基づいて行われる請求項3に記載のサーバ装置。
  5.  前記データ取得部は、前記クライアント装置において暗号化された前記第1処理データを復号化する機能を備えている請求項1から4のうちのいずれか1項に記載のサーバ装置。
  6.  前記第1サブニューラルネットワークを用いて実行される前記第1処理は、複数のサブ処理が含まれており、かつ、複数の前記サブ処理のそれぞれによって、前記第1処理データの一部であるサブデータが出力され、
     前記データ取得部は、前記第1処理データを、前記サブデータ毎に分割して取得する請求項1から5のうちのいずれか1項に記載のサーバ装置。
  7.  前記第1サブニューラルネットワークは、入力される入力データを解析する複数の階層を有し、
     複数の前記サブ処理は、複数の前記階層のそれぞれにおいて実行され、
     前記サブデータは、前記サブ処理毎に出力される請求項6に記載のサーバ装置。
  8.  前記第1サブニューラルネットワークは、入力される入力データを解析することにより、前記入力データの特徴を前記第1処理データとして抽出するエンコーダネットワークを含む請求項1から7のうちのいずれか1項に記載のサーバ装置。
  9.  前記データ解析処理は、入力される入力画像を解析する画像解析処理である請求項1から8のうちのいずれか1項に記載のサーバ装置。
  10.  前記第1サブニューラルネットワークは、前記入力画像を解析することにより、前記入力画像の特徴を表す画像特徴マップを前記第1処理データとして抽出するエンコーダネットワークを含む請求項9に記載のサーバ装置。
  11.  前記エンコーダネットワークを用いて実行される前記第1処理は、フィルタを用いた畳み込み演算を行って、前記入力画像に含まれる、周波数帯域が異なる特徴を表す前記画像特徴マップを抽出する畳み込み処理と、前記畳み込み処理で抽出された前記画像特徴マップの局所的な統計量を計算して前記画像特徴マップを圧縮することにより、画像サイズが縮小された前記画像特徴マップを出力するプーリング処理とのうち、少なくとも前記畳み込み処理を含み、
     前記第1処理データは、前記入力画像よりも、前記フィルタの適用枚数に応じたチャンネル数が多く、
    かつ、前記第1処理に前記プーリング処理が含まれる場合は、前記第1処理データは、前記入力画像よりも、前記画像サイズが小さい請求項10に記載のサーバ装置。
  12.  前記エンコーダネットワークは、前記入力画像を解析する複数の階層を有し、前記第1処理において、前記階層毎に前記画像特徴マップを抽出する請求項11に記載のサーバ装置。
  13.  前記ニューラルネットワークは、前記エンコーダネットワークと、前記階層毎に抽出された前記画像特徴マップに基づいて、前記入力画像内のクラス毎の領域がセグメンテーションされた出力画像を生成するデコーダネットワークとを有し、
     前記画像解析処理として、前記入力画像に含まれる複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを行う畳み込みニューラルネットワークである請求項12に記載のサーバ装置。
  14.  前記エンコーダネットワーク及び前記デコーダネットワークは、それぞれ、複数の階層として、最上層の第1階層から最下層の第N階層までのN個の階層を有しており、
     前記第1サブニューラルネットワークは、前記エンコーダネットワークのうち、前記入力画像が入力される最上層の第1階層に対応する部分を少なくとも含み、
     前記第2サブニューラルネットワークは、前記デコーダネットワークのうち、最下層の第N階層に対応する部分を少なくとも含む請求項13に記載のサーバ装置。
  15.  前記セマンティックセグメンテーションの処理結果である出力画像に基づいて、前記クラスの数、及びサイズの少なくとも1つを導出する導出部を備えている請求項13又は14に記載のサーバ装置。
  16.  前記入力画像は、細胞を撮影した細胞画像である請求項9から15のうちのいずれか1項に記載のサーバ装置。
  17.  前記ニューラルネットワークは、学習フェーズにおいて、2以上の細胞種類について学習されている請求項16に記載のサーバ装置。
  18.  ニューラルネットワークを利用して、データ解析処理を実行するデータ解析処理システムにおいて、前記データ解析処理の一部を実行するサーバ装置の作動プログラムであって、
     前記ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、前記データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、前記第1処理データを取得するデータ取得部と、
     前記ニューラルネットワークの一部であり、前記第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、前記第1処理データに基づいて、前記データ解析処理の一部である第2処理を実行することにより、第2処理データを出力するデータ処理部として、コンピュータを機能させるサーバ装置の作動プログラム。
  19.  ニューラルネットワークを利用して、データ解析処理を実行するデータ解析処理システムにおいて、前記データ解析処理の一部を実行するサーバ装置の作動方法であって、
     前記ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、前記データ解析処理の一部である第1処理を実行することにより、第1処理データを出力するクライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、前記第1処理データを取得するデータ取得ステップと、
     前記ニューラルネットワークの一部であり、前記第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、前記第1処理データに基づいて、前記データ解析処理の一部である第2処理を実行することにより、第2処理データを出力するデータ処理ステップとを含む、サーバ装置の作動方法。
  20.  クライアント装置とサーバ装置とを含み、ニューラルネットワークを利用して、データ解析処理を実行するデータ解析処理システムであって、
     前記クライアント装置は、
     前記ニューラルネットワークの一部である第1サブニューラルネットワークを用いて、前記データ解析処理の一部である第1処理を実行することにより、前記第1処理の処理結果である第1処理データを出力するクライアント側データ処理部を備えており、
     前記サーバ装置は、
     前記クライアント装置から、複数のユーザが利用可能な共用の通信回線である共用回線を介して、前記第1処理データを取得するデータ取得部と、
     前記ニューラルネットワークの一部であり、前記第1サブニューラルネットワークとは別の第2サブニューラルネットワークを用いて、前記第1処理データに基づいて、前記データ解析処理の一部である第2処理を実行することにより、前記第2処理の処理結果である第2処理データを出力するサーバ側データ処理部とを備えている、データ解析処理システム。
PCT/JP2020/024025 2019-07-02 2020-06-18 サーバ装置、サーバ装置の作動プログラム及び作動方法、並びにデータ解析処理システム WO2021002215A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019123664 2019-07-02
JP2019-123664 2019-07-02

Publications (1)

Publication Number Publication Date
WO2021002215A1 true WO2021002215A1 (ja) 2021-01-07

Family

ID=74100498

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/024025 WO2021002215A1 (ja) 2019-07-02 2020-06-18 サーバ装置、サーバ装置の作動プログラム及び作動方法、並びにデータ解析処理システム

Country Status (1)

Country Link
WO (1) WO2021002215A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114429548A (zh) * 2022-01-28 2022-05-03 北京百度网讯科技有限公司 图像处理方法、神经网络及其训练方法、装置和设备
JP2023014906A (ja) * 2021-07-19 2023-01-31 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010287062A (ja) * 2009-06-11 2010-12-24 Honda Motor Co Ltd ニューラルネットワーク・シミュレーション演算方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010287062A (ja) * 2009-06-11 2010-12-24 Honda Motor Co Ltd ニューラルネットワーク・シミュレーション演算方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HIRAGA, YURIA ET AL.: "High efficient multi-task DNN inference using shared CNN for one-to-many application", IEICE TECHNICAL REPORT, vol. 118, no. 515, 10 March 2019 (2019-03-10), pages 241 - 246 *
HIRAMATSU, YUKI ET AL.: "Cell image segmentation by integrating multiple CNNs", THE 24TH SYMPOSIUM ON SENSING VIA IMAGE INFORMATION SSII2018, 13 June 2018 (2018-06-13), XP033475607 *
KANG, Y. P. ET AL.: "Neurosurgeon: collaborative intelligence between the cloud and mobile edge", PROCEEDINGS OF THE TWENTY-SECOND INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS 2017, April 2017 (2017-04-01), pages 615 - 629, XP055727018, Retrieved from the Internet <URL:https://dl.acm.org/doi/10.1145/3037697.303769> [retrieved on 20200727], DOI: 10.1145/3037697.3037698 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023014906A (ja) * 2021-07-19 2023-01-31 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP7352600B2 (ja) 2021-07-19 2023-09-28 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
CN114429548A (zh) * 2022-01-28 2022-05-03 北京百度网讯科技有限公司 图像处理方法、神经网络及其训练方法、装置和设备

Similar Documents

Publication Publication Date Title
WO2021002215A1 (ja) サーバ装置、サーバ装置の作動プログラム及び作動方法、並びにデータ解析処理システム
US11620480B2 (en) Learning method, computer program, classifier, and generator
JP7026813B2 (ja) 学習装置、学習装置の作動プログラム及び作動方法
US8774518B2 (en) Digital pathology system with low-latency analytics
US20070162873A1 (en) Apparatus, method and computer program product for generating a thumbnail representation of a video sequence
JP2017033529A (ja) 画像認識方法、画像認識装置およびプログラム
JP2003331285A (ja) パラメータに基づいたシャープニングおよびスムージングを行う方法
EP2455892A1 (en) System and Method for Classifying Digital Image Data
US11551447B2 (en) Real-time video stream analysis system using deep neural networks
JP2015035198A (ja) 画像処理装置及び画像処理方法
CN105493501A (zh) 虚拟视觉相机
US20160306529A1 (en) Method and Device for Removing Objects from a Video Feed in Real-time
CN104735389B (zh) 信息处理方法和信息处理设备
Kumar et al. Efficient hardware of RGB to Gray conversion realized on FPGA and ASIC
JP7195220B2 (ja) 学習装置、学習装置の作動方法、および学習装置の作動プログラム
US20220012895A1 (en) Image processing apparatus, and operation method and operating program thereof, operating apparatus, and operation method and operating program thereof, and machine learning system
AU2012268887A1 (en) Saliency prediction method
CN111507466A (zh) 数据处理方法、装置、电子设备及可读介质
JP5892592B2 (ja) 超解像画像処理装置及び超解像画像処理用コードブック作成装置
WO2020121678A1 (ja) ミニバッチ学習装置とその作動プログラム、作動方法、および画像処理装置
JP5896661B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP7167356B2 (ja) 学習装置、学習装置の作動方法、学習装置の作動プログラム
KR20200134813A (ko) 기계 학습을 위한 이미지 처리 장치 및 방법
Happ et al. Towards distributed region growing image segmentation based on MapReduce
WO2020121668A1 (ja) ミニバッチ学習装置とその作動プログラムおよび作動方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20834549

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20834549

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP