Misuse metrics for interpretable artificial intelligence in computing environment
By introducing misuse evaluation mechanisms and misuse indicators into computing devices, the problem of misuse evaluation of artificial intelligence models is solved, and effective monitoring and correction of model behavior is achieved to ensure that it complies with legal and ethical norms.
Patent Information
- Application Number
- CN202411305267.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-02-27
- Filing Date
- 2020-02-10
- Publication Date
- 2025-01-07
AI Technical Summary
It is difficult for the existing technology to effectively evaluate and prevent the misuse of artificial intelligence models, especially in terms of law and morality, resulting in potential negative impacts and legal and moral concerns.
By introducing a misuse evaluation mechanism in computing devices, detect inconsistencies between training and inferred data, use misuse indicators to record and report improper use, and generate metrics based on appropriately used minimum standards to ensure that AI models meet Laws, rules and ethics.
Effectively evaluate and prevent misuse of AI models, ensure their legal and moral appropriate use, reduce negative impacts, and provide an interpretable mechanism to monitor and correct the behavior of models.
Smart Images

Figure CN119272047A_ABST
Abstract
Description
[0001] This application is a divisional application of the patent application with the same name with application number 202010084408.7 filed on February 10, 2020. Technical Field
[0002] Embodiments described herein relate generally to data processing, and more particularly to facilitating misuse indicators for explainable artificial intelligence in computing environments. Background Art
[0003] With the rapid growth of artificial intelligence (AI), newer and better applications are provided to allow more and easier stages of learning, decision-making, and action perceived by users. Such newer applications are provided based on explainable AI (XAI), which provides explainable models and interfaces for easier interaction and learning with users.
[0004] However, as AI and XAI are used in more situations than ever before, with a greater number of classifiers based on machine learning (ML), such as using deep neural networks (DNNs), there is a greater potential than ever for misuse of ML / deep learning (DL) models, and even the perception of it may lead to negative connotations being associated with AI / XAI. For example, there have been concerns about certain facial recognition technologies, such as legal and ethical concerns related to the inappropriate use and generalization of facial recognition models. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
[0006] Figure 1 A computing device employing a misuse assessment mechanism according to one embodiment is illustrated.
[0007] Figure 2 A misuse assessment mechanism according to one embodiment is illustrated.
[0008] Figure 3A Illustrated is a real-time transaction sequence for evaluating misuse in an AI model according to one embodiment.
[0009] Figure 3B A system for assessing misuse in an AI model is illustrated according to one embodiment.
[0010] Figure 3C Illustrated is a sequence of transactions for training and inference in a machine learning environment, according to one embodiment.
[0011] Figure 4A method for assessing misuse in an AI model according to one embodiment is illustrated.
[0012] Figure 5 A computing device capable of supporting and implementing one or more embodiments is illustrated.
[0013] Figure 6 Illustrated is a machine learning software stack according to one embodiment.
[0014] Fig. 7A Illustrated is a diagram of neural network layers according to one embodiment.
[0015] Figure 7B Illustrated are computational stages associated with neural network layers, according to one embodiment. DETAILED DESCRIPTION
[0016] In the following description, numerous specific details are set forth. However, embodiments as described herein may be implemented without these specific details. In other instances, well-known circuits, structures, and techniques are not shown in detail to avoid obscuring the understanding of this description.
[0017] Embodiments provide novel techniques for delivery of AI or XAI models (such as machine learning models) and other related tools that allow for the establishment of misuse indicators based on model training and use to indicate whether the model is being used appropriately (e.g., legally, ethically, etc.). In one embodiment, any inconsistencies between training data and inference data associated with the model are detected, and such information can subsequently be recorded and reported via misuse indicators so that any inappropriate use of the model can be stopped and subsequently prevented from future use.
[0018] As further described in this document, appropriate uses of XAI models (such as ML models) may be those that are consistent with any government laws, regulations and / or decrees, agency rules and / or regulations, social or community standards, expectations, and / or morals, personal values, ethics and / or ideals, etc. In some embodiments, what is considered appropriate (or inappropriate) based on any number and type of factors (such as social values or expectations, etc.) may be dynamic, and once a minimum level of appropriate / inappropriate use is determined, misuse indicators may be generated based on that minimum level to ensure that the XAI model at least meets the minimum value and is therefore functioning within the scope of any relevant laws, rules, ethics, expectations, etc.
[0019] It should be noted that throughout this document, terms such as "XAI model", "AI model", "machine learning model", "ML model", "deep learning model", "DL model", "neural network (NN) model", "NN model", "model", etc. can be referred to interchangeably. Further, throughout this document, terms such as "autonomous machine" or simply "machine", "autonomous vehicle" or simply "vehicle", "autonomous agent" or simply "agent", "autonomous device" or simply "device", and "computing device", "robot", etc. can be referred to interchangeably.
[0020] Figure 1 A computing device 100 employing a misuse assessment mechanism 110 according to one embodiment is illustrated. The computing device 100 represents a communication and data processing device, which includes or represents (but is not limited to) an intelligent voice command device, an intelligent personal assistant, a home / office automation system, a home appliance (e.g., a washing machine, a television, etc.), a mobile device (e.g., a smart phone, a tablet, etc.), a gaming device, a handheld device, a wearable device (e.g., a smart watch, a smart bracelet, etc.), a virtual reality (VR) device, a head mounted display (HMD), an Internet of Things (IoT) device, a laptop computer, a desktop computer, a server computer, a set-top box (e.g., an Internet-based cable TV set-top box, etc.), a global positioning system (GPS)-based device, an automotive infotainment device, etc.
[0021] In some embodiments, the computing device 100 includes, works with, is embedded in, or facilitates any number and type of other intelligent devices, such as (but not limited to) autonomous machines or artificial intelligence agents, such as mechanical agents or machines, electronic agents or machines, virtual agents or machines, electromechanical agents or machines, etc. Examples of autonomous machines or artificial intelligence agents may include (but not limited to) robots, autonomous vehicles (e.g., self-driving cars, self-driving aircraft, self-sailing sailboats, etc.), autonomous equipment (self-operating construction vehicles, self-operating medical equipment, etc.), etc. Further, "autonomous vehicles" are not limited to cars, but may include any number and type of autonomous machines, such as robots, autonomous equipment, home autonomous equipment, etc., and any one or more tasks or operations associated with such autonomous machines may be referred to interchangeably with autonomous driving.
[0022] Further, for example, computing device 100 may include a computer platform hosting an integrated circuit (“IC”), such as a system on a chip (“SoC” or “SOC”), which integrates various hardware and / or software components of computing device 100 on a single chip.
[0023] As shown, in one embodiment, computing device 100 may include any number and types of hardware and / or software components, such as (but not limited to) a graphics processing unit ("GPU" or simply "graphics processor") 114, a graphics driver (also referred to as "GPU driver", "graphics driver logic", "driver logic", user mode driver (UMD), UMD, user mode driver framework (UMDF), UMDF or simply "driver") 116, a central processing unit ("CPU" or simply "application processor") 112, memory 104, network devices, drivers, etc., and (multiple) input / output (I / O) sources 108 such as a touch screen, touch panel, touchpad, virtual or conventional keyboard, virtual or conventional mouse, ports, connectors, etc. The computing device 100 may include an operating system (OS) 106 that serves as an interface between the hardware and / or physical resources of the computing device 100 and a user.
[0024] It should be understood that for some implementations, systems with fewer or more configurations than the examples described above may be preferred. Thus, any configuration of computing device 100 may vary between implementations depending on numerous factors, such as price constraints, performance requirements, technological improvements, or other circumstances.
[0025] Embodiments may be implemented as any one or a combination of the following: one or more microchips or integrated circuits interconnected using a motherboard, hardwired logic, software stored by a memory device and executed by a microprocessor, firmware, an application specific integrated circuit (ASIC), and / or a field programmable gate array (FPGA). As an example, terms such as "logic", "module", "component", "engine", "circuit", "element", and "mechanism" may include software, hardware, firmware, and / or a combination thereof.
[0026] In one embodiment, as shown, the misuse evaluation mechanism 110 may be hosted by a memory 104 in communication with an I / O source(s) 108 (such as a microphone, speaker, etc.) of the computing device 100. In another embodiment, the misuse evaluation mechanism 110 may be part of or hosted by an operating system 106. In yet another embodiment, the misuse evaluation mechanism 110 may be hosted or facilitated by a graphics driver 116. In yet another embodiment, the misuse evaluation mechanism 110 may be hosted by or as part of firmware of a graphics processing unit (“GPU” or simply “graphics processor”) 114 or graphics processor 114; for example, the misuse evaluation mechanism 110 may be embedded in or implemented as part of the processing hardware of the graphics processor 114 in the form of a misuse evaluation component 130. Similarly, in yet another embodiment, the misuse assessment mechanism 110 may be controlled by or be part of a central processing unit (“CPU” or “application processor” for short) 112; for example, the misuse assessment mechanism 110 may be embedded in or implemented as part of the processing hardware of the application processor 112 in the form of a misuse assessment component 120.
[0027] For example, any element of the misuse assessment components 120, 130 and / or the misuse assessment mechanism 110 may be implemented by one or more analog or digital circuits, logic circuits, programmable processors, programmable controllers, GPUs, digital signal processors (DSPs), application specific integrated circuits (ASICs), programmable logic devices (PLDs), and / or field programmable logic devices (FPLDs).
[0028] It is contemplated that the novel technology is not limited to software implementation or hardware implementation, and, as will be further described in this document, the novel technology can be applied and implemented in software, hardware, firmware, or any combination thereof. Therefore, it is further contemplated that the embodiments are not limited to certain implementations or hosts of the misuse assessment mechanism 110, and one or more portions or components of the misuse assessment mechanism 110 can be employed or implemented as hardware, software, firmware, or any combination thereof. Further, as used herein, the phrase "communicate" includes various variations thereof, including direct communication and / or indirect communication through one or more intermediate components, and does not require direct physical (e.g., wired) communication and / or continuous communication, but additionally includes selective communication at periodic intervals, predetermined intervals, non-periodic intervals, and / or one-time events.
[0029] The computing device 100 may host (multiple) network interface devices to provide access to a network, such as a LAN, a wide area network (WAN), a metropolitan area network (MAN), a personal area network (PAN), Bluetooth, a cloud network, a mobile network (e.g., 3rd generation (3G), 4th generation (4G), etc.), an intranet, the Internet, etc. The (multiple) network interfaces may include, for example, a wireless network interface having an antenna, which may represent one or more antennas. The (multiple) network interfaces may also include, for example, a wired network interface for communicating with a remote device via a network cable, which may be, for example, an Ethernet cable, a coaxial cable, a fiber optic cable, a serial cable, or a parallel cable.
[0030] Embodiments may be provided, for example, as a computer program product, which may include one or more machine-readable media having machine-executable instructions stored thereon, which, when executed by one or more machines (such as, a computer, a computer network, or other electronic device), may cause the one or more machines to perform operations according to the embodiments described herein. Machine-readable media may include, but are not limited to, floppy disks, optical disks, compact disk read-only memories (CD-ROMs), magneto-optical disks, ROMs, random access memories (RAMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, flash memory, or other types of media / machine-readable media suitable for storing machine-executable instructions.
[0031] For example, when reading any of the devices, methods, or systems of the present patent covering pure software and / or firmware implementations, at least one element of the misuse assessment components 120, 130 and / or the misuse assessment mechanism 110 can be explicitly defined as including a non-transitory computer-readable storage device or storage disk (such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc.), including software and / or firmware.
[0032] Additionally, one or more elements of the misuse assessment components 120, 130 and / or the misuse assessment mechanism 110 may be downloaded as a computer program product, wherein the program may be transmitted from a remote computer (e.g., a server) to a requesting computer (e.g., a client) via a communications link (e.g., a modem and / or a network connection) by means of one or more data signals embodied in and / or modulated by a carrier wave or other propagation medium.
[0033] Throughout this document, the term "user" may be referred to interchangeably as a "viewer," "observer," "speaker," "person," "individual," "end-user," "developer," "programmer," "administrator," and the like. For example, in some cases, a user may refer to an end-user (such as a consumer accessing a client computing device), while in other cases, a user may include a developer, programmer, system administrator, and the like accessing a workstation that acts as a client computing device. It should be noted that throughout this document, terms such as "graphics domain" may be referred to interchangeably with "graphics processing unit," "graphics processor," or simply "GPU," and similarly, "CPU domain" or "host domain" may be referred to interchangeably with "computer processing unit," "application processor," or simply "CPU."
[0034] It should be noted that throughout this document, terms such as "node", "computing node", "server", "server device", "cloud computer", "cloud server", "cloud server computer", "machine", "host", "device", "computing device", "computer", "computing system", etc. are used interchangeably. It should be further noted that throughout this document, terms such as "application", "software application", "program", "software program", "package", "software package", etc. are used interchangeably.
[0035] Further, throughout this document, reference may be made interchangeably to terms such as "request," "query," "job," "work," "work item," and "workload." Similarly, an "application" or "agent" may refer to or include a computer program, software application, game, workstation application, etc., provided through an application programming interface (API), such as a free rendering API, such as an open graphics library, or a graphics processing unit. 11. 12, etc., where "dispatch" may be interchangeably referred to as "work unit" or "drawing", and "application" may be interchangeably referred to as "workflow" or simply "agent".
[0036] For example, a workload such as a three-dimensional (3D) gaming workload may include and publish any number and type of "frames," where each frame may represent an image (e.g., a sailboat, a person's face). Further, each frame may include and publish any number and type of work units, where each work unit may represent a portion (e.g., a mast of a sailboat, a forehead of a person's face) of the image (e.g., a sailboat, a person's face) represented by its corresponding frame. However, for consistency, throughout this document, each item may be referred to by a single term (e.g., "dispatch," "agent," etc.).
[0037] In some embodiments, terms such as "display screen" and "display surface" may be used to interchangeably refer to the visible portion of the display device, while the remainder of the display device may be embedded in a computing device such as a smartphone, wearable device, etc. It is contemplated and should be noted that the embodiments are not limited to any particular computing device, software application, hardware component, display device, display screen or surface, protocol, standard, etc. For example, the embodiments may be applied to and used with any number and type of real-time applications on any number and type of computers, such as desktops, laptops, tablet computers, smartphones, head mounted displays, and other wearable devices, etc. Further, for example, scenes rendered using this novel technique to achieve efficient performance may range from simple scenes such as desktop composition to complex scenes such as 3D games, augmented reality applications, and the like.
[0038] Figure 2 The diagram shows a method according to an embodiment Figure 1 For the sake of brevity, the misuse assessment mechanism 110 will not be repeated or discussed hereafter. Figure 1 Many details in the details discussed. In one embodiment, the misuse assessment mechanism 110 may include any number and type of elements or components, such as (but not limited to): detection and monitoring logic 201; trust mapping engine 203; explainable inference (EXPI) runtime logic ("EXPI logic") 205, which includes policy / parameter recommendation and update logic ("RU logic") 207, which includes threshold manager 208; communication / compatibility logic 209; investigation and feedback logic 211; analysis and classification logic 213; and misuse indicator estimation logic 215.
[0039] First, if we refer to Figure 3B Further illustration and description, embodiments are not limited to having a computer program on any particular device (such as computing device 100). Figure 1 The misuse evaluation mechanism 110 and / or one or more of the misuse evaluation components 120, 130 may be hosted by the computing device 100. As shown, in one embodiment, the misuse evaluation mechanism and / or one or more of the misuse evaluation components 120, 130 are hosted by the computing device 100. For example, in another embodiment, various client computing devices 250A, 250B, 250N and / or server computing devices 260A, 260B, 260N may host one or more elements of the misuse evaluation mechanism 110, while in yet another embodiment, the misuse evaluation mechanism 110 may be completely hosted by multiple computing devices, such as hosted by the client computing devices 250A, 250B, 250N and / or server computing devices 260A, 260B, 260N, respectively.
[0040] The computing device 100 is further shown to include a user interface 219 (e.g., a graphical user interface (GUI) based user interface, a web browser, a cloud-based platform user interface, a software application based user interface, other user or application programming interface (API), etc.). The computing device 100 may further include (multiple) I / O sources 108 having (multiple) input components 231 and (multiple) output components 233, the (multiple) input components 231 such as (multiple) cameras 242 (e.g., Reality TM cameras), (multiple) microphones 241, sensors, detectors, keyboards, mice, etc., (multiple) output components 233 such as (multiple) display devices or (multiple) simple displays 244 (for example, an integral display, a tensor display, a projection screen, a display screen, etc.), (multiple) speaker devices or (multiple) simple speakers, etc.
[0041] The computing device 100 is further shown as having access to and / or communicating with one or more databases 225 and / or one or more of the other computing devices via one or more communication media 230 (e.g., a network such as a proximity network, a cloud network, an intranet, the Internet, etc.).
[0042] In some embodiments, the database(s) 225 may include one or more of storage media or devices, repositories, data sources, etc., having any number and type of information (e.g., data, metadata, etc.) related to any number and type of applications, such as data and / or metadata related to one or more users, physical locations or regions, applicable laws, policies and / or rules, user preferences and / or profiles, security and / or authentication data, historical and / or preference details, etc.
[0043] As previously described, the computing device 100 may host an I / O source 108 including input component(s) 231 and output component(s) 233. In one embodiment, the input component(s) 231 may include a sensor array including, but not limited to, microphone(s) 241 (e.g., ultrasonic microphones), camera(s) 242 (e.g., two-dimensional (2D) cameras, three-dimensional (3D) cameras, infrared (IR) cameras, depth sensing cameras, etc.), capacitors, radio components, radar components, scanners, and / or accelerometers, etc. Similarly, the output component(s) 233 may include any number and type of display devices 244, projectors, light emitting diodes (LEDs), speaker(s) 243, and / or vibration motors, etc.
[0044] As mentioned above, by way of example, terms such as "logic", "module", "component", "engine", "circuit", "element" and "mechanism" may include software, hardware, firmware and / or a combination thereof. For example, logic itself may be or may include or may be associated with circuits at one or more devices, and the corresponding logic must be facilitated or executed to perform certain tasks, such as one or more devices respectively. Figure 1 The misuse assessment component 130 and / or the misuse assessment component 120 may be hosted by the application processor 112 and / or the graphics processor 114 .
[0045] For example, as shown, the input component(s) 231 may include any number and type of microphones 241, such as multiple microphones or microphone arrays, such as ultrasonic microphones, dynamic microphones, fiber optic microphones, laser microphones, etc. It is contemplated that one or more of the microphones 241 are used as one or more input devices for accepting or receiving audio input (such as human speech) into the computing device 100 and converting the audio or sound into electrical signals. Similarly, it is contemplated that one or more of the cameras 242 are used as one or more input devices for detecting and capturing images and / or videos of scenes, objects, etc., and providing the captured data as video input to the computing device 100.
[0046] Embodiments provide a novel technique facilitated by the misuse assessment mechanism 110 and / or one or more of the misuse assessment components 120 , 130 for assessing misuse metrics of an interpretable machine learning model. In one embodiment, the novel misuse indicator is obtained by comparing or mapping the use of the inferred data to the source / field data and any metadata used for training purposes based on multiple features, such as (but not limited to): 1) the range of input data with respect to many possible characteristics within which the inference is exposed to or compared to the training dataset; 2) foreground image comparisons for features of interest (e.g., skin color for a range of faces in an image); 3) differences in background conditions for images and audio that do not match in training (even if the foreground matches); 4) data similarity (on many factors such as variability, range of various features, etc.); 5) the number of objects of interest within the sample input (e.g., inference occurs on multiple faces when training images, where each image has one face); 6) image resolution, video frame rate, audio sampling rate, etc.; 7) other metadata in the training sample based on different aspects, such as the context in which the sample was obtained (e.g., school picture vs. headshot photo); and / or 8) miscellaneous data that is considered, but not necessarily based on a comparison of the training data to the inferred data; and so on.
[0047] It is contemplated that in machine learning, untrained neural network models are put through a training process using a given machine learning framework so that these models can be trained based on field data and any associated metadata as provided by the training data set. For example, the detection and monitoring logic 201 can be used to detect, monitor, and obtain field data and any metadata from information obtained through (but not limited to) one or more of images, text, video, audio, social traditions, local culture, acceptable and unacceptable customs, prejudices, blood types, diseases, blood types, race, ethnicity, nationality, gender, class, creed, religious beliefs, government laws, institutional rules and regulations, organizational policies, expectations, predictions, etc. Examples of field data can include information (e.g., age, race, breed, color, type, etc.) related to objects (e.g., people, pets, furniture, etc.) in a scene (e.g., a garden, a room, etc.) obtained from an image captured by the camera(s) 242, while examples of associated metadata can include information (e.g., address, map, etc.) related to the actual location (e.g., city, street, geographic coordinates, etc.) of the scene (e.g., a garden, a room, etc.) captured in the image.
[0048] It is further contemplated that once the neural network models are trained, these trained neural network models are subsequently used (such as performing tasks, inferring things) based on their training and any new data provided to these trained models. In other words, inference provides fully optimized and appropriately weighted models to perform the tasks they are expected to perform based on their training, such as successfully distinguishing dogs from cars, predicting what type of car a buyer will purchase, etc.
[0049] However, as mentioned before, conventional techniques cannot address situations when there is a discrepancy between training and inference; in other words, when things are not inferred based on training. In some cases, these discrepancies can be ignored as accidents or errors; however, in some other cases, when such discrepancies do not conform to policies and parameters based on law, ethics, tradition, culture, etc., then they can be considered misuse, even serious misuse.
[0050] For example, policies and parameters may be based on well-known or easily found information ("public information"), such as federal and state / provincial laws, city ordinances, administrative regulations (such as at airports, in parks, etc.), social traditions, local culture, religious obligations, etc. In one embodiment, such public information may be evaluated and used by RU logic 207 to provide policy / parameter recommendations (or updates to existing or previous policy / parameter recommendations) to threshold manager 208, where threshold manager 208 evaluates such recommendations and / or updates provided by RU logic 207 to set one or more policy / parameter thresholds.
[0051] In some cases, more precise, private, or specific information ("Specific Information") may be collected from users through surveys and feedback, as facilitated by survey and feedback logic 211. In one embodiment, such interaction between a user and misuse assessment mechanism 110 may be provided through one or more interfaces (such as user interface 219) provided to the user through one or more computing devices accessible to the user (such as client computing devices 250A, 250B, 250N, server computing devices 260A, 260B, 260N).
[0052] For example, in one embodiment, users (e.g., developers, administrators, end users, etc.) may be given surveys or questionnaires to provide their input or recommendations (such as regarding the policies and preferences of their company / organization), which may lead to more transparent inference policies. It is contemplated that organizations may include (but are not limited to) companies, non-profit organizations, government entities, educational institutions, etc. For example, users associated with an organization may be asked directly about the purpose of the inference, such as the context in which the inference is used and at what level of generalization or specification; for example, there is a significant difference between a policy that allows facial recognition (ID) of all passengers at an airport and another policy that is limited to matching a pilot's face to a pilot's license document. Further, these questionnaires may also be used to query about any risk exposure from incorrect inferences based on the desired confidence level generated in the inference.
[0053] As described above with reference to public information, in one embodiment, any specific information obtained and evaluated by the survey and feedback logic 211 is then forwarded to the RU logic 207, where the RU logic 207 evaluates and uses the specific information to provide policy / parameter recommendations (or updates to existing or previous policy / parameter recommendations) to the threshold manager 208. In one embodiment, the threshold manager 208 then evaluates these recommendations and / or updates provided by the RU logic 207 to set one or more policy / parameter thresholds.
[0054] In one embodiment, as will be further described herein, these policy / parameter thresholds are used as a basis for mapping training data to inferred usage, as facilitated by trust mapping engine 203. Any discrepancies between the training data and inferred usage are analyzed and classified as one or more of minor misuses, major misuses, errors, exceptions, exemptions, etc., as facilitated by analysis and classification logic 213. Any data related to misuse is then forwarded to misuse indicator estimation logic 215 to estimate indicators based on the severity and / or significance of the misuse so that appropriate actions can be recommended and / or taken to stop current misuse, prevent future misuse, etc.
[0055] As previously described, misuse can range from simple errors to acceptable anomalies to significant misuse, and therefore, to allow and ensure accuracy and confidence in misuse indicators, in some embodiments, the trust mapping engine 203 can trigger the inference process to perform sampling on inferences generated from the same input and the same model by using (but not limited to) one or more of the following: (a) random dropout; and (b) varying model parameters within a narrow range centered on their expectations so that a desired confidence level (such as to mitigate higher risks) can be obtained by sampling a series of inferences.
[0056] Further, for example, input from a user may provide exceptions to certain policies, procedures, etc., which may then be mapped or checked against conclusions generally made, as facilitated by the trust mapping engine 203. Such exception matches may be used by the trust mapping engine 203 to come up with comparative statistics related to expected positives as opposed to actual positives in inference usage (e.g., an expectation may be set that the skin color of a person matching a look-ahead table is consistent in proportion to the skin color of the face being measured).
[0057] Further, in one embodiment, training may be enhanced and tracked to identify key features (such as by tracking activations of neurons and groups of neurons across one or more channels) and any corresponding trained weights during the training phase, as facilitated by the detection and monitoring logic 201. Similarly, during inference of live data, any activations and / or attributions of neurons associated with the live data are tracked for subsequent comparison or mapping with the training data set and metadata, as facilitated by the trust mapping engine 203, wherein the results of the comparison or mapping thereof may then be used to estimate misuse indicators, as facilitated by the misuse indicator estimation logic 215. As previously described, the content of the misuse indicator may then be matched against any policy / parameter thresholds to determine the severity of the misuse and understand the decisions that may be enforced to allow, curb, or stop any misuse behavior. Further, in some embodiments, one or more of the metadata, inferences, misuse indicators, etc. from training may be tracked and maintained in a distributed ledger for the purposes of logging, auditing, etc.
[0058] With respect to mapping or comparing training data to inferences (as facilitated by the trust mapping engine 203), consider an XAI-based EXPI associated with sensed or tracked field data d1…dn (e.g., images, audio, language, etc.), wherein the field data d1…dn has a sensitivity level L = (l1,...,ln), where d1 represents data at a sensitivity level l1 (e.g., unclassified), l2 represents data at a second sensitivity level (e.g., sensitive), and classifications l3, l4,...n are at higher classification levels, respectively.
[0059] Now, assume that EXPI is related to the allocation of applications, such as a in A = {a1, a2, ... an} that classifies data in (d1 ... dn) with sensitivity level L, such that a(DL) = {(d1, l1), (d2, l2), ..., (dn, ln)}, and where a1->(D1L1) is a first data with a first sensitivity level, and there is a second sensitivity level for the second data at application a2 such that a2->(d2l2). In other words, the novel technology provides a hierarchical model that incorporates differential inference to be delivered to inferences whose quality (and corresponding computational effort) can vary depending on the sensitivity level. Further, for example, QoS represents an expected quality of service, where QoS has parameterized costs (such as attributes, performance, etc.), transaction clearing costs, etc.
[0060] In one embodiment, the EXPI transaction may be based on a mapping function F such that EXPI = F(TRUST_MAPPER(D, R, W), Tx, A, QoS, M), where M represents the machine learning feedback to be incorporated into the next iteration of the scheduling computation, where TRUST_MAPPER() is a function that computes a trust score or probability mapping training metadata (e.g., activation, attribution, etc.) to interpretable inference, where D represents the distributed components required for interpretable inference application A, where W represents the set of applications in A that conform to a known trusted whitelist configuration. For example, the whitelist may be published on a public blockchain, and where the security operation may be an attestation, a whitelist check, an antivirus scan, a firewall scan, etc., where R represents the risk at stake; for example, any value or opportunity cost Tx incurred by executing the transaction.
[0061] As described above, any mismatch or discrepancy between the training data and the inferences may be considered a misuse (or at least an error, anomaly, etc.), wherein the misuse indicator provides and lists not only these misuses, but also their classification and any specific potential problems, which may help users (e.g., developers) focus on those issues that may require some action to stop or limit invalid use of inferences, correct inferences classified as errors, or allow inferences to continue when classified as an exception / exemption, etc. Further, as described above, in some embodiments, the training data set may be appropriately augmented so that user inputs with less represented features and / or high-risk (e.g., marked) outputs are intentionally increased in number by applying filters that randomly obscure the background data in each data element.
[0062] Additionally, models may include labeled risks, labeled rare output signals, etc., for which such models are implicitly trained. Such factors may bias training to compensate for less represented and / or more sensitive inferences, and also train the model to indicate that features that contribute to rarity and risk assessments may be present at training time.
[0063] As previously mentioned, it is desirable to label any training data / field data used to train an untrained neural network model with metadata (such as the context in which the data sample was obtained), and then analyze the training data samples to derive characteristics of the actual data (e.g., background characteristics of an image, color levels, number of objects in an image, audio samples, etc.).
[0064] In one embodiment, misuse indicators are estimated by misuse indicator estimation logic 215 based on factors having various weights. One such indicator factor or component may include or process the similarity of the color (or light or pattern) spectral distribution of the background image (such as the portion of the image that does not include the foreground object of interest). For example, as facilitated by trust mapping engine 203, in this case, rather than using image similarity metrics for those image features that are not in the object of interest, the generalized spectrum of the field data image is compared to samples of the training data spectrum, which samples are typically extracted from images in many visual classifiers.
[0065] In one embodiment, the trust mapping engine 203 functions in real time so that any key activations or attributions of a feature set observed through EXPI as facilitated by the EXPI logic 205 can be quantified and compared to another feature set observed during training (such as using a tolerance profile from training). Similarly, the threshold manager 208 can use misuse indicators to identify whether any of the misuses exceed the current policy-based thresholds for a particular profile from the training characteristics. If such an exceedance is noted, a policy-based action can be recommended based on adapting the inference parameters to align with the policy recommendation, and logging of transactions can be performed using a ledger (such as a publicly distributed ledger) for auditing and other purposes.
[0066] Another example of an indicator factor or component might involve matching of skin color ranges between training data and live data as measured by pixel shading detected within a face box, where any live data can be automatically compared again to any training data sample to help reveal possible misalignments, such as in cases involving AI-based racial profiling.
[0067] Another example of an indicator factor or component may involve audio data, including sound clips, audio streams, etc., that are used as training data for training purposes, such as pre-analyzing a gunshot recognition algorithm to add metadata (such as sampling rate, clip length, background noise characteristics, etc.) for comparison with actual field data.
[0068] As previously described, in some embodiments, indicator factors or components can be based on user input, such as a developer can be queried to input aspects of the context in which the inference is used. For example, a developer can name the location of an airport where a face classifier is expected to be used. For example, with such user input, misuse indicators can be estimated to include a metric for distance comparison between field data and training data based on any metadata coordinates used for training. In other words, knowledge of which airports are likely to use the face classifier is taken into account when mapping or comparing the training data to the inference, so that any airport that is different from or determined to be farther away from the airport indicated by the developer can be considered an indication of misuse.
[0069] It is contemplated that any use of such indicator factors may require normalization to enable the misuse assessment mechanism 110 to use meaningful differences (eg, significant chromatographic background differences), wherein such normalization may be based on common information believed to be reliable.
[0070] Referring back to the I / O source(s) 108 again, it is contemplated that embodiments are not limited to any number or type of microphone(s) 241, camera(s) 242, speaker(s) 243, display(s) 244, etc., for capturing or presenting data. For example, as facilitated by the detection and monitoring logic 201, one or more of the microphones 241 may be used to simultaneously detect speech or sound from a user (e.g., a speaker). Similarly, as facilitated by the detection and monitoring logic 201, one or more of the cameras 242 may be used to capture images or videos of a geographic location (whether indoors or outdoors) and its associated content (e.g., furniture, electronic devices, humans, animals, trees, mountains, etc.), and form a set of image or video streams.
[0071] Similarly, as shown, output component(s) 233 may include any number and type of speaker(s) or speaker(s) device(s) 243 to be used as output devices for outputting or emitting audio from computing device 100 for any number or type of reasons, such as human listening or consumption. For example, speaker(s) 243 work inversely to microphone(s) 241, where speaker(s) 243 convert electrical signals into sound.
[0072] Furthermore, the input component(s) 231 may include any number and type of cameras, such as a depth sensing camera or a capture device (e.g., Reality TM Depth sensing cameras) are known for capturing still and / or video red-green-blue (RGB) and / or RGB depth (RGB-D) images of media such as personal media. Such images with depth information have been effectively used for various computer vision and computational photography effects, such as (but not limited to) scene understanding, refocusing, compositing, cinema-graphs, etc. Similarly, for example, the display may include any number and type of displays, such as, for example, an integrated display, a tensor display, a stereoscopic display, etc., including (but not limited to) an embedded or connected display screen, a display device, a projector, etc.
[0073] The input component(s) 231 may further include one or more of a vibratory component, a tactile component, an electrical conductivity element, a biometric sensor, a chemical detector, a signal detector, an electroencephalogram, a functional near infrared spectroscopy, a wave detector, a force sensor (e.g., an accelerometer), an illuminator, an eye tracking or gaze tracking system, a head tracking system, etc., each of which may be used to capture any amount and type of visual data such as images (e.g., photos, videos, movies, audio / video streams, etc.), and non-visual data such as audio streams or signals (e.g., sounds, noises, vibrations, ultrasound, etc.), radio waves (e.g., wireless signals such as wireless signals with data, metadata, symbols, etc.), chemical changes or properties (e.g., humidity, body temperature, etc.), biometric readings (e.g., graphic prints, etc.), brain waves, brain circulation, environmental / weather conditions, maps, etc. It is contemplated that "sensors" and "detectors" are referenced interchangeably throughout this document. It is further contemplated that the one or more input components 231 may further include one or more of supporting or supplemental devices for capturing and / or sensing data, such as, for example, illuminators (e.g., IR illuminators), lamps, generators, sound interceptors, etc.
[0074] It is further contemplated that, in one embodiment, the input component(s) 231 may include any number and type of context sensors (e.g., linear accelerometers) for sensing or detecting any number and type of context (e.g., estimating the horizon, linear acceleration, etc., in relation to a mobile computing device, etc.). For example, the input component(s) 231 may include any number and type of sensors, such as (but not limited to): accelerometers (e.g., linear accelerometers for measuring linear acceleration, etc.); inertial devices (e.g., inertial accelerometers, inertial gyroscopes, micro-electromechanical systems (MEMS) gyroscopes, inertial navigation units, etc.); and gravity gradiometers for studying and measuring changes in gravitational acceleration due to gravity, etc.
[0075] In addition, for example, the (multiple) input component 231 may include (but is not limited to): audio / visual devices (e.g., cameras, microphones, speakers, etc.); contextual awareness sensors (e.g., temperature sensors, facial expression and feature measurement sensors working with one or more cameras of the audio / visual device, environmental sensors (such as for sensing background color, light, etc.); biometric sensors (such as for detecting fingerprints, etc.), calendar maintenance and reading devices), etc.; global positioning system (GPS) sensors; resource requesters; and / or TEE logic. TEE logic may be used separately, or TEE logic may be part of the resource requester and / or I / O subsystem, etc. The (multiple) input component 231 may also include voice recognition devices, photo recognition devices, facial and other body recognition components, voice-to-text conversion components, etc.
[0076] Similarly, the output component(s) 233 may include a dynamic tactile touch screen with a tactile effector as an example of presenting a visualization of touch, where such an embodiment may be an ultrasonic generator that can send a signal in space that, when reaching, for example, a human finger, causes a tactile or similar sensation on the finger. In addition, for example and in one embodiment, the output component(s) 233 may include (but are not limited to) one or more of the following: a light source, a display device and / or screen, an audio speaker, a tactile component, an electroconductive element, a bone conduction speaker, a visual and / or non-visual presentation device for smell or odor, a visual and / or non-visual presentation device for touch or touch, an animation display device, a biometric display device, an X-ray display device, a high-resolution display, a high dynamic range display, a multi-view display, and a head-mounted display (HMD) for at least one of virtual reality (VR) and augmented reality (AR), etc.
[0077] It is contemplated that the embodiments are not limited to any number or type of use case scenarios, architectural placements, or component arrangements; however, for brevity and clarity, illustrations and descriptions are provided and discussed throughout this document for exemplary purposes, but the embodiments are not limited thereto. Further, throughout this document, a "user" may refer to someone who has access to one or more computing devices (such as computing device 100), and may be referenced interchangeably with a "person," "individual," "human being," "he," "she," "child," "adult," "viewer," "athlete," "player," "developer," "programmer," and the like.
[0078] The communication / compatibility logic 209 may be used to facilitate dynamic communication and compatibility between various components, networks, database(s) 225, and / or communication medium(s) 230, etc., and any number and type of the following, while ensuring compatibility with changing technologies, parameters, protocols, standards, etc.: other computing devices 250A, 250B, 250C, 260A, 260B, 260N (e.g., wearable computing devices, mobile computing devices, desktop computers, server computing devices, etc.), processing devices (e.g., central processing units (CPUs), graphics processing units (GPUs), etc.), capture / sensing components (e.g., non-visual data sensors / detectors, such as audio sensors, olfactory sensors, tactile sensors, signal sensors, vibration sensors, chemical detectors, etc.), etc., while ensuring compatibility with changing technologies, parameters, protocols, standards, etc. , radio wave detectors, force sensors, weather / temperature sensors, body / biological sensors, scanners, etc.; and visual data sensors / detectors, such as cameras, etc.), user / context awareness components and / or identification / authentication sensors / devices (such as biometric sensors / detectors, scanners, etc.), memory or storage devices, data sources, and / or (multiple) databases (such as data storage devices, hard drives, solid-state drives, hard disks, memory cards or devices, memory circuits, etc.), (multiple) networks (e.g., cloud networks, the Internet, the Internet of Things, intranets, cellular networks, proximity networks, such as Bluetooth, Bluetooth Low Energy (BLE), Bluetooth Smart, Wi-Fi proximity, radio frequency identification, near field communication, body area networks, etc.), wireless or wired communications and related protocols (e.g., WiMAX, Ethernet, etc.), connectivity and location management technologies, software applications / websites (e.g., social and / or business networking web pages, business applications, games and other entertainment applications, etc.), programming languages, etc.
[0079] Throughout this document, terms such as "logic," "component," "module," "framework," "engine," "tool," "circuitry," and the like may be referenced interchangeably and may include, by way of example, software, hardware, firmware, or any combination thereof. In one example, "logic" may refer to or include a software component that works with one or more of an operating system, a graphics driver, and the like of a computing device such as computing device 100. In another example, "logic" may refer to or include a hardware component that can be physically installed with or as part of one or more system hardware elements (such as an application processor, a graphics processor, and the like) of a computing device such as computing device 100. In yet another embodiment, "logic" may refer to or include a firmware component that can be part of system firmware (such as firmware of an application processor or a graphics processor) of a computing device such as computing device 100.
[0080] Further, specific brands, words, terms, phrases, names and / or abbreviations (such as "artificial intelligence", "AI", "explainable AI", "XAI", "neural network model", "machine learning model", "deep learning model", "misuse", "misuse indicator", "misuse indicator estimation", "training data", "field data", "inferred usage", "trust map", "policy / parameter", "threshold", "survey", "feedback", "neuron", "neural network", "deep neural network", "recursive deep neural network", "function", "factor", "depth", "pixel depth", "create", "train", "infer", "classify", "estimate", "real sense" or "real sense") are not used or acknowledged by the user. TM Any use of the terms "camera", "real-time", "automatic", "dynamic", "user interface", "camera", "sensor", "microphone", "display", "speaker", "verification", "authentication", "privacy", "user", "user profile", "user preference", "sender", "receiver", "personal device", "smart device", "mobile computer", "wearable device", "IoT device", "proximate network", "cloud network", "server computer", etc.) should not be construed to limit the embodiments to software or devices carrying that label in products or documents outside of this document.
[0081] It is envisioned that any number and type of components can be added to Figure 1 The misuse assessment mechanism 110 and / or one or more of the misuse assessment components 120, 130 and / or from Figure 1 The misuse assessment mechanism 110 and / or one or more of the misuse assessment components 120, 130 may be removed to facilitate various embodiments including adding, removing, and / or enhancing certain functionality. Figure 1For simplicity, clarity, and ease of understanding of the misuse assessment mechanism 110 and / or one or more of the misuse assessment components 120, 130, many of the standard and / or known components, such as those in a computing device, are not shown or discussed herein. It is contemplated that the embodiments as described herein are not limited to any technology, topology, system, architecture, and / or standard, and are dynamic enough to adopt and adapt to any future changes.
[0082] Figure 3A A real-time transaction sequence 300 for evaluating misuse in an AI model is illustrated according to one embodiment. For simplicity, the previously referenced Figure 1 to Figure 2 Many of the details mentioned or discussed are detailed. In addition, it is contemplated that any process or transaction of this and other diagrams can be performed by processing logic, which can include, for example, Figure 1 The misuse assessment mechanism 110 and / or one or more of the misuse assessment components 120, 130 are facilitated by hardware (e.g., circuitry, dedicated logic, programmable logic, etc.), software (e.g., instructions running on a processing device), or a combination thereof. For simplicity and clarity of presentation, any process or transaction associated with this and other diagrams may be shown or recorded in a linear sequence; however, it is contemplated that any number of processes or transactions may be performed in parallel, asynchronously, or in a different order.
[0083] The illustrated embodiment of the transaction sequence 300 shows that the trust mapping engine 203 functions in real time such that any activation and / or attribution of a feature set is quantified (as facilitated by EXPI 321) and subsequently compared to the feature set observed during training, which can be maintained and accessed as a tolerance profile in a database 323. As shown, for example, a data set (such as data 1A, 1B, 1C 301, 2A, 2B, 2C 303 and / or 3A, 3B, 3C 305, etc.) is accessed by Figure 1 The metrics 1311 captured by various I / O sources 108 (such as cameras, microphones, etc.) are received and used for training purposes and are classified as metrics 1311 representing motion (e.g., video), metrics 2313 representing audio context (e.g., audio), while still images and other related data (e.g., metadata) can be classified as metrics N 315.
[0084] In one embodiment, the trust mapping engine 203 may work in real time to quantify a set of activations and / or attributions, as facilitated by the EXPI 321, as further facilitated by the EXPI engine 205, and map them to a set of features observed during training and accessible as tolerance profiles from training at the database 323. Any discrepancies detected during mapping of the training dataset to inferred usage may be considered misuses or errors, which are then used to construct misuse metrics, where the RU logic 207 of the EXPI engine 205 may be triggered to use the misuse metrics to compare any misuses to the policy / parameter recommendations based on policy / parameter thresholds as configured and defined by the threshold manager 208.
[0085] In one embodiment, this comparison can be used to identify any misuse that does not conform to the policy / parameter recommendations (such as if the training features and / or inference usage exceed the policy thresholds). In one embodiment, the threshold manager 208 can note and use any violations or incompatibilities of the policy / parameter recommendations to adjust the inference parameters via performance EXPI inference 325 to align with the policy / parameter recommendations. In another embodiment, the policy / parameter recommendations can be changed to accommodate any changes to the training data and / or inference usage. Any such adjustments to the policy / parameter recommendations will result in new or updated policy / parameter thresholds and will be suitable for calibrating the tolerances of the associated neural network model via EXPI 321 and passed back to the trust mapping engine 203 as feedback.
[0086] Figure 3B A system 350 for evaluating misuse in an AI model is illustrated according to one embodiment. For simplicity, the previously referenced Figures 1 to 3A Many of the details mentioned or discussed are detailed. Further, it is contemplated that any process or transaction of this and other illustrations may be performed by processing logic, which may include, for example, Figure 1 The misuse assessment mechanism 110 and / or one or more of the misuse assessment components 120, 130 are facilitated by hardware (e.g., circuitry, dedicated logic, programmable logic, etc.), software (e.g., instructions running on a processing device), or a combination thereof. For simplicity and clarity of presentation, any process or transaction associated with this and other diagrams may be shown or recorded in a linear sequence; however, it is contemplated that any number of processes or transactions may be performed in parallel, asynchronously, or in a different order.
[0087] As previously mentioned Figure 2 As stated, Figure 1The misuse assessment mechanism 110 and / or one or more of the misuse assessment components 120, 130 are not limited to any particular placement or computing device. For example, as shown, the training computer 351, the viewer portal 361, and the inference computer 371 may include Figure 2 In the illustrated embodiment, the training computer 351 may be used to obtain training data 353, the training data 353 including data 355 and metadata tags 357 for training purposes, wherein the data 355 and metadata tags 357 may be analyzed using a data feature analyzer 353, such as by Figure 2 The analysis and classification logic 213 is facilitated.
[0088] Similarly, in one embodiment, inference computer 371 may be used to capture field data 375 including data 377 and metadata tags 379 for inference purposes, and subsequently classified and analyzed by classifier 373 and data feature analyzer 381, respectively, as described by Figure 2 The analysis and classification logic 213 of the embodiment of the present invention is facilitated. In some embodiments, upon completion of the inference including any classification and analysis, the field data 375 can be transmitted to the training computer 351, where the field data 375 can then be used as training data 353 for subsequent or future training of one or more machine learning models. Further, as shown, another computing device (such as a viewer portal 361) can be used to provide a viewing interface 363, which a user can access to view and experience XAI-based applications, information, etc., and pass policy inputs, developer surveys 365, etc. back to the viewer portal 361.
[0089] For example, viewer portal 361 may be used to supply developer surveys 365 to users, receive developer surveys 365 back from users, and host and maintain surveys 365 for later use by misuse estimator 367 to estimate misuse, such as by Figure 2 The misuse indicator estimation logic 215 and one or more other components of the misuse assessment mechanism 110 and / or for setting policy / parameter recommendations and thresholds Figure 2 The misuse assessment components 120, 130, etc. are facilitated by one or more components.
[0090] Figure 3C A transaction sequence 380 for training and inference in a machine learning environment according to one embodiment is illustrated. For simplicity, the previously referenced Figures 1 to 3BMany of the details mentioned or discussed are detailed. In addition, it is contemplated that any process or transaction of this and other diagrams can be performed by processing logic, which can include, for example, Figure 1 The misuse assessment mechanism 110 and / or one or more of the misuse assessment components 120, 130 are facilitated by hardware (e.g., circuitry, dedicated logic, programmable logic, etc.), software (e.g., instructions running on a processing device), or a combination thereof. For simplicity and clarity of presentation, any process or transaction associated with this and other diagrams may be shown or recorded in a linear sequence; however, it is contemplated that any number of processes or transactions may be performed in parallel, asynchronously, or in a different order.
[0091] As shown, transaction sequence 380 begins with detecting and identifying an untrained neural network model 381, and then passing it through training 391. During training 391, the neural network model in training 383 is trained within a machine / deep learning framework using training data 395 to learn new tasks, functions, and / or capabilities using any existing training data 395. Training 391 produces a trained model 385 that has learned new performance and other capabilities based on the training data 395.
[0092] The illustrated transaction sequence 380 continues with creating inferences 393 for applying any new capabilities, features, etc. to the trained model 385 using any new field data 397, thereby generating an optimized trained model 387 with better capabilities and features to perform its given task. As discussed throughout this document, in one embodiment, any discrepancies between the training data and the inferred usage are identified as discrepancies, which are then classified in the misuse indicator as misuse, error, anomaly, etc.
[0093] Figure 4 A method 400 for evaluating misuse in an AI model according to one embodiment is illustrated. For simplicity, the previously referenced Figures 1 to 3C Many of the details mentioned or discussed are detailed. In addition, it is contemplated that any process or transaction of this and other diagrams can be performed by processing logic, which can include, for example, Figure 1 The misuse assessment mechanism 110 and / or one or more of the misuse assessment components 120, 130 are facilitated by hardware (e.g., circuitry, dedicated logic, programmable logic, etc.), software (e.g., instructions running on a processing device), or a combination thereof. For simplicity and clarity of presentation, any process or transaction associated with this and other diagrams may be shown or recorded in a linear sequence; however, it is contemplated that any number of processes or transactions may be performed in parallel, asynchronously, or in a different order.
[0094] Method 400 begins at block 401, where training data is labeled with relevant metadata (such as the context in which the data sample was obtained, the location where the scene associated with the data sample occurred, etc.). At block 403, the training data is analyzed to obtain characteristics or features, as previously described with respect to Figure 2 As described, the features or characteristics are then used for misuse estimation, where the features are analyzed by matching the features with actual data (e.g., background characteristics of an image, color levels, number of objects in an image, audio samples, etc.). At block 405, a trained neural network model (such as an XAI machine learning model) is created, which in turn creates inferences. In one embodiment, the inferences are further based on and take into account information obtained from developer surveys, such as information provided by the developer at block 407, such as including policy expectations, context, generalizability, etc.
[0095] In one embodiment, then at box 409, inference is performed on or applied to any field data associated with the trained model, where at box 411, this field data is then labeled with the relevant metadata previously used to label the training data. As previously done for the training data, at box 413, any characteristics or features associated with the field data can now be analyzed for the training data to determine any misuse based on any differences found when mapping the training data to the inferred usage. At box 415, in one embodiment, misuse indicators are estimated based on the misuse (such as inferred usage, metadata for the field data, and / or any differences between the training data, etc.), while items for executable actions are proposed based on policy / parameter thresholds, policy feedback, etc. and for updating any existing policy / parameter recommendations, thresholds, etc.
[0096] As reference Figure 2 As described, in one embodiment, similarity measures may be based on factors with varying training weights, such as background image (e.g., where portions of the image may not include the foreground object of interest) color (or light or pattern) spectral distributions. Any image similarity measure may be based on image features that are not in the object of interest, which are typically extracted from the image in several visual classifiers, where the generalized spectrum of the live data image may be compared to a sample of the training data spectrum. Other factors may include (but are not limited to) matching of skin color ranges between the training data and the live data as measured by pixel shading detected within a face box, where any live data is automatically compared to the training data sample to reveal misalignments, such as in the case of racial profiling using AI.
[0097] Similarly, with respect to audio, any audio training data used for training (e.g., a shot identification algorithm) may be pre-analyzed to add metadata (such as sampling rate, segment length, background noise, characteristics, etc.) to compare with any live data. Additionally, the developer may be asked to input aspects of the context in which the inference may be used, such as, for example, the developer may name the location of an airport where face classification may be used. Misuse indicators may include metrics based on a comparison of the distance between any live data and the training data compared to the coordinates in the metadata used for training compared to the inference of misuse indications.
[0098] Figure 5 The illustrated computing device 500 is capable of supporting and implementing one or more embodiments. The computing device 500 shown may be used with Figure 1 The computing device 500 may be the same or similar to the computing device 100 of the present invention. The computing device 500 houses a system board 502. The board 502 may include a plurality of components, including but not limited to a processor 504 and at least one communication package 506. The communication package is coupled to one or more antennas 516. The processor 504 is physically and electrically coupled to the board 502.
[0099] Depending on its application, the computing device 500 may include other components that may or may not be physically and electrically coupled to the board 502. These other components include, but are not limited to, volatile memory (e.g., DRAM) 508, non-volatile memory (e.g., ROM) 509, flash memory (not shown), graphics processor 512, digital signal processor (not shown), cryptographic processor (not shown), chipset 514, antenna 516, display 518 (such as a touch screen display), touch screen controller 520, battery 522, audio codec (not shown), video codec (not shown), power amplifier 524, global positioning system (GPS) device 526, compass 528, accelerometer (not shown), gyroscope (not shown), speaker 530, camera 532, microphone array 534, and mass storage device (such as hard disk drive) 510, compact disk (CD) (not shown), digital versatile disk (DVD) (not shown), etc. These components may be connected to the system board 502, mounted to the system board, or combined with any of the other components.
[0100] The communication package 506 enables wireless and / or wired communication for data transmission to and from the computing device 500. The term "wireless" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communication channels, etc. that transmit data through non-solid media using modulated electromagnetic radiation. Although in some embodiments the associated device may not contain any wires, the term "wireless" does not imply that the associated device does not contain any wires. The communication package 506 may implement any of a variety of wireless or wired standards or protocols, including but not limited to Wi-Fi (IEEE 802.11 series), WiMAX (IEEE 802.16 series), IEEE 802.20, Long Term Evolution (LTE), Ev-DO, HSPA+, HSDPA+, HSUPA+, EDGE, GSM, GPRS, CDMA, TDMA, DECT, Bluetooth and its Ethernet derivatives, and any other wireless and wired protocols designated as 3G, 4G, 5G and higher generations. The computing device 500 may include multiple communication packages 506. For example, the first communication packet 506 may be dedicated to shorter-range wireless communications, such as Wi-Fi and Bluetooth; while the second communication packet 506 may be dedicated to longer-range wireless communications, such as GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO, etc.
[0101] The camera 532, including any depth sensor or proximity sensor, is coupled to an optional image processor 536 to perform conversion, analysis, noise reduction, comparison, depth analysis or distance analysis, image understanding, and other processes as described herein. The processor 504 is coupled to the image processor to drive the process using interrupts, setting parameters, and control operations of the image processor and camera. Alternatively, image processing can be performed in the processor 504, graphics CPU 512, camera 532, or any other device.
[0102] In various implementations, computing device 500 may be a laptop, a netbook, a notebook, an ultrabook, a smartphone, a tablet, a personal digital assistant (PDA), an ultra-mobile PC, a mobile phone, a desktop computer, a server, a set-top box, an entertainment control unit, a digital camera, a portable music player, or a digital video recorder. The computing device may be fixed, portable, or wearable. In further implementations, computing device 500 may be any other electronic device that processes data or records data for processing elsewhere.
[0103] Embodiments may be implemented using one or more memory chips, controllers, CPUs (central processing units), microchips or integrated circuits interconnected using a motherboard; Application Specific Integrated Circuits (ASICs) and / or Field Programmable Gate Arrays (FPGAs). As an example, the term "logic" may include software or hardware and / or a combination of software and hardware.
[0104] References to "one embodiment," "an embodiment," "an example embodiment," "embodiments," etc. indicate that the embodiment(s) so described may include a particular feature, structure, or characteristic, but not every embodiment necessarily includes the particular feature, structure, or characteristic. Further, some embodiments may have some, all, or none of the features described for other embodiments.
[0105] In the following description and appended claims, the term "coupled" and its derivatives may be used. "Coupled" is used to indicate that two or more elements co-operate or interact with each other, but the two or more elements may or may not have intermediate physical or electrical components between them.
[0106] As used in the claims, unless otherwise specified, the use of ordinal adjectives "first," "second," "third," etc. to describe common elements merely indicates that different instances of similar elements are mentioned, and is not intended to imply that the elements so described must be in a given sequence, whether temporally, spatially, in order, or in any other manner.
[0107] The accompanying drawings and the foregoing description give examples of embodiments. It will be appreciated by those skilled in the art that one or more of the elements described may be well combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, the order of the processes described herein may be changed, and the order of the processes described herein is not limited to the manner described herein. Moreover, the actions of any flowchart do not have to be implemented in the order shown; nor do they necessarily need to perform all of these actions. In addition, those actions that are independent of other actions may also be performed in parallel with other actions. The scope of each embodiment is by no means limited by these specific examples. Numerous variants (whether or not explicitly given in the specification) are possible, such as differences in the use of structure, scale, and material. The scope of the embodiment is at least as broad as the scope given by the appended claims.
[0108] Embodiments may be provided, for example, as a computer program product, which may include one or more transient or non-transitory machine-readable storage media having machine-executable instructions stored thereon, which, when executed by one or more machines (such as computers, computer networks, or other electronic devices), may cause the one or more machines to perform operations according to the embodiments described herein. Machine-readable media may include, but are not limited to, floppy disks, optical disks, CD-ROMs (compact disk read-only memories), and magneto-optical disks, ROMs, RAMs, EPROMs (erasable programmable read-only memories), EEPROMs (electrically erasable programmable read-only memories), magnetic or optical cards, flash memory, or other types of media / machine-readable media suitable for storing machine-executable instructions.
[0109] Figure 6 A machine learning software stack 600 is illustrated according to one embodiment. Figure 6 A software stack for general purpose GPU (GPGPU) operation is illustrated, but the machine learning software stack is not limited to this example and may also include a machine learning software stack for CPU operation. The machine learning application 602 may be configured to train a neural network using a training data set or to implement machine intelligence using a trained deep neural network. The machine learning application 602 may include training and inference functions for the neural network and / or specialized software that may be used to train the neural network prior to deployment. The machine learning application 602 may implement any type of machine intelligence, including but not limited to: image recognition, map creation and positioning, autonomous navigation, speech synthesis, medical imaging, or language translation.
[0110] Hardware acceleration for machine learning applications 602 can be enabled via a machine learning framework 604. The machine learning framework 604 can provide a library of machine learning primitives. Machine learning primitives are basic operations typically performed by machine learning algorithms. Without the machine learning framework 604, developers of machine learning algorithms would be required to create and optimize the main computational logic associated with the machine learning algorithm, and then re-optimize the computational logic when developing new parallel processors. Instead, machine learning applications can be configured to use primitives provided by the machine learning framework 604 to perform the necessary calculations. Exemplary primitives include tensor convolutions, activation functions, and pooling, which are computational operations performed when training convolutional neural networks (CNNs). The machine learning framework 604 can also provide primitives to implement basic linear algebra subroutines performed by many machine learning algorithms, such as matrix and vector operations.
[0111] The machine learning framework 604 can process input data received from the machine learning application 602 and generate appropriate inputs to the computation framework 606. The computation framework 606 can abstract the underlying instructions provided to the GPGPU driver 608 to enable the machine learning framework 604 to take advantage of hardware acceleration via the GPGPU hardware 610 without requiring the machine learning framework 604 to be intimately familiar with the architecture of the GPGPU hardware 610. In addition, the computation framework 606 can enable hardware acceleration for the machine learning framework 610 across various types and generations of GPGPU hardware 604.
[0112] Machine Learning Neural Network Implementation
[0113] The computing architecture provided by the embodiments described herein can be trained and learned to perform these types of parallel processing that are computationally equivalent to training and deploying neural networks for machine learning. The computing architecture provided by the embodiments described herein is different from deep neural networks (DNNs), convolutional neural networks, or recurrent neural networks (RNNs) in terms of the functional types of neurons deployed and the computational steps included in the training process. Although the computing architecture provided is different from neural networks such as CNN, DNN, or RNN, some calculations performed by this architecture may be equivalent to calculations performed by neural networks such as CNN, DNN, or RNN. If attempted by neural networks such as CNN, DNN, or RNN, other calculations performed by the computing architecture provided may be impossible. This is why the computing architecture provided by the embodiments described herein solves the robustness and accuracy issues associated with neural networks such as CNN, DNN, or RNN. Neural networks can be summarized as function networks with graph relationships. As known in the art, there are various types of neural network implementations for machine learning. An exemplary type of neural network is a feedforward network as previously described.
[0114] The second exemplary type of neural network is a convolutional neural network (CNN). CNN is a specialized feedforward neural network for processing data (such as image data) with a known, grid-like topology. Therefore, CNNs are commonly used in computer vision and image recognition applications, but they can also be used for other types of pattern recognition, such as speech and language processing. The nodes in the CNN input layer are organized as a set of "filters" (feature detectors stimulated by the receptive fields found in the retina), and the output of each filter set is propagated to the nodes in the successive layers of the network. The calculation for CNN includes applying the convolution mathematical operation to each filter to produce the output of that filter. Convolution is a specialized mathematical operation performed by two functions to produce a third function, which is a modified version of one of the two original functions. In convolutional network terminology, the first function to the convolution can be called the input, and the second function can be called the convolution kernel. The output can be called a feature map. For example, the input to the convolution layer can be a multidimensional data array defining the various color components of the input image. The convolution kernel can be a multidimensional parameter array, where the parameters are adapted by the training process for the neural network.
[0115] Recurrent neural networks (RNNs) are a class of feedforward neural networks that include feedback connections between layers. RNNs enable modeling of sequential data by sharing parameter data across different parts of the neural network. The architecture for RNNs includes loops. These loops represent the effect of the current value of a variable on its own value at future moments, as at least a portion of the output data from the RNN is used as feedback for processing subsequent inputs in the sequence. This feature makes RNNs particularly useful for language processing due to the mutable nature of language data that can be composed.
[0116] The figures described below present exemplary feedforward networks, CNN networks, and RNN networks, and describe the general process for training and deploying each of those types of networks, respectively. It will be understood that these descriptions are exemplary and non-limiting with respect to any specific embodiments described herein, and that the concepts illustrated are generally applicable to deep neural networks and machine learning techniques in general.
[0117] The exemplary neural network described above can be used to perform deep learning. Deep learning is machine learning using deep neural networks. Unlike shallow neural networks that include only a single hidden layer, the deep neural networks used in deep learning are artificial neural networks composed of multiple hidden layers. Deeper neural networks are generally more computationally intensive to train. However, the additional hidden layers of the network enable multi-step pattern recognition that produces reduced output errors relative to shallow machine learning techniques.
[0118] The deep neural network used in deep learning typically includes a front-end network for performing feature recognition, which is coupled to a back-end network that represents a mathematical model that can perform operations (e.g., object classification, speech recognition, etc.) based on the feature representation provided to the mathematical model. Deep learning enables machine learning to be performed without the need to perform manual feature engineering for the model. Instead, a deep neural network can learn features based on statistical structures or correlations within the input data. The learned features can be provided to a mathematical model that can map the detected features to an output. The mathematical model used by the network is typically dedicated to a specific task to be performed, and different models will be used to perform different tasks.
[0119] Once the neural network is structured, a learning model can be applied to the network to train the network to perform a specific task. The learning model describes how to adjust the weights within the model to reduce the output error of the network. Back propagation of errors is a common method for training neural networks. An input vector is presented to the network for processing. The output of the network is compared to the desired output using a loss function, and an error value is calculated for each of the neurons in the output layer. The error values are then propagated backward until each neuron has an associated error value that roughly represents the contribution of the neuron to the original output. The network can then learn through those errors using an algorithm (such as a stochastic gradient descent algorithm) to update the weights of the neural network.
[0120] Fig. 7A Illustrated is a diagram of neural network layers according to one embodiment. Figure 7B Illustrated are computational stages associated with neural network layers, according to one embodiment. Fig. 7A The diagram shows the various layers within a CNN. Fig. 7A As shown in , an exemplary CNN for modeling image processing can receive an input 702 describing the red, green, and blue (RGB) components of an input image. The input 702 can be processed by multiple convolutional layers (e.g., a first convolutional layer 704, a second convolutional layer 706). The outputs from the multiple convolutional layers can optionally be processed by a collection 708 of fully connected layers. As previously described for feedforward networks, neurons in a fully connected layer have full connections to all activations in the previous layer. The outputs from the fully connected layer 708 can be used to generate output results from the network. Matrix multiplication can be used instead of convolution to calculate the activations within the fully connected layer 708. Not all CNN implementations utilize a fully connected layer 708. For example, in some implementations, the second convolutional layer 706 can generate the output of the CNN.
[0121] The convolutional layers are sparsely connected, which is different from the traditional neural network configuration found in the fully connected layer 708. Traditional neural network layers are fully connected so that each output unit interacts with each input unit. However, as shown, the convolutional layers are sparsely connected because the output of the convolution of the receptive field (rather than the corresponding state value of each node in the receptive field) is input to the nodes of the subsequent layer. The kernel associated with the convolutional layer performs a convolution operation, the output of which is sent to the next layer. The dimensionality reduction performed within the convolutional layer is one aspect that enables CNNs to scale to process large images.
[0122] Figure 7B Illustrated are exemplary computational stages within a convolutional layer of a CNN. An input 712 to a convolutional layer of a CNN may be processed in three stages of a convolutional layer 714. The three stages may include a convolutional stage 716, a detector stage 718, and a pooling stage 720. Subsequently, the convolutional layer 714 may output data to a successive convolutional layer. The final convolutional layer of the network may generate output feature map data or provide input to a fully connected layer, for example to generate a classification value for input to a CNN.
[0123] Several convolutions are performed in parallel in the convolution stage 716 to produce a set of linear activations. The convolution stage 716 may include an affine transformation, which is any transformation that can be specified as a linear transformation plus a translation. Affine transformations include rotations, translations, scaling, and combinations of these transformations. The convolution stage calculates the output of a function (e.g., a neuron) connected to a specific area in the input, which can be determined as a local area associated with the neuron. The neuron calculates the dot product between the weight of the neuron and the area in the local input to which the neuron is connected. The output from the convolution stage 716 defines a set of linear activations processed by the successive stages of the convolution layer 714.
[0124] The linear activations may be processed by the detector stage 718. In the detector stage 718, each linear activation is processed by a nonlinear activation function. The nonlinear activation function increases the nonlinear nature of the overall network without affecting the receptive field of the convolutional layer. Several types of nonlinear activation functions may be used. One particular type is the rectified linear unit (ReLU), which uses an activation function defined as f(x) = max(0, x) so that the threshold of the activation is zero.
[0125] The pooling stage 720 uses a pooling function that replaces the output of the second convolutional layer 706 with summary statistics of nearby outputs. The pooling function can be used to introduce translation invariance into the neural network so that a small translation to the input does not change the pooled output. The invariance of local translation can be useful in scenarios where the presence of a feature in the input data is more important than the exact location of the feature. Various types of pooling functions can be used during the pooling stage 720, including maximum pooling, average pooling, and l2 norm pooling. In addition, some CNN implementations do not include a pooling stage. Instead, such implementations substitute additional convolution stages with an increased span relative to the previous convolution stage.
[0126] Subsequently, the output from the convolutional layer 714 may be processed by the next layer 722. The next layer 722 may be an additional convolutional layer or a layer in the fully connected layer 708. For example, Fig. 7A The first convolutional layer 704 may output to the second convolutional layer 706 , and the second convolutional layer may output to the first layer in the fully connected layer 708 .
[0127] The following clauses and / or examples refer to further embodiments or examples. Details in the examples may be used anywhere in one or more embodiments. Various features of different embodiments or examples may be combined in various ways with some features included and other features excluded to suit a variety of different applications. Examples may include subject matter such as: a method; an apparatus for performing the actions of the method; at least one machine-readable medium including instructions that, when executed by a machine, cause the machine to perform the actions of the method; or an apparatus or system for facilitating hybrid communications according to the embodiments and examples described herein.
[0128] Some embodiments relate to Example 1, which includes a device for facilitating misuse indicators for explainable artificial intelligence in a computing environment, the device including: one or more processors for: mapping training data to inferred usage in a machine learning environment, wherein the training data is used to train a machine learning model; detecting one or more differences between the training data and the inferred usage based on one or more policy / parameter thresholds; classifying the one or more differences as one or more misuses; and creating a misuse indicator listing the one or more misuses.
[0129] Example 2 includes the subject matter of Example 1, wherein the inference is based on live data captured using one or more capture devices including one or more of a camera, a microphone, and one or more sensors, wherein the training data and the live data are tagged with metadata to identify details related to one or more of the training data and the live data, and wherein the machine learning environment is part of an explainable artificial intelligence (XAI) environment.
[0130] Example 3 includes the subject matter of Examples 1-2, wherein the one or more processors are further used to: determine one or more misuses as one or more errors or one or more policy / parameter changing actions; modify the misuse indicators to distinguish between one or more errors and one or more policy / parameter changing actions; and propose executable tasks to respond to one or more policy / parameter changing actions, wherein the executable tasks include one or more of the following: modifying one or more policy / parameter thresholds, pausing one or more policy / parameter changing actions, and issuing one or more warnings to prevent one or more policy / parameter changing actions from occurring in the future.
[0131] Example 4 includes the subject matter of Examples 1-3, wherein one or more policy / parameter thresholds are based on one or more features, the one or more features comprising one or more of government laws, administrative regulations, organizational policies, cultural norms, social customs, and ethical expectations, wherein the one or more policy / parameter thresholds are dynamically modified based on changes in the one or more features, wherein the one or more features are extracted from one or more of training data, field data, metadata, and user input.
[0132] Example 5 includes the subject matter of Examples 1-4, wherein the one or more processors are further used to: transmit one or more surveys to one or more computing devices via one or more communication media, wherein the one or more surveys are used to collect user input from one or more users having access to the one or more computing devices, wherein the user input includes one or more of a policy context, a policy reason, and a policy recommendation; evaluate one or more policy / parameter thresholds based on the user input; and modify the one or more policy / parameter thresholds based on the user input.
[0133] Example 6 includes the subject matter of Examples 1-5, wherein the one or more processors are further configured to adjust detection of the one or more differences based on the one or more modified policy / parameter thresholds.
[0134] Example 7 includes the subject matter of Examples 1-6, wherein the one or more processors include one or more of a graphics processor and an application processor, wherein the one or more processors are co-located on a common semiconductor package.
[0135] Some embodiments relate to Example 8, which includes a method for facilitating misuse indicators for explainable artificial intelligence in a computing environment, the method comprising: mapping training data to inferred usage in a machine learning environment, wherein the training data is used to train a machine learning model; detecting one or more differences between the training data and the inferred usage based on one or more policy / parameter thresholds; classifying the one or more differences as one or more misuses; and creating a misuse indicator listing the one or more misuses.
[0136] Example 9 includes the subject matter of Example 8, wherein the inference is based on live data captured using one or more capture devices including one or more of a camera, a microphone, and one or more sensors, wherein the training data and the live data are tagged with metadata to identify details related to one or more of the training data and the live data, and wherein the machine learning environment is part of an explainable artificial intelligence (XAI) environment.
[0137] Example 10 includes the subject matter of Examples 8-9, further comprising: determining one or more misuses as one or more errors or one or more policy / parameter change actions; modifying misuse indicators to distinguish between one or more errors and one or more policy / parameter change actions; and proposing executable tasks to respond to one or more policy / parameter change actions, wherein the executable tasks include one or more of: modifying one or more policy / parameter thresholds, pausing one or more policy / parameter change actions, and issuing one or more warnings to prevent one or more policy / parameter change actions from occurring in the future.
[0138] Example 11 includes the subject matter of Examples 8-10, wherein one or more policy / parameter thresholds are based on one or more features, the one or more features comprising one or more of government laws, administrative regulations, organizational policies, cultural norms, social customs, and ethical expectations, wherein the one or more policy / parameter thresholds are dynamically modified based on changes in the one or more features, wherein the one or more features are extracted from one or more of training data, field data, metadata, and user input.
[0139] Example 12 includes the subject matter of Examples 8-11, further including:
[0140] One or more surveys are transmitted to one or more computing devices via one or more communication media, wherein the one or more surveys are used to collect user input from one or more users having access to the one or more computing devices, wherein the user input includes one or more of a policy context, a policy reason, and a policy recommendation; and one or more policy / parameter thresholds are evaluated based on the user input; and one or more policy / parameter thresholds are modified based on the user input.
[0141] Example 13 includes the subject matter of Examples 8-12, further comprising adjusting detection of one or more differences based on one or more modified policy / parameter thresholds.
[0142] Example 14 includes the subject matter of Examples 8-13, wherein the method is facilitated by one or more processors including one or more of a graphics processor and an application processor, wherein the one or more processors are co-located on a common semiconductor package.
[0143] Some embodiments relate to Example 15, which includes a data processing system comprising a memory; and one or more processors coupled to the memory, the one or more processors being used to: map training data to inferred usage in a machine learning environment, wherein the training data is used to train a machine learning model; detect one or more differences between the training data and the inferred usage based on one or more policy / parameter thresholds; classify the one or more differences as one or more misuses; and create a misuse indicator listing the one or more misuses.
[0144] Example 16 includes the subject matter of Example 15, wherein the inference is based on live data captured using one or more capture devices including one or more of a camera, a microphone, and one or more sensors, wherein the training data and the live data are tagged with metadata to identify details related to one or more of the training data and the live data, and wherein the machine learning environment is part of an explainable artificial intelligence (XAI) environment.
[0145] Example 17 includes the subject matter of Examples 15-16, wherein the one or more processors are further used to: determine one or more misuses as one or more errors or one or more policy / parameter changing actions; modify the misuse indicators to distinguish between one or more errors and one or more policy / parameter changing actions; and propose executable tasks to respond to one or more policy / parameter changing actions, wherein the executable tasks include one or more of: modifying one or more policy / parameter thresholds, pausing one or more policy / parameter changing actions, and issuing one or more warnings to prevent one or more policy / parameter changing actions from occurring in the future.
[0146] Example 18 includes the subject matter of Examples 15-17, wherein one or more policy / parameter thresholds are based on one or more features, the one or more features comprising one or more of government laws, administrative regulations, organizational policies, cultural norms, social customs, and ethical expectations, wherein the one or more policy / parameter thresholds are dynamically modified based on changes in the one or more features, wherein the one or more features are extracted from one or more of training data, field data, metadata, and user input.
[0147] Example 19 includes the subject matter of Examples 15-18, wherein the one or more processors are further used to: transmit one or more surveys to one or more computing devices via one or more communication media, wherein the one or more surveys are used to collect user input from one or more users with access to the one or more computing devices, wherein the user input includes one or more of policy context, policy reasons, and policy recommendations; evaluate one or more policy / parameter thresholds based on the user input; and modify one or more policy / parameter thresholds based on the user input.
[0148] Example 20 includes the subject matter of Examples 15-19, wherein the one or more processors are further configured to adjust detection of the one or more differences based on the one or more modified policy / parameter thresholds.
[0149] Example 21 includes the subject matter of Examples 15-20, wherein the one or more processors include one or more of a graphics processor and an application processor, wherein the one or more processors are co-located on a common semiconductor package.
[0150] Some embodiments relate to Example 22, which includes an apparatus for facilitating misuse indicators for explainable artificial intelligence in a computing environment, the apparatus comprising: a device for mapping training data to inferred usage in a machine learning environment, wherein the training data is used to train a machine learning model; a device for detecting one or more differences between the training data and the inferred usage based on one or more policy / parameter thresholds; a device for classifying the one or more differences as one or more misuses; and a device for creating a misuse indicator listing the one or more misuses.
[0151] Example 23 includes the subject matter of Example 22, wherein the inference is based on live data captured using one or more capture devices including one or more of a camera, a microphone, and one or more sensors, wherein the training data and the live data are tagged with metadata to identify details related to one or more of the training data and the live data, and wherein the machine learning environment is part of an explainable artificial intelligence (XAI) environment.
[0152] Example 24 includes the subject matter of Examples 22-23, further comprising: a device for determining one or more misuses as one or more errors or one or more policy / parameter changing actions; a device for modifying the misuse indicator to distinguish between one or more errors and one or more policy / parameter changing actions; and a device for proposing an executable task to respond to one or more policy / parameter changing actions, wherein the executable task comprises one or more of: modifying one or more policy / parameter thresholds, pausing one or more policy / parameter changing actions, and issuing one or more warnings to prevent one or more policy / parameter changing actions from occurring in the future.
[0153] Example 25 includes the subject matter of Examples 22-24, wherein one or more policy / parameter thresholds are based on one or more features, the one or more features comprising one or more of government laws, administrative regulations, organizational policies, cultural norms, social customs, and ethical expectations, wherein the one or more policy / parameter thresholds are dynamically modified based on changes in the one or more features, wherein the one or more features are extracted from one or more of training data, field data, metadata, and user input.
[0154] Example 26 includes the subject matter of Examples 22-25, further including:
[0155] Means for transmitting one or more surveys to one or more computing devices via one or more communication media, wherein the one or more surveys are used to collect user input from one or more users having access to the one or more computing devices, wherein the user input includes one or more of a policy context, a policy reason, and a policy recommendation; and means for evaluating one or more policy / parameter thresholds based on the user input; means for modifying one or more policy / parameter thresholds based on the user input.
[0156] Example 27 includes the subject matter of Examples 22-26, further comprising means for adjusting detection of one or more differences based on one or more modified policy / parameter thresholds.
[0157] Example 28 includes the subject matter of Examples 22-27, further comprising one or more processors comprising one or more of a graphics processor and an application processor, wherein the one or more processors are co-located on a common semiconductor package.
[0158] Example 29 includes at least one non-transitory or tangible machine-readable medium comprising a plurality of instructions that, when executed on a computing device, are used to implement or perform the method of any of Examples 8-14.
[0159] Example 30 includes at least one machine-readable medium comprising a plurality of instructions that, when executed on a computing device, are used to implement or perform the method of any of Examples 8-14.
[0160] Example 31 includes a system comprising mechanisms for implementing or executing the method as described in any of Examples 8-14.
[0161] Example 32 includes an apparatus comprising means for performing a method as described in any of Examples 8-14.
[0162] Example 33 includes a computing device arranged to implement or perform a method as described in any of Examples 8-14.
[0163] Example 34 includes a communication device arranged to implement or perform a method as described in any of Examples 8-14.
[0164] Example 35 includes at least one machine-readable medium including a plurality of instructions that, when executed on a computing device, are used to implement or perform the method described in any of the preceding examples or implement the device described in any of the preceding examples.
[0165] Example 36 includes at least one non-transitory or tangible machine-readable medium comprising a plurality of instructions that, when executed on a computing device, are used to implement or perform the method described in any of the preceding examples or implement the apparatus described in any of the preceding examples.
[0166] Example 37 includes a system comprising mechanisms for implementing or executing the method described in any of the preceding examples or implementing the apparatus described in any of the preceding examples.
[0167] Example 38 includes an apparatus comprising means for performing the method of any preceding example.
[0168] Example 39 includes a computing device arranged to implement or perform a method or implement a device as described in any of the preceding examples.
[0169] Example 40 includes a communication device arranged to implement or perform a method or implement a device as described in any of the preceding examples.
[0170] The accompanying drawings and the foregoing description give examples of embodiments. It will be appreciated by those skilled in the art that one or more of the elements described may be well combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, the order of the processes described herein may be changed, and the order of the processes described herein is not limited to the manner described herein. Moreover, the actions of any flowchart do not have to be implemented in the order shown; nor do they necessarily need to perform all of these actions. In addition, those actions that are independent of other actions may also be performed in parallel with other actions. The scope of each embodiment is by no means limited by these specific examples. Numerous variants (whether or not explicitly given in the specification) are possible, such as differences in the use of structure, scale, and material. The scope of the embodiment is at least as broad as the scope given by the appended claims.
Claims
1. A method for machine learning, comprising: determining whether there is any misuse of the machine learning model based on the training data and the inference data, the misuse of the machine learning model being associated with an inference of the machine learning model, wherein the machine learning model is trained using the training data and the inference is based on the inference data; After determining that misuse exists, determining a misuse indicator value for the misuse based on the inference; and The severity of the misuse of the machine learning model is assessed based on the misuse indicator value.
2. The method according to claim 1, wherein: Determining whether there is any misuse of the machine learning model includes: One or more differences between the training data and the inference data are detected.
3. The method according to claim 1, wherein: Determining whether there is any misuse of the machine learning model includes: Further determining whether there is any misuse of the machine learning model based on metadata associated with the training data.
4. The method according to claim 1, wherein: Determining the misuse indicator value for the misuse includes: performing a plurality of inferences of the machine learning model using the inference data, the plurality of inferences including the inference; and The misuse indicator value for the misuse is determined based on the plurality of inferences, the misuse indicator value satisfying a confidence level.
5. The method according to claim 4, wherein: Each of the plurality of inferences comprises inputting the inference data into the machine learning model.
6. The method according to claim 1, wherein: Estimating the severity of one or more misuses of the machine learning model includes: performing a comparison of the misuse indicator value to one or more threshold values; and The severity is estimated based on a result of the comparison.
7. The method of claim 1 , further comprising mitigating the misuse of the machine learning model by: Form new training data, where The feature is better represented by the new training data than by the training data; as well as The machine learning model is trained using the new training data.
8. A machine-readable medium comprising instructions which, when executed by at least one processor, cause the processor to perform the method of any one of claims 1 to 7.
9. An apparatus for machine learning, comprising a unit for executing the method according to any one of claims 1 to 7.
10. A system for machine learning, comprising: at least one processor for executing instructions; as well as A memory for storing the instructions, which, when executed by the processor, cause the processor to perform the method of any one of claims 1 to 7.
11. A computer program product comprising instructions which, when executed by at least one processor, cause the processor to perform the method of any one of claims 1 to 7.