Systems and methods for explanation of models using image analysis techniques

A system described herein may train an explanation model based on a set of images and a set of explanation labels. The system may receive input data, and may provide the input data to the explanation model and a second model. The second model may provide a set of output labels, which may include performing unknown or “black box” processing on the input data. The explanation model may generate one or more images based on the input data, compare the images to the set of images based on which the explanation model was trained, and accordingly identify one or more explanation labels with bounding boxes associated with the generated one or more images. The system may output, in response to the input data, the set of output labels provided by the second model as well as the identified explanation labels.

BACKGROUND

Models, such as predictive models, statistical models, artificial intelligence/machine learning (“AI/ML”) models, etc. may be used to provide labels, predictions, categories, and/or other types of outputs based on one or more input values. The rationale, reasoning, algorithms, etc. used by such models may not necessarily be available to entities that make use of such models, which may add uncertainty as to the reliability or usefulness of the outputs of such models.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

Models may be used to generate outputs, such as labels, categories, predictions, etc. based on input values, which may include Key Performance Indicators (“KPIs”) of a wireless network, sensor readings associated with an autonomous vehicle, historical location information of one or more mobile devices, and/or other suitable values. The processing performed by models on input values in order to generate output values may be widely varied, and particular algorithms, weights, modeling techs, and/or other attributes of models may not always be ascertainable. Thus, such models may not necessarily be explainable, and it may be difficult for an entity using such models to gauge how accurate, reliable, etc. such models are.

As discussed below, embodiments described herein may generate and/or utilize an explanation model in conjunction with another model, in order to provide explanations, annotations, etc. associated with outputs generated by the model based on a given set of input values. The output of the explanation model may therefore describe and/or provide insight as to reasoning, rationale, algorithms, weights, and/or other parameters utilized by the model in order to generate the set of outputs. In this manner, the model may become explainable, and the outputs of the model may be handled, processed, weighted, etc. based on the explanations of the model determined in accordance with some embodiments.

As shown inFIG.1, for example, explanation model101may be trained to associate a set of training data103with a set of labels (referred to as “explanation labels”). Training data103may include, for example, a set of network KPIs, such as a time series of network KPIs (e.g., KPI values measured over a duration of time, such as one minute, one hour, one day, one year, etc.). The KPIs may include Quality of Service (“QoS”) and/or performance-related KPIs, such as latency, throughput, jitter, etc. Additionally, or alternatively, the KPIs may include load-related KPIs, such as quantity of connected User Equipment (“UEs”) at one or more base stations, amount of used and/or available radio frequency (“RF”) resources (e.g., Physical Resource Blocks (“PRBs”)) at one or more base stations, etc. In some embodiments, the KPIs may include one or more other types of KPIs associated with a wireless network.

In some embodiments, training data103may include values in addition to, or in lieu of, KPIs of a network. For example, as discussed above, training data103may include sensor readings, such as sensor readings measured by an autonomous vehicle, an Internet of Things (“IoT”) device, etc. As another example, training data103may include some other type of data that is representable as a graphical or visual representation (e.g., as a graph, plot, chart, etc.).

In some embodiments, training data103may be obtained via real-world measurements, observations, etc. (e.g., based on the operation of one or more live systems from which some or all values of training data103are obtained, measured, etc.). Additionally, or alternatively, training data103may be, or may include, values obtained via one or more simulations. Training data103and the associated explanation labels may be “ground truth” data, in that the explanation labels provided to explanation model101in conjunction with training data103may be the “desired” or “correct” output for data (e.g., at “run-time”) that matches (e.g., within a threshold measure of similarity, using a suitable similarity analysis) training data103.

Explanation model101may, in accordance with some embodiments, generate one or more visual representations105of training data103. For example, explanation model101may generate one or more graphs, charts, plots, etc. based on training data103. In situations where training data103includes multiple instances, trials, etc. of data, a particular visual representation105may be generated based on a combination of the multiple instances, trials, etc. of training data103.

In this example, the explanation labels may include “Periodic” and “Period=1 day.” For example, the explanation labels may indicate that values of the KPIs indicated in training data103may vary or cycle periodically, where the period occurs on a daily basis. In some embodiments, explanation labels may include any suitable descriptor, attribute, mathematical function, trend (e.g., upward or downward trends), non-linear tendency, non-linearity degree, turning points, etc. associated with training data103. Such descriptors, attributes, etc. may include a coefficient, exponent, degree of severity, etc. of a particular curve, mathematical function, etc. For example, a non-linear function, curve, exponential function, etc. may have varying degrees of severity, exponentially, etc. that may not necessarily be readily ascertainable to the human eye. The explanation labels may accordingly include indications of the degree of severity, exponentially, etc. (e.g., “third order polynomial,” “fifth order polynomial,” etc.). As a result of training explanation model101(e.g., based on training data103and the associated explanation labels), explanation model101may associate one or more visual representations of training data103(e.g., visual representation105) with the explanation labels.

In some embodiments, as shown inFIG.2, explanation model101(e.g., which may be trained in a manner similarly discussed above), may be used in conjunction with one or more models201in order to provide explanations (e.g., explanation labels) for model output labels provided by such models201. For example, model explanation interface203may be communicatively coupled to (e.g., via one or more application programming interfaces (“APIs”) or other suitable communication pathways) explanation model101and one or more models201. As noted above, as shown inFIG.3, models201may utilize unknown processing, weights, algorithms, etc. to generate a respective set of outputs (e.g., model output labels301) based on a set of input data303. For example, models201may have been developed, generated, provided, etc. by an entity other than an entity utilizing models201to generate model output labels301. In this manner, the algorithms, modeling techniques, weights, etc. based on which models201generate model output labels301may be unknown or unexplainable, in the absence of techniques described herein in accordance with some embodiments.

Model explanation interface203may accordingly, as shown inFIG.4, provide the same input data303as input to both explanation model101and one or more models201, in order to generate a set of labels and explanations401. For example, explanation model101may generate a set of explanation labels403based on input data303(e.g., may generate one or more visual representations of input data303, compare the generated visual representations to previously generated visual representations/images generated based on training data, and identify explanation labels403based on the comparison), and model(s)201may generate a set of model output labels301based on input data303. Model explanation interface203may generate a package, bundle, etc. of model output labels301and explanation labels403, such that labels and explanations401may indicate which particular models201were used, the respective outputs (e.g., model output labels301) of such models201, as well as explanations (e.g., explanation labels403) which may indicate how or why model output labels301were generated. In this manner, a user or other entity providing input data303may receive classifications, labels, etc. generated by one or more models201(e.g., model output labels301) as well as explanations (e.g., explanation labels403) for the outputs of the one or more models201.

FIG.5illustrates a specific example of the concepts shown inFIG.4. As shown inFIG.5, for example, model explanation interface203may receive (at502) a set of input data303. In some embodiments, input data303may be provided in conjunction with an identifier of one or more models201that should be used to generate one or more model output labels. Input data303may include time-series values, network KPIs, sensor data, and/or other suitable input data. Model explanation interface203may provide (at504) input data303as input to one or more models201, and may further provide (at504) input data303as input to explanation model101. Explanation model101may also generate (at506) visual representation501of input data303, which may include one or more graphs, plots, charts, etc. In some embodiments, explanation model101may generate multiple different visual representations of the same input data303, such as a graph and a chart, or as two graphs with different scales and/or axis values, etc. Explanation model101may also maintain a set of training data503which, as discussed above, may associate one or more images with one or more explanation labels (e.g., images that are visual representations of values provided to explanation model101during a training process).

Explanation model101may further identify (at506) one or more explanation labels505by comparing the one or more visual representations501of input data303to the images associated with training data503. For example, explanation model101may perform a computer vision analysis and/or may utilize other image recognition techniques in order to identify a measure of similarity between visual representation501and images associated with training data503. For example, explanation model101may identify one or more images, of training data503, that are the most similar to visual representation501and/or that exhibit a measure of similarity to visual representation501that exceeds a threshold measure of similarity. Explanation model101may further identify particular explanation labels505that are indicated by training data503as associated with the identified one or more images.

Model201may further generate (at508) a set of model output labels507based on input data303. As discussed above, model201may utilize unknown, or “black box,” processing, deep learning neural networks, weights, deep learning techniques, or other techniques without apparent explainability in order to generate model output labels507(e.g., “Daily,” “Good RF conditions,” and “Urban area,” in this example). Model explanation interface203may receive explanation labels505and model output labels507, and may output (at510) packaged output data509, which may include model output labels507and explanation labels505. For example, in this example, model output labels507(e.g., “Daily,” “Good RF conditions,” and “Urban area) may be provided with the explanation labels505(e.g., “Periodic” and “Period=1 day”). In this manner, a user or other entity analyzing the output of model201may be able to easily ascertain that model output labels507may have been determined, at least in part, based on explanations such as “Periodic” and/or “Period=1 day.” In other examples, other suitable time-series patterns or descriptors may be used as explanation labels505associated with model output labels507.

In some embodiments, packaged output data509may include visual explanation information, which may indicate why certain explanation labels505apply to input data303. For example, packaged output data509may include some or all of visual representation501of input data303. In some embodiments, packaged output data509may include annotations, bounding boxes, etc. overlaid on portions of visual representation501. Such annotations, bounding boxes, etc. may be used to visually highlight, emphasize, etc. features, attributes, patterns, etc. of visual representation501that were identified by explanation model101as being similar, matching, and/or otherwise being associated with images included in training data503. In this manner, an entity receiving, viewing, etc. packaged output data509may be able to readily identify times at which particular explanation labels505are particularly relevant. Further, such information may be able to be used in correlation with external data to identify events, conditions, triggers, configuration parameters, etc. based on which particular explanation labels505were identified. In situations where explanation labels505are associated with anomalous or undesirable events, conditions, etc., remedial action may be taken in order to rectify or remediate such events, conditions, etc.

In some embodiments, the training of explanation model101may include combining different training data values to generate composite explanation labels that are based on multiple sets of training data and associated explanation labels. For example, as shown inFIG.6, explanation model101may receive (e.g., as part of a training process) multiple sets of training data values601(e.g., sets of values601-1through601-4) along with respective associated explanation labels603. For example, a first set of training data values601-1may be associated with a first explanation label603-1, a second set of training data values601-2may be associated with a second explanation label603-2, a third set of training data values601-3may be associated with a third explanation label603-3, and a fourth set of training data values601-4may be associated with a fourth explanation label603-4.

Explanation model101may generate visual representations605based on each set of training data values601, and may associate such visual representations605with the provided explanation labels603. For example, explanation model101may associate visual representation605-1with explanation label603-1, visual representation605-2with explanation label603-2, visual representation605-3with explanation label603-3, and so on. Explanation model101may also combine different sets of training data values601and may generate visual representations609based on combined sets of training data values601. Further, explanation model101may associate composite explanation labels607with respective visual representations609.

For example, visual representation609-1may be generated based on combining training data values601-2with training data values601-1, and visual representation609-2may be generated based on combining training data values601-1with training data associated with a “periodic” explanation label. Combining training data to generate composite visual representations609may be performed using additive operations, multiplicative operations, and/or other suitable operations based on which sets of data may be combined. Composite explanation labels607may accordingly indicate the types of operations used to combine associated visual representations609. For example, composite explanation label607-1may indicate that visual representation609-1is associated with a multiplicative combination of training data values601-1and training data values601-2, while composite explanation label607-2may indicate that visual representation609-2is associated with an additive combination of training data values601-1and training data associated with a periodic explanation label.

In some embodiments, other types of combinations may be used, and visual representations609(along with associated composite explanation labels607) may be generated based on more than two sets of training data values601. Further, while certain examples of training data and/or labels (e.g., impact, periodic, noise) are shown here, in practice, other types of labels may be used. Accordingly, as shown inFIG.7, the labels and explanations401generated by model explanation interface203, based on a set of input data303, may further include composite explanation labels607. Such composite explanation labels607may include or represent, for example, sets of data (e.g., network KPIs or other suitable data) scrambled with different noise types according to one or more colored noise models, in one embodiment along with multiple spectral profiles, such as white noise (e.g., zero mean, constant variance, and uncorrelated in time), red (or Brownian) noise (e.g., zero mean, constant variance, and serially correlated in time), and/or other suitable types of noise. In this manner, the explanations provided by model explanation interface203along with model output labels301may further be more robust and detailed.

In some embodiments, certain types or instances of training data601may be indicated, tagged, flagged, etc., such that visual representations605of such instances or types of training data601are not used, by themselves, by explanation model101when identifying explanation labels403associated with a set of input data303. For example, training data601-2and601-3(e.g., associated with types of noise) may be indicated (e.g., during a training process of explanation model101) in this manner. As such, these types of training data601-2and601-3may be used to generate composite explanation labels607(e.g., in combination with other types of training data601) as well as corresponding visual representations609, and such visual representations609may be used by explanation model101when identifying explanation labels403associated with a set of input data303. However, based on the indication, flag, etc. that training data601-2and601-3(e.g., types of noise) should not be individually used by explanation model101to identify explanation labels403associated with a set of input data303, explanation model101may forgo comparing visual representation501of input data303to visual representations605-2and605-3when attempting to identify explanation labels403that are associated with input data303. In this manner, the amount of processing time and/or resources used to identify explanation labels403associated with input data303may be reduced, as the amount of visual representations605of training data601against which to compare visual representation501of input data303may accordingly be reduced based on such indications, flags, etc.

FIG.8illustrates an example process800for providing explanation labels in conjunction with model output labels generated by a model using unknown processing and/or modeling techniques. In some embodiments, some or all of process800may be performed by model explanation interface203. In some embodiments, one or more other devices may perform some or all of process800in concert with, and/or in lieu of, model explanation interface203(e.g., one or more devices that implement one or more explanation models101and/or models201).

As shown, process800may include training (at802) one or more models, such as explanation model101, to associate one or more images with respective explanation labels. For example, as discussed above, explanation model101may, as part of a training process, receive and/or generate one or more visual representations105(e.g., images, charts, graphs, etc.) of data, such as time-series data or other data that may be suitably represented by one or more visual representations105. In some embodiments, the data may include and/or may be based on network KPIs, sensor data, autonomous vehicle data, or other suitable types of data.

Process800may further include receiving (at804) input data. For example, as discussed above, model explanation interface203may receive input data303, which may include network KPIs, sensor data, etc. to be processed by one or more models201. For example, a user or other entity may provide such input data303in order to receive model output labels301and/or other outputs of the one or more models201. Input data303may be provided as, for example, a table, a set of raw values, etc. That is, in some embodiments, input data303may not be provided as an image or other type of visual representation. On the other hand, in some embodiments, input data303may include or may be provided as an image or some other suitable type of visual representation of data.

Process800may additionally include providing (at806) the input data to one or more models. For example, as discussed above, model explanation interface203may provide, as input to one or more models201, the received (at804) input data. As discussed above, the one or more models201may perform unknown processing and/or may use unknown modeling techniques in order to generate one or more model output labels301associated with input data303. In some embodiments, models201may provide a measure of affinity, correlation, weight, likelihood, etc. of the association between model output labels301and input data303.

Process800may also include receiving (at808) the set of labels generated by the one or more models201. For example, model explanation interface203may receive (e.g., via an API or other suitable pathway) the one or more model output labels301generated by model(s)201.

Process800may further include generating (at810) an image or other suitable type of visual representation based on the input data. For example, model explanation interface203may generate one or more charts, graphs, or other types of visual representations of the received input data303. Process800may additionally include providing (at812) the image or other suitable type of visual representation to explanation model101. Additionally, or alternatively, model explanation interface203may provide input data303to explanation model101, which may generate the image or other suitable type of visual representation based on input data303.

Process800may also include receiving (at814) a set of explanation labels provided by the explanation model based on the generated image or other suitable type of visual representation. For example, explanation model101may utilize image recognition techniques (e.g., such as computer vision or other suitable image recognition techniques) to identify one or more images (or sets of images) of the training data (e.g., as trained at802) that match the image or other suitable type of visual representation that was generated (at810) based on input data303. The “match” may be determined using any suitable similarity analysis to identify the one or more images of the training data that exhibit at least a threshold measure of similarity to the image or other suitable type of visual representation associated with input data303.

In some embodiments, explanation model101may identify particular portions of the image associated with input data303that match the one or more images of the training data. For example, the entire image associated with input data303may not match images of the training data, but a portion of the image associated with input data303may match one or more images of the training data. In some such scenarios, explanation model101may generate one or more bounding boxes or other annotations indicating which portion or portions of the image associated with input data303match the one or more images of the training data. Such a situation may occur, for example, when a network is exhibiting relatively “normal” or “expected” KPIs over a given timeframe, but experiences an anomaly, event, failure, etc. at a particular time. The image(s) of the training data may include images that reflect the same type of anomaly, event, etc., and may accordingly match a portion of the image associated with input data303that corresponds to the particular time. Such image(s) of the training data may, on the other hand, not match other portions of the same image associated with input data303(e.g., where such other portions correspond to times at which the “normal” or “expected” KPIs were exhibited).

Process800may further include outputting (at816), in response to receiving the input data, the labels provided by the one or more models as well as the explanation labels provided by the explanation model. For example, as discussed above, model explanation interface203may output packaged output data509, including explanation labels505generated by explanation model101and model output labels507generated by model(s)201. In this manner, a user or other entity receiving packaged output data509may be able to readily identify reasoning or rationale behind the model output labels507generated by model(s)201, and may be provided further insight as to potential anomalies, errors, etc. exhibited in input data303. In this manner, weights and/or other measures of reliance on model(s)201may be adjusted (e.g., may be increased if the explanation labels are accurate, or decreased if the explanation labels are inaccurate). Further, networks or other systems based on which input data303is associated may further be refined, remediated, etc. based on the detailed explanations provided by explanation model101.

FIG.9illustrates an example environment900, in which one or more embodiments may be implemented. In some embodiments, environment900may correspond to a Fifth Generation (“5G”) network, and/or may include elements of a 5G network. In some embodiments, environment900may correspond to a 5G Non-Standalone (“NSA”) architecture, in which a 5G radio access technology (“RAT”) may be used in conjunction with one or more other RATs (e.g., a Long-Term Evolution (“LTE”) RAT), and/or in which elements of a 5G core network may be implemented by, may be communicatively coupled with, and/or may include elements of another type of core network (e.g., an evolved packet core (“EPC”)). In some embodiments, portions of environment900may represent or may include a 5G core (“5GC”). As shown, environment900may include UE901, RAN910(which may include one or more Next Generation Node Bs (“gNBs”)911), RAN912(which may include one or more evolved Node Bs (“eNBs”)913), and various network functions such as Access and Mobility Management Function (“AMF”)915, Mobility Management Entity (“MME”)916, Serving Gateway (“SGW”)917, Session Management Function (“SMF”)/Packet Data Network (“PDN”) Gateway (“PGW”)-Control plane function (“PGW-C”)920, Policy Control Function (“PCF”)/Policy Charging and Rules Function (“PCRF”)925, Application Function (“AF”)930, User Plane Function (“UPF”)/PGW-User plane function (“PGW-U”)935, Unified Data Management (“UDM”)/Home Subscriber Server (“HSS”)940, and Authentication Server Function (“AUSF”)945. Environment900may also include one or more networks, such as Data Network (“DN”)950. Environment900may include one or more additional devices or systems communicatively coupled to one or more networks (e.g., DN950), such as model explanation interface203.

The example shown inFIG.9illustrates one instance of each network component or function (e.g., one instance of SMF/PGW-C920, PCF/PCRF925, UPF/PGW-U935, UDM/HSS940, and/or AUSF945). In practice, environment900may include multiple instances of such components or functions. For example, in some embodiments, environment900may include multiple “slices” of a core network, where each slice includes a discrete and/or logical set of network functions (e.g., one slice may include a first instance of SMF/PGW-C920, PCF/PCRF925, UPF/PGW-U935, UDM/HSS940, and/or AUSF945, while another slice may include a second instance of SMF/PGW-C920, PCF/PCRF925, UPF/PGW-U935, UDM/HSS940, and/or AUSF945). The different slices may provide differentiated levels of service, such as service in accordance with different Quality of Service (“QoS”) parameters.

The quantity of devices and/or networks, illustrated inFIG.9, is provided for explanatory purposes only. In practice, environment900may include additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than illustrated inFIG.9. For example, while not shown, environment900may include devices that facilitate or enable communication between various components shown in environment900, such as routers, modems, gateways, switches, hubs, etc. Alternatively, or additionally, one or more of the devices of environment900may perform one or more network functions described as being performed by another one or more of the devices of environment900. Devices of environment900may interconnect with each other and/or other devices via wired connections, wireless connections, or a combination of wired and wireless connections. In some implementations, one or more devices of environment900may be physically integrated in, and/or may be physically attached to, one or more other devices of environment900.

UE901may include a computation and communication device, such as a wireless mobile communication device that is capable of communicating with RAN910, RAN912, and/or DN950. UE901may be, or may include, a radiotelephone, a personal communications system (“PCS”) terminal (e.g., a device that combines a cellular radiotelephone with data processing and data communications capabilities), a personal digital assistant (“PDA”) (e.g., a device that may include a radiotelephone, a pager, Internet/intranet access, etc.), a smart phone, a laptop computer, a tablet computer, a camera, a personal gaming system, an IoT device (e.g., a sensor, a smart home appliance, a wearable device, a Machine-to-Machine (“M2M”) device, or the like), or another type of mobile computation and communication device. UE901may send traffic to and/or receive traffic (e.g., user plane traffic) from DN950via RAN910, RAN912, and/or UPF/PGW-U935.

RAN910may be, or may include, a 5G RAN that includes one or more base stations (e.g., one or more gNBs911), via which UE901may communicate with one or more other elements of environment900. UE901may communicate with RAN910via an air interface (e.g., as provided by gNB911). For instance, RAN910may receive traffic (e.g., voice call traffic, data traffic, messaging traffic, signaling traffic, etc.) from UE901via the air interface, and may communicate the traffic to UPF/PGW-U935, and/or one or more other devices or networks. Similarly, RAN910may receive traffic intended for UE901(e.g., from UPF/PGW-U935, AMF915, and/or one or more other devices or networks) and may communicate the traffic to UE901via the air interface.

RAN912may be, or may include, a LTE RAN that includes one or more base stations (e.g., one or more eNBs913), via which UE901may communicate with one or more other elements of environment900. UE901may communicate with RAN912via an air interface (e.g., as provided by eNB913). For instance, RAN910may receive traffic (e.g., voice call traffic, data traffic, messaging traffic, signaling traffic, etc.) from UE901via the air interface, and may communicate the traffic to UPF/PGW-U935, and/or one or more other devices or networks. Similarly, RAN910may receive traffic intended for UE901(e.g., from UPF/PGW-U935, SGW917, and/or one or more other devices or networks) and may communicate the traffic to UE901via the air interface.

AMF915may include one or more devices, systems, Virtualized Network Functions (“VNFs”), Cloud-Native Network Functions (“CNFs”), etc., that perform operations to register UE901with the 5G network, to establish bearer channels associated with a session with UE901, to hand off UE901from the 5G network to another network, to hand off UE901from the other network to the 5G network, manage mobility of UE901between RANs910and/or gNBs911, and/or to perform other operations. In some embodiments, the 5G network may include multiple AMFs915, which communicate with each other via the N14 interface (denoted inFIG.9by the line marked “N14” originating and terminating at AMF915).

MME916may include one or more devices, systems, VNFs, CNFs, etc., that perform operations to register UE901with the EPC, to establish bearer channels associated with a session with UE901, to hand off UE901from the EPC to another network, to hand off UE901from another network to the EPC, manage mobility of UE901between RANs912and/or eNBs913, and/or to perform other operations.

SGW917may include one or more devices, systems, VNFs, CNFs, etc., that aggregate traffic received from one or more eNBs913and send the aggregated traffic to an external network or device via UPF/PGW-U935. Additionally, SGW917may aggregate traffic received from one or more UPF/PGW-Us935and may send the aggregated traffic to one or more eNBs913. SGW917may operate as an anchor for the user plane during inter-eNB handovers and as an anchor for mobility between different telecommunication networks or RANs (e.g., RANs910and912).

SMF/PGW-C920may include one or more devices, systems, VNFs, CNFs, etc., that gather, process, store, and/or provide information in a manner described herein. SMF/PGW-C920may, for example, facilitate the establishment of communication sessions on behalf of UE901. In some embodiments, the establishment of communications sessions may be performed in accordance with one or more policies provided by PCF/PCRF925.

PCF/PCRF925may include one or more devices, systems, VNFs, CNFs, etc., that aggregate information to and from the 5G network and/or other sources. PCF/PCRF925may receive information regarding policies and/or subscriptions from one or more sources, such as subscriber databases and/or from one or more users (such as, for example, an administrator associated with PCF/PCRF925).

AF930may include one or more devices, systems, VNFs, CNFs, etc., that receive, store, and/or provide information that may be used in determining parameters (e.g., quality of service parameters, charging parameters, or the like) for certain applications.

UPF/PGW-U935may include one or more devices, systems, VNFs, CNFs, etc., that receive, store, and/or provide data (e.g., user plane data). For example, UPF/PGW-U935may receive user plane data (e.g., voice call traffic, data traffic, etc.), destined for UE901, from DN950, and may forward the user plane data toward UE901(e.g., via RAN910, SMF/PGW-C920, and/or one or more other devices). In some embodiments, multiple UPFs935may be deployed (e.g., in different geographical locations), and the delivery of content to UE901may be coordinated via the N9 interface (e.g., as denoted inFIG.9by the line marked “N9” originating and terminating at UPF/PGW-U935). Similarly, UPF/PGW-U935may receive traffic from UE901(e.g., via RAN910, SMF/PGW-C920, and/or one or more other devices), and may forward the traffic toward DN950. In some embodiments, UPF/PGW-U935may communicate (e.g., via the N4 interface) with SMF/PGW-C920, regarding user plane data processed by UPF/PGW-U935.

UDM/HSS940and AUSF945may include one or more devices, systems, VNFs, CNFs, etc., that manage, update, and/or store, in one or more memory devices associated with AUSF945and/or UDM/HSS940, profile information associated with a subscriber. AUSF945and/or UDM/HSS940may perform authentication, authorization, and/or accounting operations associated with the subscriber and/or a communication session with UE901.

Model explanation interface203may include one or more devices, systems, servers, etc. that perform one or more operations described above. In some embodiments, model explanation interface203may be implemented by the same set of devices, systems, servers, etc. that implement one or more explanation models101and/or models201. Additionally, or alternatively, model explanation interface203and one or more explanation models101and/or models201may be implemented by different devices, systems, servers, etc. In some embodiments, input data303may be associated with configuration parameters, KPIs, metrics, etc. associated with some or all of the elements of environment900.

DN950may include one or more wired and/or wireless networks. For example, DN950may include an Internet Protocol (“IP”)-based PDN, a wide area network (“WAN”) such as the Internet, a private enterprise network, and/or one or more other networks. UE901may communicate, through DN950, with data servers, other UEs901, and/or to other servers or applications that are coupled to DN950. DN950may be connected to one or more other networks, such as a public switched telephone network (“PSTN”), a public land mobile network (“PLMN”), and/or another network. DN950may be connected to one or more devices, such as content providers, applications, web servers, and/or other devices, with which UE901may communicate.

FIG.10illustrates an example Distributed Unit (“DU”) network1000, which may be included in and/or implemented by one or more RANs (e.g., RAN910, RAN912, or some other RAN). In some embodiments, a particular RAN may include one DU network1000. In some embodiments, a particular RAN may include multiple DU networks1000. In some embodiments, DU network1000may correspond to a particular gNB911of a 5G RAN (e.g., RAN910). In some embodiments, DU network1000may correspond to multiple gNBs911. In some embodiments, DU network1000may correspond to one or more other types of base stations of one or more other types of RANs. As shown, DU network1000may include Central Unit (“CU”)1005, one or more Distributed Units (“DUs”)1003-1through1003-N (referred to individually as “DU1003,” or collectively as “DUs1003”), and one or more Radio Units (“RUs”)1001-1through1001-M (referred to individually as “RU1001,” or collectively as “RUs1001”).

CU1005may communicate with a core of a wireless network (e.g., may communicate with one or more of the devices or systems described above with respect toFIG.9, such as AMF915and/or UPF/PGW-U935). In the uplink direction (e.g., for traffic from UEs901to a core network), CU1005may aggregate traffic from DUs1003, and forward the aggregated traffic to the core network. In some embodiments, CU1005may receive traffic according to a given protocol (e.g., Radio Link Control (“RLC”)) from DUs1003, and may perform higher-layer processing (e.g., may aggregate/process RLC packets and generate Packet Data Convergence Protocol (“PDCP”) packets based on the RLC packets) on the traffic received from DUs1003.

In accordance with some embodiments, CU1005may receive downlink traffic (e.g., traffic from the core network) for a particular UE901, and may determine which DU(s)1003should receive the downlink traffic. DU1003may include one or more devices that transmit traffic between a core network (e.g., via CU1005) and UE901(e.g., via a respective RU1001). DU1003may, for example, receive traffic from RU1001at a first layer (e.g., physical (“PHY”) layer traffic, or lower PHY layer traffic), and may process/aggregate the traffic to a second layer (e.g., upper PHY and/or RLC). DU1003may receive traffic from CU1005at the second layer, may process the traffic to the first layer, and provide the processed traffic to a respective RU1001for transmission to UE901.

RU1001may include hardware circuitry (e.g., one or more RF transceivers, antennas, radios, and/or other suitable hardware) to communicate wirelessly (e.g., via an RF interface) with one or more UEs901, one or more other DUs1003(e.g., via RUs1001associated with DUs1003), and/or any other suitable type of device. In the uplink direction, RU1001may receive traffic from UE901and/or another DU1003via the RF interface and may provide the traffic to DU1003. In the downlink direction, RU1001may receive traffic from DU1003, and may provide the traffic to UE901and/or another DU1003.

RUs1001may, in some embodiments, be communicatively coupled to one or more Multi-Access/Mobile Edge Computing (“MEC”) devices, referred to sometimes herein simply as “MECs”1007. For example, RU1001-1may be communicatively coupled to MEC1007-1, RU1001-M may be communicatively coupled to MEC1007-M, DU1003-1may be communicatively coupled to MEC1007-2, DU1003-N may be communicatively coupled to MEC1007-N, CU1005may be communicatively coupled to MEC1007-3, and so on. MECs1007may include hardware resources (e.g., configurable or provisionable hardware resources) that may be configured to provide services and/or otherwise process traffic to and/or from UE901, via a respective RU1001.

For example, RU1001-1may route some traffic, from UE901, to MEC1007-1instead of to a core network (e.g., via DU1003and CU1005). MEC1007-1may process the traffic, perform one or more computations based on the received traffic, and may provide traffic to UE901via RU1001-1. In this manner, ultra-low latency services may be provided to UE901, as traffic does not need to traverse DU1003, CU1005, and an intervening backhaul network between DU network1000and the core network. In some embodiments, MEC1007may include, and/or may implement, some or all of the functionality described above with respect to explanation model101, model201, model explanation interface203, UPF935, and/or one or more other devices, systems, VNFs, CNFs, etc.

FIG.11illustrates example components of device1100. One or more of the devices described above may include one or more devices1100. Device1100may include bus1110, processor1120, memory1130, input component1140, output component1150, and communication interface1160. In another implementation, device1100may include additional, fewer, different, or differently arranged components.

Bus1110may include one or more communication paths that permit communication among the components of device1100. Processor1120may include a processor, microprocessor, or processing logic that may interpret and execute instructions. In some embodiments, processor1120may be or may include one or more hardware processors. Memory1130may include any type of dynamic storage device that may store information and instructions for execution by processor1120, and/or any type of non-volatile storage device that may store information for use by processor1120.

Input component1140may include a mechanism that permits an operator to input information to device1100and/or other receives or detects input from a source external to1140, such as a touchpad, a touchscreen, a keyboard, a keypad, a button, a switch, a microphone or other audio input component, etc. In some embodiments, input component1140may include, or may be communicatively coupled to, one or more sensors, such as a motion sensor (e.g., which may be or may include a gyroscope, accelerometer, or the like), a location sensor (e.g., a Global Positioning System (“GPS”)-based location sensor or some other suitable type of location sensor or location determination component), a thermometer, a barometer, and/or some other type of sensor. Output component1150may include a mechanism that outputs information to the operator, such as a display, a speaker, one or more light emitting diodes (“LEDs”), etc.

Communication interface1160may include any transceiver-like mechanism that enables device1100to communicate with other devices and/or systems. For example, communication interface1160may include an Ethernet interface, an optical interface, a coaxial interface, or the like. Communication interface1160may include a wireless communication device, such as an infrared (“IR”) receiver, a Bluetooth© radio, or the like. The wireless communication device may be coupled to an external device, such as a remote control, a wireless keyboard, a mobile telephone, etc. In some embodiments, device1100may include more than one communication interface1160. For instance, device1100may include an optical interface and an Ethernet interface.