WO2020055839A1 - Neural network inferencing on protected data - Google Patents
Neural network inferencing on protected data Download PDFInfo
- Publication number
- WO2020055839A1 WO2020055839A1 PCT/US2019/050372 US2019050372W WO2020055839A1 WO 2020055839 A1 WO2020055839 A1 WO 2020055839A1 US 2019050372 W US2019050372 W US 2019050372W WO 2020055839 A1 WO2020055839 A1 WO 2020055839A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user device
- neural network
- user
- inferences
- secure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Definitions
- the present embodiments relate generally to systems and devices for machine learning.
- Machine learning is a technique for improving the ability of a computer system or application to perform a certain task.
- Machine learning can be broken down into two component parts: training and inferencing.
- a machine learning system is provided with an“answer” and a large volume of raw data associated with the answer.
- a machine learning system may be trained to recognize cats by providing the system with a large number of cat photos and/or videos (e.g., the raw data) and an indication that the provided media contains a“cat” (e.g., the answer).
- the machine learning system may then analyze the raw data to“learn” a set of rules that can be used to describe the answer.
- the system may perform statistical analysis on the raw data to determine a common set of rules that can be associated with the term“cat” (e.g., whiskers, paws, fur, four legs, etc.).
- the set of rules may be referred to as a neural network model.
- the machine learning system may apply the rules to new data to generate answers or inferences about the data.
- the system may analyze a family photo and determine, based on the learned rules, that the photo includes an image of a cat.
- a method and apparatus for inferencing on protected data is disclosed.
- One innovative aspect of the subject matter of this disclosure can be implemented in a method of inferencing by a user device.
- the method may include steps of retrieving protected data from a secure memory, where the secure memory is inaccessible to applications executing in a rich environment of the user device, generating inferences about the protected data using one or more neural network models stored on the user device, and updating a user interface of the user device based at least in part on the inferences.
- the user device includes processing circuitry configured to operate in a secure state or a non-secure state and a memory having a secure partition and a non-secure partition.
- the secure partition stores instructions that, when executed by the processing circuitry while operating in the secure state, causes the user device to retrieve protected data from the secure partition, where the secure partition is inaccessible to the processing circuitry when operating in the non-secure state, retrieve one or more neural network models from the secure partition, and generate inferences about the protected data using the one or more neural network models.
- FIG. 1 shows a block diagram of a machine learning system, in accordance with some embodiments.
- FIG. 2 shows a block diagram of a user device, in accordance with some embodiments.
- FIG. 3 shows a sequence diagram depicting an example process for performing machine learning on protected data, in accordance with some embodiments.
- FIG. 4 shows a block diagram of a processing system, in accordance with some embodiments.
- FIG. 5 shows another block diagram of a user device, in accordance with some embodiments.
- FIG. 6 is an illustrative flowchart depicting an operation for inferencing by a user device, in accordance with some embodiments.
- FIG. 7 is an illustrative flowchart depicting an example image capture operation, in accordance with some embodiments.
- FIG. 8 is an illustrative flowchart depicting an example media playback operation, in accordance with some embodiments.
- FIG. 9 is an illustrative flowchart depicting an example
- circuit elements or software blocks may be shown as buses or as single signal lines.
- Each of the buses may alternatively be a single signal line, and each of the single signal lines may alternatively be buses, and a single line or bus may represent any one or more of a myriad of physical or logical mechanisms for communication between components.
- the techniques described herein may be implemented in hardware, software, firmware, or any combination thereof, unless specifically described as being implemented in a specific manner. Any features described as modules or components may also be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a non-transitory computer-readable storage medium comprising instructions that, when executed, performs one or more of the methods described above.
- the non-transitory computer-readable storage medium may form part of a computer program product, which may include packaging materials.
- the non-transitory processor-readable storage medium may comprise random access memory (RAM) such as synchronous dynamic random access memory (SDRAM), read only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read only memory (EEPROM), FLASH memory, other known storage media, and the like.
- RAM synchronous dynamic random access memory
- ROM read only memory
- NVRAM non-volatile random access memory
- EEPROM electrically erasable programmable read only memory
- FLASH memory other known storage media, and the like.
- the techniques additionally, or alternatively, may be realized at least in part by a processor-readable communication medium that carries or communicates code in the form of instructions or data structures and that can be accessed, read, and/or executed by a computer or other processor.
- processors may refer to any general-purpose processor, conventional processor, controller, microcontroller, and/or state machine capable of executing scripts or instructions of one or more software programs stored in memory.
- FIG. 1 shows a block diagram of a machine learning system 100, in accordance with some embodiments.
- the system 100 includes a network environment 101 and a user device 1 10.
- the network environment 101 may communicate with the user device 1 10 to perform machine learning on private and/or protected content stored on, or otherwise accessible by, the user device 1 10.
- the network environment 101 may be configured to generate one or more neural network models 102 through deep learning.
- Deep learning is a particular form of machine learning in which the training phase is performed over multiple layers, generating a more abstract set of rules in each successive layer.
- Deep learning architectures are often referred to as artificial neural networks due to the way in which information is processed (e.g., similar to a biological nervous system).
- each layer of the deep learning architecture may be composed of a number of artificial neurons.
- the neurons may be interconnected across the various layers so that input data (e.g., the raw data) may be passed from one layer to another. More specifically, each layer of neurons may perform a different type of transformation on the input data that will ultimately result in a desired output (e.g., the answer).
- the interconnected framework of neurons may be referred to as a neural network model.
- the neural network models 102 may include a set of rules that can be used to describe a particular object or feature (such as a cat).
- the network environment 101 is a cloud computing platform that may receive raw data from a plurality of sources (including the user device 1 10 and/or other content sources that communicate with network environment 101 ).
- the network environment 101 may be trained to recognize a set of rules (e.g., certain objects, features, a quality of service, such as a quality of a received signal or pixel data, and/or other detectable attributes) associated with the raw data.
- the network environment 101 may be trained to recognize one or more logos (e.g., used in company branding and/or advertisements).
- logos e.g., used in company branding and/or advertisements.
- the network environment 101 may receive a large number of photos and/or videos that contain such logos from one or more content sources
- the network environment 101 may also receive an indication that the provided media contains a logo (e.g., in the form of user input from a user or operator reviewing the media and/or data or metadata provided with the media). The network environment 101 may then perform statistical analysis on the received photos and/or videos to determine a common set of features associated with the logo(s). In some aspects, the determined features (or rules) may form an artificial neural network spanning multiple layers of abstraction. The network environment 101 may provide the set of rules (e.g., as the neural network models 102) to the user device 1 10 for inferencing.
- the set of rules e.g., as the neural network models 102
- the user device 1 10 may be any end-user or edge device.
- the user device 1 10 may interact with a user, for example, by receiving user inputs and/or outputting content to the user.
- the user device 1 10 may be any device capable of providing a customizable user experience (such as a personalized user interface) based on the preferences, activity, or habits of a given user.
- the user device 1 10 may be any device capable of capturing, storing, and/or playing back media content.
- Example user devices may include, but are not limited to, set-top boxes (STBs), computers, mobile phones, tablets, televisions (TVs) and the like.
- STBs set-top boxes
- TVs televisions
- the user device 1 10 may include a neural network application 1 12, a content memory 1 14, and a user interface 1 16.
- the content memory 1 14 may store or buffer media content (e.g., thermal images, optical images, videos, audio, and the like) for playback and/or display on the user device 1 10 or a display device (not shown) coupled to the user device 1 10.
- media content e.g., thermal images, optical images, videos, audio, and the like
- a display device not shown
- at least some of the media content displayed by the user device 1 10 may correspond to premium media content 122 received (e.g., streamed) from one or more content delivery networks (CDNs) 120.
- CDNs content delivery networks
- the premium media content 122 may include television shows, movies, and/or media content created by a third-party content creator or provider (e.g., television network, production studio, streaming service, and the like).
- the user device 1 10 may store or buffer the premium media content 122 in the content memory 1 14 for playback.
- the content memory 1 14 may operate as a decoded video frame buffer that stores or buffers the (decoded) full-frame pixel data associated with the premium media content 122 to be rendered or displayed by the user device 1 10.
- the neural network application 1 12 may be configured to generate one or more inferences about media content stored in the content memory 1 14. For example, in some aspects, the neural network application 1 12 may analyze the media content to infer or identify objects of interest (e.g., faces, logos, destinations, and the like) contained therein. In some embodiments, the neural network application 1 12 may generate the inferences based on the neural network models 102 received from the network environment 101 . For example, during the inferencing phase, the machine learning system may apply the neural network models 102 to new media content stored in the content memory 1 14 (e.g., by traversing the artificial neurons in the artificial neural network) to infer information about the new media content (e.g., whether the media content includes one or more known logos).
- objects of interest e.g., faces, logos, destinations, and the like
- the neural network application 1 12 may generate the inferences based on the neural network models 102 received from the network environment 101 .
- the machine learning system may apply the neural network models 102 to
- aspects of the present disclosure recognize that it may be undesirable (if not impossible) to send certain media content to the network environment 101 , for example, to further refine the neural network models 102 and/or generate additional neural network models based on the media content stored on the user device 1 10.
- content providers and/or creators may restrict the sharing or distribution of premium media content 122 (e.g., under“premium content protection” or Digital Rights Management (DRM) laws and regulations).
- DRM Digital Rights Management
- users may not wish to have their personal information sent to the cloud, where it may be accessible to others.
- the embodiments described herein may be used to perform machine learning on media content in a manner that protects user privacy and the rights of content providers.
- the user device 1 10 may selectively send filtered feedback data 104 back to the network environment.
- the filtered feedback data 104 may include limited information about the inferences generated from the media content stored or buffered in the content memory 1 14. Specifically, the limited information may be selected or filtered such that it does not violate the privacy rights of the user of the user device 1 10 and/or the owner of the content.
- the filtered feedback data 104 may not contain any pixel data or other information that can be used to reconstruct the original media content (e.g., images and/or videos) stored in the content memory 1 14.
- the filtered feedback data 104 may not reveal any personal identifying information about the user of the user device 1 10 (e.g., name, age, gender, location, and the like) or any information that can be used to derive such personal identifying information.
- the neural network application 1 12 may use the content stored or buffered in the content memory 1 14 to perform additional training on the neural network models 102. For example, the neural network application 1 12 may refine the neural network models 102 and/or generate new neural network models based on the media content stored or buffered in the content memory 1 14. In some aspects, the neural network application 1 12 may provide the updated neural network models to the network environment 101 (e.g., as filtered feedback data 104) to further refine the deep learning architecture. In this manner, the network environment 101 may further refine its neural network models 102 based on the media content stored on the user device 1 10 (e.g., and media content stored on various other user devices) without receiving or having access to the raw data corresponding to the actual media content.
- the network environment 101 may further refine its neural network models 102 based on the media content stored on the user device 1 10 (e.g., and media content stored on various other user devices) without receiving or having access to the raw data corresponding to the actual media content.
- Some media content may be stored in a secure repository on the user device 1 10 (e.g., in a trusted environment).
- the secure repository may be virtually and/or physically partitioned from the rest of the user device 1 10 such that only applications and/or hardware residing within the trusted environment may have access to the data stored in the secure repository.
- the secure repository may be formed at least in part within the content memory 1 14.
- the premium media content 122 and other protected content
- Any hardware and/or applications operating outside the trusted environment e.g., in a rich
- neural network applications may operate in the rich environment rather than the trusted environment.
- neural network applications operating in the rich environment may not have access to protected media content (such as the premium media content 122 or other media content protected under DRM, copyright, privacy laws, and the like), and may therefore be unable to perform machine learning (or deep learning) on such content.
- the neural network application 1 12 may reside, at least in part, within a trusted environment of the user device 1 10. Placing the neural network application 1 12 within the trusted environment enables the neural network application 1 12 to perform machine learning on protected media content (such as the premium media content 122) that would otherwise be inaccessible to neural network applications operating in the rich environment. For example, the neural network application 1 12 may access full- frame pixel data that can be used to render or display various television shows and/or movies that the user watches on the user device 1 10. As a result, the neural network application 1 12 may generate inferences about the interests and/or viewing habits of the user of the user device 1 10 based on the television shows and/or movies that the user watches. In some embodiments, the neural network application 1 12 (or another application executing on the mobile device 1 10) may further provide recommendations and/or additional content to the user based on the inferences about the user’s viewing habits.
- protected media content such as the premium media content 122
- the user interface 1 16 may provide an interface or feature through which the user can operate, interact with, or otherwise use the device 1 10 or an electronic system (not shown for simplicity) coupled to the user device 1 10.
- the user interface 1 16 may include one or more input sources for receiving user inputs.
- Example input sources may include, but are not limited to, cameras, microphones, buttons, keyboards, mice, touchpads, fingerprint scanners, photosensors, accelerometers, gyroscopes, and the like.
- the user interface 1 16 may include one or more output sources for outputting content to the user.
- Example output sources may include, but are not limited to, speakers, displays, lights, and the like.
- the user interface 1 16 may display, render, or otherwise manifest content or information on the user device 1 10 based, at least in part, on the inferences generated by the neural network application 1 12.
- FIG. 2 shows a block diagram of a user device 200, in accordance with some embodiments.
- the user device 200 may be one embodiment of the user device 1 10 of FIG. 1 .
- the user device 200 includes a hardware platform 230 and a software execution environment 201 .
- the hardware platform 230 may include any hardware (e.g., processors, memory, communication interfaces, and the like) of the user device 200.
- the software execution environment 201 includes any software or instructions (e.g., kernels, operating systems, applications, and the like) executing on the hardware platform 230.
- the software execution environment 201 may be partitioned into a rich environment 210 and a trusted environment 220.
- the rich environment 210 may include one or more user applications 212, a rich neural network application 214, and a trusted execution environment (TEE) client application programming interface (API) 216.
- the trusted environment 220 may include one or more trusted applications 222, a trusted neural network application 224, and a TEE kernel 226.
- the trusted environment 220 may be physically or virtually partitioned (e.g., separated or walled off) from the rich environment 210. More specifically, only software or instructions executing in the trusted environment 220 may have access to secure hardware (HW) resources 232 residing on the hardware platform 230. Communications between the rich environment 210 and the trusted
- the secure hardware resources 232 may include a secure repository or memory (such as the content memory 1 14 of FIG. 1 or at least a portion thereof) for storing protected data.
- the protected data may include premium content (e.g., television shows, movies, and the like) or other media content that may be protected under DRM, copyright, or other laws and/or regulations.
- the protected data may include biometric signatures (e.g., images of the user’s face, fingerprints, retinal scans, recordings of the user’s voice, and the like) or other media that may be used for authentication purposes.
- biometric signatures e.g., images of the user’s face, fingerprints, retinal scans, recordings of the user’s voice, and the like
- the secure hardware resources 232 may be inaccessible to software and/or hardware outside of the trusted environment 220.
- applications within the trusted environment 220 such as the trusted applications 222 and the trusted neural network application 224) may be restricted from communicating information associated with the protected data to the rich environment 210.
- the user device 200 may perform machine learning on data stored on the hardware platform 230.
- the user device 200 may receive one or more neural network models from a network environment (such as the network environment 101 of FIG. 1 ) that may be used to generate inferences about the data stored on the hardware platform 230.
- the user device 200 e.g., the rich neural network application 214 and/or the trusted neural network application 224) may learn or generate at least some of the neural network models locally based on the data stored on the hardware platform 230 (e.g., as described above with respect to FIG. 1 ).
- the rich neural network application 214 may apply the neural network models to unprotected data stored on the hardware platform 230 (e.g., in the rich environment 210). However, the rich neural network application 214 may not have access to the protected data stored in the secure hardware resources 232.
- the trusted neural network application 224 may also receive the neural network models (e.g., via the TEE client API 216) and may apply the neural network models to the protected data stored in the secure hardware resources 232. In some aspects, the trusted neural network application 224 may also have access to unprotected data stored on the hardware platform 230 (e.g., in the rich environment 210).
- the trusted neural network application 224 may perform machine learning on the full-frame pixel data of the protected data stored in the secure hardware resources 232. Accordingly, the neural network application 224 may generate inferences about the protected data. Although the neural network application 224 may not send any raw data (e.g., pixel data) from the secure hardware resources 232 outside the trusted environment 220, the neural network application 224 may provide inferences about the raw data to the rich environment 210. As described in greater detail below, the inferences may be used to provide an enhanced user experience to the user of the user device 200. For example, because the inferences may be indicative of the user’s interests, preferences and/or behavior, the user device 200 may use the inferences to output recommendations and/or additional content that may be relevant to the user.
- the inferences may be indicative of the user’s interests, preferences and/or behavior
- the user device 200 may use the inferences to output recommendations and/or additional content that may be relevant to the user.
- the protected data may include premium media content, such as television shows or movies, that may be rendered or displayed on the user device 200 or a display device (not shown for simplicity) coupled to the user device 200.
- the neural network application 224 may infer objects of interest (e.g., people, places, logos, and the like) from the premium content.
- the neural network application 224 may identify logos or symbols associated with a content provider (e.g., a television broadcast network, movie production studio, and the like).
- the neural network application 224 may determine, based on the identified logos or symbols, that the user of the user device 200 has a preference for television shows broadcast on a particular television station or network. Accordingly, the neural network application 224 may recommend other shows to the user from the same television network.
- the neural network application 224 may identify logos or symbols associated with product brands and/or
- the neural network application 224 may determine, based on the identified logos or symbols, that the user of the user device 200 has a preference or interest in a particular brand or type of product. Accordingly, the neural network application 224 may present targeted advertisements to the user for the particular brand or type of product (or related brands and/or products). In some other aspects, the neural network application 224 may determine, based on the identified logos or symbols, which
- the neural network application 224 may provide attribution to the television network that broadcasted the media content for the advertisement or product placement.
- the protected data may include biometric data, such as faces, fingerprints, or voice recordings, that may be used to authenticate a user of the user device 200.
- the neural network application 224 may generate one or more neural network models for the user based on the biometric data.
- the neural network application 224 may use the neural network models to infer the identity of the user from images and/or video subsequently captured via a camera or other image capture device residing on or coupled to the user device 200.
- the neural network application 224 may further display or recommend content to the user based on the user’s identity. For example, the neural network application 224 may display television shows and/or movies that match the known interests of the user.
- other applications executing on the user device 200 may also leverage the inferences generated by the trusted neural network application 224 to enhance their user experience.
- some applications may be configured to detect and respond to voice inputs. Once an object of interest has been detected by the trusted neural network application 224, a user may verbally instruct the user device 200 to retrieve additional information about the detected object (e.g., without any physical interaction with the user device 200).
- ASR automatic speech recognition
- the ASR application may look up specific phrases in one or more dictionaries or libraries to determine how to process or respond to voice inputs.
- the user device 200 may retrieve relevant ASR dictionaries (e.g., related to the detect object) in preparation for responding to the user’s voice input.
- the trusted neural network application 224 may generate additional neural network models, or refine existing neural network models, based on the data stored on the secure hardware resources 232.
- the rich neural network application 214 may receive the updated neural network models and/or filtered feedback data (e.g., from the trusted neural network application 224) via the TEE client API 216.
- the rich neural network application 214 may further transmit the updated neural network models and/or filtered feedback data to a cloud or network environment (such as the network environment 101 of FIG. 1 ).
- the network environment may further refine the neural network models based on the data stored on the media device 200 (e.g., and content from various other content sources) without receiving or having access to the raw data stored in the secure hardware resources 232 of the media device 200.
- FIG. 3 shows a sequence diagram depicting an example process 300 for performing machine learning on protected data, in accordance with some embodiments.
- the process 300 may be performed by the machine learning system 100 to generate and/or apply neural network models on data stored in a secure repository (e.g., in a trusted environment).
- the process 300 is carried out between a secure content memory 312, a neural network application 314, and a network resource 322.
- the secure content memory 312 and the neural network application 314 reside within a trusted execution environment 310 of a user device (such as the trusted environment 220 of FIG. 2), whereas the network resource 322 operates in a non-secure environment 320 (e.g., the outside world).
- the network resource 322 may be configured to generate one or more neural network models 302 through machine learning (e.g., deep learning).
- the network resource 322 may be a cloud computing platform that may receive raw data from a plurality of content sources.
- the network resource 322 may be trained to recognize a set of rules (e.g., certain objects, features, a quality of service, and/or other detectable attributes) associated with the raw data.
- the network resource 322 may receive a large volume of raw data from one or more content sources communicatively coupled to the network resource 322.
- the network resource 322 may also receive an indication of one or more rules associated with the raw data (e.g., in the form of user input from a user or operator reviewing the media and/or data or metadata provided with the media). The network resource 322 may then perform statistical analysis on the raw data to determine a common set of attributes associated with the rules. In some aspects, the determined attributes (or rules) may form an artificial neural network spanning multiple layers of abstraction. The network resource 322 may provide the set of rules (e.g., as the neural network models 302) to the neural network application 314 for inferencing.
- the neural network application 314 may receive the neural network models 302 (e.g., via a TEE client API provided on the user device) from the network resource 322 and may generate one or more inferences about data stored in the secure content memory 312 using the neural network models 302.
- the secure content memory 312 may store protected data (e.g., premium media content, biometric data, and the like) that may be displayed or rendered on the user device or a corresponding display device. More specifically, the protected data may be inaccessible to hardware and/or applications outside the trusted execution environment 310. However, because the neural network application 314 resides within the trusted execution environment 310, the neural network application 314 may have full access to the raw data stored in the secure content memory 312 (including full-frame pixel data for images and/or videos to be displayed on the user device).
- protected data e.g., premium media content, biometric data, and the like
- the neural network application 314 may receive protected data 304 from the secure content memory 312.
- the protected data 304 may correspond to media content that is being streamed our played back by the user device.
- the protected data 304 may include images and/or video that the user of the user device is currently viewing.
- the protected data 304 may include biometric data that was stored in the secure content memory 312 during a prior enrollment or authentication process.
- the neural network application 314 may perform machine learning 306 on the protected data 304. In some aspects, the neural network application 314 may generate inferences about the protected data 304 based on one or more neural network models (such as the neural network models 302 received from the network resource 322). In some other aspects, the neural network application 314 may generate new neural network models (or rules) based on the protected data 304. Still further, in some aspects, the neural network application 314 may use the protected data 304 to update one or more existing neural network models (such as the neural network models 302 received from the network resource 322).
- the neural network application 314 may provide filtered feedback data 308 to the network resource 322 based, at least in part, on the machine learning 306 (e.g., as described above with respect to FIG. 2).
- the filtered feedback data 308 may include limited information about the inferences generated from the protected data 304.
- the limited information may be filtered such that it does not violate the privacy rights of the user of the user device and/or the owner of the content.
- the filtered feedback data 308 may not contain any raw data (e.g., pixel data) or other information that can be used to reconstruct the original data 304.
- the filtered feedback data 308 may not reveal any personal identifying information about the user of the user device (e.g., name, age, gender, location, and the like) or any information that can be used to derive such personal identifying information.
- the filtered feedback data 308 may include the new or updated neural network models generated by the neural network application 314. In this manner, the network resource 322 may further refine its neural network models 302 without receiving or having access to the protected data 304.
- FIG. 4 shows a block diagram of a processing system 400, in accordance with some embodiments.
- the processing system 400 may be one embodiment of the user device 1 10 of FIG. 1 and/or user device 200 of FIG. 2.
- the processing system 400 includes an applications processing unit (ACPU) 410, a neural network processing unit (NPU) 420, an input processing unit (IPU) 430, and a memory apparatus 440.
- ACPU applications processing unit
- NPU neural network processing unit
- IPU input processing unit
- the ACPU 410 may include one or more general-purpose processors configured to execute one or more applications and/or operating systems.
- the ACPU 410 may include a rich execution environment (REE) 412 and a trusted execution environment (TEE) 414.
- the REE 412 and TEE 414 may coincide with the rich environment 210 and the trusted environment 220, respectively, of the software execution environment 201 .
- the ACPU 410 may execute a rich neural network (NN) application 413 in the REE 412 and may execute a trusted neural network (NN) application 415 in the TEE 414.
- the ACPU 410 is configurable to operate in a secure state and a non-secure state. For example, the ACPU 410 may operate in the secure state when executing applications and/or processes from the TEE 414 and may operate in the non-secure state when executing applications and/or processes from the REE 412.
- the NPU 420 may include one or more processors that are configured to accelerate neural network inferencing.
- the hardware architecture of the NPU 420 may be specifically designed to traverse neural networks more quickly and/or efficiently than a general-purpose processor, such as the ACPU 410.
- the ACPU 410 may call on the NPU 420, at least in part, to execute the rich neural network application 413 or the trusted neural network application 415.
- the NPU 420 may also be configured to operate in a secure state and/or a non-secure state. When operating in the secure state, the NPU 420 may communicate with, and have access to, software and/or hardware resources residing in the trusted environment (such as the secure HW
- the IPU 430 may include hardware resources configured to process user inputs 405 (e.g., by filtering, analyzing, encoding, and the like) to be stored or otherwise used by the processing system 400.
- the user inputs 405 may include text-based inputs, selection-based inputs, and/or biometric inputs provided by a user.
- the user inputs 405 may be received and/or detected by one or more input devices (not shown for simplicity).
- Example input devices may include, but are not limited to, keyboards, mice, joysticks, cameras, capacitive sensors, touchpads, fingerprint sensors, microphones, and the like.
- the ACPU 410 may configure the IPU 430 to process user inputs 405 in connection with a trusted neural network application.
- the IPU 430 may also be configured to operate in a secure state. When operating in the secure state, the IPU 430 may communicate with, and have access to, software and/or hardware resources residing in the trusted environment (such as the secure HW resources 232).
- the ACPU 410 may initiate non-secure memory access transactions 402 from the REE 412 and secure memory access transactions 404 from the TEE 414.
- the NPU 420 and IPU 430 may execute NPU transactions 406 and IPU transactions 408, respectively, with the memory apparatus 440.
- each of the transactions 402-408 may comprise a read transaction (e.g., to read data from the memory apparatus 440) or a write transaction (e.g., to write data to the memory apparatus 440).
- the initiator of a transaction may be referred to as a“master” and the recipient of the transaction may be referred to as a“slave.”
- the ACPU 410, NPU 420, and IPU 430 may generally be referred to herein as a plurality of masters.
- the processing system 400 is shown to include 3 masters 410-430, in some embodiments the processing system 400 may include fewer or more masters than those depicted in FIG. 4.
- the memory apparatus 440 includes a non-secure partition 450 and a secure partition 460.
- the secure partition 460 and the non-secure partition 450 may be physically and/or virtually separate from one another.
- the memory partitions 450 and 460 may each comprise a different address space of a shared memory device (e.g., DRAM).
- the memory partitions 450 and 460 may be implemented on separate memory devices.
- the non-secure partition 450 permanently resides in the rich environment and may therefore be configured to store any data that needs to be accessible by the REE 412 and other software and/or hardware resources operating form the rich environment.
- the secure partition 460 permanently resides in the trusted environment and may therefore be configured to store data to be accessible only by the TEE 414 and other software and/or hardware resources operating from the trusted
- the non-secure partition 450 stores unprotected data 452 and the secure partition 460 stores neural network models 462, inference results 464, and protected data 466.
- the secure partition 460 stores neural network models 462, inference results 464, and protected data 466.
- the memory apparatus 440 may filter the memory transactions 402-408 based, at least in part, on the security state of the master initiating the transaction. More specifically, the memory apparatus 440 may ensure that software and/or hardware operating in the rich environment can access the non- secure partition 450 but not the secure partition 460. For example, the memory apparatus 440 may allow non-secure ACPU transactions 402 to access the unprotected data 452 but deny any non-secure ACPU transactions 402 from accessing the neural network models 462, the inference results 464, or the protected data 466.
- the memory apparatus 440 may also ensure that software and/or hardware operating in the secure environment can access the secure partition 460.
- the memory apparatus 440 may allow IPU transactions 408 to write protected data 466 (e.g., user data, premium media content, and the like) to the secure partition 460 when the IPU 430 initiates the transactions 408 from the secure state.
- the memory apparatus 440 may also allow NPU transactions 406 to read neural network models 462 and/or protected data 466 from the secure partition 460 and write inference results 464 to the secure partition 460 when the NPU 420 initiates the transactions 406 from the secure state.
- the memory apparatus 440 may allow secure ACPU transactions 404 to read inference results 464 from the secure partition.
- FIG. 5 shows another block diagram of a user device 500, in accordance with some embodiments.
- the user device 500 may be one embodiment of the user device 1 10 of FIG. 1 and/or user device 200 of FIG. 2.
- the user device 500 includes a device interface 510, a processor 520, and a memory 530.
- the device interface 510 may be used to communicate with one or more input sources and/or output sources coupled to the user device 500.
- Example input sources may include, but are not limited to, cameras, microphones, buttons, keyboards, mice, touchpads, fingerprint scanners, photosensors, accelerometers, gyroscopes, and the like.
- the sensor interface 510 may transmit signals to, and receive signals from, the input sources to receive user inputs from a user of the device 500.
- Example output sources may include, but are not limited to, speakers, displays, lights, and the like.
- the sensor interface 510 may transmit signals to, and receive signals from, the output sources to output information and/or media content to the user of the device 500.
- the memory 530 may include a secure partition 531 and a non- secure partition 535.
- the secure partition 531 may include a protected data store 532 configured to store protected data such as, for example, user data, premium media content, and the like.
- the secure partition 531 may also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that may store a neural network software (SW) module 534 to generate inferences about protected data stored in the protected data store 532.
- the non-secure partition 535 may include a non-transitory computer-readable medium that may store a user interface SW module 536 to output information and/or media content to the user based, at least in part, on the inferences about the protected data.
- Each software module includes instructions that, when executed by the processor 520, cause the user device 500 to perform the corresponding functions.
- the non-transitory computer-readable medium of memory 530 thus includes instructions for performing all or a portion of the operations described below with respect to FIGS. 6-9.
- the processor 520 may be any suitable one or more processors capable of executing scripts or instructions of one or more software programs stored in the user device 500.
- the processor 520 may execute the neural network SW module 534 to generate inferences about protected data stored in the protected data store 532.
- the processor 520 may also execute the user interface SW module 536 to output information and/or media content to the user based, at least in part, on the inferences about the protected data.
- FIG. 6 is an illustrative flowchart depicting an operation 600 for inferencing by a user device, in accordance with some embodiments.
- the operation 600 may be performed by a user device 1 10 having a secure memory or data repository.
- the user device 1 10 may retrieve protected data from the secure memory (610).
- Example protected data may include, but is not limited to, premium media content, user data, and the like.
- the secure memory may correspond to a secure partition of a memory apparatus (such as the secure partition 460 of FIG. 4). More specifically, data stored in the secure partition may be inaccessible to hardware and/or applications executing in a rich environment of the user device 1 10. With reference for example to FIG. 4, the protected data 466 stored in the secure partition 460 may be inaccessible to applications executing from the REE 412 of the ACPU 410 (such as the rich neural network application 413).
- the trusted neural network application 415 may retrieve the protected data 466 from the secure partition 460 of the memory apparatus 440.
- the user device 1 10 may generate inferences about the protected data using one or more neural network models stored on the device (620).
- the neural network models may also be stored in the secure memory.
- the ACPU 410 in executing the trusted neural network application 415, may perform inferencing on the protected data 466 using the neural network models 462 stored in the secure partition 460.
- the ACPU 410 in executing the trusted neural network application 415, may instruct the NPU 420 to perform inferencing on the protected data 466 using the neural network models 462.
- the inferences may identify objects of interest in protected the protected data.
- Example objects of interest may include, but are not limited to, logos, symbols, toys, and/or biometric features of one or more users of the user device 1 10.
- the user device 1 10 may then update a user interface based at least in part on the inferences (630).
- the inferences may be indicative of the user’s interests, preferences and/or behavior.
- the inferences may be used to provide recommendations and/or additional content via the user interface (e.g., to enhance or augment the user experience).
- the user device 1 10 may recommend shows to the user from a particular content source or television network.
- the user device 1 10 may provide attribution, for a particular
- the user device 1 10 may display television shows and/or movies that match the interests of a known user.
- FIG. 7 is an illustrative flowchart depicting an example image capture operation 700, in accordance with some embodiments.
- the operation 700 may be performed by the user device 200 to provide an augmented reality (AR) interface for camera-based applications.
- AR augmented reality
- the user device 200 may retrieve one or more neural network models from a training module (710).
- the training module may be located on a cloud or network environment (e.g., the network environment 101 of FIG. 1 ) external to the user device 200.
- the training module may reside locally on the user device 200 (e.g., the rich neural network application 214 or the trusted neural network application 224).
- the neural network models can be trained and/or re-trained (e.g., to detect new objects) using only the data or information residing locally on the user device 200.
- the neural network models may correspond to a set of rules describing certain objects of interest (e.g., dolls, action figures, or other toys that may have interactive features or aspects when presented in an AR environment, such as a game) that are detectable by the AR interface.
- objects of interest e.g., dolls, action figures, or other toys that may have interactive features or aspects when presented in an AR environment, such as a game
- the user device 200 may further capture a scene using a camera (720).
- the user applications 212 may include a camera-based application that can interface with a camera or other image capture device residing on, or coupled to, the user device 200.
- the scene may include one or more users of the user device 200.
- the user application 212 may render or display the captured scene on a display of the user device 200 and/or a display device coupled to the user device 200.
- the user device 200 may generate inferences about the scene using the one or more neural network models (730).
- the neural network application 224 may detect and/or identify objects of interest in the scene based on the set of rules associated with the neural network models.
- the identified objects may correspond to toys (such as dolls, action figures, and the like, that may have applications in an interactive environment, such as an AR game) or other interactive objects that may be interfaced through the camera-based application (e.g., the user application 212).
- the inferencing may be performed in a trusted execution environment (TEE).
- the trusted execution environment may allow only limited information to be shared with the outside world.
- the trusted neural network application 224 may ensure that the user’s privacy and/or personal information is protected.
- the user device 200 may further output content associated with the inferences (740).
- the user application 212 may receive the inferences from the neural network application 224 and may provide the user with supplemental content associated with the objects inferenced in the scene.
- the user application 212 may display a description of the object (e.g., as an AR overlay on top of the scene). In some other aspects, the user application 212 may playback audio associated with the object (such as the name of the object) via speakers on or coupled to the user device 200. For example, the audio may be played back in a number of different languages.
- the user application 212 may provide the user with an option to view images and/or videos (such as a movie or television show) associated with the identified object.
- FIG. 8 is an illustrative flowchart depicting an example media playback operation 800, in accordance with some embodiments.
- the operation 800 may be performed by the user device 200 to provide a dynamic video interface for the playback of media content based on a user’s interests or preferences.
- the user device 200 may retrieve one or more neural network models from a training module (810).
- the training module may be located on a cloud or network environment (e.g., the network environment 101 of FIG. 1 ) external to the user device 200.
- the training module may reside locally on the user device 200 (e.g., the rich neural network application 214 or the trusted neural network application 224).
- the neural network models may correspond to a set of rules describing certain objects of interest (e.g., logos, symbols, and other brand- identifying marks) that are detectable in media content displayed or played back by the user device 200.
- the user device 200 may initiate playback of premium content (820).
- the premium content may include any media content (such as television shows or movies) that are protected by DRM, copyright, trademark, and various other laws and/or regulations.
- the premium content may be received from (e.g., streamed or otherwise provided by) one or more content delivery networks (CDNs).
- CDNs content delivery networks
- premium content may be stored or buffered in a secure repository (e.g., the secure hardware resources 232) residing within a trusted execution
- the secure hardware resources 232 may be inaccessible to software and/or hardware outside of the trusted environment.
- the user device 200 may generate inferences about the premium content using the one or more neural network models (830).
- the neural network application 224 may detect and/or identify objects of interest in the premium content based on the set of rules associated with the neural network models.
- the identified objects may correspond to logos, symbols, and other brand-identifying marks that may indicate a production studio, television network, or advertiser involved with the premium content.
- the trusted execution environment may be inaccessible to the outside world. However, because the trusted neural network application 224 resides within the trusted execution environment, the trusted neural network application 224 may have access to the full frame-pixel data that is used to display or render the premium content on the user device 200.
- the neural network application 224 may generate the inferences about the premium content based on the actual pixel data stored or buffered in a decoded video frame buffer (e.g., to be rendered or displayed by the user device 200).
- the user device 200 may further output content and/or
- the user applications 212 may include a video playback application that can stream or playback the premium content stored in the secure hardware resources 232.
- the user application 212 may receive the inferences from the neural network application 224 and may provide the user with supplemental content associated with the objects inferenced in the premium content.
- the user application 212 may determine the user’s preferences and/or interests based on the inferences (e.g., logos, symbols, and the like) received from the neural network application 224.
- the user application 212 may determine, based on the identified logos or symbols, that the user of the user device 200 has a preference for television shows broadcast on a particular television station or network. Accordingly, the user application 212 may recommend other shows to the user from the same television network or production studio.
- the owner or creator of the media content e.g., which may be a broadcast television network or production studio
- the content delivery network may be different than the content delivery network (CDN) that streams or transmits the media content to the user device 200 (e.g., which may be a streaming video-on-demand (VoD) or pay-per-view (PPV) service).
- CDN content delivery network
- the user application 212 may provide the user with an option to view additional content from a preferred content creator or owner (e.g., based on the inferences generated by the neural network application 224), where such additional content is available for streaming (or delivery) by the same CDN that streamed (or otherwise delivered) the premium content from which the inferences were made.
- a preferred content creator or owner e.g., based on the inferences generated by the neural network application 224
- additional content is available for streaming (or delivery) by the same CDN that streamed (or otherwise delivered) the premium content from which the inferences were made.
- the user application 212 may determine, based on the inferences (e.g., the identified logos or symbols), that the user of the user device 200 has a preference or interest in a particular brand or type of product. Accordingly, the user application 212 may present targeted
- the user device 200 may send filtered feedback data to a content provider based on the inferences (850).
- the user application 212 may determine, based on the inferences, which advertisements and/or product branding is most likely to have been viewed by the user of the user device 200. Accordingly, the user application 212 may provide attribution to the television network that broadcasted the media content for the advertisement or product placement.
- the user application 212 may provide analytics regarding the advertisement (such as the timing of advertisement, the network that displayed the advertisement, the location in which the advertisement was viewed, and the like) to the company that created the product and/or advertisement.
- FIG. 9 is an illustrative flowchart depicting an example
- the operation 900 may be performed by the user device 200 to provide a dynamic video interface for the playback of media content based on a user classification.
- the user device 200 may capture a scene using a camera (910).
- the user applications 212 may include a camera-based application that can interface with a camera or other image or video capture device residing on, or coupled to, the user device 200.
- the scene may include one or more users of the user device 200.
- the user application 212 may render or display the captured scene on a display of the user device 200 and/or a display device coupled to the user device 200.
- the user device 200 may retrieve one or more neural network models from a training module (920).
- the neural network models may correspond to a set of rules describing biometric indicators (e.g., facial features, voice patterns, fingerprints, and the like) that may be used to authenticate a user of the user device 200.
- the neural network models may be generated based on biometric data acquired during an enrollment process (e.g., when the user enrolls his or her biometric signature for detection by the user device 200).
- the biometric data may be stored in a secure repository (e.g., the secure hardware resources 232) residing within a trusted execution environment (TEE) of the user device 200.
- TEE trusted execution environment
- the training module e.g., the trusted neural network application 224) may also reside within the trusted execution environment on the user device 200.
- the user device 200 may generate inferences about the scene using the one or more neural network models (930).
- the neural network application 224 may detect and/or identify objects of interest in the scene based on the set of rules associated with the neural network models.
- the identified objects may correspond to biometric features (such as a user’s face) that may indicate the identity of the user(s) of the user device 200.
- the neural network application 224 may classify one or more users of the user device 200 (e.g., the person or persons in the scene captured by the camera) based on the identified biometric features.
- the trusted execution environment may be inaccessible to the outside world.
- the trusted neural network application 224 may have access to the biometric data (and neural network models) associated with each user.
- the neural network application 224 may use the images or video captured of the scene to further train or re-train the neural network models (such as the last layer or last few layers of the neural network models) for the user.
- the user device 200 may further output content and/or recommendations based on the inferences (940).
- the user application 212 may receive the inferences from the neural network application 224 and may provide the user(s) with targeted recommendations for the user(s) of the user device 200. More specifically, the user application 212 may determine which recommendations to display through the user device 200 based, at least in part, on the classification of the one or more users of the user device 200. As described above with respect to FIG. 5, the user application 212 may have knowledge of the users’ interests and/or preferences for media content. Thus, the user application 212 may provide the user(s) with an option to view images and/or videos (such as movies or television shows) that match the interests of one or more users the user device 200.
- images and/or videos such as movies or television shows
- the user application 212 may generate a custom user interface (e.g., program guide, launcher, and the like) that is curated for the interests or preferences of the one or more users.
- the custom user interface may include only the types of media content that match the interests of the one or more users (e.g., sports, reality shows, dramas, and the like).
- the custom Ul may be dynamically updated each time a new user is detected by the user device 200.
- the user application 212 may display
- the user application 212 may display recommendations that are suitable for children only (e.g., cartoons, educational programs, and other child-friendly content).
- the user application 212 may display recommendations for multiple users. For example, if a husband and wife are detected by the neural network application 224, the user application 212 may display
- the neural network application 224 may display recommendations for a group of users. For example, if a group of friends is detected by the neural network application 224, the user application 212 may display recommendations based on the common interests of the group (e.g., game shows, sports, and other shows or programming that the group as a whole is known to enjoy).
- the common interests of the group e.g., game shows, sports, and other shows or programming that the group as a whole is known to enjoy.
- a software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
- An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020217010683A KR102860782B1 (en) | 2018-09-11 | 2019-09-10 | Neural network inference on protected data |
| JP2021512684A JP7436460B2 (en) | 2018-09-11 | 2019-09-10 | Neural network inference on protected data |
| CN201980059507.5A CN112639840B (en) | 2018-09-11 | 2019-09-10 | Neural network inference method and device for protected data |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862729947P | 2018-09-11 | 2018-09-11 | |
| US62/729,947 | 2018-09-11 | ||
| US16/539,847 | 2019-08-13 | ||
| US16/539,847 US20200082279A1 (en) | 2018-09-11 | 2019-08-13 | Neural network inferencing on protected data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020055839A1 true WO2020055839A1 (en) | 2020-03-19 |
Family
ID=69719991
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2019/050372 Ceased WO2020055839A1 (en) | 2018-09-11 | 2019-09-10 | Neural network inferencing on protected data |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20200082279A1 (en) |
| JP (1) | JP7436460B2 (en) |
| KR (1) | KR102860782B1 (en) |
| CN (1) | CN112639840B (en) |
| WO (1) | WO2020055839A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111967565A (en) * | 2020-10-23 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | Neural network system, method and device for risk assessment |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4134842B1 (en) * | 2019-07-17 | 2025-12-17 | Google LLC | Systems and methods to verify trigger keywords in acoustic-based digital assistant applications |
| KR102147912B1 (en) | 2019-08-13 | 2020-08-25 | 삼성전자주식회사 | Processor chip and control methods thereof |
| US11573828B2 (en) * | 2019-09-16 | 2023-02-07 | Nec Corporation | Efficient and scalable enclave protection for machine learning programs |
| US11741219B2 (en) * | 2020-09-08 | 2023-08-29 | Truepic Inc. | Protocol and system for tee-based authenticating and editing of mobile-device captured visual and audio media |
| US20240196058A1 (en) * | 2021-05-05 | 2024-06-13 | Uniquify, Inc. | Systems and methods involving artificial intelligence and cloud technology for edge and server soc |
| WO2022235517A2 (en) * | 2021-05-05 | 2022-11-10 | Uniquify, Inc. | Implementations and methods for processing neural network in semiconductor hardware |
| US12045337B2 (en) * | 2021-05-21 | 2024-07-23 | Samsung Electronics Co., Ltd. | Apparatus and method for providing secure execution environment for NPU |
| US12314395B2 (en) * | 2021-06-29 | 2025-05-27 | EMC IP Holding Company LLC | Training data protection for artificial intelligence model in partitioned execution environment |
| CN114091653B (en) * | 2021-11-06 | 2024-07-16 | 支付宝(杭州)信息技术有限公司 | Model operation method and device |
| CN116997912B (en) * | 2021-12-30 | 2026-01-02 | 微软技术许可有限责任公司 | Protected fine-tuning of machine learning models |
| KR20230111006A (en) * | 2022-01-17 | 2023-07-25 | 삼성전자주식회사 | A display apparatus and a method for operating the display apparatus |
| US12574408B2 (en) * | 2023-01-24 | 2026-03-10 | Mcafee, Llc | Post-incident alerts for PII data loss |
| US12282463B2 (en) * | 2023-05-16 | 2025-04-22 | Bank Of America Corporation | Inline data quality schema management system |
| TWI900967B (en) * | 2023-12-29 | 2025-10-11 | 新唐科技股份有限公司 | Control chip, storage circuit and protection method |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110225418A1 (en) * | 2010-03-10 | 2011-09-15 | Sprint Communications Company L.P. | Secure storage of protected data in a wireless communication device |
| KR20170012019A (en) * | 2015-07-24 | 2017-02-02 | 삼성전자주식회사 | Method for optimizing parallel matrix multiplication in a system supporting multiple CPU and multiple GPU |
| US20180032405A1 (en) * | 2016-07-28 | 2018-02-01 | Prophetstor Data Services, Inc. | Method for data protection for cloud-based service system |
| US20180157972A1 (en) * | 2016-12-02 | 2018-06-07 | Apple Inc. | Partially shared neural networks for multiple tasks |
| US20180165596A1 (en) * | 2016-12-08 | 2018-06-14 | Disney Enterprises, Inc. | Modeling characters that interact with users as part of a character-as-a-service implementation |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63219067A (en) * | 1987-03-09 | 1988-09-12 | Agency Of Ind Science & Technol | Dictionary retrieval device |
| JP2001100787A (en) | 1999-09-29 | 2001-04-13 | Mitsubishi Electric Corp | Spoken dialogue system |
| US9800608B2 (en) * | 2000-09-25 | 2017-10-24 | Symantec Corporation | Processing data flows with a data flow processor |
| US7313825B2 (en) * | 2000-11-13 | 2007-12-25 | Digital Doors, Inc. | Data security system and method for portable device |
| JP4600828B2 (en) | 2004-01-14 | 2010-12-22 | 日本電気株式会社 | Document association apparatus and document association method |
| US9507851B1 (en) * | 2011-03-29 | 2016-11-29 | EMC IP Holding Company LLC | Methods and systems for providing recommendation information |
| US20140223575A1 (en) * | 2011-04-25 | 2014-08-07 | Alcatel Lucent | Privacy protection in recommendation services |
| KR101460404B1 (en) * | 2012-09-04 | 2014-11-12 | 포항공과대학교 산학협력단 | Apparatus for managing user-centric context and method thereof |
| CN104516910B (en) * | 2013-09-26 | 2018-01-12 | Sap欧洲公司 | The content recommendation in client server environment |
| RU2662410C2 (en) * | 2014-03-26 | 2018-07-25 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Client intent in integrated search environment |
| US9946970B2 (en) * | 2014-11-07 | 2018-04-17 | Microsoft Technology Licensing, Llc | Neural networks for encrypted data |
| US20160180078A1 (en) * | 2014-12-23 | 2016-06-23 | Jasmeet Chhabra | Technologies for enhanced user authentication using advanced sensor monitoring |
| US10554611B2 (en) * | 2015-08-10 | 2020-02-04 | Google Llc | Privacy aligned and personalized social media content sharing recommendations |
| GB201610883D0 (en) | 2016-06-22 | 2016-08-03 | Microsoft Technology Licensing Llc | Privacy-preserving machine learning |
| WO2018008605A1 (en) * | 2016-07-04 | 2018-01-11 | 株式会社Seltech | System having artificial intelligence |
| US20180232370A1 (en) * | 2016-07-05 | 2018-08-16 | Cynny Spa | Local processing of biometric data for a content selection system |
| CN109716346A (en) * | 2016-07-18 | 2019-05-03 | 河谷生物组学有限责任公司 | Distributed machines learning system, device and method |
| US11232482B2 (en) * | 2016-11-01 | 2022-01-25 | Meta Platforms, Inc. | Selecting one or more components to be included in a content item optimized for an online system user |
| WO2018136956A1 (en) * | 2017-01-23 | 2018-07-26 | Health2047 SwitchCo, Inc. | Trust based access to records via encrypted protocol communications with authentication system |
| WO2018142766A1 (en) | 2017-02-03 | 2018-08-09 | パナソニックIpマネジメント株式会社 | Learned model provision method and learned model provision device |
| US10909429B2 (en) * | 2017-09-27 | 2021-02-02 | Monotype Imaging Inc. | Using attributes for identifying imagery for selection |
-
2019
- 2019-08-13 US US16/539,847 patent/US20200082279A1/en not_active Abandoned
- 2019-09-10 JP JP2021512684A patent/JP7436460B2/en active Active
- 2019-09-10 KR KR1020217010683A patent/KR102860782B1/en active Active
- 2019-09-10 WO PCT/US2019/050372 patent/WO2020055839A1/en not_active Ceased
- 2019-09-10 CN CN201980059507.5A patent/CN112639840B/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110225418A1 (en) * | 2010-03-10 | 2011-09-15 | Sprint Communications Company L.P. | Secure storage of protected data in a wireless communication device |
| KR20170012019A (en) * | 2015-07-24 | 2017-02-02 | 삼성전자주식회사 | Method for optimizing parallel matrix multiplication in a system supporting multiple CPU and multiple GPU |
| US20180032405A1 (en) * | 2016-07-28 | 2018-02-01 | Prophetstor Data Services, Inc. | Method for data protection for cloud-based service system |
| US20180157972A1 (en) * | 2016-12-02 | 2018-06-07 | Apple Inc. | Partially shared neural networks for multiple tasks |
| US20180165596A1 (en) * | 2016-12-08 | 2018-06-14 | Disney Enterprises, Inc. | Modeling characters that interact with users as part of a character-as-a-service implementation |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111967565A (en) * | 2020-10-23 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | Neural network system, method and device for risk assessment |
| CN111967565B (en) * | 2020-10-23 | 2021-04-27 | 支付宝(杭州)信息技术有限公司 | Neural network system, method and device for risk assessment |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021536638A (en) | 2021-12-27 |
| JP7436460B2 (en) | 2024-02-21 |
| KR102860782B1 (en) | 2025-09-16 |
| US20200082279A1 (en) | 2020-03-12 |
| CN112639840A (en) | 2021-04-09 |
| KR20210044308A (en) | 2021-04-22 |
| CN112639840B (en) | 2025-01-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102860782B1 (en) | Neural network inference on protected data | |
| US11589120B2 (en) | Deep content tagging | |
| CN110933490B (en) | A kind of automatic adjustment method of picture quality and sound quality, smart TV and storage medium | |
| US11450353B2 (en) | Video tagging by correlating visual features to sound tags | |
| US10971144B2 (en) | Communicating context to a device using an imperceptible audio identifier | |
| KR102271854B1 (en) | Control method for playing contents and contents playing apparatus for performing the same | |
| US20220283958A1 (en) | Granular access control for secure memory | |
| US8605958B2 (en) | Method and apparatus for generating meta data of content | |
| US20240048799A1 (en) | Fake video detection using block chain | |
| US9866913B1 (en) | Binary TV | |
| US9075431B2 (en) | Display apparatus and control method thereof | |
| US20180232370A1 (en) | Local processing of biometric data for a content selection system | |
| US20240428802A1 (en) | Systems and methods for determining traits based on voice analysis | |
| CN107277620A (en) | Video playback method, electronic device, and computer-readable storage medium | |
| CN113645505B (en) | System and method for video content security | |
| CN110191356A (en) | Video reviewing method, device and electronic equipment | |
| US20200210035A1 (en) | Enrollment-free offline device personalization | |
| US12271468B2 (en) | Display apparatus and operation method thereof | |
| US20260093753A1 (en) | Systems and methods for identifying and providing content related to an unstructured media content item | |
| CN115811589A (en) | Infrared remote control audio-visual device and infrared remote control audio-visual playing method | |
| US12621525B2 (en) | Gesture-based parental control system | |
| US20240380943A1 (en) | Gesture-based parental control system | |
| CN103842992A (en) | Facilitate TV-based interactions with social networking tools | |
| KR20250146495A (en) | An electronic device for a settop box providing customized services based on object information of protected content and operating method thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19859616 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2021512684 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 20217010683 Country of ref document: KR Kind code of ref document: A |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19859616 Country of ref document: EP Kind code of ref document: A1 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 201980059507.5 Country of ref document: CN |