Computer-implemented method, computer program product, and system for analysis of cell images

By constructing a latent variable model to evaluate the prediction reliability of deep neural networks, the problem of unreliable prediction of deep neural networks when processing abnormal data is solved, and effective outlier detection of cell image analysis is achieved.

CN112655003BActive Publication Date: 2025-03-14SARTORIUS STEDIM DATA ANALYTICS AB
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201980058085.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-06-18
Filing Date
2019-09-05
Publication Date
2025-03-14
Estimated Expiration
2039-09-05

AI Technical Summary

Technical Problem

How to effectively evaluate the reliability of predictions given by deep neural networks when using deep neural networks for cell image analysis, especially when processing abnormal data.

Method used

By constructing a latent variable model, the intermediate output value of the deep neural network is mapped to the low-dimensional subspace, thereby determining whether the new cell image is an outlier relative to the training dataset.

Benefits of technology

The evaluation of the prediction reliability of deep neural networks is achieved, and outliers can be effectively detected and processed, thereby improving the credibility and accuracy of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112655003B_ABST
    Figure CN112655003B_ABST
Patent Text Reader

Abstract

A computer-implemented method for analyzing a cell image is provided. The method includes: obtaining a deep neural network (100) for processing an image and at least a portion of a training data set for training the deep neural network, the deep neural network including a plurality of hidden layers and trained using the training data set, the training data set including a plurality of possible cell images that can be input to the deep neural network; obtaining a first intermediate output value set output from at least one of the plurality of hidden layers, each of the first intermediate output value sets being obtained by inputting a different one of the possible input images included in the at least a portion of the training data set; using the first intermediate output value set to construct / fit a latent variable model, the latent variable model providing a mapping of the first intermediate output value set to a first projection value set in a subspace having a dimension lower than that of the intermediate output value set; receiving a new cell image to be input to the deep neural network; obtaining a second intermediate output value set output from at least one of the plurality of hidden layers of the deep neural network by inputting the received new cell image into the deep neural network; using the latent variable model to map the second intermediate output value set to a second projection value set; and determining whether the received new cell image is an outlier relative to the training data set based on the latent variable model and the second projection value set.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to analysis of cell images, and in particular to a computer-implemented method, a computer program product, and a system for outlier detection in unstructured data such as cell images. Background Art

[0002] Biological processes are complex at many different levels. To capture this complexity, various imaging techniques have been proposed for studying and monitoring cells. To analyze the increasing amounts of cell imaging data, deep learning can be used. Deep learning is a field of machine learning that relies on a type of statistical model known as a deep neural network. A deep neural network can be an artificial neural network with an input layer, an output layer, and multiple hidden layers between the output layer and the output layer.

[0003] Deep learning using deep neural networks has become very common in many applications due to the powerful transformations learned by deep neural networks. Deep learning has revolutionized the field of computer vision in the past five years, for example, rapidly outperforming previous state-of-the-art methods on most vision tasks. Deep learning is increasingly used in cell imaging, such as live cell imaging, cell or nucleus detection, classification of protein localization from fluorescence images, label-free cell classification, and many more.

[0004] The application of deep learning techniques for the analysis of cell images is described in, for example, the following disclosures: OZ Kraus et al., "Automated analysis of high-content microscopy data with deep learning", Molecular Systems Biology, Vol. 13, No. 4, p. 924, 2017, and corresponding US-2018 / 0137338-A1. The cited disclosure describes a method for training a good model to classify cell images, where the need for annotation of the training images is low.

[0005] When deep learning is employed in critical systems, such as for diagnostic applications, it can be crucial to understand when predictions provided by the deep learning system should not be trusted.

[0006] In other words, it may be important to know not only whether a prediction provided by a deep learning system is accurate, but also whether the deep learning system should predict at all. Autonomous decision making can be improved by understanding the limits of learned representations and by recognizing when data is encountered that the deep learning system did not recognize.

[0007] Therefore, a common problem in all data-driven modeling (including deep learning) is how to handle abnormal data after the model is trained. Abnormal observations can be observations that are significantly different from the data used to train the model. Since the outliers are significantly different from those encountered by the model before, the model behavior is undefined in such cases, which means that the prediction cannot be trusted. In cell imaging, outliers can be from cell types that have not been seen before or some previously unobserved phenomena. Outliers may be due to imaging instrument errors that lead to bad images or operator mismanagement of instruments or data processing. In any of those cases, model predictions are unreliable and need to be handled appropriately.

[0008] Many different methods have been proposed to allow deep neural networks to describe the uncertainty of predictions. Many of these methods are based on training deep neural networks to perform Bayesian inference during prediction rather than point inference. This means that the network is trained to predict the distribution of possible points rather than predicting a single point. Intuitively, observations that cannot be explained by the model will have a wide distribution or large uncertainty. A common solution for performing Bayesian predictions is the so-called Monte Carlo dropout method (MC-dropout method) disclosed in "Dropout as a Bayesian approximation: Representing model uncertainty in deep learning" by Y. Gal and Z. Gharamani on pages 1050 to 1059 of the 2016 International Conference on Machine Learning. The MC-dropout method can be applied to neural networks trained using the "dropout method", which is a regularization technique for reducing overfitting in neural networks by dropping (or in other words, ignoring) some units (e.g., cells, nodes) in the neural network during the training phase. The MC-dropout method performs multiple inferences for each prediction by using so-called Monte Carlo sampling for predictions while randomly eliminating or discarding network cells during prediction time. Different predictions are changed by the dropout method and describe the prediction distribution. The prediction uncertainty can then be quantified by calculating the entropy or variance of the resulting distribution.

[0009] One approach for generating Monte Carlo samples using dropout includes: sampling based on batch normalization parameters (M. Teye, H. Azizpour, and K. Smith, “Bayesian Uncertainty Estimation for BatchNormalized Deep Networks,” ArXiv180206455, February 2018); predictions from different models in an ensemble (B. Lakshminarayanan, A. Pritzel, and C. Blundell, “Simple and scalable predictive uncertainty estimation using deep ensembles,” in Advances in Neural Information Processing Systems, 2017, pp. 6405–6416); multiple “prediction heads” in a shared base network (I. Osband, C. Blundell, A. Pritzel, and B. Van Roy, “Deep exploration via deep neural networks”). bootstrappedDQN", in Advances in Neural Information Processing Systems, 2016, pp. 4026–4034; E. Ilg et al., "Uncertainty Estimates for Optical Flow with Multi-Hypotheses Networks", ArXiv180207095Cs, February 2018); variational inference of weight distributions instead of regular point weights (C. Blundell, J. Cornebise, K. Kavukcuoglu, and D. Wierstra, "Weight uncertainty in neural networks", ArXivPrepr.ArXiv150505424, 2015); and Laplace approximation of a distribution given existing weights (H. Ritter, A. Botev, and D. Barber, "A Scalable Laplace Approximation for Neural Networks", February 2018).

[0010] However, these methods make assumptions about which type of model is used and may constrain how the network is built or trained and / or rely on making multiple inferences per prediction. This may limit their general applicability to real-time systems where making multiple inferences is impractical and / or to existing systems that do not meet the constraints. Summary of the invention

[0011] According to one aspect, the problem involves efficiently evaluating the reliability of predictions given by a deep neural network for cell images input to the deep neural network.

[0012] This problem is solved by the features disclosed in the independent claim. Furthermore, exemplary embodiments are defined by the dependent claims.

[0013] According to one aspect, a computer-implemented method for analysis of a cell image is provided. The cell image can be obtained by any suitable imaging technique, such as by optical microscopy (e.g., bright field microscopy, phase-contrast microscopy, fluorescence microscopy, confocal imaging microscopy), electron beam microscopy, etc. The cell image can be a live cell image or a non-live cell image.

[0014] The method includes:

[0015] Obtaining a deep neural network and at least a portion of a training data set for training the deep neural network, the deep neural network comprising a plurality of hidden layers and trained using the training data set, the training data set comprising a plurality of possible cell images (i.e., observations) that may be input to the deep neural network;

[0016] obtaining a first set of intermediate output values ​​output from at least one of the plurality of hidden layers, each of the first set of intermediate output values ​​being obtained by inputting a different one of the possible cell images included in the at least a portion of the training data set;

[0017] constructing (i.e., fitting) a latent variable model using the first set of intermediate output values, the latent variable model providing a mapping of the first set of intermediate output values ​​to a first set of projected values ​​in a subspace of the latent variable model, the subspace having a dimension lower than the dimension of the intermediate output set; and

[0018] The latent variable model and the first set of projection values ​​are stored in a storage medium.

[0019] According to another aspect (which may be combined with the first aspect), a computer-implemented method for analyzing a cell image is provided. The method comprises:

[0020] Receiving a new cell image (i.e., a new observation) to be input to a deep neural network having a plurality of hidden layers and trained using a training data set including possible cell images that may be input to the deep neural network;

[0021] Obtaining a second intermediate output value set output from at least one of the plurality of hidden layers of the deep neural network by inputting the received new cell image into the deep neural network;

[0022] Mapping the second intermediate output value set to a second projection value set using a latent variable model stored in a storage medium; and

[0023] Determine whether the received new cell image is an outlier relative to the training data set based on the latent variable model and the second projection value set,

[0024] The latent variable model stored in the storage medium is constructed by the following operations:

[0025] Obtaining a first set of intermediate output values ​​output from said one of the plurality of hidden layers of the deep neural network, each of the first set of intermediate output values ​​being obtained by inputting a different one of the possible cell images (i.e., possible observations) included in said at least a portion of the training data set; and

[0026] A latent variable model is constructed using the first intermediate output value set, the latent variable model providing a mapping of the first intermediate output value set to a first projected value set in a subspace of the latent variable model, the subspace having a dimension lower than the dimension of the output value set.

[0027] According to yet another aspect, a computer-implemented method for analyzing a cell image is provided. The method comprises:

[0028] Obtaining a deep neural network and at least a portion of a training data set for training the deep neural network, the deep neural network comprising a plurality of hidden layers and trained using the training data set, the training data set comprising a plurality of possible cell images (i.e., observations) that may be input to the deep neural network;

[0029] obtaining a first set of intermediate output values ​​output from at least one of the plurality of hidden layers, each of the first set of intermediate output values ​​being obtained by inputting a different one of the possible cell images included in the at least a portion of the training data set;

[0030] constructing (i.e., fitting) a latent variable model using the first set of intermediate output values, the latent variable model providing a mapping of the first set of intermediate output values ​​to a first set of projected values ​​in a subspace of the latent variable model, the subspace having a dimension lower than the dimension of the intermediate output set;

[0031] Receive new cell images to be input into the deep neural network;

[0032] Obtaining a second intermediate output value set output from the at least one of the plurality of hidden layers of the deep neural network by inputting the received new cell image into the deep neural network;

[0033] using the latent variable model to map the second intermediate output value set to a second projection value set; and

[0034] It is determined whether the received observation is an outlier relative to the training data set based on the latent variable model and the second set of projection values.

[0035] When a received observation is determined to be an outlier, it can be assumed that the prediction (e.g., output) given by the deep neural network for the received observation is less reliable than when the received observation is determined to be a non-outlier. Therefore, the method according to any one of the above aspects may also include:

[0036] Computing predictions for new cell images using a deep neural network; and

[0037] If the new cell image is determined to be an outlier, discard the prediction; and

[0038] If the new cell image is not determined to be an outlier, the prediction is accepted.

[0039] In various embodiments and examples described herein, the data to be processed by the deep neural network is a cell image, such as a living cell image or a non-living cell image. A cell image is an example of unstructured data. Unstructured data can be understood as data that has no predefined data model or is not organized in a predefined manner. Unstructured data can have an internal structure, but is not structured via a predefined data model or pattern. The cell image can be original (unprocessed image) or can be an image that has undergone some processing, such as regularization, contrast enhancement, edge enhancement, denoising, color conversion, resizing, cropping, and / or other known image processing operations.

[0040] In the present disclosure, an image may include a 2D array of pixels. Each of the pixels may include at least one value. For example, a pixel in a grayscale image may include a value indicating the intensity of the pixel. A pixel in a color image may include multiple values, for example, three values, indicating coordinates in a color space such as an RGB color space. A pixel may also include a combination of different imaging modes, such as an intensity value from phase contrast imaging and one or more intensity values ​​from fluorescence imaging.

[0041] In the present disclosure, the term "deep neural network" may be understood as an artificial neural network having an input layer, an output layer, and a plurality of hidden layers disposed between the output layer and the output layer. The hidden layer of the neural network may also be referred to as an "intermediate layer". Therefore, the output from the hidden layer may be referred to as an "intermediate output". In addition, the output from the hidden layer may include a plurality of values, each value corresponding to a node included in the hidden layer. Therefore, the term "intermediate output value set" as used herein may indicate the output of the hidden layer, including a plurality of values ​​output from corresponding nodes of the hidden layer.

[0042] The type of deep neural network used is not particularly limited. In some examples, the "deep neural network" in the present disclosure may be a feedforward neural network with multiple hidden layers. In a feedforward neural network, the connections between nodes do not form a loop. A specific example of a feedforward deep neural network may be a convolutional neural network (CNN) that is commonly used to analyze visual images.

[0043] In some other examples, the "deep neural network" in the present disclosure may be a recursive neural network, in which the connections between nodes form a directed graph along a certain sequence. A specific example of a recursive deep neural network may be a long short-term memory (LSTM) that can process sequence data.

[0044] Another exemplary deep neural network is the Transformer neural network.

[0045] In the present disclosure, the term "latent variable model" may be a statistical model that relates or maps a set of observable variables to a set of latent variables. In the various embodiments and examples described herein, the (first or second) "intermediate output value set" may be considered as a set of observable variables for the latent variable model. In addition, in the various embodiments and examples described herein, the "projected value set" may be considered as a set of latent variables for the latent variable model.

[0046] In some examples, in the methods according to the above aspects, a latent variable model may be constructed or fitted based on principal component analysis.

[0047] In the present disclosure, the term "principal component analysis" (also referred to as PCA) may be understood to refer to a statistical process that converts a set of observed values ​​of possibly correlated variables into a set of values ​​of linearly uncorrelated variables called principal components using an orthogonal transformation.

[0048] Variants of PCA include, but are not limited to: Sparse PCA (Jenatton R., Obozinski G., and Bach F. (March 2010). Structured sparse principal component analysis. In: Proceedings of the 13th International Conference on Artificial Intelligence and Statistics (pp. 366-373)). Alternatives to PCA include, but are not limited to: random projections (Dasgupta S. (June 2000), Experiments with random projections, In Proceedings of the 16th Conference on Uncertainty in Artificial Intelligence (pp. 143-151) Morgan Kaufman Publishers); sparse random projections (Achlioptas D. (2003), Database-friendly random projections: Johnson-Lindenstrauss with binary coins., Journal of Computer and System Sciences, 66(4), 671-687.); extremely sparse random projections (Li P., Hastie T.J., and Church KW (August 2006), Extremely sparse random projections, In Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (pp. 287-296), ACM); and self-organizing maps (Kohonen et al. (2003), Database-friendly random projections: Johnson-Lindenstrauss with binary coins., Journal of Computer and System Sciences, 66(4), 671-687.). T. (1998), Self-organizing maps, Neurocomputing, 21(1-3), 1-6).

[0049] In some other examples, in the method according to the above aspects, an autoencoder can be used to construct or fit a latent variable model. An "autoencoder" can be a type of artificial neural network used to learn effective data encoding in an unsupervised manner. One type of autoencoder can be a feedforward non-recurrent neural network with an input layer, an output layer, and one or more hidden layers connecting them, wherein the output layer has the same number of nodes as the input layer, and the purpose is to reconstruct its own input. Different types of autoencoders include, but are not limited to, variational autoencoders (Kingma DP and Welling M. (2013), Autoencoder Variational Bayes, arXiv preprint arXiv:1312.6114.); and sparse autoencoders (Makhzani A. and Frey B. (2013), K-sparse autoencoders, arXiv preprint arXiv:1312.5663.).

[0050] Using the latent variable model, the distance of the new cell image to the latent variable model (or in other words to the latent variable approximation) can be determined. Based on the determined distance, a determination can be made as to whether the new cell image is an outlier. The determination as to whether the received new cell image is an outlier can, for example, include determining whether the distance of the new cell image to the latent variable model is greater than a threshold distance. If the calculated distance of the new cell image is greater than the threshold distance, then it can be determined that the new cell image is an outlier.

[0051] The threshold distance is determined by calculating the distance of each of the cell images of at least a portion of the training data set to the latent variable model using the latent variable model and determining the threshold distance based on the determined distance. Therefore, the method according to any one of the above aspects may also include determining the threshold distance based on a plurality of distances, each of the plurality of distances being calculated for a different one of the first projection value set relative to the distribution of the first projection value set.

[0052] Furthermore, in the method according to the above aspect, the step of determining whether the received new cell image is an abnormal value may include:

[0053] calculating a distance of a second set of projection values ​​relative to a distribution of the first set of projection values; and

[0054] If the calculated distance is greater than a threshold distance, the received observation is determined to be an outlier with respect to the training data set.

[0055] The threshold value for the distance may be determined based on the distances, each of which may be calculated for a different one of the first projection value sets relative to the distribution of the first projection value set.

[0056] The distance metric may be any distance metric suitable for quantifying the distance from the latent variable approximation (i.e., the first set of projection values). For example, the distance may be the residual sum of squares (RSS), the Mahalanobis distance, the local outlier factor, or LOF (see, e.g., M.M. Breunig, H.-P. Kriegel, R.T.N.g, and J. Sander, "LOF: Identifying Density-based Local Outliers", Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, New York, NY, USA, 2000, pp. 93-104). The distance may also be a composite distance based on a composite distance metric to the modeled embedded term formed by combining two or more of the described distances.

[0057] The determined distance may in particular be the Mahalanobis distance. In the present disclosure, the term "Mahalanobis distance" may be understood as a known measure indicating the distance between a point P (e.g. corresponding to an observation) and a distribution D. More specifically, the "Mahalanobis distance" measures how many standard deviations an observation is from the origin in a multidimensional probability distribution.

[0058] The determined distance may be a residual sum of squares (RSS). For example, in the method according to the above aspect, the step of determining whether the received new cell image is an outlier may include:

[0059] determining an approximate set of intermediate output values ​​corresponding to a second set of intermediate output values ​​using the latent variable model and the second set of projection values;

[0060] calculating squared approximation residuals of the second set of intermediate output values ​​and the approximation set of intermediate output values; and

[0061] If the calculated square approximation residual is greater than a threshold value of the square approximation residual, it is determined that the received new cell image is an outlier relative to the training data set.

[0062] The threshold of the squared approximation residuals may be determined based on squared approximation residuals, each of which may be calculated for a different one of the first sets of intermediate output values ​​and an approximation set of intermediate output values ​​corresponding to the one of the first sets of intermediate output values.

[0063] In the present disclosure, the term “squared approximation residual” may be understood to refer to the sum of squares of residuals, where the residual is the difference between the observed value and the approximation provided by the latent variable model.

[0064] Furthermore, in the method according to the above aspect, the steps of obtaining the first intermediate output value set and constructing the latent variable model may be performed for two or more of the plurality of hidden layers;

[0065] wherein the steps of obtaining a second set of intermediate output values ​​and mapping the second set of intermediate output values ​​to a second set of projection values ​​may be performed with respect to said two or more of the plurality of hidden layers; and

[0066] The step of determining whether the received new cell image is an outlier may be performed based on the latent variable model and the second projection value sets obtained with respect to the two or more of the plurality of hidden layers.

[0067] In addition, in the method according to the above aspect, the step of obtaining an intermediate output value output from at least one of the multiple hidden layers of the deep neural network may include determining an activation value from the at least one of the multiple hidden layers and optionally applying global pooling on the determined activation value. The activation value may be in the form of an activation vector, for example.

[0068] The activation vector a for a particular cell image (observation) x from layer i (i=1, 2, 3, ...) of a given deep neural network i (or activation value) may correspond to an intermediate output from layer i, and when a cell image is input to a given network, may include a component having a value corresponding to the output of a corresponding node from layer i. Each of the activation values ​​or activation vectors at various layers of a deep neural network may provide a feature representation of the input data (i.e., the input cell image). In other words, the activation values ​​may provide a transformed or preprocessed representation of the input data at various layers of the deep neural network.

[0069] In particular, the step of obtaining a first intermediate output value output from at least one of the multiple hidden layers of the deep neural network based on the cell image of the training data set may include determining an activation value of the cell image from at least one of the multiple hidden layers and optionally applying global pooling on the determined activation value. Similarly, the step of obtaining a second intermediate output value output from at least one of the multiple hidden layers of the deep neural network based on the new cell image may include determining an activation value of a new cell image from at least one of the multiple hidden layers and optionally applying global pooling on the determined activation value. The global pooling may be global average pooling.

[0070] For example, if the activation values ​​come from feature maps, global pooling (e.g., global average pooling) can be applied on each feature map. A latent variable model can then be constructed or fitted on the (optionally pooled) activation values, i.e., on the (optionally pooled) training set activation values ​​and the (optionally pooled) activation values ​​calculated for new cell images input to the deep neural network.

[0071] Global average pooling (GPA) refers to the process of transforming the feature map representation of network activation values ​​into a vector representation (see, e.g., Lin Min, Qiang Chen, and Shuicheng Yan, "Network in network", arXiv preprint arXiv:1312.4400 (2013)). This step discards the spatial information of the vector in which each element corresponds to the average activation value of a particular feature map. For example, for a particular hidden layer in a convolutional neural network, the activation values ​​of image x are discarded by feature map A, which can have dimensions w×h×c, where h is the pixel height of the feature map, w is the pixel width of the feature map and c is the number of feature maps in the current hidden layer. The global average pooling of feature map k∈[1,c] of A is given by:

[0072] or

[0073]

[0074] For example:

[0075]

[0076] The vector of the global average pooled feature map A of image x is then given by:

[0077] GAP(A)=[GAP1(A),GAP2(A),...,GAP c (A)]

[0078] Furthermore, the method according to any of the above aspects may include training the deep neural network or fine-tuning the trained deep neural network using the training dataset.

[0079] The degree to which the method according to the above aspects can distinguish outliers from non-outliers can be evaluated using, for example, the area under the receiver operating characteristic curve (ROC-AUC) metric. For example, when calculating the Mahalanobis distance and / or the squared approximation residual and / or other distance metrics to determine whether a received observation is an outlier, the ROC curve can be calculated by comparing the degree to which the Mahalanobis distance and / or the squared approximation residual and / or other distance metrics separate outliers from non-outliers. Other metrics that can be used to evaluate the method include, but are not limited to: (1) precision, which is the fraction of observations that are actually outliers that are identified as outliers by the system; (2) recall, which is the fraction of all outliers that are successfully identified as outliers by the system; (3) F1-score, which is the harmonic mean of precision and recall; and (4) accuracy, which is the fraction of all identifications that are correctly identified by the system.

[0080] According to yet another aspect, a computer program product is provided, comprising computer-readable instructions, which, when loaded on a computer and executed, cause the computer to execute the method according to any one of the above aspects.

[0081] According to yet another aspect, a system for data analysis is provided. The system comprises:

[0082] A storage medium storing a training data set for training a deep neural network, the deep neural network comprising a plurality of hidden layers, the training data set comprising possible cell images (i.e., observations) that may be input to the deep neural network; and

[0083] A processor configured to execute at least one of the methods according to any one of the above aspects and examples.

[0084] For example, a processor may be configured to:

[0085] Obtain a deep neural network trained using a training dataset;

[0086] obtaining at least a portion of a training data set stored in a storage medium;

[0087] Obtaining a first set of intermediate output values ​​output from at least one of the plurality of hidden layers, each of the first set of intermediate output values ​​being obtained by inputting a different one of the possible observation values ​​included in the at least a portion of the training data set;

[0088] constructing / fitting a latent variable model using the first set of intermediate output values, the latent variable model providing a mapping of the first set of intermediate output values ​​to a first set of projected values ​​in a subspace having a dimension lower than the dimension of the set of output values;

[0089] Receive new cell images (i.e., observations) to be input into the deep neural network;

[0090] Obtaining a second set of intermediate output values ​​output from the at least one of the plurality of hidden layers by inputting the received observation values ​​into the deep neural network;

[0091] using the latent variable model to map the second intermediate output value set to a second projection value set; and

[0092] It is determined whether the received observation is an outlier relative to the training data set based on the latent variable model and the second set of projection values.

[0093] In the system according to the above aspect, the latent variable model may be constructed according to principal component analysis or using an autoencoder.

[0094] In the system according to the above aspect, in order to determine whether the received new cell image is an abnormal value, the processor may also be configured to:

[0095] calculating the Mahalanobis distance of the second set of projection values ​​relative to the distribution of the first set of projection values; and

[0096] If the calculated Mahalanobis distance is greater than a threshold value of the Mahalanobis distance, it is determined that the received new cell image is an outlier relative to the training data set.

[0097] Instead of or in addition to the Mahalanobis distance, other distance measures may be employed. For example, the distance may be a comprehensive metric distance of the modeled embedded terms, a residual sum of squares, a local outlier factor, or any other suitable distance measure.

[0098] For example, in the system according to the above aspects, in order to determine whether the received new cell image is an abnormal value, the processor may also be configured to:

[0099] determining an approximate set of intermediate output values ​​corresponding to a second set of intermediate output values ​​using the latent variable model and the second set of projection values;

[0100] calculating squared approximation residuals of the second set of intermediate output values ​​and the approximation set of intermediate output values; and

[0101] If the calculated squared approximation residual is greater than a threshold for the squared approximation residual, then the received observation is determined to be an outlier with respect to the training data set.

[0102] In the system according to the above aspect, the processor may also be configured to:

[0103] performing the steps of obtaining a first intermediate output value set and constructing a latent variable model for two or more of the plurality of hidden layers;

[0104] performing the steps of obtaining a second set of intermediate output values ​​and mapping the second set of intermediate output values ​​to a second set of projection values ​​with respect to the two or more of the plurality of hidden layers; and

[0105] The step of determining whether the received observation is an outlier is performed based on the latent variable model and the second projection value sets obtained with respect to two or more of the plurality of hidden layers.

[0106] In addition, in the system according to the above aspect, the processor can also be configured to determine an activation value from at least one of the multiple hidden layers and optionally apply global pooling on the determined activation value. Therefore, the (optionally pooled) activation value can constitute the first / second intermediate output value.

[0107] The system according to the above aspects may also include a storage medium for storing parameters of the deep neural network (e.g., weights, node connections, filters, etc.). The specific parameters stored generally depend on the type of deep neural network used. In addition, the system may include a storage medium for storing latent variable models, data obtained by using the latent variable model (such as distances), threshold distances, and / or other data.

[0108] According to the various aspects and examples described above, it is possible to detect outliers after model training of a deep neural network. Outliers in input images relative to a training data set may be effectively detected because reduced assumptions about how to construct a deep neural network may be required and sampling may not be required. In addition, according to the various aspects and examples described above, the data representation that has been learned can be used for outlier detection. In contrast to a separate outlier detection model, the same representation used for prediction can be used for outlier detection.

[0109] Other advantages of the methods and systems according to the various aspects and examples described above may include:

[0110] - They are architecture-agnostic, which means they can be used in any type of neural network model;

[0111] - They are training-independent. The computation involves a single pass through the training data after the neural network has been trained, which means that the disruption to the regular training process is minimal;

[0112] -They are task-agnostic, meaning no assumptions about the task at hand need to be made. The proposed methods can be applied to various tasks such as classification, segmentation, regression, reinforcement learning, etc.

[0113] - They outperform state-of-the-art methods in outlier detection.

[0114] Fields of application of the methods and systems according to the various aspects and examples described above include, but are not limited to, live cell imaging and non-live cell imaging, including not only any suitable type of biological imaging, but also any type of modeling. Therefore, the proposed technology is a "general" technology in the sense that it can be applied to any type of input. For example, the presented technology can be used to process cell images obtained by the following cell imaging techniques:

[0115] Cell imaging, especially live cell imaging. There are many different cell imaging techniques, such as:

[0116] o Bright field microscopy, in which white light is used to illuminate the sample from below;

[0117] o Phase-contrast microscopy imaging. This is an optical microscopy technique that allows detailed visualization of transparent samples that are difficult to capture using bright-field microscopy. It is based on converting phase shifts of light into brightness changes;

[0118] o Fluorescence imaging. This technique involves staining cells with a fluorescent dye that binds to a certain part of the cell of interest. An example part is DNA, where fluorescence helps detect the nucleus. The dye is often used to locate where in the cell a protein of interest is located. Fluorescence means that the dye emits light of a specific wavelength when illuminated by light of a specific wavelength;

[0119] o Confocal imaging. This is an imaging technique using a focused laser beam that allows increased optical resolution with a very limited depth of focus.

[0120] Electron microscopy imaging: Subcellular structures can be so small that the wavelength of light becomes a limiting factor for imaging due to diffraction. Light imaging is limited to a resolution down to about 200 nm. To capture smaller structures, an electron beam can be used as an illumination source, since electrons can have a wavelength up to 100,000 times shorter than visible light. For cell imaging, cells can be fixed (e.g., killed and fixed). There are different electron microscopy imaging techniques, such as:

[0121] o Transmission electron microscopy. In this technique, an image of a sample is captured by illuminating it with a high voltage electron beam that passes through the sample. This allows for very high resolution images (less than 50 pm), but requires extremely thin sample slices (approximately 100 nm); and

[0122] o Scanning electron microscopy. In this technique, a beam of electrons is used to probe the sample. It allows the 3D shape of the sample to be accurately captured but not with as high a resolution as transmission electron microscopy.

[0123] The above is a non-limiting list of possible cell imaging techniques. Other suitable cell imaging techniques may also be used.

[0124] The techniques according to the various aspects and examples described above can be used, for example, to process a damaged or blurred image. A damaged image can be an image whose portion is damaged due to an interruption of the writing process during image writing or instrument failure. A blurred image can be, for example, an image in which motion blur is caused by physical displacement of the image capture device and / or the imaged object during image capture or an image in which out-of-focus blur is caused by the object to be imaged not being in optical focus.

[0125] The subject matter described in this application may be implemented as a method or system, possibly in the form of one or more computer program products. The subject matter described in this application may be implemented in a data signal or on a machine-readable medium, wherein the medium is embodied in one or more information carriers, such as a CD-ROM, a DVD-ROM, a semiconductor memory, or a hard disk. Such a computer program product may cause a data processing device to perform one or more operations described in this application.

[0126] In addition, the subject matter described in this application can also be implemented as a system, which includes a processor and a memory coupled to the processor. The memory can encode one or more programs to cause the processor to perform one or more of the methods described in this application. In some examples, the system can be a general-purpose computer system. In other examples, the system can be a special-purpose computer system including an embedded system. BRIEF DESCRIPTION OF THE DRAWINGS

[0127] The details of one or more implementations are described in the exemplary drawings and the following description. Other features will be apparent from the description, drawings, and claims. However, it should be understood that although embodiments are described separately, individual features of different embodiments may be combined into other embodiments.

[0128] Figure 1 An example of a system including a system according to the present disclosure is shown.

[0129] Figure 2 An exemplary configuration of a convolutional neural network (CNN) for processing images is shown.

[0130] Figure 3 A flow chart showing an exemplary process performed by a system according to the present disclosure is shown.

[0131] Figure 4A An exemplary configuration of a convolutional neural network (CNN) for protein localization in fluorescent confocal cell images is shown.

[0132] Figure 4B Shown by Figure 4A and Figure 4B The sub-block (residual block) of operations performed by the convolutional neural network shown.

[0133] Figure 5 Shows the use of Figure 4A and Figure 4B The results of protein classification using convolutional neural networks are shown.

[0134] Figure 6 Shows the use of Figure 4A and Figure 4B The F1-score evaluation results of outlier detection of the convolutional neural network are shown.

[0135] Figure 7 An exemplary configuration of a "U-Net" type deep neural network for phase-conforming image segmentation is shown.

[0136] Fig. 8A Shows that it can be used Figure 4A The protein localization network described in Figure 7 An exemplary sub-block of operations performed by a "U-Net" type neural network is shown (convolutional downsampling).

[0137] Figure 8B Shown by Figure 7 A sub-block of operations (convolutional upsampling) performed by a “U-Net” type neural network is shown.

[0138] Fig. 9 Shown is the ROC-AUC evaluation of the outlier detection performance using different distance metrics.

[0139] Fig.10 An exemplary hardware configuration is shown for a computer that may be used to implement at least a portion of the system described herein. DETAILED DESCRIPTION

[0140] Hereinafter, a detailed description of the examples will be given with reference to the accompanying drawings. It should be understood that various modifications may be made to the examples. In particular, one or more elements of an example may be combined and used in other examples to form new examples.

[0141] System Configuration

[0142] Figure 1 An example of a system including a system according to the present disclosure is shown.

[0143] Figure 1 The system shown may include a computing system 1 , a user client 20 , a control system 30 , and a third party system 40 .

[0144] According to the present disclosure, the computing system 1 can provide a system for data analysis. The computing system 1 can be implemented, for example, using one or more general-purpose computers. Figure 1 As shown, computing system 1 may include application programs 10 and data storage device 12 .

[0145] Application 10 may be implemented by a software application including instructions that cause a computer to perform exemplary processes of a computing system, as will be described in more detail later. Figure 1 As shown, application 10 may include deep neural network 100 , prediction 110 , outlier metric 112 , and interface 114 .

[0146] A deep neural network (hereinafter also referred to as a "DNN") 100 may be an artificial neural network having an input layer, an output layer, and a plurality of hidden layers between the output layer and the output layer. The deep neural network 100 may be trained to process images using a training data set that includes possible input cell images to the deep neural network 100. The training data set may be stored in a data storage device 12 that may be accessed by the application 10. Figure 1 In the example of , deep neural network 100 may include layer 102 and outlier detection module 104.

[0147] The layer 102 may include an input layer (not shown), an output layer (not shown), and a plurality of hidden layers (not shown) provided between the input layer and the output layer.

[0148] The outlier detection module 104 may be connected to at least one of the plurality of hidden layers of the deep neural network 100 and configured to determine whether an observation (i.e., a cell image) is an outlier with respect to a training data set used to train the deep neural network 100. Details of the process performed by the outlier detection module 104 will be described later.

[0149] Figure 2 A specific example of a deep neural network 100 is shown. Figure 2 The exemplary deep neural network shown is a convolutional neural network (CNN) for classifying images. For example, Figure 2 The exemplary CNN shown can classify an input image, such as an image of a cell, into multiple different categories. In another example, Figure 2 The exemplary CNN shown can determine whether an input image belongs to a particular class. In any case, Figure 2 The exemplary CNN shown can be configured to receive a 28×28 pixel grayscale image as an input image. Each pixel of the input image can include a value indicating the intensity of the pixel. The intensity value of each pixel of the input image can be considered as an input value to an input node of the input layer of the exemplary CNN. Figure 2 The exemplary CNN shown includes four convolutional layers C1, C2, C3, C4, two maximum pooling layers MP1, MP2, and an output layer, wherein a softmax function serves as an activation function for nodes included in the output layer.

[0150] Although the above examples use 28×28 pixel images, from a theoretical perspective, there is no upper limit to the size of the image. However, increasing the image size may also increase the computational requirements. In general, the image size chosen for the application of interest can reflect the trade-off between the desired level of detail and the computational requirements. In a typical classification application, the image may be in the range of 200×200 pixels to 300×300 pixels. However, the application is not limited to this range and can be smaller than 200×200 pixels or larger than 300×300 pixels.

[0151] Each node included in the convolution layer C1 of the exemplary CNN may correspond to a filter of size 3×3 (pixels) applied to a specific portion of the input image, and may output a value obtained by applying the filter to the specific portion of the input image. Figure 2 In the example of , 32 filters are applied to the input image at the convolution layer C1. Each of the 32 filters can be applied to the entire area of ​​the input image by sliding the filter in both the width and height directions of the input image with a step of S pixels. For each position of the 32 filters on the input image, 32 nodes corresponding to the 32 filters can exist in the convolution layer C1. Figure 2 In the example of , the stride S can be set to 1 pixel. Therefore, the output of convolution layer C1 can include 28×28×32 values, which can be considered as 32 images of 28×28 pixels. The output of convolution layer C1 can be input to convolution layer C2. Convolution layer C2 can have a configuration similar to convolution layer C1 with 32 filters of size 3×3. Therefore, the output of convolution layer C2 can also include 28×28×32 values, which can be considered as 32 images of 28×28 pixels.

[0152] The output of convolutional layer C2 can be subjected to 20% dropout (see Figure 2 In other words, 20% of the values ​​(corresponding to nodes) in the output of convolutional layer C2 can be randomly selected and ignored.

[0153] After the dropout operation D1, the output of the convolution layer C2 may be further subjected to downsampling by a maximum pooling operation at the first maximum pooling layer MP1. The maximum pooling operation may select the maximum value among multiple input values. Figure 2 In the example of , the maximum pooling layer MP1 can cause a filter of size 2×2 to be applied with a stride of 2 pixels to 32 images of 28×28 pixels output from the convolution layer C2. This can result in 32 output images of 14×14 pixels, each having the maximum intensity value among the pixels of the corresponding image (output from the convolution layer C2) within the corresponding filter. Each filter used in the maximum pooling operation can be considered as a node of the maximum pooling layer MP1.

[0154] The output from the maximum pooling layer MP1 may be provided to a convolutional layer C3 having a configuration similar to the convolutional layers C1 and C2 but applying 64 filters. The output of the convolutional layer C3 may be provided to a convolutional layer C4 having a configuration similar to the convolutional layer C3, with 64 filters of size 3×3. In addition, the output of the convolutional layer C4 may be subjected to a 20% dropout (see D2 of 2), and then subjected to a maximum pooling operation at the maximum pooling layer MP2 in a manner similar to that at the maximum pooling layer MP1 as described above. The output of the maximum pooling layer MP2 may include 7×7×64 values.

[0155] Finally, the output of the maximum pooling layer MP2 can be provided to an output layer having a softmax function. The output layer may include one or more output nodes corresponding to one or more groups (or categories) into which the input image can be classified. Although this example mentions specific parameters (e.g., the number of filters, the percentage of discarding, the number of convolutional layers, the stride, etc.), the methods and systems are not limited to these embodiments, as a range of values ​​for each parameter is contemplated herein.

[0156] Involving Figure 2 In some examples of the exemplary CNN shown, the outputs from the maximum pooling layers MP1 and MP2 may be provided to the outlier detection module 104 ( Figure 1 ), relative to the training Figure 2The training data set of the exemplary CNN shown in the figure is used to detect whether the input image is an outlier. For example, the outlier detection module 104 can construct or fit a latent variable model for the possible input images in the training data set using the outputs from the corresponding maximum pooling layers P1 and MP2 for each of the maximum pooling layers P1 and MP2. The latent variable model can provide a mapping of the outputs of the maximum pooling layers P1 and MP2 to a set of projection values ​​in a subspace (latent variable model subspace) having a dimension lower than the dimension of the outputs of the maximum pooling layers P1 and MP2. The constructed or fitted latent variable model can be used to determine whether the input image (e.g., a newly obtained input cell image not included in the training data set) is an outlier relative to the training data set. More generally, the outlier detection module 104 can be configured to obtain the output of one (or more) of the hidden layers of the deep neural network 100 and use the obtained output to construct or fit the latent variable model. The details of constructing or fitting the latent variable model will be described later below.

[0157] Reference again Figure 1 , prediction 110 may be an output from deep neural network 100. In some examples, prediction 110 may indicate which category the input image was classified into by deep neural network 100.

[0158] The outlier metric 112 may include a method for determining whether an input image is an outlier relative to a training data set used to train the deep neural network 100. Details of the outlier metric 112 will be described later below.

[0159] The interface 114 may be an interface for the application 10 to communicate with various devices that may be provided outside the computing system 1. For example, the interface 114 may be configured to transmit information generated by the application 10 to those devices. In addition, for example, the interface 114 may be configured to receive information directed to the application 10 from those devices.

[0160] The data storage device 12 may be configured to store data used by the application 100. Figure 1 Data storage device 12 is shown as part of computing system 1 , but in some examples, data storage device 12 may be provided external to computing system as long as data stored in data storage device 12 is accessible by application program 10 .

[0161] The user client 20 may be a client device connected to the computing system 1. The user client 20 may include a user application 22 that may use the results of the predictions and outlier detection performed at the computing system 1. A specific example of the user client 20 may be a workstation that is remotely connected to a computing server, for example using an SSH (Secure Shell) or HTTP (Hypertext Transfer Protocol) request. A DNN (Deep Neural Network) may then be applied to the user-provided input on the computing server, and the resulting predictions and outlier metrics may be returned to the user client 20. The user client 20 may be part of the same physical device as the computing system 1 running the application 10, for example on a workstation configured to perform DNN predictions.

[0162] The control and / or analysis system 30 can control the device and / or use the prediction and outlier detection results performed at the computing system 1 to perform further data analysis. An example of the control and / or analysis system 30 can be a control and / or analysis system for monoclonal assurance in a biopharmaceutical manufacturing process, such as a first production step for a monoclonal antibody. Another example can be a control and / or analysis system for diagnostic purposes. The control and / or analysis system 30 may include a program client 32 that runs in the control and / or analysis system 30 to receive input and make decisions on how to control the processing device and / or perform data analysis. A specific example of the present technology relates to characterizing input materials to a control system of a biopharmaceutical manufacturing process. In order to ensure the desired output quality of such a manufacturing process, the control parameters of the process can be adjusted according to the properties of the input materials.

[0163] A heterogeneous combination of data sources can be used to characterize input materials including both structured data and unstructured data such as cell images. Example data sources may include text (such as event reports), images, chromatograms, spectral data, chemical analysis, etc. Deep learning is also suitable for analyzing this heterogeneous combination of data because of its ability to find usable mappings from both structured and unstructured data to a given output. In order to avoid poor output quality or catastrophic failure when the input data does not match the data used to train the deep learning model, it may be important to detect outliers after model training. If the input data is identified as an outlier, the input data may not be used as an input to the manufacturing process because the output quality cannot be guaranteed.

[0164] Another specific example of the present technology is that the control system uses deep reinforcement learning to learn from data rather than being programmed by a human controller. In a biopharmaceutical manufacturing process, there can be a large number of possible control parameters, and discovering all interactions and feedback loops existing in the system can be challenging due to high complexity. In contrast, deep reinforcement learning can be used to learn control strategies from data and simulations. In order to detect when a process enters a state that is different from the state encountered during model training, outlier detection may be important. If such a state is identified as an outlier, the deep learning-based control system can alert the user (e.g., by sending a notification to the user) and / or execute safety routines to avoid poor output quality or catastrophic failures. Examples of the use of deep reinforcement learning can be found in the art (e.g., Li Y., Wen Y., Guan K., and Tao D. (2017), Transforming Cooling Optimization for Green Data Center via Deep Reinforcement Learning, arXiv preprint arXiv:1709.05077; and Nguyen P. and Takashi E. (2018), Automating Water Purification Plant Operations Using Deep Deterministic Policy Gradient, Proceedings of the Workshop (published in the ICML Workshop on Deep Learning for Safety-Critical Engineering Systems)).

[0165] Unlike prior art methods for outlier detection in deep learning models, the present methods do not constrain the way in which the models are designed and / or trained, thereby allowing these methods to be added to models in production. Additionally, because the present techniques are used after the model is trained, the present techniques can be used with models implemented in real-time applications and / or in field applications. In contrast, prior art methods that use multiple forward / inferences per prediction (e.g., where the prediction is used as an average and the standard deviation or entropy is used as an uncertainty measure) can result in increased latency, which is a problem for real-time applications. Furthermore, the proposed techniques are architecture-independent, training-independent, and task-independent.

[0166] The third-party system 40 may be computer-implemented and may include a third-party application 42. The third-party system 40 may belong to an entity different from the entity to which the computing system 1 belongs. The third-party application 42 may use the results of the prediction and outlier detection performed at the computing system 1. An example of the third-party application 42 may be software that relies on the DNN prediction and outlier detection results purchased from the DNN prediction provider.

[0167] Computing system 1 may be connected to user client 20, control system 30, and third-party system 40 via a network such as the Internet. In some examples, one or more of user client 20, control system 30, and third-party system 40 may be connected to computing system 1 via the Internet.

[0168] Predictive Time Outlier Detection Using Partial Least Squares Regression

[0169] As mentioned above, Figure 1 The outlier detection module 104 in the computing system 1 shown can be configured to use at least one of the multiple hidden layers (e.g., Figure 2 The latent variable model is constructed or fitted based on the intermediate output values ​​of the maximum pooling layer MP1 or MP2 (of the deep neural network 100) output to determine whether the input image is an outlier relative to the training data set used to train the deep neural network 100. The intermediate output value can be, for example, a corresponding input image from at least one of the multiple hidden layers of the deep neural network 100. Optionally, if the activation value comes from a feature map, global pooling (e.g., global average pooling) can be applied on each feature map.

[0170] An exemplary technique for outlier detection using partial least squares regression is provided below, which may facilitate understanding of how outlier detection module 104 may detect outliers.

[0171] The concept of model uncertainty is related to prediction time outlier detection. In both cases, the main goal can be to find observations (e.g., cell images) that do not correspond to the observations used by the training model (e.g., cell images included in the training data set). Predictive models have been used to detect out-of-distribution observations during the prediction of manufacturing process monitoring. In this field, linear latent variable models such as partial least squares (PLS) regression can be widely used (see, for example, P. Geladi and BR Kowalski, "Partial least-squares regression: a tutorial", Journal of Analytical Chemistry, Volume 185 Supplement, Pages 1 to 17, January 1986). Similar to the principal component analysis (PCA) (S. Wold, K. Esbensen and P. Geladi, "Principal component analysis", Chemical Metrics Intelligent Experiment System, Volume 2, Issue 1, Pages 37 to 52, August 1987) for prediction, the PLS model can find the subspace of approximate training data. New observations can then be projected into the subspace found by the PLS model. Therefore, during prediction time, both the distance within the subspace and the distance out of the subspace can be used to discover outliers.

[0172] Prediction time refers to the time after a model has been fitted and is used for predictions in an application (but does not include the time spent fitting / training the model when generating it).

[0173] It should be noted that, although simple and effective, the principles of the PLS model as described above may not be directly applicable to deep learning systems. Specifically, the basis of the prediction of PLS ​​is a subspace of the input data space, which enables the new observations to be directly compared with the subspace approximation of those observations used for training. On the other hand, deep learning models typically depend on multiple layers of nonlinear transformations, each of which contributes to the final output. This may mean that seemingly different observations are transformed through a spatial sequence and mapped to the output. This ability to discover available transformations from input to output may be the reason why deep learning models are suitable for unstructured data. However, the result of these transformations may be that the transformation makes it difficult to determine whether the new observations belong to the same data distribution of the training model. There may be no obvious comparison point to determine the knowledge limits of the deep learning model and no obvious way to decide whether the new observations are within those limits.

[0174] PLS regression is a regression model widely used in, for example, manufacturing process monitoring. Given a training data matrix with n rows of observations and p columns of features (denoted as X = [x1...x n ] T ) and a corresponding target matrix with q columns of responses (denoted as Y), the PLS model can summarize these two data matrices. Similar to PCA, PLS can find a full-rank subspace of the same dimension k that approximates X and Y, called the "latent variable space". Compared with PCA, PLS can maximize the covariance between the discovered subspaces instead of maximizing the variance of a single subspace. In short, PLS can approximate the input data as:

[0175] X=TP T +E (1)

[0176] where T = [t1, ..., t k ] can be a full-rank subspace of the common space spanning X and maximizing the covariance with Y, P can be a p×k matrix of PLS ​​loadings, and E can be an n×p matrix of approximated residuals. The loadings can contain the linear combination weights used to approximate X from T. The response matrix of Y can be approximated in a similar manner. More details on how to calculate PLS models and use them for regression can be found in S. Wold, M. and L. Eriksson, “PLS-regression: a basic tool of chemometrics,” Intelligent Laboratory Systems for Chemometrics, Vol. 58, No. 2, pp. 109–130, October 2001.

[0177] The approximation of the input data provided by PLS can be used to detect outliers encountered during prediction. After the model is fitted, new observations can be projected onto the subspace discovered using PLS as follows:

[0178] T new =X new P (2),

[0179] This allows new observations to be approximated as:

[0180]

[0181] Subspace projection T new Both and approximation can be used to detect outliers based on appropriate distance metrics. Two exemplary measures for detecting outliers during prediction time are the Mahalanobis distance in latent variable space and the approximation residual in input column space. Other measures can be comprehensive metric distances of the modeled embedded terms, local outlier factors (LOF), etc.

[0182] One way to detect outliers during prediction time when using PLS can be to use the Mahalanobis distance. The Mahalanobis distance is a known statistic that measures how many standard deviations an observation is from the origin in a multidimensional probability distribution. Intuitively, observations with large Mahalanobis distances are unlikely to be under a given probability distribution. The latent variable probability distribution can be calculated using the covariance matrix C of the latent variables in T. T Parameterize, assuming that the latent variable has zero mean. Then, the projection t in the latent variable space is i The observed value x i The Mahalanobis distance d i can be calculated as:

[0183]

[0184] Although the Mahalanobis distance can measure how unlikely an observation is to be in a given distribution, it may not provide information on whether an observation belongs to that distribution. In contrast, the approximate residuals can provide a simple measure of how far a new observation is from the distribution. Given a fitted PLS model, an observation x i can be approximated as The approximate variance of the square is then simply given by:

[0185]

[0186] where x i,j It can be the jth element of the observation vector. The intuition is that the approximation of observations from another distribution than the training distribution will not produce a large approximation residual.

[0187] Predictive temporal outlier detection for deep neural networks

[0188] The outlier detection module 104 can perform an additive method based on the principle of predicting temporal outliers in, for example, manufacturing process monitoring, as described above, to find observations that may not be explained by the deep neural network 100. The deep neural network 100 can be any type of neural network, such as a convolutional neural network (CNN), a recurrent neural network, a recurrent neural network, a transformer neural network, etc.

[0189] The method performed by the outlier detection module 104 to detect prediction time outliers in a deep learning system can be based on the fact that a neural network can operate by transforming input data. When the input data is fed through a deep neural network, there can be multiple intermediate representations of the data, where the intermediate representations can be used for prediction (e.g., predictions of the groups into which the input data is classified in the case where the deep neural network is configured to solve a classification problem). One or more of these intermediate representations can be used to detect outliers during prediction as well as to perform predictions.

[0190] To provide the possibility to detect outliers during prediction in a manner similar to PLS, a deep neural network (e.g., a feed-forward neural network) can be considered as a series of nonlinear transformations. In other words, the activation vector a of an observation x (such as input data of an input cell image) from layer i = (1, 2, 3, 4, ...) of a given network is i It can be given by a series of built-in transformations, as follows:

[0191] a i =f i (W i f i-1 (W i-1 f i-2 (...f1(W1x)))) (6)

[0192] where f k (k=1, 2, ..., i) can be an activation function, and W k (k=1, 2, ..., i) can be a weight metric. The activation vector a of the observation x i can be considered as the intermediate output from layer i of a given network and can include element values ​​corresponding to the outputs of the corresponding nodes from layer i when the observation x is input into the given network. These activation values ​​a kEach of can provide a feature representation of the input data. While the weight matrix can be commonly obtained through supervised training by means of back-propagation, the activation value can simply provide a transformed or pre-processed representation of the input data.

[0193] To explain the transformation in more detail, the observation x can be an n-dimensional row vector x = [x1x2...x n ], where n depends on the application. In the case where x is a single-channel image, n can be the length of the image (in pixels) multiplied by the width of the image (in pixels), and the values ​​x1, x2, ..., x n is the pixel value of the image. In the first layer, x is a matrix that is multiplied by the first weight matrix W1 to form a linear projection of n1 dimensions The dimension of W1 is n×n1. After linear projection, the activation function f1 is applied to To form the activation value a1. The activation function f1 can be a nonlinear function. Common choices for the activation function include a modified linear function f(x)=max(0,x), a sigmoid function f(x)=(1+e -x ) -1 , softmax function Etc. Then, the activation value a1 is the matrix multiplied by the weight matrix W2, and the resulting linear projection Use the activation function to transform. The process of multiplying the matrix by the weight matrix and transforming using the activation function is repeated i times until the activation value a of layer i is obtained i until.

[0194] Using these intermediate representations, we can provide a plug-and-play method for detecting outliers in any deep neural network (e.g., any feed-forward neural network). Given a trained network, we can use the activation matrix A from layer i i =[a 1,i ...a n,i ] T to represent the training data, where n can be the number of observations. i may not be of full rank, so one might expect to find something that can be used to approximate A i In some examples, PCA can be used to obtain a subspace using linear projection to map the data to a low-dimensional subspace. In some other examples, other methods such as autoencoders, random projections, sparse principal component analysis, and / or self-organizing maps can be used to map the data to a low-dimensional subspace.

[0195] In the example using PCA, the dimensionality of the training data activations can be reduced to m dimensions to obtain:

[0196] T A , PA = PCA(A i ) (7)

[0197] Similar to PLS, T A can denote the latent variable matrix spanning the subspace of the training set activation values, and P A PCA loadings can be indicated. For example, in matrix form PCA can provide the following least squares model:

[0198]

[0199] It can be considered similar to equation (1) as described above.

[0200] In the same manner as PLS, the covariance matrix of the latent variables and the loading matrix can be used to detect prediction time outliers based on an appropriate distance metric (such as Mahalanobis distance, approximate residuals, comprehensive metric distance of the modeled embedded terms, local outlier factor (LOF), etc.).

[0201] When using a trained neural network to predict a new observation (e.g., a new cell image), we can also extract the activation value A i,new The new activations can be projected into the subspace discovered from the training data activations in the same way as when using PLS:

[0202] T A,new =A i,new P A (9)

[0203] And the distance of the new observation can be calculated according to equation (4), for example, the Mahalanobis distance.

[0204] The new activation value can also be approximated using the PCA loading as:

[0205]

[0206] The approximate residual calculated according to the following equation (11) (similar to equation (5)) can also be used to detect outliers in the same way as when using PLS:

[0207]

[0208] Where p may indicate the number of nodes in layer i.

[0209] The distance determined may also be a composite distance measure formed by combining two or more of the described distances. One example is combining the Mahalanobis distance with the residual distance given by the square root of the sum of squared residuals using the Euclidean norm, as follows:

[0210]

[0211] The above is just one example of a combined distance metric, many other combinations are possible.

[0212] The above equations (ie, Equations (7) to (12)) have been adapted in a novel manner as provided herein to apply activation values ​​from a deep neural network.

[0213] Procedure for system setup

[0214] Figure 3 The left-hand portion of is a flowchart of an exemplary process for setting up the computing system 1. Figure 3 The exemplary process shown may be performed by application program 10 of computing system 1 .

[0215] At step S10, the application 10 may obtain data from the data storage device 12. The data may be part of a training data set for training the deep neural network 100. The training data set may include possible observations input to the deep neural network 100. The training data set may specifically include possible cell images as possible observations, such as living cell images. The cell images may be, for example, microscopic cell images. When the deep neural network 100 is, for example, Figure 2 In the case of the CNN shown, the training dataset may include possible input images to the CNN as possible observations.

[0216] At step S12, the application 10 may determine whether the deep neural network 100 has been trained. Step S12 may be performed before, after, or in parallel with step S10.

[0217] If it is determined that the deep neural network 100 has not been trained (No at step S12), the process may proceed to step S14. If it is determined that the deep neural network 100 has been trained (Yes at step S12), the process may proceed to step S16. Alternatively, the deep neural network 100 may be fine-tuned before proceeding to step S16.

[0218] At step S14 , the application 10 may train the deep neural network 100 using the data acquired at step S10 .

[0219] At step S16, the application 10 may transform the data using the deep neural network 100. At step S17, the application 10 may obtain an intermediate output value (a first intermediate output value set) output from at least one of the multiple hidden layers of the deep neural network 100. Specifically, for example, the application 10 may obtain an activation vector of a possible input image in the training data set from at least one layer of the deep neural network 100 according to the above equation (6). The activation value refers to the result of a sequence of matrix multiplications and a transformation of the observed value using an activation function, as described by equation (6). Optionally, if the activation value is from a feature map, global pooling, such as average pooling, may be applied to each feature map.

[0220] At step S18, the application 10 may fit a latent variable model to the intermediate output values, such as (optionally pooled) training set activation values. In other words, the application 10 may construct a latent variable model. For example, the application 10 may use PCA to obtain a latent variable matrix T A and PCA loading P A , as described above (see, e.g., Equations (7) and (8)). Alternatively, an application may train an autoencoder using the (optionally pooled) activation vectors as input.

[0221] At step S20, the application may project the activation values ​​using the latent variable model. For example, the application 10 may obtain a corresponding set (e.g., T) of projected values ​​in the subspace found by constructing / fitting the latent variable model from the activation vector obtained at step S17.

[0222] At step S22, the application 10 may use the latent variable model to calculate one or more sets of distances for the training set images. For example, the application may calculate data of activation values ​​of the data. Any suitable distance metric may be used. For example, the application 10 may calculate the Mahalanobis distance of each of the activation vectors obtained at step S17 relative to the latent variable model constructed at step S18 according to equation (4) above. Additionally or alternatively, for example, the application 10 may calculate the squared approximation residual of each of the activation vectors obtained at step S17 according to equation (11) above.

[0223] At step S24, the application 10 may determine a threshold for the distance. Additionally or alternatively, a threshold for the squared approximate residual may be determined. The threshold may later be used to determine whether a new observation (e.g., an input image) is an outlier relative to the training data set. To obtain the threshold, the distance and / or the squared approximate residual calculated at step S22 may be used. For example, the threshold may be a percentile of the distance (or squared approximate residual) calculated at step S22, e.g., the 95th percentile. It should be noted that the "95th percentile" is merely an example, and values ​​greater than or less than 95 may also be used as percentiles for determining the threshold.

[0224] The process for system setting may end after step S24.

[0225] Process for outlier detection

[0226] Figure 3 The right hand side of shows an exemplary process performed by computing system 1 for detecting outliers.

[0227] The process can begin by deploying a deep neural network. For example, a deep neural network can be incorporated into the software used to process cell images. This can be within the imaging device itself, or as a separate software module for analysis.

[0228] At step S30, the application 10 may receive a new observation (a new cell image). For example, in the case where the deep neural network 100 is Figure 2 In the case of the CNN shown, an image to be input to the CNN can be received as a new observation value.

[0229] At step S32, the application 10 may transform the new observation using a deep neural network. The transformation may include, for example, computing a deep neural network prediction for the new cell image.

[0230] The application can then determine whether the new cell image is an outlier. This can be performed as follows:

[0231] At step S33, the application 10 may obtain an intermediate output value (a second intermediate output value set) output from at least one of the multiple hidden layers of the deep neural network 100. For example, the application 10 may obtain an activation vector of a new observation value from at least one layer of the deep neural network 100 according to the above equation (6).

[0232] At step S34, the application 10 may project the determined intermediate values ​​(the second set of intermediate values) using the latent variable model constructed / fitted at step S18 as described above. For example, the application 10 may obtain from the activation vector obtained at step S32 the corresponding set of projected values ​​in the subspace found by constructing / fitting the latent variable model (see equation (9)) (e.g., T A,new ).

[0233] At step S36, the application 10 may calculate the distance of the new observation using the latent variable model of step S18 as described above. For example, the application 10 may calculate the Mahalanobis distance of the activation vector of the new observation obtained at step S32 relative to the latent variable model constructed at step S18 according to equation (4) above. Additionally or alternatively, for example, the application 10 may calculate the squared approximation residual of the activation vector of the new observation obtained at step S32 according to equation (11) above. Other suitable distance metrics may be used instead of the Mahalanobis distance and the squared approximation residual.

[0234] At step S38 , the application 10 may determine whether the distance calculated at step S36 is greater than the threshold value determined at step S24 .

[0235] If yes at step S38, then the process may proceed to step S40 and the application 10 may determine that the new observation is an outlier. In this case, the system may report the model prediction as an unreliable prediction because the new observation was determined to be an outlier. The process may end after step S40. Alternatively, other application specific actions may be taken. For example, the prediction of the deep neural network may be ignored and the outlier image may be discarded.

[0236] If no at step S38, the process can proceed to step S42, and the application 10 can determine that the prediction made by the deep neural network 100 for the new observation can be trusted. In this case, the system can report the model prediction as a reliable prediction because the new observation is determined to be a non-outlier. The process can end after step S42. Alternatively, the new cell image can be further processed.

[0237] experiment

[0238] In this section, experimental results of outlier detection performed by the exemplary computing system 1 will be described. In the following experiments, the deep neural network 100 is used to solve image classification or image segmentation tasks.

[0239] Example 1: Protein localization in fluorescence confocal imaging

[0240] The example of the above method for outlier detection relates to protein localization in confocal microscopy images of localized fluorescent markers. The image is analyzed using the method described in Kraus et al., "Automated analysis of high-content microscopy data with deep learning", Molecular Systems Biology, Vol. 13, No. 4, p. 924, 2017. In this example, Chong et al., "Yeast proteome dynamics from single cell imaging and automated analysis", Cell 11, Vol. 161, No. 6, p. 1413 to 1424, 2015 provided data. The data include dual-channel spinning disk confocal images of single yeast cells with GFP-tagged proteins, where localization markers are located to 19 compartments. The same training, validation and test set splits (each with 21882, 4491 and 4516 images) provided by Chong et al. and preprocessing provided by Kraus et al. are used.

[0241] In addition, certain compartments were combined and excluded as described by Chong et al. The vacuole and tonoplast compartments were combined from the original 19 compartments. Dead cells, ghost cells, and cells labeled as spindles were excluded. In the outlier detection example, the excluded compartments were used as outliers.

[0242] In contrast to the DeepLoc model used by Kraus et al., in the current example, a fully convolutional classifier inspired by the ResNet approach described in K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 770–778, is used, with skip connections and pre-activations and leaky ReLu activations (see AL Maas, AY Hannun, and AY Ng, "Rectifier nonlinearities improve neural network acoustic models," Proc. ICMl, 2013, vol. 30, p. 3), instead of regular ReLu activations.

[0243] Figure 4AThe basic architecture of the deep neural network used is schematically shown. The deep neural network takes an input of size n×n×f (e.g. 60×60×2), where f is the number of features. The deep neural network comprises a first convolutional layer comprising a 7×7 convolution followed by a Leaky Relu, which increases the number of features to 64. If the input has size 60×60×2, then the output of the first convolutional layer has “60×60×64” values. The first convolutional layer is followed by three consecutive groups of layers, each group comprising two layers. The first of the two layers in the group (the residual operation layer) comprises a residual block ( Figure 4B ) is followed by a Leaky ReLu and produces an output with the same size as the input of the layer. The second of the two layers in the group (the downsampling layer) includes a downsampling block followed by a Leaky ReLu and transforms an input of size "n×n×f" to an output of size "n / 2×n / 2×2f". Downsampling can use so-called strided convolutions, which means that the convolution operator is not applied to every pixel position in the feature map but to every two positions, resulting in an output feature map of half the size of the input. The number of pixel positions between each application of the convolution operator is denoted as the stride and must be a positive integer. Fig. 8A It shows that it can be Figure 4A An example of downsampling operations that make up the downsampling block used in the network shown.

[0244] The last downsampling layer of each group of layers is followed by another residual operation layer including residual blocks and leaky ReLu. In the case of an input of size "60×60×2" to the deep neural network, this layer produces an output of size "8×8×512". After applying global average pooling to the generated feature map, an output of size "1×15" is produced.

[0245] Figure 4B The operations of the residual blocks that make up the operation are shown. Each residual block takes an input of size "n×n×f" and transforms it into an output of the same size. The residual block includes batch normalization, followed by two groups of subsequent operations, each group including batch normalization, activation, and 3×3 convolution. The "n×n×f" output of the last convolution and the "n×n×f" input are added element-by-element to produce the "n×n×f" size output of the residual block.

[0246] Data splitting was used to improve training. The data splitting included random horizontal and vertical flips, random rotations up to 90 degrees, random jerks up to 5 degrees, random scaling up to 10%, and width and height shifts and random channel shifts up to 30%. The deep neural network was trained using categorical cross entropy as the loss function for 100 epochs to minimize and batch size 128. In addition, the Adam optimizer (D.P.Kingma and J.Ba, "Adam: A Method for Stochastic Optimization", arXiv:1412.6980[cs], December 2014) with warm restarts (I.Loshchilov and F.Hutter, "SGDR: StochasticGradient Descent with Warm Restarts", arXiv:1608.03983[cs, math], August 2016) was used, with an initial maximum learning rate of 10 -5 and the minimum learning rate is 10 -3 , with an epoch length of 5 and each epoch having a 20% learning rate decay and a 50% epoch length increase. A classification accuracy of 94.3% is achieved on the test set.

[0247] To demonstrate the relevance of predictive temporal outlier detection, the omitted protein classes (spindle cells as well as dead and ghost cells) were classified using a trained deep learning neural network. Figure 5 The classification results are shown. Figure 5 The upper part shows a bar chart of the frequencies of the predicted classes. Figure 5 The lower part of shows a violin plot of the predicted softmax confidence (bottom) for the excluded image classes used in the protein localization study. The horizontal line in the violin plot indicates the median value.

[0248] Both dead cells and ghost cells were predicted to be in the cytoplasm with high confidence but the median confidence was lower for ghost cells. Spindle images were mostly classified as spindle poles. Prediction time outlier detection was then performed by using the latent variable model based technique described above. The performance of different PCA R2 was evaluated using the F1-score.

[0249] Figure 6Results of F1-score evaluation of outlier detection for excluded classes in protein localization scenario studies are shown. PCA R2 for outlier detection is on the X-axis, F1-score is on the Y-axis and each sub-figure shows evaluation using different distance metrics, i.e., residual sum of squares (RSS), Mahalanobis distance and local outlier factor (see, e.g., M.M. Breunig, H.-P. Kriegel, R.T.N.g, and J. Sander, "LOF: Identifying Density-based Local Outliers", Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, New York, NY, USA, 2000, pp. 93-104).

[0250] According to previous experiments, high PCA R2 performs best. All metrics reliably detect ghost cells as outliers at 90+% R2 (F1-score at ~0.8), while only LOF is able to detect dead cells (F1-score at ~0.5). Figure 6 As can be seen, all metrics fail to detect the spindle images as outliers, which is not surprising because they are part of the same subcellular structure as the spindle poles. For comparison, the results from the method for outlier detection according to the above example are compared with the baseline method proposed by Hendrycks et al. (Hendrycks, Dan and Kevin Gimpel, "A baseline for detecting misclassified and out-of-distribution examples inneural networks", arXiv preprint arXiv:1610.02136 (2016)), where uncertainty is expressed as a lack of confidence in the softmax classifier. More specifically, for each image, uncertainty is represented by 1 minus the maximum softmax output (1 represents the maximum uncertainty). This baseline method is often used in practice because it is easy to implement. Using a confidence-lack based approach using a cutoff of 0.415 corresponding to the 95th percentile of training set confidence-lack, an F1-score of 0.27 for outlier detection was achieved for dead cells, 0.52 for ghost cells and 0.24 for spindle images. Except for spindle images, confidence-lack performed significantly worse than the approach for outlier detection according to the above example.

[0251] Experimental data show that using latent variable model-based techniques according to the above aspects and techniques, it is possible to detect outlier classes that were confidently predicted as inlier classes in classification studies of live cell imaging. The outlier images can then be studied in more detail, exposing classes that were not considered when training the model.

[0252] Example 2: Phase-contrast image segmentation

[0253] Example 2 relates to outlier detection in the context of image segmentation. The deep neural network 100 is a convolutional neural network trained to segment phase-contrast cell images. Eight cell types (HUVEC, Jurkat, HeLa, A549, HT-1080, PC3, SKOV-3, and MDA-MB-231) were grown in 3 to 4 wells, each for a period of four days. Phase-contrast images were captured every 12 hours at a resolution of 1500×1000 px at 10× magnification, and fusion and cell nucleus masks were calculated using IncuCyte. One well was randomly picked for each cell type as a test set. To simulate outliers, all images from PC3, SKOV-3, and MDA-MB-231 were excluded from the training set.

[0254] To provide a segmentation response, the fusion and nucleus masks are combined. In addition, a separate mask channel with nucleus boundaries is calculated according to Ronneberger et al. using morphological operators (see Ronneberger, P. Fischer and T. Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation", arXiv:1505.04597 [cs], May 2015) to facilitate the separation of adjacent nuclei. The masks are combined to provide four channel masks indicating background, cell area, nucleus and nucleus edge. The phase-contrast images are preprocessed by subtracting the mean phase intensity and dividing by the phase intensity standard deviation. Subsequently, the scaled phase intensity is clipped to a range of -10 to +10 standard deviations, and then divided by 10 to obtain a phase intensity in the range of -1 to +1. Finally, all high-resolution phase-contrast images are clipped to 224 × 224px clips without overlap using matching distribution masks.

[0255] For segmentation, the test images were used to train a fully convolutional segmentation network inspired by the U-net architecture (see O. Ronneberger, P. Fischer, and T. Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation", arXiv:1505.04597[cs], May 2015). The U-Net network as disclosed in O. Ronnebertger et al. has two paths: a contracting path and an expanding path. The contracting path follows the architecture of the convolutional network and includes repeated applications of two 3×3 convolutions (without padding convolutions), each followed by a rectified linear unit (ReLU) and a 2×2 max pooling operation with stride 2 for downsampling. At each downsampling step or corresponding downsampling layer, the number of feature channels is doubled. Each step or layer in the dilation part consists of an upsampling of the feature map, followed by a 2×2 convolution that halves the number of feature channels (“upconvolution”), a concatenation with the correspondingly pruned feature map from the contraction path, and two 3×3 convolutions, each followed by a ReLu operation.

[0256] Compared to the original U-net architecture described in O. Ronneberger et al., skip connections, pre-activation values ​​and batch normalization are used, similar to the original ResNet (He Kaiming et al., "Deep residual learning for image recognition", Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016). In addition, Leaky ReLu activation values ​​with α = 0.3 are used (AL Maas, AY Hannun and AY Ng, "Rectifier nonlinearities improve neural network acoustic models", in Proc. ICMl, 2013, Vol. 30, p. 3) instead of regular ReLu activation values.

[0257] Figure 7 The architecture of the adopted deep neural network is schematically shown. Fig. 8A The convolutional downsampling block is shown, and Figure 8B A convolutional upsampling block is shown.

[0258] As explained above, the adopted deep neural network is of U-Net type and has two paths: a contracting path and an expanding path. The contracting path comprises a first convolutional layer comprising a 7×7 convolution followed by a Leaky Relu, which increases the number of features to 32. If the input is an image of 224×224 pixels, then the output of the first layer has “224×224×32” values, which can be considered as a set of 32 images, each with 224×224 pixels. The first layer is followed by 5 other layers (encoding layers), each of which takes an input of size “n×n×f” and produces an output of size “n / 2×n / 2×2f”. The output of a layer corresponds to the input of the subsequent layer. Each of the 5 encoding layers comprises a downsampling block followed by a Leaky ReLu operation. In Fig. 8A The downsampling block is shown in . The downsampling block takes an input of size “n×n×f” and applies some operations to produce an output of size “n / 2×n / 2×2f”. The operations include batch normalization, followed by activation, a 1×1 convolution with stride 1 for downsampling, and two blocks of operations, each consisting of batch normalization, activation, and 3×3 convolution. The downsampled result of the last 3×3 convolution of size “n / 2×n / 2×2f” is added element-wise to the output of a set of operations applied to the “n×n×f” input, which includes batch normalization, followed by a 1×1 convolution with stride 2 to produce an “n / 2×n / 2×2f” output. An activation value is applied to the result of the element-wise addition.

[0259] The expansion path includes 5 decoding layers, each of which includes an upsampling block and a Leaky ReLu. Each decoded layer is concatenated with the correspondingly cropped feature map from the contraction path, such as Figure 7 As shown in Figure 2. The final connection is followed by an additional convolutional layer including a 7×7 convolution and a leaky Relu. The additional layer is followed by an output layer including a 1×1 convolution and a softmax operation, resulting in an output of size “224×224×4”.

[0260] Each of the decoding layers takes an input of size “n×n×f” which undergoes some operations to produce an output of size “2n×2n×f / 2”. Figure 8B The upsampling blocks included in each decoding layer are shown. The operations included in each upsampling block include batch normalization, followed by activation, 1×1 transposed convolution for upsampling, and two operation blocks, each consisting of batch normalization, activation, and 3×3 convolution. The upsampling result of the last 3×3 convolution (of size "2n×2n×f / 2") is added element-wise to the output of a set of operations applied on the input of size "n×n×f", which includes batch normalization and 1×1 transposed convolution to produce an output of size "2n×2n×f / 2". Activation values ​​are applied to the result of the element-wise addition.

[0261] To reduce the risk of overfitting, a data split was used, including random horizontal and vertical flips, random rotations up to 20 degrees, vertical and horizontal shifts up to 20%, random shears up to 10 degrees, and random scaling of 10%. The deep neural network was trained with a batch size of 8 for 25 epochs. Similar to Ronneberger et al., the Dice coefficient loss was used, however, the sum of the per-channel Dice coefficient losses was optimized instead of the single-channel loss. The optimizer used was the Adam optimizer with warm restarts (see I. Loshchilov and F. Hutter, “SGDR: Stochastic Gradient Descent with Warm Restarts”, arXiv:1608.03983[cs,math], August 2016), as in O. Ronneberger, P. Fischer, and T. Brox, “U-Net: Convolutional Networks for Biomedical Image Segmentation”, arXiv:1505.04597[cs], May 2015, where the maximum learning rate is 10 -3 And the minimum learning rate is 10 -6 , the cycle length was started at 5 epochs, increasing the cycle length by 50% and reducing the maximum learning rate by 10% each cycle. After training, a pixel-by-pixel accuracy of 92.2% was achieved on the test set images and 87.3% accuracy was achieved on the excluded cell types.

[0262] To detect outliers, latent variable models were fitted using both the deepest encoding (14×14×512 downsampled output) and the last convolutional layer before the output softmax layer. Different models were fitted using different levels of PCA R2 (50% to 99.99%) and distance metrics (RSS, Mahalanobis distance, and LOF). The results were evaluated using ROC-AUC that separated the test set images from the outlier images. Fig. 9 The results of the tests are summarized in . In this example, the deepest encoded features gave the most consistent results, and the features at the last level were comparable only when LOF was used as the distance metric. According to the earlier results, the best results were achieved with a high PCA R2 (99.9% or 99.99%). The fact that the outliers are not more strongly separated from the test set images can be explained by the fact that the outlier classes simply no longer differ from the training set images. This is supported by the fact that for the excluded cell types, the segmentation accuracy is still quite high (87.3% compared to 92.2% for the test set).

[0263] This experimental data shows that the method for detecting outliers using latent variable-based techniques according to the aspects and examples described above is capable of not only reliably detecting outliers in classification tasks, but also detecting outliers in segmentation tasks using complex fully convolutional neural networks.

[0264] Other Examples

[0265] Another exemplary method for analysis of cell images comprises the following steps:

[0266] S101: Provide images from a cell imaging device (eg, a microscope), and these images constitute a training set.

[0267] S102: Train a deep neural network or fine-tune a pre-trained deep neural network. The deep neural network may be a convolutional neural network.

[0268] S103: Select one or more layers of the deep neural network and calculate activation values ​​of images from the layer / those layers.

[0269] S103a: Optionally, if the activation values ​​are from feature maps, global pooling, such as global average pooling, is applied on each feature map.

[0270] S104: Fit a latent variable model on the (optionally pooled) training set activations.

[0271] S105: Using the latent variable model to calculate one or more groups of distances of the training set images.

[0272] S106: Select a threshold based on the distance of the training set images, for example, the 95th percentile of the training set distance.

[0273] S107: Deploy the deep neural network. In other words, incorporate the deep neural network into the software used to process the cell images. The software can be implemented in the imaging device itself, or implemented as independent software for analysis.

[0274] S108: Calculate the deep neural network prediction for the new image.

[0275] S109: Determine whether the specific new image is an abnormal image by executing the following steps:

[0276] S109a: Calculate activation values ​​of the layers used to fit the latent variable model in S105. Optionally, global pooling can be applied;

[0277] S109b: Use the activation values ​​from S109a and the latent variable model in S105 to calculate the distance model;

[0278] S109c: Compare the distance from S109b with the threshold distance from S106;

[0279] i. If the distance of S109c is greater than the threshold in S106, the new image is considered an outlier. Application specific actions are then taken. For example, the end user may be warned to manually analyze the outliers before proceeding. The deep neural network prediction from S108 may be ignored and the outlier image discarded.

[0280] ii. If the distance of S109c is not greater than the threshold in S106, the new image is not considered an outlier and the prediction from S108 is accepted.

[0281] Variants

[0282] In some of the above examples, a convolutional neural network (CNN) is used. However, the deep neural network 100 is not limited to a convolutional neural network, but can be any type of neural network, such as a recursive neural network, a recurrent neural network, a transformer neural network, etc.

[0283] In some of the above examples, activation values ​​from a single hidden layer are used to perform outlier detection.

[0284] In some other examples, activation values ​​from two or more hidden layers can be used to perform outlier detection. For example, in order to avoid the difficulty of selecting which layer to use for outlier detection, Gaussian kernel density estimation can be used to combine measurements from all (hidden) layers, which has been used to detect outliers (see, for example, LJLatecki, A.Lazarevic, and D.Pokrajac, "Outlier Detection with Kernel Density Functions", Machine Learning and Data Mining in Pattern Recognition, 2007, pp. 61 to 75; E.Schubert, A.Zimek, and H.Kriegel, "Generalized Outlier Detection with Flexible Kernel Density Estimates", Proceedings of the 2014 SIAM International Conference on Data Mining, Vol. 0, Society for Industrial and Applied Mathematics, 2014, pp. 542 to 550). Kernel density estimates can be calculated separately for the training set Mahalanobis distance and the residual sum of squares, but all layers are combined. Monte Carlo integration can be used to approximate the probability of each image based on the obtained kernel density function. The outlier detection performance can be evaluated in the same way as the above experiments.

[0285] In other examples, when integrating over several embeddings (e.g., activations from several layers), a wrapping method (see, e.g., A. Lazarevic and V. Kumar, “Feature Bagging for Outlier Detection,” in Proceedings of the 11th ACM SIGKDD International Conference on Knowledge Discovery in Data Mining, New York, NY, USA, 2005, pp. 157–166) can be used instead of direct kernel density.

[0286] Furthermore, it is possible to use other methods on the learned representations, GMM-like SMVs, clustering, etc.

[0287] Furthermore, in various embodiments and examples described herein, instead of using a simple measure such as the Mahalanobis distance, a more local measure such as the local outlier factor or LOF (see, e.g., M.M. Breunig, H.-P. Kriegel, R.T.N.g, and J. Sander, "LOF: Identifying Density-based Local Outliers", Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, New York, NY, USA, 2000, pp. 93-104) can be applied directly in the PCA space. In principle, any suitable distance metric or combination of distance metrics can be used, such as a comprehensive metric distance to the modeled embedding, a sum of squares, a local outlier factor, etc.

[0288] As described above, there may be various applications of the methods and systems as described herein. One of the possible applications may be phase microscope image analysis. The task of identifying nuclei from phase contrast images is challenging and typically relies on fluorescent markers bonded to the nuclei to provide additional image channels that highlight the position of the nuclei. By applying deep CNN, a model that separates the background from the cells and identifies the nuclei of the cells from the phase contrast images without using fluorescent labels can be generated and trained. If CNN is trained on phase contrast images from multiple cell types, then CNN can also identify new previously unforeseen cell types. In order to determine when unforeseen cell types are greatly different from the cell types used for CNN training, prediction time outlier detection can be applied. If the phase microscope images from the new cell types are detected as outliers, then the user may receive the following warning: the CNN separation of cells and background and the detection of nuclei are unreliable. In this case, the CNN system provided can send a signal that the CNN model needs to be retrained so that cells are reliably separated from the background for the new cell types and nuclei are identified from the phase contrast images.

[0289] Hardware Configuration

[0290] Fig.10 An exemplary hardware configuration of a computer that may be used to implement at least a portion of the computing system 1 and / or perform the methods described above is shown. Fig.10 The computer 7 shown includes a central processing unit (CPU) 70, a graphics processing unit (GPU) 88, a system memory 72, a network interface 74, a hard disk drive (HDD) interface 76, an external disk drive interface 78, and an input / output (I / O) interface 80. These components of the computer are coupled to each other via a system bus 82. The CPU 70 can perform arithmetic, logic, and / or control operations by accessing the system memory 72. The GPU 88 can perform processing related to graphics images and / or matrix operations required for deep learning. The GPU 88 may include multiple processors (e.g., cores) that can perform parallel processing, which can result in higher performance of the computing system 1. The CPU 70 and / or the GPU 88 may implement the processors of the exemplary devices and / or systems described above. However, in some examples, the computer 7 does not necessarily include the GPU 88. The system memory 72 may store information and / or instructions for use in conjunction with the CPU 70. The system memory 72 may include volatile and non-volatile memory, such as a random access memory (RAM) 720 and a read-only memory (ROM) 722. A basic input / output system (BIOS) containing the basic routines that help to transfer information between elements within the computer 7, such as during the startup process, can be stored in the ROM. The system bus 82 can be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The CPU 70 can also be connected to one or more sensors (not shown) via one or more corresponding interfaces (not shown) and the bus 82. The sensor can measure physical conditions or states, including but not limited to: temperature, pH, pressure, etc. Additionally, the sensor can include other types of measurement or detection devices, including but not limited to, imaging devices, microphones, spectral sensors, etc. The controller can control physical conditions or states, including but not limited to: temperature, magnetic flux, stirring, etc.

[0291] The computer may include a network interface 74 for communicating with other computers and / or devices via a network.

[0292] In addition, the computer may include a hard disk drive (HDD) 84 for reading and writing from a hard disk (not shown) and an external disk drive 86 for reading or writing from a removable disk (not shown). The removable disk may be a disk for a disk drive or an optical disk for an optical disk drive, such as a CD ROM. The HDD 84 and the external disk drive 86 are connected to the system bus 82 via the HDD interface 76 and the external disk drive interface 78, respectively. The drive and its associated computer-readable medium provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data of a general-purpose computer. The data structure may include relevant data for implementing the exemplary method and its variants as described herein. The relevant data may be organized in a database, such as a relational or object database.

[0293] Although the exemplary environment described herein employs a hard disk (not shown) and an external disk (not shown), those skilled in the art will appreciate that other types of computer-readable media that can store data accessible by a computer, such as magnetic tape cassettes, flash memory cards, digital video disks, random access memory, read-only memory, etc., may also be used in the exemplary operating environment.

[0294] Many program modules may be stored on the hard disk, external disk, ROM 722 or RAM 720, including an operating system (not shown), one or more application programs 7202, other program modules (not shown), and program data 7204. An application program may include at least a portion of the functionality described above.

[0295] The computer 7 can be connected to an input device 92 (such as a mouse and / or a keyboard) and a display device 94 (such as a liquid crystal display) via corresponding I / O interfaces 80a and 80b and a system bus 82. In the case where the computer 7 is implemented as a tablet computer, for example, a touch panel that displays information and receives input can be connected to the computer 7 via the corresponding I / O interface and the system bus 82. In addition, in some examples, although not shown in FIG. 18, the computer 7 can also be connected to a printer and / or an imaging device, such as a camera, via the corresponding I / O interface and the system bus 82.

[0296] In addition to or as an alternative to the implementation using the computer 7 shown in Figure 18, part or all of the functions of the exemplary embodiments described herein may be implemented as one or more hardware circuits. Examples of such hardware circuits may include, but are not limited to, large scale integration (LSI), reduced instruction set circuits (RISC), application specific integrated circuits (ASICs), and field programmable gate arrays (FPGAs).

[0297] Here are some typical scenarios where the above aspects and examples can be used:

[0298] -A laboratory with a cell imaging platform. A deep learning-based software is coupled to the imaging platform, which performs segmentation of cells and background and detection of cell nuclei. Images are collected over a very large range, which means that each image cannot be manually controlled. Due to problems with the imaging technology, for some images, the cell imaging platform may fail to bring the cells into focus. An outlier detection module, which may be part of the deep learning-based software, detects that there are some problems with these out-of-focus images and issues corresponding warnings to the user (e.g., an operator). The problematic images can be shown to the user, who can then take corresponding actions, such as removing them from the analysis. It is also possible to automatically remove problematic images from the analysis. In the absence of an outlier detection module, problems with the image will not be detected, which may potentially lead to erroneous analysis.

[0299] -A lab with cell imaging and deep learning based software as described above. The underlying deep learning model is trained on a set of different cell types. Now, the user wants to analyze images of a new, previously unused cell type. The outlier detection module allows the deep learning module to detect and allow the system to warn the user when a new cell type is too different from the cell types used during training in order to use it safely.

[0300] Glossary

[0301] ASIC Application-Specific Integrated Circuit

[0302] BIOS Basic Input / Output System

[0303] CD ROM Compact Disc Read Only Memory

[0304] CNN Convolutional Neural Network

[0305] CPU Central Processing Unit

[0306] DNN Deep Neural Network

[0307] GPU Graphics Processing Unit

[0308] FPGA Field Programmable Gate Array

[0309] HDD Hard Drive

[0310] HTTP Hypertext Transfer Protocol

[0311] I / O Input / Output

[0312] LSI Large Scale Integration

[0313] LOF Local Outlier Factor

[0314] MC - Dropout Monte Carlo Dropout

[0315] PCA Principal Component Analysis

[0316] RAM Random Access Memory

[0317] ReLu / Relu Rectified Linear Unit

[0318] RISC Reduced Instruction Set Circuit

[0319] ROC-AUC Area under the receiver operating characteristic curve

[0320] ROM Read Only Memory

[0321] RSS Residual sum of squares

[0322] SSH Secure Shell

Claims

1. A computer-implemented method for analysis of cell images, comprising: Obtaining a deep neural network (100) and at least a portion of a training data set for training the deep neural network, the deep neural network comprising a plurality of hidden layers and trained by using the training data set, the training data set comprising a plurality of possible cell images that can be input to the deep neural network; obtaining a first set of intermediate output values ​​output from at least one of the plurality of hidden layers, each of the first set of intermediate output values ​​being obtained by inputting a different one of the possible cell images included in the at least a portion of the training data set; constructing / fitting a latent variable model using the first set of intermediate output values, the latent variable model providing a mapping of the first set of intermediate output values ​​to a first set of projected values ​​in a subspace having a dimension lower than a dimension of the intermediate output set; receiving a new cell image to be input into the deep neural network; storing the latent variable model and the first projection value set in a storage medium, Wherein, the method further comprises: Obtaining a second intermediate output value set output from the at least one of the plurality of hidden layers of the deep neural network by inputting the received new cell image into the deep neural network; using the latent variable model to map the second set of intermediate output values ​​to a second set of projection values; and It is determined whether the received new cell image is an outlier relative to the training data set based on the latent variable model and the second projection value set.

2. A computer-implemented method comprising: Receiving a new cell image to be input to a deep neural network (100), the deep neural network having a plurality of hidden layers and trained using a training data set, the training data set comprising possible cell images that can be input to the deep neural network; Obtaining a second intermediate output value set output from at least one of the plurality of hidden layers of the deep neural network by inputting the received new cell image into the deep neural network; using a latent variable model stored in a storage medium to map the second intermediate output value set to a second projection value set; as well as determining whether the received new cell image is an outlier relative to the training data set based on the latent variable model and the second projection value set, The latent variable model stored in the storage medium is constructed by the following operations: obtaining a first set of intermediate output values ​​output from said one of said plurality of hidden layers of said deep neural network, each of said first set of intermediate output values ​​being obtained by inputting a different one of said possible cell images included in said at least a portion of said training data set; as well as The latent variable model is constructed using the first intermediate output value set, the latent variable model providing a mapping of the first intermediate output value set to a first projected value set in a subspace of the latent variable model, the subspace having a dimension lower than a dimension of the intermediate output set.

3. The method according to claim 2, wherein the step of determining whether the received new cell image is an outlier comprises: determining a distance of the second set of projection values ​​relative to a distribution of the first set of projection values; as well as If the calculated distance is greater than the determined distance threshold, it is determined that the received new cell image is an outlier relative to the training data set. 4 . The method of claim 3 , wherein the threshold value for the distance is determined based on distances, each of the distances being calculated for a different one of the first projection value sets relative to the distribution of the first projection value sets.

5. The method according to claim 3 or 4, wherein the distance is one of a comprehensive distance, a residual sum of squares, a Mahalanobis distance or a local outlier factor.

6. The method according to any one of claims 2 to 4, wherein the step of determining whether the received new cell image is an outlier comprises: determining an approximate set of intermediate output values ​​corresponding to the second set of intermediate output values ​​using the latent variable model and the second set of projection values; Calculating a squared approximation residual of the second set of intermediate output values ​​and an approximation set of intermediate output values; as well as If the calculated square approximation residual is greater than the threshold of the square approximation residual, it is determined that the received new cell image is an outlier relative to the training data set.

7. The method of claim 6 , wherein the threshold of the squared approximation residual is determined based on squared approximation residuals, each of the squared approximation residuals being calculated for a different one of the first sets of intermediate output values ​​and an approximate set of intermediate output values ​​corresponding to the one of the first sets of intermediate output values.

8. The method according to claims 2 to 4, wherein the steps of obtaining the first intermediate output value set and constructing the latent variable model are performed for two or more of the plurality of hidden layers; wherein the steps of obtaining the second set of intermediate output values ​​and mapping the second set of intermediate output values ​​to the second set of projection values ​​are performed with respect to the two or more of the plurality of hidden layers; as well as The step of determining whether the received new cell image is an outlier is performed based on the latent variable model and the second projection value sets obtained with respect to the two or more of the plurality of hidden layers.

9. The method according to claims 2 to 4, wherein the step of obtaining the intermediate output value output from at least one of the plurality of hidden layers of the deep neural network comprises: An activation value from the at least one of the plurality of hidden layers is determined, and optionally global pooling is applied on the determined activation value.

10. The method according to claims 2 to 4, wherein the latent variable model is constructed according to principal component analysis or using an autoencoder.

11. The method according to claims 2 to 4, further comprising: calculating, by the deep neural network, a prediction for the new cell image; as well as If the new cell image is determined to be an outlier, discarding the prediction; as well as If the new cell image is determined not to be an outlier, the prediction is accepted.

12. A storage medium storing computer-readable instructions which, when loaded on a computer and executed, cause the computer to perform the method according to any one of claims 1 to 11.

13. A system for data analysis, the system comprising: A storage medium (12) storing a training data set for training a deep neural network (100), the deep neural network comprising a plurality of hidden layers and being trained using the training data set, the training data set comprising possible cell images that can be input into the deep neural network; as well as A processor configured to execute the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • System and method for classifying and segmenting microscopy images with deep multiple instance learning

    US20180137338A1

  • Non-linear modeling method based on near infrared spectroscopy and system thereof

    CN107655850A