Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this disclosure and are not admitted to be prior art by inclusion in this section.
Spectrum analysis techniques involve numerical analysis, which can introduce uncertainty into the analysis results. For instance, radioisotopes can be identified by detecting characteristic peaks within radiation spectra. The characteristic peaks are often identified and measured using numerical techniques, such as peak or curve fitting, e.g., fitting data points of spectra to a mathematical model, such as a polynomial, cubic spline, Gaussian model, or the like. The use of these types of numerical techniques can have significant disadvantages. For example, numerical curve fitting can become unreliable when applied to spectra data having relatively high, or relatively low data rates (e.g., high or low count rates), background noise, multiple peaks, overlapping peaks, and/or the like. Moreover, these techniques can be sensitive to changes resulting from geometry changes (e.g., jitter or other perturbations with respect to position of a detector relative to the target), environmental changes, and so on. As such, accurate spectral analysis may require expert human interaction, which can be time consuming, expensive, and prone to human error and/or bias.
Examples of systems, methods, devices, and computer-readable storage media comprising instructions configured to implement aspects of machine learning or machine learned (ML) spectrum analysis are set forth in the accompanying figures and detailed description:
As illustrated in
The apparatus 101 may comprise machine learning or machine learned (ML) module 110. The ML module 110 be implemented and/or embodied by computing resources 102 of the apparatus 101. For example, the ML module 110 may be configured for operation on processing resources 103 of the apparatus 101, utilize memory resources 104 of the apparatus 101, be embodied by computer-readable instructions stored within NT storage resources 105 of the apparatus 101, and so on. Alternatively, or in addition, aspects of the ML module 110 may be implemented and/or realized by hardware components, such as application-specific processing hardware, an ASIC, FPGA, dedicated memory resources, and/or the like. In some implementations, the ML module 110 includes a processor, ML processing platform, an ML processing environment, an ML processing toolkit, an ML processing library and/or the like.
As disclosed in further detail herein, the ML module 110 may be configured to implement aspects of practical spectral analysis applications, which may include, but are not limited to: element analysis, radioisotope analysis, imaging (e.g., X-ray imaging), diffraction analysis (e.g., X-ray diffraction), neutron activation analysis (NAA), gas chromatography, optical spectral analysis, and/or the like. Implementation of a spectral analysis application may comprise configuring an ML module 120 to process spectra 112 (and/or spectrum data 112) pertaining to the spectral analysis application. More specifically, the ML module 120 may be configured to generate spectrum analysis data 122 in response to respective spectra 112. As used herein, spectral input data 112 (or a spectrum 112) refers to data that corresponds to and/or can vary across a continuum, such as a range of frequencies, energies, wavelengths, or the like. A spectrum 112 may comprise continuous data, e.g., may comprise and/or be modeled as a function ƒ(x) defined over the range covered by the spectrum 112. Alternatively, a spectrum 112 may comprise discrete values mapped to respective locations or regions of the spectrum 112, such as respective channels. As used herein, a “spectrum channel” or “channel” may refer to a specified location, position, offset, region, or range within a spectrum 112. For example, a spectrum 112 may comprise channels corresponding to respective frequencies (or frequency ranges), respective energy levels (or energy ranges), respective wavelengths (or wavelength ranges), or the like.
The spectra 112 analyzed by the ML module 110 may be associated with respective targets or subjects 109. As used herein, a “target” or “subject” 109 may refer to any potential source or subject of spectral analysis (e.g., a potential source of spectral data), including, but not limited to an object, an item, a target, a container, an area, a region, a volume, a substance, a material, a vehicle, a person, an experiment, or any other potential source of passive or actively acquired spectra 112.
In some implementations, the ML module 110 may be configured to analyze spectra 112 captured by an acquisition device 108. The acquisition device 108 may comprise any suitable means for acquiring spectral data (e.g., spectra 112) including, but not limited to a spectrometer, an optical spectrometer, a radiation spectrometer, a gamma ray spectrometer, an x-ray spectrometer, a neutron spectrometer, a gas chromatography spectrometer, a mass spectrometer, and/or the like. The ML module 110 may receive input spectra 112 through a data interface 107. The data interface 107 may comprise any suitable data communication and/or interface means including, but not limited to: a communication interface, an I/O interface, a network interface, an interconnect, and/or the like. The data interface 107 may be configured to couple the apparatus 101 to one or more external devices and/or components. In some implementations, the data interface 107 is configured to couple the apparatus 101 to one or more electronic communication networks, such as a wired network, a wireless network, a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), Internet Protocol (IP) networks, Transmission Control Protocol/Internet Protocol (TCP/IP) networks, the Internet, or the like. Alternatively, or in addition, the data interface 107 may be configured to couple the ML module 110 to one or more data sources, such as a data repository, acquisition device 108, or the like.
The ML module 110 may be configured to analyze optical spectra 112, such as the spectrum 112-1 illustrated in
Referring back to
Alternatively, or in addition, the ML module 120 may be configured to analyze features of other types of spectra 112, such as radiation spectra (e.g., emission spectra, x-ray spectra, nuclear decay spectra, gamma spectra, and/or the like). In these embodiments, the ML module 120 may be configured to analyze radiation spectra features 114, which may include, but are not limited to: data values corresponding to respective radiation energies (e.g., features 114A through 114Z, each corresponding to a respective one of Z energy levels), data values corresponding to respective channels, each channel corresponding to a respective radiation energy level or range (e.g., features 114A through 114Z, each corresponding to a respective one of Z channels), image pixels corresponding to an image representation of the radiation spectrum 112, and/or the like. For example, the features 114A-Z of the spectrum 112 illustrated in
In some embodiments, the ML module 110 may be configured for emission spectrum analysis. Elements may emit radiation at characteristic energies, which may be represented as peaks or emission lines within emission spectra 112. The peaks within the emission spectrum 112 of a subject 109 may, therefore, indicate which elements are present within the subject 109 and the intensity of the peaks may correspond to the quantity or concentration of the elements within the subject 109.
Referring back to
The spectrum analysis data 122 produced by the ML module 120 may include predictions 126 for respective labels 124. As used herein, a “prediction” 126 or “prediction data” 126 may refer to any suitable information pertaining to analysis of a spectrum 112 with respect to a label 124, including, but not limited to: data indicating the presence (or absence) of the label 124 in the spectrum 112, data indicating a probability that the particular label 124 is present in the spectrum 112, data indicating the presence (or absence) of a specified activity level of the label 124 in the spectrum 112, data indicating a probability of a specified activity level of the label 124 within the spectrum 112, data quantifying an activity of the label 124 within the spectrum 112 (e.g., a concentration, intensity, emission level, or quantity of the label 124), data indicating an estimated accuracy (or uncertainty) of the prediction 126 determined for the label 124, a probability value, and/or the like.
In some implementations, the spectrum analysis data 122 produced by the ML module 120 for respective spectra 112 may be configured to quantify the “activity” of respective labels 124 within respective spectra 112. As used herein, the “activity” or “spectral activity” of a label 124 within a spectrum 112 may refer to an amount, intensity, concentration, quantity, emission level, or other measure of activity. For instance, in a first non-limiting example, the ML module 120 may be configured for emission spectrum analysis and, in particular, to predict labels 124 configured to represent respective elements (e.g., labels 124 corresponding to radiation energies characteristic of the respective elements), including a label 124-1 corresponding to 3.10 keV, which may be characteristic of Argon (Ar). The prediction data 126-1 determined for the label 124-1 in response to an emission spectrum 112 may comprise an activity quantity configured to quantify emission radiation at 3.10 keV within the spectrum 112 (quantify an amount of radiation energy at 3.10 keV within the spectrum 112). The prediction data 126-1 may, therefore, comprise a prediction of the quantity or concentration of Argon (Ar) within the subject 109 of the emission spectrum 112. In a second non-limiting example, the ML module 120 may be configured for radioisotope analysis and, as such, may predict labels 124 corresponding to energies characteristic of respective radioisotopes of interest, including a label 124-1 corresponding to 123.07 keV, which may be characteristic of Europium-154 (Eu-154). The prediction data 126-1 determined for the label 124-1 may comprise an activity quantity configured to quantify radiation emission activity at 123.07 keV within respective spectra 112. The prediction data 126 (and/or activity quantities thereof) may be configured to quantify emission activity or level in any suitable means, including, but not limited to: count, CPS, emission, emission level, Curie (Ci) (a unit of radioactivity equal to 3.7×1010 disintegrations per second), microcurie (μCi), and/or the like. Since spectral activity at the characteristic energy level(s) of a radioisotope may be proportional to the quantity of the radioisotope, the prediction data 126-1 determined for a spectrum 112 may comprise a prediction of the quantity of Eu-154 within the subject 109 of the spectrum 112. Although particular examples of labels 124 and prediction data 126 are described herein, the disclosure is not limited in this regard. The ML module 120 could be adapted to analyze any suitable type of spectra 112 (e.g., emission spectra 112, radiation spectra, x-ray spectra 112, gamma spectra 112, and/or the like). Moreover, the ML module 120 may be configured to generate prediction data 126 pertaining to labels 124 corresponding to any suitable aspect or subject of spectral analysis.
As disclosed herein, in some embodiments the ML module 120 may be configured to implement aspects of emission spectra analysis, which may comprise predicting the concentration and/or quantity of specified elements of interest within subjects 109 based on emission spectra 112 of the subjects 109. For example, the ML module 120 may be trained to predict labels 124-1 through 124-N, each label 124 configured to represent an energy characteristic of a respective element of interest (e.g., labels 124 corresponding to characteristic emission energies of Ne, Mg, Si, S, Ar, Ca, and Fe, respectively). The prediction data 126-1 through 126-N determined by the ML module 120 in response to an emission spectrum 112 of a subject 109 may, therefore, quantify activity at the characteristic energies represented by the labels 124-1 through 124-N, which may be proportional to the amount or concentration of the corresponding elements within the subject 109.
Alternatively, or in addition, the ML module 120 may be configured for radioisotope analysis. As used herein, a “radioisotope” may refer to an isotope, a radioactive isotope, a radioactive nuclide, a radionuclide, or other material that is subject to nuclear decay, such as alpha decay, beta decay, gamma decay, or the like. Alpha decay is a nuclear decay process in which an unstable nucleus of a radioisotope (e.g., a radionuclide) changes to another element, resulting in emission of an alpha (a) particle (e.g., a helium nucleus comprising two protons and two neutrons). In beta decay, a nucleon of an unstable nucleus of the radioisotope is transformed into a different type, resulting in emission of a beta (β) particle or β-ray (e.g., an electron in beta minus decay and neutrino in beta plus decay). In gamma decay, high-energy gamma radiation (γ-rays) are released as subatomic particles of the radioisotope (e.g., protons and/or neutrons) transition from high-energy states to lower-energy states.
Radioisotopes may be associated with characteristic radiation (or characteristic radiation energies). In other words, the radiation emitted by a radioisotope during nuclear decay may be distinguishable from radiation produced by other sources, such as other elements, other types of radioisotopes, background radiation, and/or the like. The ML module 120 may be configured to detect, identify, and/or quantify the radioisotopes within respective subjects 109 (if any) based on radiation spectra 112 of the subjects 109.
In some embodiments, the ML module 120 may be configured to analyze spectra 112 within the gamma nuclear range (gamma spectra 112). As used herein, “gamma spectral data” or “gamma spectra” 112 refers to spectra 112 spanning gamma radiation energies, e.g., radiation energies ranging from 20 megaelectron volts (MeV), or higher, down to 1 keV, or lower. Gamma spectra 112 may be acquired by any suitable detection means and/or any suitable acquisition device 108 including, but not limited to: a radiation detector, a radiation spectrometer, a gamma-ray detector, a gamma-ray counter, a gamma-ray spectrometer (GRS), a scintillation (SCT) detector, a SCT counter, a Sodium Iodide SCT detector, a Thallium-doped Sodium Iodide (NaI(Tl)) SCT detector, a lithium-doped Germanium (Ge(Li)) SCT detector, a semiconductor-based (SCD) detector, a Germanium SCD detector, a Cadmium Telluride SCD detector, a Cadmium Zinc Telluride SCD detector, or the like. In SCT-based devices, the energy of detected gamma photons may be determined based on the intensity of corresponding flashes produced within a scintillator or scintillation counter (e.g., based on the number of low-energy photons produced by respective high-energy gamma photons). In SCD-based devices, the energy of detected gamma photons may be determined based on the magnitude of electrical signals produced by the gamma photons (e.g., the magnitude of corresponding voltage or current signals).
The gamma spectrum 112-3 illustrated in
Although particular examples of radioisotopes having particular characteristic energies are described herein, the disclosure is not limited in this regard and could be adapted for detection of any suitable radioisotopes associated with any suitable characteristic radiation energy.
The ML module 110 may improve technical fields involving spectral analysis by, inter alia, obviating the need for numerical, human-interactive techniques.
Although human intervention can improve the accuracy of numerical curve fitting techniques, these approaches are not feasible in many applications and are subject to human bias and/or error.
The ML spectrum analysis technology disclosed herein can address these and other shortcomings. Referring back to
The ANN 420 may be configured to produce spectrum analysis data 122 in response to input spectra 112. The spectrum analysis data 122 may comprise predictions for respective labels 124 (e.g., prediction data 126-1 through 126-N for respective labels 124-1 through 124-N as disclosed herein). The labels 124 may correspond to characteristic radiation energies of respective radioisotopes of interest. The prediction data 126 determined for each label 124 may comprise an activity quantity, the activity quantity configured to quantify emission of radiation at the characteristic radiation energy the label 124 (and/or characteristic radiation energy of the radioisotope represented by the label 124). Accordingly, the activity quantities determined for a radiation spectrum 112 acquired from a subject 109 may indicate quantities of respective radioisotopes within the subject 109 (since the activity quantity determined for the respective radioisotopes by the labels 124 are proportional to the amount and/or concentration of the respective radioisotopes).
In some implementations, the ANN 420 may comprise a first hidden layer. The first hidden layer may have a higher resolution or density than the input layer of the ANN 420. In other words, the first hidden layer may comprise more nodes than the input layer of the ANN 420.
In some embodiments, the ANN 420 may be trained to predict a plurality of labels 124, each label 124 configured to represent a different radioisotope; each label 124 may be configured to represent a respective radioisotope of a plurality of radioisotopes (e.g., each label 124 may correspond to a different radioisotope). The prediction data 126 determined for each label 124 be configured to quantify emission of radiation at energy level(s) characteristic of the radioisotopes represented by each label 124. In other words, the prediction data 126 determined for a particular label 124 may quantify an activity and/or emission of radiation at the radiation energy level(s) characteristic of the radioisotope represented by the particular label 124.
Alternatively, the ANN 420 may be trained to predict labels 124 configured to represent multiple emission levels of respective radioisotopes. In these examples, particular radioisotope may be represented by a plurality of different labels 124, each label 124 representing a respective emission level (or activity) of the particular radioisotope. For example, the output layer of the ANN 420 may include N nodes (for each of N labels 124), where N=R×L, R is the number of unique radioisotopes the ANN 420 is trained to detect, and L is the number of different emission levels of each radioisotope the ANN 420 can distinguish (assuming the ANN 420 is trained to distinguish between L activity levels for each radioisotope). In some implementations, the ANN 420 may be configured to detect different numbers of emission levels for respective radioisotopes; the ANN 420 may include N nodes (or N labels 124), where N=Σi=1R Li and Li is the number of emission levels the ANN 420 is trained to detect for radioisotope i of R different radioisotope types.
As illustrated in
As disclosed in further detail herein, the ANN 420 may be configured to learn an ML configuration 425 through a training process. The ML configuration 425 may be adapted to configure the ANN 420 to accurately predict labels 124, as disclosed herein (e.g., produce accurate predication data 126). The ANN 420 may be trained using a training dataset 410 may include any suitable information for use in training, validating, testing, refining, and/or otherwise learning an ML configuration 425 that enables the ANN 420 to produce accurate spectrum analysis data 122. As illustrated in
The ML training engine 422 may learn the ML configuration 425 and/or otherwise train the ANN 420 through any suitable training procedure, technique, and/or algorithm. In some implementations, the ML training engine 422 implements a training procedure that incorporates binary cross-entropy as the loss function and utilizes Adam optimization. Alternatively, or in addition, the ML module 120 may implement a training, validation, or test procedure in which entries 411 of the training dataset 410 are divided into a training set (about 80%), test set (about 10%), and validation set (about 10%). The ML training engine 422 may implement an iterative training procedure that includes one or more training phases, validation phases, and/or and testing phases. A training phase may include one or more epochs, each epoch including inputting entries 411 of the training set into the ANN 420 and evaluating the corresponding spectrum analysis data 122 produced by the ANN 420. The evaluating may include determining error metrics (training error) to quantify differences and/or distances between the spectrum analysis data 122 produced by the ANN 420 in response to training spectrum data 412 of respective entries 411 and the training metadata 414 of the respective entries 411. The error metrics may be determined by comparing a) the radioisotope types and/or microcurie emissions specified by training metadata 414 of the respective entries 411 to b) the radioisotope types and/or microcurie emissions generated by the ANN 420 in response to training spectrum data 412 of the entries 411. The error metrics may quantify error, differences, and/or distance using any suitable mechanism including, but not limited to Euclidian distance, root mean square (RMS), and/or the like. The ML training engine 422 may continue the training phase until one or more training criteria are satisfied (e.g., weights of the ANN 420 converge to stable values, a threshold is reached, and/or the like).
The ML training engine 422 may use the error metrics to, inter alia, learn and/or refine the ML configuration 425. In some implementations, the ML training engine 422 implements an optimization algorithm that adjusts weights and/or other parameters of the ML configuration 425 to produce reduced error metrics. The ML training engine 422 may implement any suitable training and/or optimization algorithm including, but not limited to: gradient descent, batch gradient descent, stochastic gradient descent, Adam optimization, or the like. The optimization algorithm may incorporate any suitable cost or loss function, such as a binary cross-entropy as the loss function or the like. The ML module 120 may adjust the ML configuration 425 through the optimization algorithm in response to completing: an epoch (after processing the training entries 411 included in the training set), a plurality of epochs, one or more sub epochs (after processing a subset of the entries 411 of the training set), and/or the like. The ML module 120 may continue the training phase until one or more training-phase criteria are satisfied (e.g., weights of the ANN 420 converge to stable values, a threshold is reached, and/or the like).
The ML training engine 422 may be further configured to implement validation phases in response to completion of respective training phases. A validation phase may include evaluating spectrum analysis data 122 produced by the ANN 420 (as trained in the training phase) in response to entries 411 of the validation set, which, as disclosed herein, may include a separate subset of the training dataset 410 from the training set utilized in the training phase. Error metrics determined during the validation phase may be used to validate the ML configuration 425 learned in the preceding training phase (e.g., may indicate at learn rate of the ANN 420 and/or training procedure). The ML training engine 422 may be further configured to utilize the error metrics determined during validation phases to iteratively implement training and validation phases until the ANN 420 converges to a local or global minima (or some other validation-phase criteria are satisfied). The ML module 120 may implement test phases in response to completion of validation phases. A test phase may include using entries 411 of the test set to determine an unbiased evaluation of the ML configuration 425 of the ANN 420 learned through the preceding training and validation phases. Error metrics determined during the test phase may indicate an error rate of the ANN 420 when used to generate spectrum analysis data 122 in response to actual, unclassified spectrum data 112 (per the learned ML configuration 425).
The ML module 120 may utilize the ML configuration 425 learned during training to configure the ANN 420 to generate spectrum analysis data 122 that accurately distinguishes radioisotopes (and/or microcurie emissions thereof) of a subject 109 in response to spectrum data 112 acquired from the subject 109. The ML configuration 425 may be used to configure other instances of the ANN 420 operating on and/or within other instances of the apparatus 101, ML module 120, and/or ML module 110. The ML configuration 425 may be maintained on and/or within a non-transitory storage medium, such as NT storage resources 105 of the device 101. Although particular examples of ML training procedures are described herein, the disclosure is not limited in this regard and could be adapted to use and/or incorporate any suitable machine-learning mechanisms, techniques, and/or algorithms.
In some implementations, the convolutional layer 524A may be configured as the input layer 522 of the ANN 420. The convolutional layer 524A (input layer 522) may include nodes corresponding to respective pixels 214 of spectrum image representations 212 included in the spectrum data 112 and/or training spectrum data 412 (each node of the convolutional layer 524A configured to receive a respective pixel as input). The number of nodes included in the input layer 522 (e.g., convolutional layer 524A) may be M, where M is the size of the spectrum image representation 212 in pixels (or M=W*H, where W and H are the width and height of the image representation 212, respectively).
The convolutional layers 524 may have any suitable configuration. In some implementations, the convolutional layers 524 are configured to implement a 25% dropout probability and a two-dimensional (2D) max pooling on a kernel of size two. The dense layers 526 may be configured to implement a 50% dropout probability with ReLU activation functions. The output layer 528 may be a dense layer including nodes that implement sigmoid activation functions.
As disclosed herein, ANN 420 can be configured to distinguish a plurality of radioisotope types as well as emission levels of the respective radioisotope types. As illustrated in
The ML training engine 422 learns an ML configuration 425 capable of distinguishing the labels 124-1 through 124-N. The ML training engine 422 can implement any suitable training procedure, as disclosed herein (e.g., a train, validate, and test procedure with binary cross-entropy as the loss function and Adam optimization).
The ML module 120 can utilize the machine-learned ML configuration 425 to construct an ANN 420 capable of distinguishing labels 124-1 through 124-N of the vocabulary. The output layer 528 of the ANN 420 may include a plurality of nodes, each configured to produce an output corresponding to a respective one of the labels 124-1 through 124-N.
As illustrated, the output layer 528 includes N nodes 540, each node 540-1 through 540-N may correspond to a respective one of the labels 124 of the vocabulary 530 the ANN 420 is trained to distinguish (per the ML configuration 425). Outputs produced by nodes 540 of the output layer 528 in response to spectrum data 112 may quantify a probability that the spectrum data 112 includes the label 124 associated with the node 540 or, more specifically, that the spectrum data 112 includes radiation characteristic of the radioisotope type 534 and emission level 536 of the corresponding label 124. The quantities output by the nodes 540 of the output layer 528 may, therefore, be referred to as label classifications, predictions, estimates, or the like (predictions 126). In the FIG. SB implementation, the output layer 528 produces N predictions 126 (126-1 through 126-N), each quantifying a probability that input spectrum data 112 includes a respective label 124 of the vocabulary 530; or, more specifically, each quantifying a probability that the input spectrum 112 includes radiation produced by the radioisotope type 534 and emission level 536 of the corresponding label 124. The spectrum analysis data 122 may incorporate the prediction data 126 produced by the output layer 528. As illustrated in
The ANN 420 constructed by the ML module 120 (and/or trained by the ML training engine 422) may be sparse and/or non-fully connected due to, inter alia, the inclusion of dropout layers 520 (e.g., convolution layers 524 and/or dense layers 526 having non-zero dropout probabilities). In contrast to fully connected architectures, such as those used in image classification, ANN 420 may be capable of learning spatial structure. Moreover, inclusion of multiple output nodes for each of a plurality of radioisotope types 534 can enable the ANN 420 to distinguish between a plurality of radioisotope types 534 and/or distinguish between a plurality of emission levels 536 of each of the plurality of radioisotope types 534 simultaneously and/or substantially in parallel.
In the
Referring back to
The ML training engine 422 may implement an iterative training process, as disclosed herein. Iterations of the training process may operate on entries 411 of a subset of the training dataset 410. Processing an entry 411 of the training dataset 410 may include: a) inputting training spectrum data 412 of the entry 411 into the ANN 420 (inputting a spectrum image representation 212 of the training spectrum data 412 at the input layer 522 of the ANN 420), b) configuring the ANN 420 to process and/or propagate the training spectrum data 412 to, inter alia, produce spectrum analysis data 122 at the output layer 528, and c) determining error metrics 553 that quantify error, differences, and/or distances between the training metadata 414 of the training spectrum data 412 and the spectrum analysis data 122 produced by the ANN 420. In some implementations, the ML training engine 422 includes and/or is coupled to comparator logic 554 that produces error metrics 553 by, inter alia, comparing GT values 514 of the training metadata 414 to corresponding predictions 126 of the spectrum analysis data 122. The ML training engine 422 may utilize the error metrics 553 to train, refine, test, and/or validate the ANN 420 and/or ML configuration 425, as disclosed herein (e.g., in accordance with an optimization algorithm, such as Adam optimization, or the like).
The ML module 110 can be configured to operate in one or more modes, including a training mode and an operational mode. In the training mode, the ML module 110 utilizes training spectrum data 412 and corresponding training metadata 414 to train and/or refine the ANN 420 and/or ML configuration 425. The ML module 110 may transition to the operational mode in response to completing one or more training processes and/or importing a machine-learned ML configuration 425 (learned in one or more previous training processes). In the operational mode, the ML module 110 receives spectrum data 112 and outputs spectrum analysis data 122, as disclosed herein. The spectrum analysis data 112 may include a plurality of prediction datum 126, each quantifying a probability that the spectrum data 112 includes radiation characteristic of the radioisotope type 534 and emission level 536 of a respective label 124.
In some implementations, the ML training engine 422 may be further configured to determine bias weights for nodes 540 of the ANN 420. The bias weights may be configured to adapt the ANN 420 to training bias, e.g., higher rate of occurrence of some labels 124 relative to other labels. The ML training engine 422 may, therefore, determine bias weights for respective labels 124 based on the occurrence of the labels 124 within the training dataset 410. Labels 124 that occur less frequently may be weighted relative to other labels 124 that occur more frequently in the training dataset 410. In some implementations, the bias weights may be determined in accordance with the following pseudocode: weights=torch.as_tensor([1/np.mean(labels[i_train][:, j])/32 for j in range(32)], dtype=torch.float32, device=torch.device(‘cuda’)), where i_train is the dataloader frame (or training dataset 410) of interest; for each epoch, evaluate the model ŷ=model(x); compute the loss, as loss=loss_fn(ŷ, y); scale the loss by the adjusted bias weights, loss=(loss*weights).mean( ); proceed with stochastic gradient descent (or other training algorithm, e.g. loss.backward( ), optimizer.step( ). The bias weights may be incorporated into nodes 540 during training and implementation.
The loss function may be adapted for spectral analysis. In some implementations, the loss function may comprise a sigmoid layer in combination with binary cross entropy (e.g., BCEWithLogitsLoss or the like). The ANN 420 may be further configured to handle large variations between spectra 112 (and/or spectrum energies). The ANN 420 may comprise a scalar, such as StandardScaler( ) over which a partial fit on the data may be run on respective training epochs (e.g., scaler.partial_fit(x) and transform every epoch). Alternatively, or in addition, the ANN 420 may operate on log values of spectral activity (features 114), after adding a 1 to each feature 114 to avoid taking a log of 0, as follows: y_label=np.array(labels.drop([‘id’], axis=1)); y_background=np.zeros((len(x_background), 32)); y+=1; y=np.log(y); y.shape.
As disclosed herein, the ML training engine 422 can train the ANN 420 to distinguish a spectrum analysis classification vocabulary (vocabulary 530) that defines a plurality of classification labels (labels 124), each label 124 of the vocabulary 530 corresponding to a respective radioisotope type 534 and/or an emission range or level 536 of the radioisotope type 534. In the
In the
The ML module 120 instantiates and/or adapts the ANN 420 in accordance with the ML configuration 425. The ML configuration 425 may have been learned in one or more previously completed training processes, as disclosed herein. The ML module 120 can load the ML configuration 425 from memory resources 104, NT storage resources 105, and/or the like. Alternatively, or in addition, the ML module 120 can receive the ML configuration 425 through the data interface 107 of the device 101. In some implementations, the ANN 420 and/or ML configuration 425 are encoded within hardware components of the device 101, such as an ASIC, FPGA, and/or the like. Alternatively, the ANN 420 may be instantiated within memory resources 104 and/or be implemented by use of a processor of the device 101.
The ANN 420 is configured to produce spectrum analysis data 122 in response to spectrum data 112 obtained by the acquisition device 108. The spectrum analysis data 122 may include a plurality of prediction datum 126, each quantifying a probability that the subject 109 includes an emission source characteristic of a respective radioisotope type 534 and/or emission level 536 of the respective radioisotope type 534. The ML module 110 may, therefore, distinguish a plurality of emission levels 536 of a plurality of radioisotope types 534 at least partially in parallel. The spectrum analysis data 112 may include a plurality of predictions 126, each quantifying a probability that the subject 109 includes a specified radioisotope type 534 of a plurality of radioisotope types 534 at a designated emission level 536 of a plurality of emission levels 536 of the specified radioisotope type 534. The emission level 536 of a radioisotope type 534 may correspond to an amount, quantity, state and/or configuration of the radioisotope type 534 within the subject 109. The spectrum analysis data 412 may, therefore, identify one or more radioisotope types 534 within the subject 109 and quantify the identified radioisotopes 534 (per the emission levels 536 of the identified radioisotope types 534).
In some implementations, the ML module 110 is further configured to display a graphical representation of the spectrum analysis data 122 on one or more HMI resources 106 of the device 101, such as a display screen or the like. Alternatively, or in addition, the ML module 110 can record the spectrum analysis data 122 in memory resources 104 and/or NT storage resources 105, transmit the spectrum analysis data 122 on a network (through the data interface 107), and/or the like.
The ANN 420 may further comprise one or more hidden layers 724. In the
The output layer 528 of the ANN 420 may comprise N nodes 540, each corresponding to a respective radioisotope type 534 (a respective one of N labels 124-1 through 124-N). The ANN 420 may correspond to the following pseudocode:
As illustrated above, nodes 540 of the ANN 420 may be configured to implement tanh activation functions. In contrast to the implementations illustrated in
The ML module 120 may be trained by an ML training engine 422, as disclosed herein.
Example methods are described in this section with reference to the flow charts and flow diagrams of
Training the ANN 420 may comprise evaluating a loss function configured to quantify an error between prediction data 126 generated by the ANN 420 in response to a training spectrum 112 and a ground truth 514 of the training spectrum 112. The loss function may comprise a combination of a sigmoid layer and binary cross entropy between the prediction data 126 and the ground truth 514.
The ANN 420 may comprise ML configuration data 425 learned in a training process, as disclosed herein. In some implementations, the ANN 420 may be instantiated within the memory of a computing device. Alternatively, the ANN 420 may be implemented in circuitry, such as logic circuitry, an ASIC, FPGA, or the like. The ML configuration data 425 may be embodied and/or encoded within the hardware implementation of the ANN 420.
In some embodiments, each label 124 corresponds to a characteristic energy of the radioisotope represented by the label 124. The method 800 may further comprise configuring the ANN 420 to determine an activity quantity 726 for each label 124, the activity quantity 726 determined for each label 124 configured to quantify emission of radiation at the characteristic energy corresponding to the label 124 within the spectrum 112.
The ANN 420 may be configured to predict a plurality of labels 124, each label 124 configured to represent a respective radioisotope of the plurality of radioisotopes (a respective radioisotope type 534). The method 800 may further comprise determining the amount of each radioisotope within the subject 109 based, at least in part, on activity quantities 726 determined for each label 124 of the plurality of labels 124.
In some implementations, the ANN 420 may be configured to determine prediction data for respective labels 124, which may include a first label 124-1 configured to represent a first emission range 536-1 of a first radioisotope type 534-1 and a second label 124-2 configured to represent a second emission level 536-2 of the first radioisotope type 534-1, the second emission level 536-2 different from the first emission range 536-1. The method 800 may further comprise determining an amount of the first radioisotope 536-1 within the subject 109 based, at least in part, on first prediction data 126-1 determined for the first label 124-1 and second prediction data 126-2 determined for the second label 124-2.
In some implementations, the ANN 420 may be configured to incorporate bias weights, the bias weights based on a determined training bias of the ANN 420.
In some implementations, the ML module 110 may be further configured to determine a confidence metric for the prediction data 126 determined for respective spectra 112.
At 1004, an ML training engine 422 trains the ANN 420 to produce accurate spectrum analysis data 122 in response to entries 411 of a training dataset 410, each entry 411 including respective training spectrum data 412 and corresponding training metadata 414. The training metadata 414 may include a plurality of GT values 514, each indicating whether the training spectrum data 412 corresponds to a respective emission level 536 of a specified radioisotope type 534 (and/or respective label 124 of a vocabulary 530 the ANN 420 is being trained to distinguish). The training may include determining error metrics 553 that quantify error, differences, and/or distances between training metadata 414 of respective entries 411 and spectrum analysis data 122 produced by the ANN 420 in response to training spectrum data 412 of the entries 411. The ML training engine 422 can utilize the error metrics 553 to learn an ML configuration 425 for the ANN 420 that produces accurate spectrum analysis data 122 in response to the training dataset 410, as disclosed herein.
At 1006, the ML module 110 produces spectrum analysis data 122 in response to spectrum data 112 acquired from a subject 109. The spectrum analysis data 122 may include a plurality of predictions 126, each quantifying a probability that the subject 109 includes a specified radioisotope type 534 of a plurality of radioisotope types 534 emitting at a designated emission level 536 of a plurality of emission levels 536 of the specified radioisotope type 534.
This disclosure has been made with reference to various exemplary embodiments. However, those skilled in the art will recognize that changes and modifications may be made to the exemplary embodiments without departing from the scope of the present disclosure. For example, various operational steps, as well as components for carrying out operational steps, may be implemented in alternate ways depending upon the particular application or in consideration of any number of cost functions associated with the operation of the system, e.g., one or more of the steps may be deleted, modified, or combined with other steps.
Additionally, as will be appreciated by one of ordinary skill in the art, principles of the present disclosure may be reflected in a computer program product on a computer-readable storage medium having computer-readable program code means embodied in the storage medium. Any tangible, non-transitory computer-readable storage medium may be utilized, including magnetic storage devices (hard disks, floppy disks, and the like), optical storage devices (CD-ROMs, DVDs, Blu-Ray discs, and the like), flash memory, and/or the like. These computer program instructions may be loaded onto a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions that execute on the computer or other programmable data processing apparatus create means for implementing the functions specified. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture, including implementing means that implement the function specified. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified.
While the principles of this disclosure have been shown in various embodiments, many modifications of structure, arrangements, proportions, elements, materials, and components, which are particularly adapted for a specific environment and operating requirements, may be used without departing from the principles and scope of this disclosure. These and other changes or modifications are intended to be included within the scope of the present disclosure.
The foregoing specification has been described with reference to various embodiments. However, one of ordinary skill in the art will appreciate that various modifications and changes can be made without departing from the scope of the present disclosure. Accordingly, this disclosure is to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope thereof. Likewise, benefits, other advantages, and solutions to problems have been described above with regard to various embodiments. However, benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, a required, or an essential feature or element. As used herein, the terms “comprises,” “comprising,” and any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, a method, an article, or an apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, system, article, or apparatus. Also, as used herein, the terms “coupled,” “coupling,” and any other variation thereof are intended to cover a physical connection, an electrical connection, a magnetic connection, an optical connection, a communicative connection, a functional connection, and/or any other connection.
Those having skill in the art will appreciate that many changes may be made to the details of the above-described embodiments without departing from the underlying principles of the invention. The scope of the present invention should, therefore, be determined only by the claims.
This application claims priority to PCT Application No. PCT/US21/10034, filed Aug. 13, 2021, which is hereby incorporated by reference.
This invention was made with government support under Contract Number DE-AC07-05-ID14517 awarded by the United States Department of Energy. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/US21/10034 | Aug 2021 | US |
Child | 18164145 | US |