WO2021172749A1 - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2021172749A1
WO2021172749A1 PCT/KR2021/000465 KR2021000465W WO2021172749A1 WO 2021172749 A1 WO2021172749 A1 WO 2021172749A1 KR 2021000465 W KR2021000465 W KR 2021000465W WO 2021172749 A1 WO2021172749 A1 WO 2021172749A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
artificial intelligence
processor
intelligence model
electronic device
Prior art date
Application number
PCT/KR2021/000465
Other languages
English (en)
French (fr)
Inventor
허준호
김동욱
이충훈
Original Assignee
삼성전자주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP21760057.6A priority Critical patent/EP4099231A4/en
Publication of WO2021172749A1 publication Critical patent/WO2021172749A1/ko
Priority to US17/894,586 priority patent/US20220405430A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device storing an artificial intelligence model and obtaining output data through the stored artificial intelligence model, and a control method thereof.
  • an artificial intelligence model is being operated on an on-device rather than a server in consideration of server cost, quick response, and privacy issues.
  • a problem may arise in which competitors, etc. use the artificial intelligence model stored on-device without permission.
  • the artificial intelligence model is encrypted, when the artificial intelligence model is executed, the encrypted artificial intelligence model is restored and loaded into the memory. Even in this case, the artificial intelligence model may be leaked.
  • the artificial intelligence model may be run in a trust zone, but in general, the artificial intelligence model occupies a significant capacity, but there is a problem in that only a relatively small capacity is allocated to the trust zone.
  • the present disclosure is in accordance with the above-mentioned necessity, and an object of the present disclosure is to provide an electronic device for preventing leakage of an artificial intelligence model and a control method thereof.
  • an electronic device preprocesses a memory and raw data for storing information related to an artificial intelligence model that performs an operation through a plurality of neural network layers and a processor configured to obtain output data by inputting the pre-processed data into the artificial intelligence model, wherein first data used for pre-processing of the raw data and second data used in some layers of the plurality of neural network layers are Third data stored in the secure area of the memory and used in the remaining layers of the plurality of neural network layers may be stored in the non-secure area of the memory.
  • the first data is at least one of data used for filtering raw data to be input to the artificial intelligence model from among a plurality of raw data and data used to convert raw data into input data to be input to the artificial intelligence model may include.
  • the second data may include information on parameters used in a last layer among the plurality of neural network layers.
  • the processor may operate as a secure world, read the raw data stored in the non-security area, and preprocess the raw data based on the first data.
  • the third data includes information on parameters used in the remaining layers except for the last layer among the plurality of neural network layers, and the processor operates as a normal world and based on the third data An operation may be performed on the preprocessed data, and feature map information output from a previous layer of the last layer may be obtained.
  • the processor may operate as the secure world, perform an operation on the feature map information based on the second data, and obtain data output from the last layer as the output data.
  • the second data may include parameters used in at least one layer determined based on the size of parameter information used in each of the plurality of layers.
  • the memory may include a first memory used as the secure area and a second memory used as the non-secure area.
  • the processor filters the obtained raw data based on the first data when at least one raw data is obtained through the sensor and applies the filtered raw data to the artificial intelligence model. It can be converted into input data to be input.
  • a method of controlling an electronic device includes preprocessing raw data based on first data stored in a security area of a memory included in the electronic device and using an artificial intelligence model.
  • the pre-processed raw data based on second data used in some of the plurality of neural network layers and stored in the secure region, and third data used in the remaining layers of the plurality of neural network layers and stored in the non-secure region of the memory may include obtaining output data applied to the artificial intelligence model.
  • the first data is at least one of data used for filtering raw data to be input to the artificial intelligence model from among a plurality of raw data and data used to convert raw data into input data to be input to the artificial intelligence model may include.
  • the second data may include information on parameters used in a last layer among the plurality of neural network layers.
  • the electronic device may operate as a secure world, read the raw data stored in the non-secure area, and pre-process the raw data based on the first data.
  • the third data includes information on parameters used in the remaining layers except for the last layer among the plurality of neural network layers
  • the acquiring includes the electronic device operating as a normal world and the An operation may be performed on the preprocessed data based on the third data, and feature map information output from a previous layer of the last layer may be obtained.
  • the electronic device operates as the normal world, performs an operation on the feature map information based on the second data, and acquires data output from the last layer as the output data. have.
  • the second data may include parameters used in at least one layer determined based on the size of parameter information used in each of the plurality of layers.
  • the memory may include a first memory used as the secure area and a second memory used as the non-secure area.
  • the method may further include obtaining at least one piece of raw data through a sensor included in the electronic device, wherein the pre-processing includes filtering the obtained raw data based on the first data and filtering the filtered raw data. may be converted into input data to be input to the artificial intelligence model.
  • the operating method includes a first stored in a secure area of a memory included in the electronic device. 1 Step of preprocessing raw data based on data and second data used in some layers of a plurality of neural network layers of an artificial intelligence model and stored in the security area, and in the remaining layers of the plurality of neural network layers and obtaining output data in which the pre-processed raw data is applied to the artificial intelligence model based on third data used and stored in the non-secure area of the memory.
  • the electronic device may prevent the artificial intelligence model from being leaked by storing some data necessary for the operation of the artificial intelligence model in the security area.
  • FIG. 1 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram illustrating an execution mode of a processor according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram for describing data stored in a secure area and a non-secure area according to an embodiment of the present disclosure.
  • FIG. 4 is a view for explaining a calculation process of an artificial intelligence model according to an embodiment of the present disclosure.
  • FIG. 5 is a view for explaining an example of bio-authentication according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram for explaining an audio analysis method according to another embodiment of the present disclosure.
  • FIG. 7 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • FIG. 1 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • an electronic device 100 includes a memory 110 and a processor 120 .
  • the electronic device 100 may be a device that stores an artificial intelligence model and obtains output data through the stored artificial intelligence model.
  • the electronic device 100 includes a user terminal device, a display device, a set-top box, a tablet personal computer (PC), a smart phone, and an e-book reader.
  • a desktop PC, a laptop PC, a workstation, a server, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, etc. may be implemented in various types of devices.
  • PDA personal digital assistant
  • PMP portable multimedia player
  • MP3 player MP3 player
  • the electronic device 100 may be a device such as a navigation device, an automobile infotainment device, various medical devices, an Internet of things device, etc., and an artificial intelligence model. Any device that stores and acquires output data through the stored artificial intelligence model may be used.
  • the memory 110 may store various programs and data necessary for the operation of the electronic device 100 .
  • the memory 110 may store an operating system (OS) and an application program executed on the operating system.
  • OS operating system
  • application program executed on the operating system.
  • the memory 110 includes a non-volatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), a solid state drive (SSD), or a memory card (not shown) mounted in the electronic device 100 (eg, For example, it may be implemented as a micro SD card or a memory stick), and an operating system and an application program may be stored in the memory 110 according to a manipulation by a manufacturer or a user of the electronic device 100 .
  • the operating system may mean a general-purpose operating system that is generally used
  • the application program executed on the operating system may mean a general program that can be executed with the support of the general-purpose operating system.
  • the memory 110 may include a secure area 111 and a non-secure area 112 .
  • the secure area 111 may be an area accessible only when there is an authority, and the non-secure area 112 may be an area accessible regardless of authority.
  • the secure area 111 and the non-secure area 112 may be implemented in software.
  • processor 120 may access secure region 111 and non-secure region 112 while a secure operating system is running, and may access non-secure region 112 while a general-purpose operating system is running. .
  • the secure area 111 and the non-secure area 112 may be implemented in a hardware-separated form.
  • the memory 110 may include a first memory 111 used as a secure area and a second memory 112 used as a non-secure area.
  • the first memory 111 may use a storage mechanism protected by a device such as a trust zone or a trusted platform module (TPM).
  • TPM trusted platform module
  • the unit hardware-connected to the first memory 111 may be a first unit included in the processor 120 or a second unit separate from the processor 120 .
  • the memory 110 may store information related to an artificial intelligence model that performs an operation through a plurality of neural network layers.
  • the memory 110 may prevent leakage of the artificial intelligence model by dividing and storing information related to the artificial intelligence model in the secure area 111 and the non-secure area 112 .
  • first data used for preprocessing raw data and second data used in some of the plurality of neural network layers are stored in the security area 111 of the memory 110 , and the plurality of neural networks Third data used in the remaining layers among the layers may be stored in the non-secure area 112 of the memory 110 .
  • the raw data may be input to the artificial intelligence model after pre-processing.
  • the processor 120 controls the overall operation of the electronic device 100 .
  • the processor 120 may be connected to each component of the electronic device 100 to control the overall operation of the electronic device 100 .
  • the processor 120 may be connected to the memory 110 to control the operation of the electronic device 100 .
  • the processor 120 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON).
  • DSP digital signal processor
  • TCON time controller
  • the present invention is not limited thereto, and the central processing unit (central processing unit (CPU)), micro controller unit (MCU), micro processing unit (MPU), controller, application processor (AP), or communication processor (CP), ARM processor
  • the processor 120 may be implemented as a SoC (System on Chip) or LSI (large scale integration) in which a processing algorithm is embedded, or an FPGA ( Field programmable gate array) may be implemented.
  • SoC System on Chip
  • LSI large scale integration
  • FPGA Field programmable gate array
  • the processor 120 may be implemented in a form having an architecture of a “trust zone” type of security structure.
  • the trust zone technology may divide and manage one processor 120 into two virtual spaces of a normal world and a secure world.
  • the normal world may be a system environment driven by a general-purpose operating system
  • the secure world may be a system environment driven by a secure operating system. That is, when the processor 120 operates as the normal world, it cannot access the security area 111 , but when the processor 120 operates as the secure world, the security area 111 . can access A detailed description thereof will be described later with reference to the drawings.
  • the processor 120 may obtain output data by pre-processing the raw data and inputting the pre-processed data to the artificial intelligence model.
  • first data used for pre-processing of raw data and second data used in some layers among the plurality of neural network layers are stored in the security area 111
  • third data used in the other layers of the plurality of neural network layers are stored in the security area 111 .
  • the processor 120 may obtain output data by using the first to third data stored in the security area 111 and the non-security area 112 .
  • the first data may include at least one of data used for filtering raw data to be input to the artificial intelligence model from among the plurality of raw data or data used to convert raw data into input data to be input to the artificial intelligence model.
  • the second data includes information on parameters used in the last layer among the plurality of neural network layers
  • the third data includes information on parameters used in the remaining layers except for the last layer among the plurality of neural network layers.
  • the parameter may be an element (weight) included in each of the plurality of neural network layers.
  • the processor 120 may operate as a secure world, read raw data stored in the non-security area 112 , and pre-process the raw data based on the first data.
  • the processor 120 may operate as a normal world, perform an operation on preprocessed data based on the third data, and obtain feature map information output from a previous layer of the last layer.
  • the processor 120 may operate as the secure world, perform an operation on the feature map information based on the second data, and obtain data output from the last layer as output data.
  • some of the data for driving the artificial intelligence model is stored in the security area 111 of the memory 110 , and the processor 120 operates as a secure world and accesses the security area 111 to be related to the artificial intelligence model. operation may be performed, and accordingly, the security of data stored in the security area 111 may be strengthened.
  • the second data includes information on parameters used in the last layer among the plurality of neural network layers, but the present invention is not limited thereto.
  • the second data may include parameters used in at least one layer determined based on the size of parameter information used in each of the plurality of neural network layers.
  • the second data may include only information about some of parameters used in the last layer among the plurality of neural network layers.
  • the processor 120 may include a first processor operating as a normal world and a second processor operating as a secure world.
  • the first processor and the second processor may be configured as separate hardware.
  • the electronic device 100 further includes a sensor, and when at least one raw data is acquired through the sensor, the processor 120 filters the acquired raw data based on the first data and artificially synthesizes the filtered raw data. It can be converted into input data to be input to the intelligent model.
  • the electronic device 100 may further include a luminance sensor, and the processor 120 may acquire a plurality of luminance values at preset time intervals through the sensor.
  • the plurality of luminance values are raw data.
  • the processor 120 may filter only a value greater than or equal to a threshold luminance value among a plurality of luminance values based on the first data. Then, the processor 120 may quantize the filtered luminance value and input it to the artificial intelligence model.
  • the luminance sensor is exemplified for convenience of description, but the present invention is not limited thereto.
  • the processor 120 may acquire raw data from an infrared sensor, a touch sensor, a gravity sensor, an acceleration sensor, a gyro sensor, and the like.
  • the processor 120 may use data obtained from a communication interface, a microphone, a camera, and the like rather than a sensor as raw data.
  • the communication interface is a configuration for performing communication with various types of external devices according to various types of communication methods.
  • the communication interface includes a Wi-Fi module, a Bluetooth module, an infrared communication module, and a wireless communication module.
  • each communication module may be implemented in the form of at least one hardware chip.
  • the processor 120 may communicate with various external devices using a communication interface.
  • the external device may include an external server, a Bluetooth earphone, and the like.
  • the Wi-Fi module and the Bluetooth module perform communication using a WiFi method and a Bluetooth method, respectively.
  • various types of connection information such as an SSID and a session key are first transmitted and received, and then various types of information can be transmitted and received after communication connection using this.
  • the infrared communication module communicates according to the infrared data association (IrDA) technology, which wirelessly transmits data in a short distance using infrared that is between visible light and millimeter waves.
  • IrDA infrared data association
  • the wireless communication module includes Zigbee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), LTE Advanced (LTE-A), 4th Generation (4G), 5G It may include at least one communication chip that performs communication according to various wireless communication standards such as (5th Generation).
  • 3G 3rd Generation
  • 3GPP 3rd Generation Partnership Project
  • LTE Long Term Evolution
  • LTE-A LTE Advanced
  • 4G 4th Generation
  • 5G 5G It may include at least one communication chip that performs communication according to various wireless communication standards such as (5th Generation).
  • the communication interface may include at least one of a local area network (LAN) module, an Ethernet module, or a wired communication module for performing communication using a pair cable, a coaxial cable, or an optical fiber cable.
  • LAN local area network
  • Ethernet Ethernet
  • wired communication module for performing communication using a pair cable, a coaxial cable, or an optical fiber cable.
  • the communication interface may further include an input/output interface.
  • Input/output interfaces are HDMI (High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP (Display Port), Thunderbolt, VGA (Video Graphics Array) port, RGB port,
  • the interface may be any one of D-subminiature (D-SUB) and Digital Visual Interface (DVI).
  • the input/output interface may input/output at least one of audio and video signals.
  • the input/output interface may include a port for inputting and outputting only an audio signal and a port for inputting and outputting only a video signal as separate ports, or may be implemented as a single port for inputting and outputting both an audio signal and a video signal.
  • a microphone is a component for receiving a user's voice or other sound and converting it into audio data.
  • the microphone may receive a user's voice in an active state.
  • the microphone may be formed integrally with an upper side, a front direction, a side direction, or the like of the electronic device 100 .
  • the microphone is a microphone that collects the user's voice in analog form, an amplifier circuit that amplifies the collected user's voice, an A/D conversion circuit that samples the amplified user's voice and converts it into a digital signal, and a microphone that removes noise components from the converted digital signal. It may include various configurations such as filter circuits and the like.
  • the camera is a component for capturing still images or moving images.
  • the camera may capture still images at a specific point in time, but may also continuously capture still images.
  • the electronic device 100 may further include a configuration for providing output data to a user.
  • the electronic device 100 may further include at least one of a display and a speaker, and may display output data or provide it to the user as sound.
  • the display may be implemented as a display of various types, such as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display panel (PDP), and the like.
  • a driving circuit, a backlight unit, etc. that may be implemented in the form of an a-si TFT, a low temperature poly silicon (LTPS) TFT, or an organic TFT (OTFT) may also be included in the display.
  • the display may be implemented as a touch screen combined with a touch sensor, a flexible display, a three-dimensional display, or the like.
  • the speaker may be a component that outputs not only various audio data processed in the input/output interface, but also various notification sounds or voice messages.
  • functions related to artificial intelligence according to the present disclosure are operated through the processor 120 and the memory 110 .
  • the processor 120 may include one or a plurality of processors.
  • the one or more processors may be a general-purpose processor such as a CPU, an AP, a digital signal processor (DSP), or the like, a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU.
  • One or a plurality of processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory.
  • the artificial intelligence-only processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
  • the predefined action rule or artificial intelligence model is characterized in that it is created through learning.
  • a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden.
  • Such learning may be performed in the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
  • Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
  • the artificial intelligence model may be composed of a plurality of neural network layers.
  • Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weight values.
  • the plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
  • the artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Restricted Boltzmann Machine (RBM), There may be a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a Deep Q-Networks, but is not limited to the above-described example.
  • DNN Deep Neural Network
  • DNN Deep Belief Network
  • BBDNN Bidirectional Recurrent Deep Neural Network
  • Deep Q-Networks Deep Q-Networks
  • the electronic device 100 may prevent the artificial intelligence model from being leaked due to a memory attack by storing some data necessary for the operation of the artificial intelligence model in the security area 111 .
  • the non-secure area 112 since most of the layers included in the artificial intelligence model are stored in the non-secure area 112, it is also possible to solve the problem of excessive load occurring in the secure area.
  • data for pre-processing data input to the artificial intelligence model is also stored in the security area 111, security for the pre-processing process may be maintained.
  • FIGS. 2 to 5 the operation of the electronic device 100 will be described in more detail with reference to FIGS. 2 to 5 .
  • 2 to 5 individual embodiments will be described for convenience of description. However, the individual embodiments of FIGS. 2 to 5 may be embodied in any combination.
  • FIG. 2 is a diagram illustrating an execution mode of the processor 120 according to an embodiment of the present disclosure.
  • the processor 120 may selectively operate in one of the first execution mode and the second execution mode.
  • the first execution mode is an execution mode based on a general-purpose operating system
  • the second execution mode is an execution mode based on a secure operating system.
  • the first execution mode and the second execution mode may be expressed as a normal world and a secure world, respectively.
  • the normal world may indicate a general data processing architecture
  • the secure world may indicate a data processing architecture with security.
  • the processor 120 may use a “Trust Zone Architecture”.
  • Trust zone Architecture discloses a microprocessor comprising a runtime-architecture partitioned in two.
  • One of the two runtime-architectures, the insecure runtime-architecture may be referred to as a "Normal Zone” or a "Normal World”.
  • the non-secure runtime-architecture can run on a general-purpose operating system.
  • the other is the secure runtime-architecture, which may be referred to as a “Trust zone”, “Trusted World” or “Secure World.”
  • the secure runtime-architecture is a secure operating system can be operated based on
  • the general-purpose operating system may be, for example, a typical, general operating system such as Android, Windows, Symbian, or the like.
  • the security operating system may be, for example, an operating system in which a security kernel in which a security function is integrated into an existing operating system such as MOBICORE or RedCastle is inserted.
  • the above-described non-secure runtime-architecture and secure runtime-architecture may be defined as virtual first and second execution modes, respectively.
  • either a general-purpose operating system or a security operating system may be set as a default.
  • the general-purpose operating system is set as a default, the processor 120 operates in the first execution mode based on the general-purpose operating system, and when a preset event occurs, the processor 120 switches to the second execution mode can do.
  • the secure operating system may be executed in the second execution mode.
  • the preset event may be a user's mode selection command, whether a switching code is received, whether a mode switching command is generated, and the like.
  • the processor 120 may switch from the first execution mode to the second execution mode when a switching code for mode switching is received from the kernel of the operating system.
  • the switching code is generated at the kernel level of the operating system rather than the user level, it is possible to reduce the risk of the switching code being generated by malicious hacking or abnormal access.
  • the switching code may be an SMC instruction executed in the kernel of the operating system.
  • the SMC command is transmitted to a virtual monitor module, and the virtual monitor module may convert the first execution mode to the second execution mode.
  • the virtual monitor module may switch the second execution mode to the first execution mode.
  • the processor 120 may include a Secure Configuration Register (SCR), and information on the current execution mode may be stored as an NS-bit in the SCR. For example, in the first execution mode, the NS-bit is stored as 1, and in the second execution mode, the NS-bit is stored as 0.
  • SCR Secure Configuration Register
  • the virtual monitor module operates in the secure world, and the execution mode can be switched by changing the value of the NS-bit.
  • the processor 120 may change the currently executed mode to the virtual monitor mode by using an Interrupt Request (IRQ) or a Fast Interrupt Request (FIQ).
  • IRQ Interrupt Request
  • FIQ Fast Interrupt Request
  • the IRQ may be used as an interrupt in the first execution mode
  • the FIQ may be used as an interrupt in the second execution mode.
  • the processor 120 may switch to an execution mode corresponding to the user command. For example, when a user command for switching from the first execution mode operating based on the general-purpose operating system to the second execution mode is received, the processor 120 may switch to the second execution mode.
  • the electronic device 100 when the general-purpose operating system is running in the first execution mode of the processor 120 , the electronic device 100 is shut down and rebooted to execute the secure operating system, and the processor 120 executes the secure operating system. It may operate in the second execution mode based on .
  • the virtual monitor module may store the context of the currently executed execution mode and restore the context of the new execution mode. For example, when changing from the normal world to the secure world, the execution environment of the normal world may be stored in the monitor mode. And, when the secure world is changed back to the normal world, the program may be executed in the previously stored environment of the normal world.
  • the first execution mode and the second execution mode may be understood as executing an operating system corresponding to each execution mode, but the processor 120 operates on the general-purpose operating system and the general-purpose operating system.
  • the data may be transferred to the second execution mode and the secure operating system.
  • the processor 120 accesses a specific address of the memory 110 to execute an application program operating in a general-purpose operating system, and data corresponding to the address is the second execution mode based on the secure operating system. , the processor 120 may transfer data generated in the first execution mode to the second execution mode and operate in a secure operating system.
  • the processor 120 may change the mode according to a command to change the mode after performing each operation.
  • the module executing the artificial intelligence model may include a command for switching a mode after preprocessing is completed and a command for switching a mode after an operation on a portion of a plurality of neural network layers is performed.
  • the processor 120 may change the mode according to each instruction, and transfer the operation result before the mode change to the changed mode.
  • the second execution mode may include various types of software such as a network driver module and TCP/IP module separately from the first execution mode in order to enhance security.
  • the second execution mode may be implemented by hardware independent of the first execution mode.
  • the first execution mode may be implemented by a different system on chip (SoC) or a different processor from the second execution mode.
  • SoC system on chip
  • the present invention is not limited thereto, and may be implemented in each of two regions in which one processor is logically and virtually divided.
  • FIG. 2 a general operation of the mode of the processor 120 has been described.
  • the operation of the processor 120 for enhancing the security of the artificial intelligence model will be described with a more specific example.
  • data stored in the secure area 111 and the non-secure area 112 will be described with reference to FIG. 3 .
  • the first execution mode and the second execution mode will be described as the normal world and the secure world, respectively.
  • FIG. 3 is a diagram for describing data stored in the secure area 111 and the non-secure area 112 according to an embodiment of the present disclosure.
  • FIG. 3 for convenience of explanation, illustration of a plurality of neural network layers included in the artificial intelligence model is omitted, and data processed by each layer is shown. That is, input data is calculated through a plurality of neural network layers included in the artificial intelligence model, and FIG. 3 shows outputs of each of the plurality of neural network layers.
  • preprocessed raw data may be input to the artificial intelligence model.
  • data 310 for pre-processing raw data such as raw data processing and feature extraction of FIG. 3 may be stored in the security area 111 as first data.
  • the first data may include at least one of data used for filtering raw data to be input to the artificial intelligence model from among the plurality of raw data or data used to convert raw data into input data to be input to the artificial intelligence model.
  • the processor 120 may filter only an image having a resolution higher than or equal to a preset resolution among a plurality of image data, convert the filtered image into data representing a frequency component, and input the converted data to the artificial intelligence model.
  • the pre-processing method may be varied.
  • the processor 120 may preprocess the raw data by changing the resolution of the image or removing noise from the audio, and the preprocessing method may vary depending on the artificial intelligence model.
  • second data used in some layers among a plurality of neural network layers included in the artificial intelligence model may also be stored in the security area 111 .
  • information 320 on a parameter used in the last layer among the plurality of neural network layers of FIG. 3 may be stored in the security area 111 .
  • the last layer among the plurality of neural network layers may be a Fully Connected Layer.
  • the size of the output of each of the plurality of neural network layers may decrease as the operation proceeds, and accordingly, the size of the neural network layer may also decrease. Since the capacity of the security region 111 is also limited, it may be more efficient to store a neural network layer having a smaller data size among a plurality of neural network layers than to store the entire plurality of neural network layers.
  • the second data stored in the security area 111 may include parameters used in at least one layer determined based on the size of parameter information used in each of the plurality of layers.
  • the second data to be stored in the security area 111 includes information 220 on parameters used in the middle layer among the plurality of neural network layers and information 220 on parameters used in the last layer among the plurality of neural network layers. You may.
  • data other than the second data among the plurality of neural network layers may be stored as third data.
  • the third data includes a plurality of neural network layers of various types such as a convolution layer and a fully connected layer, but does not include only the last layer.
  • data 310 for pre-processing raw data and information 320 on parameters used in the last layer among the plurality of neural network layers are stored in the security area 111, but it is not limited thereto. no.
  • only data 310 for preprocessing raw data may be stored in the security region 111
  • only information 320 about parameters used in the last layer among a plurality of neural network layers is stored in the security region 111 . may be stored.
  • data 310 for preprocessing the raw data of FIG. 3 and information 320 on parameters used in the last layer of the plurality of neural network layers are first data, respectively.
  • Information about parameters stored in the security area 111 as 400-1 and second data 400-2 and used in the remaining layers except for the last layer among the plurality of neural network layers is stored in the third data (ML Engine (except Last FC layer), 400-3), it is assumed that it is stored in the non-security area 112 .
  • the processor 120 operates as a normal world according to the execution of the module executing the artificial intelligence model, reads raw data stored in the untrusted zone 112, changes the mode, and secures the read raw data It can be transmitted to the world (S410).
  • the module executing the artificial intelligence model may include a command to transmit the read raw data to the secure world.
  • the processor 120 may operate as the secure world and pre-process raw data based on the first data 400 - 1 , change the mode, and transfer the pre-processed data to the normal world ( S420 ).
  • the pre-processing operation may be an operation such as data processing and feature extraction.
  • Data processing may be an operation of filtering raw data to be input to the artificial intelligence model from among the plurality of raw data
  • feature extraction may be an operation of converting raw data into input data to be input to the artificial intelligence model.
  • the module executing the artificial intelligence model may include a command to transmit the preprocessed raw data to the normal world.
  • the processor 120 operates as the normal world, performs an operation on the preprocessed data based on the third data 400-3, changes the mode, and converts the feature map information output from the previous layer of the last layer to the secure world. It can be delivered (S430).
  • the module executing the artificial intelligence model may include a command to transmit feature map information, which is a result of the operation, to the secure world.
  • the processor 120 may operate as the secure world, perform an operation on the feature map information based on the second data 400 - 2 , and obtain data output from the last layer as output data.
  • the processor 120 may change the mode and provide output data to the normal region (S440).
  • the operation of changing each mode may be an operation by a mode change command included in the module executing the artificial intelligence model.
  • data on the time of changing the mode may be further stored in the secure area 111 and the non-secure area 112 .
  • a command for changing a mode may be stored in the security area 111 .
  • a command for changing a mode may be stored in the non-security area 112 .
  • a command to provide operation data before the change in another mode may be further stored.
  • the first data 400 - 1 used for pre-processing of raw data and the second data 400 - 2 used in the last layer among the plurality of neural network layers are stored in the security area 111 , although it has been described that the third data 400 - 3 used in the remaining layers of the neural network layer except for the last layer is stored in the non-secure area 112 , any other data may be stored in the secure area 111 , in this case
  • the calculation process of the processor 120 may also vary. That is, the processor 120 may perform an operation based on data stored in the secure area.
  • bio-authentication means performing authentication through the user's biometric information, such as fingerprint information, iris information, and voice information, and the bio-authentication of FIG. 5 may be performed through an artificial intelligence model.
  • data for pre-processing biometric information and information about parameters used in the last layer among a plurality of neural network layers of an artificial intelligence model for bio-authentication are stored as first data and second data, respectively, and , it is assumed that information on parameters used in the remaining layers except for the last layer among the plurality of neural network layers is stored as third data in the non-security area 112 .
  • bio-authentication will be described below using a user's face image as biometric information.
  • the electronic device 100 may sense bio-information through a sensor.
  • the electronic device 100 may include a camera and use a user's face image captured through the camera as bio information.
  • the processor 120 may receive information indicating that authentication is being attempted through the IME. In this case, the bio-information is not provided to the processor 120 , and security may be enhanced through this. Then, when information indicating that authentication is being attempted is received, the processor 120 may change the mode. For example, even if the user's face image is obtained by the camera, if the normal world (NWD) is operating, the user's face image is not provided to the processor 120, and only a notification that the user's face image has been obtained may be provided. .
  • the processor 120 may receive bio-information through a secure input method editor (IME). For example, if the user's face image is acquired by the camera and the secure world is operating, the user's face image may be provided to the processor 120 . Alternatively, even if the user's face image is acquired by the camera and the normal world is operating, if the mode is changed to the secure world, the user's face image may be provided to the processor 120 .
  • IME secure input method editor
  • the processor 120 is Partial Auth. Through the Agent, pre-processing such as data processing and feature extraction for bio-information can be performed, and the pre-processed bio-information can be delivered to the normal world by changing the mode.
  • data processing and feature extraction are information included in the first data.
  • the processor 120 may perform pre-processing such as changing the size of the user's face image to a preset size, and extracting features of a main part from the user's face image. This pre-processing operation may be based on the shape of the input data of the artificial intelligence model.
  • the processor 120 is Bio Auth.
  • the Convolution Layer and the Fully Connected Layer included in the artificial intelligence model are information included in the third data.
  • the processor 120 is Partial Auth. Through the Agent, it is possible to obtain output data by processing the feature map information as the Last FC Layer, and to provide the output data to the normal world by changing the mode. For example, the processor 120 may identify whether the user is a pre-registered user by applying an artificial intelligence model to the preprocessed user face image, and may provide the identification result as a normal world.
  • the processor 120 is Bio Auth. Output data can be provided as IME through Agent. In addition, the processor 120 may control the Model Updater to update parameters included in the artificial intelligence model based on the output data.
  • the electronic device 100 may identify whether bio-information is authenticated.
  • FIG. 6 is a diagram for explaining an audio analysis method according to another embodiment of the present disclosure.
  • the audio analysis method of FIG. 6 may be performed through an artificial intelligence model.
  • first data and second information about parameters used in the last layer among the plurality of neural network layers of the artificial intelligence model for audio analysis and data for pre-processing an audio signal such as a user's voice, respectively It is assumed that information about parameters stored as data and used in the remaining layers except for the last layer among the plurality of neural network layers is stored as third data in the non-security area 112 .
  • the processor 120 operates as a normal world and may read raw data such as a user's voice stored in an untrusted memory & disk 112 ( S610 ).
  • the processor 120 may change the mode to the secure world to pre-process the raw data, and transfer the raw data to the secure world.
  • the processor 120 operates as a secure world and may preprocess raw data based on data stored in a trusted (protected) memory & disk 111 .
  • the processor 120 may perform preprocessing such as removing a sound having a threshold amplitude or less from the raw data and performing normalization.
  • the processor 120 may extract a feature from the preprocessed raw data (S630).
  • the processor 120 may extract a frequency characteristic such as a Constant-Q Transform (CQT) or a Short-Time Fourier Transform (STFT) from the raw data.
  • CQT Constant-Q Transform
  • STFT Short-Time Fourier Transform
  • the processor 120 may change the mode to the normal world and transfer the extracted feature to the normal world ( S635 ).
  • the processor 120 operates as a normal world and may read the artificial intelligence model stored in the non-security area 112 ( S640 ).
  • the processor 120 operates as a normal world and may read a Voice Liveness Detection (Void) Lookup-based Convolutional Neural Network (LCNN) model stored in the non-security area 112 .
  • the artificial intelligence model may be an artificial intelligence model excluding the last layer.
  • the processor 120 may apply the extracted features to the artificial intelligence model while operating in the normal world (S650). Since the last layer is excluded from the artificial intelligence model, feature map information may be output as a result of application.
  • the processor 120 may change the mode to the secure world and transmit the feature map information to the secure world (S655).
  • the processor 120 operates as a secure world, reads the last layer of the artificial intelligence model from the security area 111, and applies feature map information to the last layer to perform binary classification (S660). 6 shows that the artificial intelligence model performs binary classification, any other artificial intelligence model may be used.
  • the processor 120 may change the mode to the normal mode and transfer the binary classification result to the normal mode (S665).
  • the processor 120 operates in the normal world and may provide a binary classification result to the user or perform an operation based on the binary classification result (S670).
  • the security of the artificial intelligence model can be improved by storing some of the data for applying the artificial intelligence model in the security area 111 .
  • FIG. 7 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • raw data is pre-processed based on the first data stored in the secure area of the memory included in the electronic device (S710).
  • second data used in some of the plurality of neural network layers of the artificial intelligence model and stored in the secure area and third data used in the remaining layers among the plurality of neural network layers and stored in the non-secure area of the memory.
  • the output data applied to the artificial intelligence model is obtained (S720).
  • the first data may include at least one of data used for filtering raw data to be input to the artificial intelligence model from among the plurality of raw data or data used to convert raw data into input data to be input to the artificial intelligence model.
  • the second data may include information on parameters used in the last layer among the plurality of neural network layers.
  • the electronic device operates as a secure world, reads raw data stored in the non-secure area into the secure area, and pre-processes the raw data based on the first data.
  • the third data includes information on parameters used in the remaining layers except for the last layer among the plurality of neural network layers, and the acquiring step S62 is performed when the electronic device operates as a normal world and the third data , an operation may be performed on the preprocessed data based on , and feature map information output from a previous layer of the last layer may be obtained.
  • the electronic device operates as a normal world, performs an operation on the feature map information based on the second data, and acquires data output from the last layer as output data.
  • the second data may include parameters used in at least one layer determined based on the size of parameter information used in each of the plurality of layers.
  • the memory may include a first memory used as a secure area and a second memory used as a non-secure area.
  • the method further includes obtaining at least one raw data through a sensor included in the electronic device, and the pre-processing ( S710 ) filters the obtained raw data based on the first data and artificially applies the filtered raw data. It can be converted into input data to be input to the intelligent model.
  • the electronic device may prevent the artificial intelligence model from being leaked by storing some data necessary for the operation of the artificial intelligence model in the security area.
  • the electronic device since only some data is stored in the secure area, even if the capacity of the secure area is small, it is possible to prevent the artificial intelligence model from being leaked in the same manner as in the present disclosure.
  • a device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an electronic device (eg, the electronic device A) according to the disclosed embodiments.
  • the processor may perform a function corresponding to the instruction by using other components directly or under the control of the processor.
  • Instructions may include code generated or executed by a compiler or interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' means that the storage medium does not include a signal and is tangible, and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
  • the method according to the various embodiments described above may be included in a computer program product and provided.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product may be distributed in the form of a machine-readable storage medium (eg, compact disc read only memory (CD-ROM)) or online through an application store (eg, Play StoreTM).
  • an application store eg, Play StoreTM
  • at least a part of the computer program product may be temporarily stored or temporarily created in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • the various embodiments described above are stored in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof. can be implemented in In some cases, the embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • non-transitory computer-readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, etc., and can be read by a device.
  • Specific examples of the non-transitory computer-readable medium may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
  • each of the components may be composed of a singular or a plurality of entities, and some sub-components of the above-described corresponding sub-components may be omitted, or other sub-components may be omitted. Components may be further included in various embodiments. Alternatively or additionally, some components (eg, a module or a program) may be integrated into a single entity to perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component are executed sequentially, parallel, iteratively, or heuristically, or at least some operations are executed in a different order, are omitted, or other operations are added. can be

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Bioethics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 복수의 신경망 레이어를 통해 연산을 수행하는 인공 지능 모델(Artificial Intelligence Model)과 관련된 정보를 저장하는 메모리 및 로우 데이터를 전처리하고 전처리된 데이터를 인공 지능 모델에 입력하여 출력 데이터를 획득하는 프로세서를 포함하고, 로우 데이터의 전처리에 이용되는 제1 데이터 및 복수의 신경망 레이어 중 일부 레이어에서 이용되는 제2 데이터는 메모리의 보안 영역에 저장되고, 복수의 신경망 레이어 중 나머지 레이어에서 이용되는 제3 데이터는 메모리의 비보안 영역에 저장된다.

Description

전자 장치 및 그 제어 방법
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 인공 지능 모델(Artificial Intelligence Model)을 저장하고, 저장된 인공 지능 모델을 통해 출력 데이터를 획득하는 전자 장치 및 그 제어 방법에 대한 것이다.
최근 인공 지능 모델(Artificial Intelligence Model)은 서버 비용, 빠른 응답, 프라이버시 문제 등을 고려하여 서버가 아닌 온-디바이스(on-device) 상에서 구동되고 있다. 이 경우, 경쟁 업체 등이 온-디바이스에 저장된 인공 지능 모델을 무단으로 사용하는 문제가 발생할 수 있다.
이를 방지하기 위해 인공 지능 모델을 암호화할 수 있으나, 암호화 키(encryption key)의 보안 문제가 또다른 문제가 될 수 있다.
또한, 인공 지능 모델을 암호화하더라도, 인공 지능 모델을 실행하는 경우 암호화된 인공 지능 모델을 복원하여 메모리에 로딩하게 되는데, 이 경우에도 인공 지능 모델이 유출될 가능성이 있다.
또는, 인공 지능 모델을 트러스트 존(trust zone)에서 실행시킬 수도 있으나, 일반적으로 인공 지능 모델은 상당한 용량을 차지하는 반면, 트러스트 존에는 상대적으로 작은 용량만이 할당되는 문제가 있다.
그에 따라, 인공 지능 모델의 유출을 방지하기 위한 기술이 개발될 필요가 있다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은 인공 지능 모델(Artificial Intelligence Model)의 유출을 방지하는 전자 장치 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 복수의 신경망 레이어를 통해 연산을 수행하는 인공 지능 모델(Artificial Intelligence Model)과 관련된 정보를 저장하는 메모리 및 로우 데이터를 전처리하고 상기 전처리된 데이터를 상기 인공 지능 모델에 입력하여 출력 데이터를 획득하는 프로세서를 포함하고, 상기 로우 데이터의 전처리에 이용되는 제1 데이터 및 상기 복수의 신경망 레이어 중 일부 레이어에서 이용되는 제2 데이터는 상기 메모리의 보안 영역에 저장되고, 상기 복수의 신경망 레이어 중 나머지 레이어에서 이용되는 제3 데이터는 상기 메모리의 비보안 영역에 저장될 수 있다.
또한, 상기 제1 데이터는 복수의 로우 데이터 중 상기 인공 지능 모델에 입력될 로우 데이터의 필터링에 이용되는 데이터 또는 로우 데이터를 상기 인공 지능 모델에 입력될 입력 데이터로 변환하기 위해 이용되는 데이터 중 적어도 하나를 포함할 수 있다.
그리고, 상기 제2 데이터는 상기 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보를 포함할 수 있다.
또한, 상기 프로세서는 시큐어 월드(Secure World)로 동작하며 상기 비보안 영역에 저장된 상기 로우 데이터를 상기 독출하고, 상기 제1 데이터에 기초하여 상기 로우 데이터를 전처리할 수 있다.
그리고, 상기 제3 데이터는 상기 복수의 신경망 레이어 중 상기 마지막 레이어를 제외한 나머지 레이어에서 이용되는 파라미터에 대한 정보를 포함하며, 상기 프로세서는 노멀 월드(Normal World)로 동작하며 상기 제3 데이터에 기초하여 상기 전처리된 데이터에 대한 연산을 수행하고, 상기 마지막 레이어의 이전 레이어에서 출력되는 피쳐 맵 정보를 획득할 수 있다.
또한, 상기 프로세서는 상기 시큐어 월드로 동작하며 상기 제2 데이터에 기초하여 상기 피쳐 맵 정보에 대한 연산을 수행하고, 상기 마지막 레이어에서 출력되는 데이터를 상기 출력 데이터로 획득할 수 있다.
그리고, 상기 제2 데이터는 상기 복수의 레이어 각각에서 이용되는 파라미터 정보의 크기에 기초하여 결정된 적어도 하나의 레이어에서 이용되는 파라미터를 포함할 수 있다.
또한, 상기 메모리는 상기 보안 영역으로 이용되는 제1 메모리 및 상기 비보안 영역으로 이용되는 제2 메모리를 포함할 수 있다.
그리고, 센서를 더 포함하며, 상기 프로세서는 상기 센서를 통해 적어도 하나의 로우 데이터가 획득되면, 상기 제1 데이터에 기초하여 상기 획득된 로우 데이터를 필터링하고 상기 필터링된 로우 데이터를 상기 인공 지능 모델에 입력될 입력 데이터로 변환할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 상기 전자 장치에 포함된 메모리의 보안 영역에 저장된 제1 데이터에 기초하여 로우 데이터를 전처리하는 단계 및 인공 지능 모델(Artificial Intelligence Model)의 복수의 신경망 레이어 중 일부 레이어에서 이용되며 상기 보안 영역에 저장된 제2 데이터, 및 상기 복수의 신경망 레이어 중 나머지 레이어에서 이용되며 상기 메모리의 비보안 영역에 저장된 제3 데이터에 기초하여 상기 전처리된 로우 데이터가 상기 인공 지능 모델에 적용된 출력 데이터를 획득하는 단계를 포함할 수 있다.
또한, 상기 제1 데이터는 복수의 로우 데이터 중 상기 인공 지능 모델에 입력될 로우 데이터의 필터링에 이용되는 데이터 또는 로우 데이터를 상기 인공 지능 모델에 입력될 입력 데이터로 변환하기 위해 이용되는 데이터 중 적어도 하나를 포함할 수 있다.
그리고, 상기 제2 데이터는 상기 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보를 포함할 수 있다.
또한, 상기 전처리하는 단계는 전자 장치가 시큐어 월드(Secure World)로 동작하며 상기 비보안 영역에 저장된 상기 로우 데이터를 독출하고, 상기 제1 데이터에 기초하여 상기 로우 데이터를 전처리할 수 있다.
그리고, 상기 제3 데이터는 상기 복수의 신경망 레이어 중 상기 마지막 레이어를 제외한 나머지 레이어에서 이용되는 파라미터에 대한 정보를 포함하며, 상기 획득하는 단계는 상기 전자 장치가 노멀 월드(Normal World)로 동작하며 상기 제3 데이터에 기초하여 상기 전처리된 데이터에 대한 연산을 수행하고, 상기 마지막 레이어의 이전 레이어에서 출력되는 피쳐 맵 정보를 획득할 수 있다.
또한, 상기 획득하는 단계는 상기 전자 장치가 상기 노멀 월드로 동작하며 상기 제2 데이터에 기초하여 상기 피쳐 맵 정보에 대한 연산을 수행하고, 상기 마지막 레이어에서 출력되는 데이터를 상기 출력 데이터로 획득할 수 있다.
그리고, 상기 제2 데이터는 상기 복수의 레이어 각각에서 이용되는 파라미터 정보의 크기에 기초하여 결정된 적어도 하나의 레이어에서 이용되는 파라미터를 포함할 수 있다.
또한, 상기 메모리는 상기 보안 영역으로 이용되는 제1 메모리 및 상기 비보안 영역으로 이용되는 제2 메모리를 포함할 수 있다.
그리고, 상기 전자 장치에 포함된 센서를 통해 적어도 하나의 로우 데이터를 획득하는 단계를 더 포함하며, 상기 전처리하는 단계는 상기 제1 데이터에 기초하여 상기 획득된 로우 데이터를 필터링하고 상기 필터링된 로우 데이터를 상기 인공 지능 모델에 입력될 입력 데이터로 변환할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 동작 방법을 실행하기 위한 프로그램이 저장된 비일시적 컴퓨터 판독가능 기록매체에 있어서, 상기 동작 방법은 상기 전자 장치에 포함된 메모리의 보안 영역에 저장된 제1 데이터에 기초하여 로우 데이터를 전처리하는 단계 및 인공 지능 모델(Artificial Intelligence Model)의 복수의 신경망 레이어 중 일부 레이어에서 이용되며 상기 보안 영역에 저장된 제2 데이터, 및 상기 복수의 신경망 레이어 중 나머지 레이어에서 이용되며 상기 메모리의 비보안 영역에 저장된 제3 데이터에 기초하여 상기 전처리된 로우 데이터가 상기 인공 지능 모델에 적용된 출력 데이터를 획득하는 단계를 포함한다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 인공 지능 모델(Artificial Intelligence Model)의 동작에 필요한 일부 데이터를 보안 영역에 저장함에 따라 인공 지능 모델이 유출되는 것을 방지할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 2는 본 개시의 일 실시 예에 따른 프로세서의 실행 모드를 도시한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 보안 영역 및 비보안 영역에 저장되는 데이터를 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 인공 지능 모델의 연산 과정을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 바이오 인증 예를 설명하기 위한 도면이다.
도 6은 본 개시의 다른 실시 예에 따른 오디오 분석 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
-
이하에서, 첨부된 도면을 이용하여 본 개시의 다양한 실시 예들에 대하여 구체적으로 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 1에 따르면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.
여기서, 전자 장치(100)는 인공 지능 모델(Artificial Intelligence Model)을 저장하고, 저장된 인공 지능 모델을 통해 출력 데이터를 획득하는 장치일 수 있다. 예를 들어, 전자 장치(100)는 사용자 단말 장치, 디스플레이 장치, 셋톱 박스(set-top box), 태블릿 PC(tablet personal computer), 스마트 폰(smart phone), 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어 등과 같은 다양한 형태의 디바이스로 구현될 수 있다. 다만, 이는 일 실시 예이며, 전자 장치(100)는 네비게이션(navigation) 장치, 자동차 인포테인먼트(infotainment) 장치, 각종 의료기기, 사물 인터넷 장치(internet of things) 등과 같은 장치일 수 있으며, 인공 지능 모델을 저장하고, 저장된 인공 지능 모델을 통해 출력 데이터를 획득하는 장치라면 어떠한 장치라도 무방하다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 예를 들어, 메모리(110)는 운영 체제(OS, Operating System) 및 운영 체제 상에서 실행되는 응용 프로그램이 저장되어 있을 수 있다.
메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱) 등으로 구현될 수 있으며, 전자 장치(100)의 제조사 또는 사용자의 조작에 따라 운영 체제 및 응용 프로그램이 메모리(110)에 저장될 수 있다.
여기서, 운영 체제는 일반적으로 사용되는 범용 운영 체제를 의미하고, 운영 체제 상에서 실행되는 응용 프로그램은 범용 운영 체제의 지원에 의해 실행될 수 있는 일반적인 프로그램을 의미할 수 있다.
메모리(110)는 보안 영역(111) 및 비보안 영역(112)을 포함할 수 있다. 보안 영역(111)은 권한이 있는 경우에만 액세스가 가능한 영역이고, 비보안 영역(112)은 권한과 무관하게 액세스가 가능한 영역일 수 있다.
보안 영역(111) 및 비보안 영역(112)은 소프트웨어적으로 구현될 수 있다. 예를 들어, 프로세서(120)는 보안 운영 체제가 실행되는 동안에는 보안 영역(111) 및 비보안 영역(112)에 액세스할 수 있고, 범용 운영 체제가 실행되는 동안에는 비보안 영역(112)에 액세스할 수 있다.
또는, 보안 영역(111) 및 비보안 영역(112)은 하드웨어적으로 구분된 형태로 구현될 수도 있다. 예를 들어, 메모리(110)는 보안 영역으로 이용되는 제1 메모리(111) 및 비보안 영역으로 이용되는 제2 메모리(112)를 포함할 수도 있다. 여기서, 제1 메모리(111)는 트러스트 존(trust zone) 또는 TPM(trusted platform module)과 같은 장치로 보호되는 저장소 메커니즘이 이용될 수 있다.
이 경우, 제1 메모리(111)에 하드웨어적으로 연결된 유닛만이 제1 메모리(111)에 액세스할 수 있다. 제1 메모리(111)에 하드웨어적으로 연결된 유닛은 프로세서(120)에 포함된 제1 유닛일 수도 있고, 프로세서(120)와 별개의 제2 유닛일 수도 있다.
메모리(110)는 복수의 신경망 레이어를 통해 연산을 수행하는 인공 지능 모델과 관련된 정보를 저장할 수 있다. 특히, 메모리(110)는 보안 영역(111) 및 비보안 영역(112)에 인공 지능 모델과 관련된 정보를 분할 저장함에 따라 인공 지능 모델의 유출을 방지할 수 있다.
예를 들어, 로우 데이터(raw data)의 전처리에 이용되는 제1 데이터 및 복수의 신경망 레이어 중 일부 레이어에서 이용되는 제2 데이터는 메모리(110)의 보안 영역(111)에 저장되고, 복수의 신경망 레이어 중 나머지 레이어에서 이용되는 제3 데이터는 메모리(110)의 비보안 영역(112)에 저장될 수 있다. 여기서, 로우 데이터는 전처리 과정을 거친 후 인공 지능 모델에 입력될 수 있다.
프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(120)는 전자 장치(100)의 각 구성과 연결되어 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(120)는 메모리(110)와 연결되어 전자 장치(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(120)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
특히, 프로세서(120)는 "트러스트 존(Trust zone)" 유형의 보안 구조의 아키텍처를 갖는 형태로 구현될 수 있다. 이 경우, 트러스트 존 기술은 하나의 프로세서(120)를 노멀 월드(Normal World) 및 시큐어 월드(Secure World)의 2개의 가상 공간으로 분할하여 관리할 수 있다. 노멀 월드는 범용 운영 체제에 의해 구동되는 시스템 환경이고, 시큐어 월드는 보안 운영 체제에 의해 구동되는 시스템 환경일 수 있다. 즉, 프로세서(120)가 노멀 월드(Normal World)로 동작하는 경우, 보안 영역(111)에 접근할 수 없으나, 프로세서(120)가 시큐어 월드(Secure World)로 동작하는 경우, 보안 영역(111)에 접근할 수 있다. 이에 대한 구체적인 설명은 도면을 통해 후술한다.
프로세서(120)는 로우 데이터를 전처리하고 전처리된 데이터를 인공 지능 모델에 입력하여 출력 데이터를 획득할 수 있다. 예를 들어, 로우 데이터의 전처리에 이용되는 제1 데이터 및 복수의 신경망 레이어 중 일부 레이어에서 이용되는 제2 데이터가 보안 영역(111)에 저장되고, 복수의 신경망 레이어 중 나머지 레이어에서 이용되는 제3 데이터가 비보안 영역(112)에 저장된 경우, 프로세서(120)는 보안 영역(111) 및 비보안 영역(112)에 저장된 제1 내지 제3 데이터를 이용하여 출력 데이터를 획득할 수 있다. 여기서, 제1 데이터는 복수의 로우 데이터 중 인공 지능 모델에 입력될 로우 데이터의 필터링에 이용되는 데이터 또는 로우 데이터를 인공 지능 모델에 입력될 입력 데이터로 변환하기 위해 이용되는 데이터 중 적어도 하나를 포함할 수 있다.
좀더 구체적인 예를 들면, 제2 데이터는 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보를 포함하고, 제3 데이터는 복수의 신경망 레이어 중 마지막 레이어를 제외한 나머지 레이어에서 이용되는 파라미터에 대한 정보를 포함할 수 있다. 여기서, 파라미터는 복수의 신경망 레이어 각각에 포함된 엘리먼트(weight)일 수 있다.
프로세서(120)는 시큐어 월드로 동작하며 비보안 영역(112)에 저장된 로우 데이터를 독출하고, 제1 데이터에 기초하여 로우 데이터를 전처리할 수 있다.
그리고, 프로세서(120)는 노멀 월드로 동작하며 제3 데이터에 기초하여 전처리된 데이터에 대한 연산을 수행하고, 마지막 레이어의 이전 레이어에서 출력되는 피쳐 맵 정보를 획득할 수 있다.
그리고, 프로세서(120)는 시큐어 월드로 동작하며 제2 데이터에 기초하여 피쳐 맵 정보에 대한 연산을 수행하고, 마지막 레이어에서 출력되는 데이터를 출력 데이터로 획득할 수 있다.
즉, 인공 지능 모델을 구동하기 위한 데이터 중 일부를 메모리(110)의 보안 영역(111)에 저장하고, 프로세서(120)가 시큐어 월드로 동작하며 보안 영역(111)에 접근하여 인공 지능 모델과 관련된 연산을 수행할 수 있으며, 그에 따라 보안 영역(111)에 저장된 데이터의 보안이 강화될 수 있다.
이상에서는 설명의 편의를 위해, 제2 데이터가 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보를 포함하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 제2 데이터는 복수의 신경망 레이어 각각에서 이용되는 파라미터 정보의 크기에 기초하여 결정된 적어도 하나의 레이어에서 이용되는 파라미터를 포함할 수도 있다. 또는, 제2 데이터는 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터 중 일부에 대한 정보만을 포함할 수도 있다.
또한, 이상에서는 설명의 편의를 위해, 하나의 프로세서(120)가 노멀 월드 또는 시큐어 월드로 동작하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 프로세서(120)는 노멀 월드로 동작하는 제1 프로세서 및 시큐어 월드로 동작하는 제2 프로세서를 포함할 수도 있다. 여기서, 제1 프로세서 및 제2 프로세서는 하드웨어적으로 별개의 구성일 수 있다.
한편, 전자 장치(100)는 센서를 더 포함하며, 프로세서(120)는 센서를 통해 적어도 하나의 로우 데이터가 획득되면, 제1 데이터에 기초하여 획득된 로우 데이터를 필터링하고 필터링된 로우 데이터를 인공 지능 모델에 입력될 입력 데이터로 변환할 수 있다.
예를 들어, 전자 장치(100)는 휘도 센서를 더 포함하며, 프로세서(120)는 센서를 통해 기설정된 시간 간격의 복수의 휘도 값을 획득할 수 있다. 여기서, 복수의 휘도 값은 로우 데이터이다.
그리고, 프로세서(120)는 제1 데이터에 기초하여 복수의 휘도 값 중 임계 휘도 값 이상의 값만을 필터링할 수 있다. 그리고, 프로세서(120)는 필터링된 휘도 값을 양자화하여 인공 지능 모델에 입력할 수 있다.
이상에서는 설명의 편의를 위하여 휘도 센서를 예로 들었으나, 이에 한정되는 것은 아니다. 예를 들어, 프로세서(120)는 적외선 센서, 터치 센서, 중력 센서, 가속도 센서, 자이로 센서 등으로부터 로우 데이터를 획득할 수도 있다. 또한, 프로세서(120)는 센서가 아닌 통신 인터페이스, 마이크, 카메라 등으로부터 획득된 데이터를 로우 데이터로 이용할 수도 있다.
여기서, 통신 인터페이스는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 인터페이스는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함한다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
프로세서(120)는 통신 인터페이스를 이용하여 각종 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 외부 서버, 블루투스 이어폰 등을 포함할 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
적외선 통신 모듈은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
그 밖에 통신 인터페이스는 LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.
통신 인터페이스는 입출력 인터페이스를 더 포함할 수 있다. 입출력 인터페이스는 HDMI(High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP(Display Port), 썬더볼트(Thunderbolt), VGA(Video Graphics Array)포트, RGB 포트, D-SUB(D-subminiature), DVI(Digital Visual Interface) 중 어느 하나의 인터페이스일 수 있다.
입출력 인터페이스는 오디오 및 비디오 신호 중 적어도 하나를 입출력 할 수 있다.
구현 예에 따라, 입출력 인터페이스는 오디오 신호만을 입출력하는 포트와 비디오 신호만을 입출력하는 포트를 별개의 포트로 포함하거나, 오디오 신호 및 비디오 신호를 모두 입출력하는 하나의 포트로 구현될 수 있다.
마이크는 사용자 음성이나 기타 소리를 입력받아 오디오 데이터로 변환하기 위한 구성이다. 마이크는 활성화 상태에서 사용자의 음성을 수신할 수 있다. 예를 들어, 마이크는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체화된 일체형으로 형성될 수 있다. 마이크는 아날로그 형태의 사용자 음성을 수집하는 마이크, 수집된 사용자 음성을 증폭하는 앰프 회로, 증폭된 사용자 음성을 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
카메라는 정지 영상 또는 동영상을 촬상하기 위한 구성이다. 카메라는 특정 시점에서의 정지 영상을 촬영할 수 있으나, 연속적으로 정지 영상을 촬영할 수도 있다.
한편, 전자 장치(100)는 사용자에게 출력 데이터를 제공하기 위한 구성을 더 포함할 수 있다. 예를 들어, 전자 장치(100)는 디스플레이 또는 스피커 중 적어도 하나를 더 포함하고, 출력 데이터를 디스플레이하거나 사운드로서 사용자에게 제공할 수 있다.
여기서, 디스플레이는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
스피커는 입출력 인터페이스에서 처리된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성 요소일 수 있다.
한편, 본 개시에 따른 인공 지능과 관련된 기능은 프로세서(120)와 메모리(110)를 통해 동작된다.
프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공 지능 전용 프로세서일 수 있다.
하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공 지능 전용 프로세서인 경우, 인공 지능 전용 프로세서는, 특정 인공 지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. 기 정의된 동작 규칙 또는 인공 지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 기본 인공 지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공 지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공 지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공 지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공 지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공 지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.
인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
이상과 같이 전자 장치(100)는 인공 지능 모델의 동작에 필요한 일부 데이터를 보안 영역(111)에 저장함에 따라 메모리 공격에 의한 인공 지능 모델이 유출되는 것을 방지할 수 있다. 특히, 인공 지능 모델에 포함된 대부분의 레이어가 비보안 영역(112)에 저장되어, 보안 영역에서 과도한 로드(load)가 발생하는 문제도 해결 가능하다. 또한, 인공 지능 모델에 입력되는 데이터를 전처리하기 위한 데이터도 보안 영역(111)에 저장되기 때문에, 전처리 과정에 대한 보안도 유지될 수 있다.
이하에서는 도 2 내지 도 5를 통해 전자 장치(100)의 동작을 좀더 구체적으로 설명한다. 도 2 내지 도 5에서는 설명의 편의를 위해 개별적인 실시 예에 대하여 설명한다. 다만, 도 2 내지 도 5의 개별적인 실시 예는 얼마든지 조합된 상태로 실시될 수도 있다.
도 2는 본 개시의 일 실시 예에 따른 프로세서(120)의 실행 모드를 도시한 도면이다.
본 개시의 일 실시 예에 따라 프로세서(120)는 제1 실행 모드 및 제2 실행 모드 중 하나로 선택적으로 동작할 수 있다. 여기서, 제1 실행 모드는 범용 운영 체제를 기반으로 하는 실행 모드이고, 제2 실행 모드는 보안 운영 체제를 기반으로 하는 실행 모드이다. 제1 실행 모드 및 제2 실행 모드는 각각 노멀 월드 및 시큐어 월드로 표현될 수 있으며, 노멀 월드는 일반적인 데이터 처리 아키텍처, 시큐어 월드는 보안성을 확보한 데이터 처리 아키텍처를 의미할 수 있다.
일 실시 예로, 프로세서(120)는 "트러스트 존 아키텍처(Trust zone Architecture)"가 사용될 수 있다. "트러스트 존 아키텍처(Trust zone Architecture)"는 두 개로 분할된 런타임-아키텍처를 포함하는 마이크로 프로세스를 공지하고 있다. 두 개의 런타임-아키텍처 중 하나인 비보안 런타임-아키텍처는 "노멀 존(Normal Zone)" 또는 "노멀 월드(Normal World)"로 지칭될 수 있다. 비보안 런타임-아키텍처는 범용 운영 체제를 기반으로 동작할 수 있다. 다른 하나는 보안 런타임-아키텍처이고, "트러스트 존(Trust zone)", "트러스티드 월드(Trusted World)" 또는 "시큐어 월드(Secure World)”로 지칭될 수 있다. 보안 런타임-아키텍처는 보안 운영 체제를 기반으로 동작할 수 있다.
여기서, 범용 운영 체제는 예를 들어, 안드로이드, 윈도우, 심비안 등과 같은 통상적이고, 일반적인 운영 체제일 수 있다. 보안 운영 체제는 예를 들어, MOBICORE, RedCastle 등과 같이 기존의 운영 체제에 보안 기능이 통합된 보안 커널(security kernel)을 삽입한 운영 체제일 수 있다. 트러스트 존에 따르면, 상술한 비보안 런타임-아키텍처 및 보안 런타임-아키텍처는 각각 가상의 제1 실행 모드 및 제2 실행 모드로 정의될 수 있다.
본 개시의 일 실시 예에 따른 프로세서(120)는 범용 운영 체제 또는 보안 운영 체제 중 어느 하나가 디폴트로 설정이 되어 있을 수 있다. 일 예로, 범용 운영 체제가 디폴트로 설정되어 있으면, 프로세서(120)는 범용 운영 체제를 기반으로 하는 제1 실행 모드에서 동작하고 기설정된 이벤트가 발생하면, 프로세서(120)는 제2 실행 모드로 전환할 수 있다. 이 경우, 제2 실행 모드에서는 보안 운영 체제가 실행될 수 있다. 여기서, 기설정된 이벤트는 사용자의 모드 선택 명령, 스위칭 코드 수신 여부, 모드 전환 명령어 발생 여부 등이 될 수 있다.
일 예로, 기설정된 이벤트가 스위칭 코드 수신 여부이면, 프로세서(120)는 운영 체제의 커널로부터 모드 전환을 위한 스위칭 코드가 수신되면 제1 실행 모드에서 제2 실행 모드로 전환할 수 있다. 여기서, 스위칭 코드는 사용자 레벨이 아닌 운영 체제의 커널 레벨에서 발생되므로 악의적인 해킹 또는 비정상정인 액세스 등에 의해 스위칭 코드가 발생되는 위험을 줄일 수 있다.
여기서, 스위칭 코드는 운영 체제의 커널에서 실행되는 SMC 명령어일 수 있다. SMC 명령어는 가상 모니터 모듈(Virtual Monitor Module)로 전송되고, 가상 모니터 모듈은 제1 실행 모드를 제2 실행 모드로 전환할 수 있다. 실행 모드가 제2 실행 모드일 때, SMC 명령어가 수신되면, 가상 모니터 모듈이 제2 실행 모드를 제1 실행 모드로 전환할 수도 있다.
프로세서(120)는 Secure Configuration Register(SCR)를 포함할 수 있으며, 현재 실행 모드에 대한 정보는 SCR에 NS-bit로서 저장될 수 있다. 가령, 제1 실행 모드는 NS-bit가 1로서 저장되고, 제2 실행 모드는 NS-bit가 0으로서 저장될 수 있다. 그리고, 가상 모니터 모듈은 시큐어 월드에서 동작하며, NS-bit의 값을 변경하여 실행 모드를 전환할 수 있다.
한편, SMC 명령어를 사용하는 경우 외에도 프로세서(120)는 IRQ(Interrupt Request) 또는 FIQ(Fast Interrupt Request)를 이용하여 현재 실행되는 모드를 가상 모니터 모드로 변경할 수도 있다. 일반적으로 IRQ는 제1 실행 모드의 인터럽트로 사용되며, FIQ는 제2 실행 모드의 인터럽트로 사용될 수 있다.
다른 실시 예로, 실행 모드 선택을 위한 사용자 명령이 수신되면, 프로세서(120)는 사용자 명령에 대응되는 실행 모드로 전환할 수도 있다. 예를 들어, 범용 운영 체제를 기반으로 동작하는 제1 실행 모드에서 제2 실행 모드로 전환하기 위한 사용자 명령이 수신되면, 프로세서(120)는 제2 실행 모드로 전환할 수 있다.
또 다른 실시 예로, 프로세서(120)가 제1 실행 모드에서 범용 운영 체제가 실행되고 있는 경우, 전자 장치(100)를 종료한 후 재부팅하여 보안 운영 체제를 실행하고, 프로세서(120)는 보안 운영 체제를 기반으로 하는 제2 실행 모드로 동작할 수도 있다.
가상 모니터 모듈은 실행 모드가 전환되는 경우, 현재 실행되는 실행 모드의 컨텍스트를 저장하고, 새로운 실행 모드의 컨텍스트를 복원할 수 있다. 예를 들어, 노멀 월드에서 시큐어 월드로 변경되는 경우, 노멀 월드의 실행 환경이 모니터 모드에 저장될 수 있다. 그리고, 시큐어 월드에서 다시 노멀 월드로 변경되는 경우, 이전에 저장되었던 노멀 월드의 환경에서 프로그램이 실행될 수 있다.
한편, 상술한 실시 예에서, 제1 실행 모드 및 제2 실행 모드는 각각의 실행 모드에 대응되는 운영 체제를 실행하는 것으로 이해될 수도 있으나, 프로세서(120)는 범용 운영 체제 및 범용 운영 체제 상에서 동작하는 응용 프로그램을 실행하는 도중에, 보안이 요구되는 데이터를 생성한 경우, 해당 데이터를 제2 실행 모드 및 보안 운영 체제로 전달할 수도 있다.
예를 들어, 프로세서(120)가 범용 운영 체제에서 동작하는 응용 프로그램을 실행하기 위해 메모리(110)의 특정 주소에 액세스하고, 해당 주소에 대응되는 데이터가 보안 운영 체제를 기반으로 하는 제2 실행 모드인 경우, 프로세서(120)는 제1 실행 모드에서 생성된 데이터를 제2 실행 모드로 전달하고, 보안 운영 체제에서 동작할 수 있다.
또는, 프로세서(120)는 각 동작의 수행 후에 모드를 전환하라는 명령어에 따라 모드를 변경할 수도 있다. 예를 들어, 인공 지능 모델을 실행하는 모듈은 전처리가 완료된 후 모드를 전환하는 명령어 및 복수의 신경망 레이어의 일부에 대한 연산이 수행된 후 모드를 전환하는 명령어를 포함할 수 있다. 프로세서(120)는 각 명령어에 따라 모드를 변경하며, 모드 변경 전의 연산 결과를 변경된 모드로 전달할 수 있다.
제2 실행 모드는 보안성을 강화하기 위하여 제1 실행 모드와 별개로 네트워크 드라이버 모듈, TCP/IP 모듈 등과 같은 각종 소프트웨어를 포함할 수 있다. 또한, 제2 실행 모드는 제1 실행 모드와 독립된 하드웨어로 구현될 수도 있다. 예를 들어, 제1 실행 모드는 제2 실행 모드와 서로 다른 SoC(System on Chip) 또는 서로 다른 프로세서로 구현될 수도 있다. 다만 이에 한정되는 것은 아니며, 하나의 프로세서를 논리적, 가상적으로 구분한 두 개의 영역 각각에서 구현될 수도 있음은 물론이다.
도 2에서는 프로세서(120)의 모드에 대한 일반적인 동작을 설명하였다. 이하에서는 인공 지능 모델의 보안 강화를 위한 프로세서(120)의 동작을 좀더 구체적인 예를 통해 설명한다. 설명에 앞서, 먼저 도 3에서는 보안 영역(111) 및 비보안 영역(112)에 저장되는 데이터를 설명한다. 또한, 제1 실행 모드 및 제2 실행 모드를 각각 노멀 월드 및 시큐어 월드로서 설명한다.
도 3은 본 개시의 일 실시 예에 따른 보안 영역(111) 및 비보안 영역(112)에 저장되는 데이터를 설명하기 위한 도면이다. 도 3에서는 설명의 편의를 위해, 인공 지능 모델에 포함된 복수의 신경망 레이어의 도시는 생략하였고, 각 레이어에 의해 처리되는 데이터를 도시하였다. 즉, 입력 데이터가 인공 지능 모델에 포함된 복수의 신경망 레이어를 통해 연산되며, 도 3에는 복수의 신경망 레이어 각각의 출력을 도시하였다.
먼저, 인공 지능 모델에는 전처리된 로우 데이터가 입력될 수 있다. 이때, 도 3의 Raw data processing, Feature extraction과 같은 로우 데이터를 전처리하기 위한 데이터(310)는 제1 데이터로서 보안 영역(111)에 저장될 수 있다.
여기서, 제1 데이터는 복수의 로우 데이터 중 인공 지능 모델에 입력될 로우 데이터의 필터링에 이용되는 데이터 또는 로우 데이터를 인공 지능 모델에 입력될 입력 데이터로 변환하기 위해 이용되는 데이터 중 적어도 하나를 포함할 수 있다. 예를 들어, 프로세서(120)는 복수의 이미지 데이터 중 기설정된 해상도 이상의 이미지만을 필터링하고, 필터링된 이미지를 주파수 성분을 나타내는 데이터로 변환하며, 변환된 데이터를 인공 지능 모델에 입력할 수 있다.
다만, 이는 일 실시 예에 불과하며, 전처리 방법은 얼마든지 다양할 수 있다. 예를 들어, 프로세서(120)는 이미지의 해상도를 변경하거나, 오디오에서 노이즈를 제거하는 방법으로 로우 데이터를 전처리할 수도 있으며, 전처리 방법은 인공 지능 모델에 따라 다를 수 있다.
한편, 인공 지능 모델에 포함된 복수의 신경망 레이어 중 일부 레이어에서 이용되는 제2 데이터 역시 보안 영역(111)에 저장될 수 있다. 예를 들어, 도 3의 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보(320)가 보안 영역(111)에 저장될 수 있다. 여기서, 복수의 신경망 레이어 중 마지막 레이어는 Fully Connected Layer일 수 있다.
일반적으로 복수의 신경망 레이어 각각의 출력은 연산이 진행될수록 크기가 작아질 수 있으며, 그에 따라 신경망 레이어의 크기도 작아질 수 있다. 보안 영역(111)의 용량에도 한계가 있는 이상, 복수의 신경망 레이어 전체를 저장하는 것보다는 복수의 신경망 레이어 중 데이터의 크기가 작은 신경망 레이어를 저장하는 것이 효율적일 수 있다.
즉, 보안 영역(111)에 저장되는 제2 데이터는 복수의 레이어 각각에서 이용되는 파라미터 정보의 크기에 기초하여 결정된 적어도 하나의 레이어에서 이용되는 파라미터를 포함할 수 있다.
다만, 이는 일 실시 예에 불과하며, 보안 영역(111)의 용량이 허용하는 한, 얼마든지 다른 신경망 레이어가 저장될 수도 있다. 예를 들어, 보안 영역(111)에 저장될 제2 데이터는 복수의 신경망 레이어 중 중간 레이어에서 이용되는 파라미터에 대한 정보 및 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보(220)를 포함할 수도 있다.
비보안 영역(112)에는 복수의 신경망 레이어 중 제2 데이터를 제외한 나머지 데이터가 제3 데이터로서 저장될 수 있다. 제3 데이터는 Convolution Layer 및 Fully Connected Layer 등과 같은 다양한 형태의 복수의 신경망 레이어를 포함하나, 마지막 레이어만을 포함하지 않는다.
한편, 도 3에서는 로우 데이터를 전처리하기 위한 데이터(310) 및 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보(320)가 보안 영역(111)에 저장되는 것으로 설명하였으나, 이에 한정되는 것은 아니다.
예를 들어, 로우 데이터를 전처리하기 위한 데이터(310)만이 보안 영역(111)에 저장될 수도 있고, 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보(320)만이 보안 영역(111)에 저장될 수도 있다.
도 4는 본 개시의 일 실시 예에 따른 인공 지능 모델의 연산 과정을 설명하기 위한 도면이다. 도 4에서는 설명의 편의를 위해, 도 3의 로우 데이터를 전처리하기 위한 데이터(310) 및 복수의 신경망 레이어 중 마지막 레이어(Last FC layer)에서 이용되는 파라미터에 대한 정보(320)가 각각 제1 데이터(400-1) 및 제2 데이터(400-2)로서 보안 영역(111)에 저장되고, 복수의 신경망 레이어 중 마지막 레이어를 제외한 나머지 레이어에서 이용되는 파라미터에 대한 정보가 제3 데이터(ML Engine(except Last FC layer), 400-3)로서 비보안 영역(112)에 저장된 것을 가정하였다.
먼저, 프로세서(120)는 인공 지능 모델을 실행하는 모듈의 실행에 따라 노멀 월드로 동작하며, 비보안 영역(Untrusted Zone, 112)에 저장된 로우 데이터를 독출하고, 모드를 변경하며 독출된 로우 데이터를 시큐어 월드로 전달할 수 있다(S410). 여기서, 인공 지능 모델을 실행하는 모듈은 로우 데이터가 독출되면, 독출된 로우 데이터를 시큐어 월드로 전달하라는 명령어를 포함할 수 있다.
그리고, 프로세서(120)는 시큐어 월드로 동작하며 제1 데이터(400-1)에 기초하여 로우 데이터를 전처리하고, 모드를 변경하며 전처리된 데이터를 노멀 월드로 전달할 수 있다(S420). 여기서, 전처리 동작은 Data processing, Feature extraction과 같은 동작일 수 있다. Data processing은 복수의 로우 데이터 중 인공 지능 모델에 입력될 로우 데이터를 필터링하는 동작이고, Feature extraction은 로우 데이터를 인공 지능 모델에 입력될 입력 데이터로 변환하는 동작일 수 있다. 그리고, 인공 지능 모델을 실행하는 모듈은 로우 데이터가 전처리되면, 전처리된 로우 데이터를 노멀 월드로 전달하라는 명령어를 포함할 수 있다.
프로세서(120)는 노멀 월드로 동작하며 제3 데이터(400-3)에 기초하여 전처리된 데이터에 대한 연산을 수행하고, 모드를 변경하며 마지막 레이어의 이전 레이어에서 출력되는 피쳐 맵 정보를 시큐어 월드로 전달할 수 있다(S430). 여기서, 인공 지능 모델을 실행하는 모듈은 제3 데이터(400-3)에 기초한 연산이 완료되면, 연산 결과인 피쳐 맵 정보를 시큐어 월드로 전달하라는 명령어를 포함할 수 있다.
그리고, 프로세서(120)는 시큐어 월드로 동작하며 제2 데이터(400-2)에 기초하여 피쳐 맵 정보에 대한 연산을 수행하고, 마지막 레이어에서 출력되는 데이터를 출력 데이터로 획득할 수 있다. 프로세서(120)는 모드를 변경하며 출력 데이터를 노멀 영역으로 제공할 수 있다(S440).
이상에서 각 모드가 변경되는 동작은 인공 지능 모델을 실행하는 모듈에 포함된 모드 변경 명령어에 의한 동작일 수 있다.
다만, 이에 한정되는 것은 아니며, 보안 영역(111) 및 비보안 영역(112)에 모드를 변경하는 시점에 대한 데이터가 더 저장된 상태일 수도 있다. 예를 들어, 보안 영역(111)에는 로우 데이터의 전처리가 완료되면, 모드를 변경하는 명령어가 저장될 수 있다. 또한, 보안 영역(111)에는 제2 데이터(400-2)에 기초하여 피쳐 맵 정보에 대한 연산이 완료되면, 모드를 변경하는 명령어가 저장될 수 있다. 그리고, 비보안 영역(112)에는 모드를 변경하는 명령어가 저장될 수 있다. 또한, 보안 영역(111) 및 비보안 영역(112)에는 모드가 변경됨에 따라 변경 전까지의 연산 데이터를 다른 모드로 제공하라는 명령어가 더 저장될 수 있다.
한편, 이상에서는 로우 데이터의 전처리에 이용되는 제1 데이터(400-1) 및 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 제2 데이터(400-2)가 보안 영역(111)에 저장되고, 복수의 신경망 레이어 중 마지막 레이어를 제외한 나머지 레이어에서 이용되는 제3 데이터(400-3)는 비보안 영역(112)에 저장된 것으로 설명하였으나, 얼마든지 다른 데이터가 보안 영역(111)에 저장될 수도 있으며, 이 경우 프로세서(120)의 연산 과정도 얼마든지 달라질 수 있다. 즉, 프로세서(120)는 보안 영역에 저장된 데이터에 기초하여 연산을 수행할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 바이오 인증 예를 설명하기 위한 도면이다. 여기서, 바이오 인증은 지문 정보, 홍채 정보, 음성 정보 등과 같이 사용자의 생체 정보를 통해 인증을 수행하는 것을 의미하며, 도 5의 바이오 인증은 인공 지능 모델을 통해 수행될 수 있다. 그리고, 보안 영역(111)에는 생체 정보를 전처리하기 위한 데이터 및 바이오 인증을 위한 인공 지능 모델의 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보가 각각 제1 데이터 및 제2 데이터로서 저장되고, 비보안 영역(112)에는 복수의 신경망 레이어 중 마지막 레이어를 제외한 나머지 레이어에서 이용되는 파라미터에 대한 정보가 제3 데이터로서 저장된 상태를 가정하였다. 또한, 설명의 편의를 위해 이하에서는 사용자 얼굴 이미지를 생체 정보로서 바이오 인증을 수행하는 것으로 설명한다.
먼저, 전자 장치(100)는 센서(Sensor)를 통해 바이오 정보를 센싱할 수 있다. 예를 들어, 전자 장치(100)는 카메라를 구비하고, 카메라를 통해 촬영된 사용자 얼굴 이미지를 바이오 정보로 이용할 수 있다.
노멀 월드(NWD)로 동작하는 상태인 경우, 프로세서(120)는 IME를 통해 인증이 시도되고 있다는 정보를 수신할 수 있다. 이 경우, 바이오 정보가 프로세서(120)에 제공되지는 않으며, 이를 통해 보안이 강화될 수 있다. 그리고, 프로세서(120)는 인증이 시도되고 있다는 정보가 수신되면, 모드를 변경할 수 있다. 예를 들어, 카메라에 의해 사용자 얼굴 이미지가 획득되더라도, 노멀 월드(NWD)로 동작하는 상태라면 사용자 얼굴 이미지는 프로세서(120)로 제공되지 않고, 사용자 얼굴 이미지가 획득되었다는 통지만이 제공될 수도 있다.
시큐어 월드(SWD)로 동작하는 상태이거나, 인증이 시도되고 있다는 정보에 따라 시큐어 월드로 모드가 변경된 경우, 프로세서(120)는 Secure IME(input method editor)를 통해 바이오 정보를 수신할 수 있다. 예를 들어, 카메라에 의해 사용자 얼굴 이미지가 획득되고 시큐어 월드로 동작 중이라면, 사용자 얼굴 이미지는 프로세서(120)로 제공될 수 있다. 또는, 카메라에 의해 사용자 얼굴 이미지가 획득되고 노멀 월드로 동작 중이더라도, 모드가 시큐어 월드로 변경되면, 사용자 얼굴 이미지는 프로세서(120)로 제공될 수 있다.
프로세서(120)는 Partial Auth. Agent를 통해 바이오 정보에 대한 Data Processing 및 Feature Extraction 등과 같은 전처리를 수행하고, 모드를 변경하여 전처리된 바이오 정보를 노멀 월드로 전달할 수 있다. 여기서, Data Processing 및 Feature Extraction 등은 제1 데이터에 포함된 정보이다.
예를 들어, 프로세서(120)는 사용자 얼굴 이미지의 크기를 기설정된 크기로 변경하고, 사용자 얼굴 이미지로부터 주요 부위에 대한 특징을 추출하는 등과 같은 전처리를 수행할 수 있다. 이러한 전처리 동작은 인공 지능 모델의 입력 데이터의 형태에 기초할 수 있다.
프로세서(120)는 Bio Auth. Agent를 통해 전처리된 바이오 정보를 인공 지능 모델에 포함된 Convolution Layer 및 Fully Connected Layer로 처리함으로써 피쳐 맵 정보를 획득하고, 모드를 변경하여 피쳐 맵 정보를 시큐어 월드로 제공할 수 있다. 여기서, 인공 지능 모델에 포함된 Convolution Layer 및 Fully Connected Layer 등은 제3 데이터에 포함된 정보이다.
프로세서(120)는 Partial Auth. Agent를 통해 피쳐 맵 정보를 Last FC Layer로 처리함으로써 출력 데이터를 획득하고, 모드를 변경하여 출력 데이터를 노멀 월드로 제공할 수 있다. 예를 들어, 프로세서(120)는 전처리된 사용자 얼굴 이미지에 인공 지능 모델을 적용하여 사용자가 기등록된 사용자인지 여부를 식별하고, 식별 결과를 노멀 월드로 제공할 수 있다.
프로세서(120)는 Bio Auth. Agent를 통해 출력 데이터를 IME로 제공할 수 있다. 그리고, 프로세서(120)는 출력 데이터에 기초하여 인공 지능 모델에 포함된 파라미터를 업데이트하도록 Model Updater를 제어할 수 있다.
이상과 같은 과정을 통해, 전자 장치(100)는 바이오 정보의 인증 여부를 식별할 수 있다.
도 6은 본 개시의 다른 실시 예에 따른 오디오 분석 방법을 설명하기 위한 도면이다. 도 6의 오디오 분석 방법은 인공 지능 모델을 통해 수행될 수 있다. 그리고, 보안 영역(111)에는 사용자 음성과 같은 오디오 신호를 전처리하기 위한 데이터 및 오디오 분석을 위한 인공 지능 모델의 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보가 각각 제1 데이터 및 제2 데이터로서 저장되고, 비보안 영역(112)에는 복수의 신경망 레이어 중 마지막 레이어를 제외한 나머지 레이어에서 이용되는 파라미터에 대한 정보가 제3 데이터로서 저장된 상태를 가정하였다.
프로세서(120)는 노멀 월드로 동작하며 비보안 영역(untrusted memory & disk, 112)에 저장된 사용자 음성과 같은 로우 데이터를 독출할 수 있다(S610).
프로세서(120)는 로우 데이터가 독출되면, 로우 데이터를 전처리하기 위해 시큐어 월드로 모드를 변경하고, 로우 데이터를 시큐어 월드로 전달할 수 있다.
프로세서(120)는 시큐어 월드로 동작하며 보안 영역(trusted(protected) memory & disk, 111)에 저장된 데이터에 기초하여 로우 데이터를 전처리할 수 있다. 예를 들어, 프로세서(120)는 로우 데이터에서 임계 진폭 이하의 사운드를 제거하고, 노멀라이제이션(normalization)을 수행하는 등의 전처리를 수행할 수 있다.
그리고, 프로세서(120)는 전처리된 로우 데이터로부터 특징(feature)을 추출할 수 있다(S630). 예를 들어, 프로세서(120)는 로우 데이터로부터 CQT(Constant-Q Transform), STFT(Short-Time Fourier Transform) 등과 같은 주파수 특징을 추출할 수 있다.
프로세서(120)는 로우 데이터로부터 특징이 추출되면, 노멀 월드로 모드를 변경하고, 추출된 특징을 노멀 월드로 전달할 수 있다(S635).
프로세서(120)는 노멀 월드로 동작하며 비보안 영역(112)에 저장된 인공 지능 모델을 독출할 수 있다(S640). 예를 들어, 프로세서(120)는 노멀 월드로 동작하며 비보안 영역(112)에 저장된 Void(Voice Liveness Detection) LCNN(Lookup-based Convolutional Neural Network) 모델을 독출할 수 있다. 다만, 여기서 인공 지능 모델은 마지막 레이어가 제외된 인공 지능 모델일 수 있다.
그리고, 프로세서(120)는 노멀 월드로 동작하는 동안, 추출된 특징을 인공 지능 모델에 적용할 수 있다(S650). 인공 지능 모델은 마지막 레이어가 제외된 상태이므로, 적용 결과로서 피쳐 맵 정보가 출력될 수 있다.
프로세서(120)는 노멀 월드로 동작하는 동안 피쳐 맵 정보가 출력되면, 시큐어 월드로 모드를 변경하고, 피쳐 맵 정보를 시큐어 월드로 전달할 수 있다(S655).
프로세서(120)는 시큐어 월드로 동작하며, 보안 영역(111)으로부터 인공 지능 모델의 마지막 레이어를 독출하고, 피쳐 맵 정보를 마지막 레이어에 적용하여 binary classification을 수행할 수 있다(S660). 도 6에서는 인공 지능 모델이 binary classification을 수행하는 것으로 도시하였으나, 얼마든지 다른 인공 지능 모델이 이용될 수도 있다.
프로세서(120)는 시큐어 월드로 동작하는 동안 binary classification 결과가 획득되면, 노멀 모드로 모드를 변경하고, binary classification 결과를 노멀 모드로 전달할 수 있다(S665).
프로세서(120)는 노멀 월드로 동작하며, binary classification 결과를 사용자에게 제공하거나, binary classification 결과에 기초하여 동작을 수행할 수 있다(S670).
이상과 같이 인공 지능 모델을 적용하기 위한 데이터 중 일부를 보안 영역(111)에 저장함에 따라 인공 지능 모델의 보안을 향상시킬 수 있다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 전자 장치에 포함된 메모리의 보안 영역에 저장된 제1 데이터에 기초하여 로우 데이터를 전처리한다(S710).
그리고, 인공 지능 모델(Artificial Intelligence Model)의 복수의 신경망 레이어 중 일부 레이어에서 이용되며 보안 영역에 저장된 제2 데이터, 및 복수의 신경망 레이어 중 나머지 레이어에서 이용되며 메모리의 비보안 영역에 저장된 제3 데이터에 기초하여 전처리된 로우 데이터가 인공 지능 모델에 적용된 출력 데이터를 획득한다(S720).
여기서, 제1 데이터는 복수의 로우 데이터 중 인공 지능 모델에 입력될 로우 데이터의 필터링에 이용되는 데이터 또는 로우 데이터를 인공 지능 모델에 입력될 입력 데이터로 변환하기 위해 이용되는 데이터 중 적어도 하나를 포함할 수 있다.
그리고, 제2 데이터는 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보를 포함할 수 있다.
또한, 전처리하는 단계(S710)는 전자 장치가 시큐어 월드(Secure World)로 동작하며 비보안 영역에 저장된 로우 데이터를 보안 영역으로 독출하고, 제1 데이터에 기초하여 로우 데이터를 전처리할 수 있다.
여기서, 제3 데이터는 복수의 신경망 레이어 중 마지막 레이어를 제외한 나머지 레이어에서 이용되는 파라미터에 대한 정보를 포함하며, 획득하는 단계(S62)는 전자 장치가 노멀 월드(Normal World)로 동작하며 제3 데이터에 기초하여 전처리된 데이터에 대한 연산을 수행하고, 마지막 레이어의 이전 레이어에서 출력되는 피쳐 맵 정보를 획득할 수 있다.
그리고, 획득하는 단계(S720)는 전자 장치가 노멀 월드로 동작하며 제2 데이터에 기초하여 피쳐 맵 정보에 대한 연산을 수행하고, 마지막 레이어에서 출력되는 데이터를 출력 데이터로 획득할 수 있다.
한편, 제2 데이터는 복수의 레이어 각각에서 이용되는 파라미터 정보의 크기에 기초하여 결정된 적어도 하나의 레이어에서 이용되는 파라미터를 포함할 수 있다.
그리고, 메모리는 보안 영역으로 이용되는 제1 메모리 및 비보안 영역으로 이용되는 제2 메모리를 포함할 수 있다.
한편, 전자 장치에 포함된 센서를 통해 적어도 하나의 로우 데이터를 획득하는 단계를 더 포함하며, 전처리하는 단계(S710)는 제1 데이터에 기초하여 획득된 로우 데이터를 필터링하고 필터링된 로우 데이터를 인공 지능 모델에 입력될 입력 데이터로 변환할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 인공 지능 모델(Artificial Intelligence Model)의 동작에 필요한 일부 데이터를 보안 영역에 저장함에 따라 인공 지능 모델이 유출되는 것을 방지할 수 있다. 또한, 일부 데이터만이 보안 영역에 저장되기 때문에 보안 영역의 용량이 작더라도 본 개시와 같은 방법으로 인공 지능 모델이 유출되는 것을 방지할 수 있다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    복수의 신경망 레이어를 통해 연산을 수행하는 인공 지능 모델(Artificial Intelligence Model)과 관련된 정보를 저장하는 메모리; 및
    로우 데이터를 전처리하고 상기 전처리된 데이터를 상기 인공 지능 모델에 입력하여 출력 데이터를 획득하는 프로세서;를 포함하고,
    상기 로우 데이터의 전처리에 이용되는 제1 데이터 및 상기 복수의 신경망 레이어 중 일부 레이어에서 이용되는 제2 데이터는 상기 메모리의 보안 영역에 저장되고,
    상기 복수의 신경망 레이어 중 나머지 레이어에서 이용되는 제3 데이터는 상기 메모리의 비보안 영역에 저장되는, 전자 장치.
  2. 제1항에 있어서,
    상기 제1 데이터는,
    복수의 로우 데이터 중 상기 인공 지능 모델에 입력될 로우 데이터의 필터링에 이용되는 데이터 또는 로우 데이터를 상기 인공 지능 모델에 입력될 입력 데이터로 변환하기 위해 이용되는 데이터 중 적어도 하나를 포함하는, 전자 장치.
  3. 제1항에 있어서,
    상기 제2 데이터는,
    상기 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보를 포함하는, 전자 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    시큐어 월드(Secure World)로 동작하며 상기 비보안 영역에 저장된 상기 로우 데이터를 독출하고, 상기 제1 데이터에 기초하여 상기 로우 데이터를 전처리하는, 전자 장치.
  5. 제4항에 있어서,
    상기 제3 데이터는,
    상기 복수의 신경망 레이어 중 상기 마지막 레이어를 제외한 나머지 레이어에서 이용되는 파라미터에 대한 정보를 포함하며,
    상기 프로세서는,
    노멀 월드(Normal World)로 동작하며 상기 제3 데이터에 기초하여 상기 전처리된 데이터에 대한 연산을 수행하고, 상기 마지막 레이어의 이전 레이어에서 출력되는 피쳐 맵 정보를 획득하는, 전자 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 시큐어 월드로 동작하며 상기 제2 데이터에 기초하여 상기 피쳐 맵 정보에 대한 연산을 수행하고, 상기 마지막 레이어에서 출력되는 데이터를 상기 출력 데이터로 획득하는, 전자 장치.
  7. 제1항에 있어서,
    상기 제2 데이터는,
    상기 복수의 레이어 각각에서 이용되는 파라미터 정보의 크기에 기초하여 결정된 적어도 하나의 레이어에서 이용되는 파라미터를 포함하는, 전자 장치.
  8. 제1항에 있어서,
    상기 메모리는,
    상기 보안 영역으로 이용되는 제1 메모리; 및
    상기 비보안 영역으로 이용되는 제2 메모리;를 포함하는, 전자 장치.
  9. 제1항에 있어서,
    센서;를 더 포함하며,
    상기 프로세서는,
    상기 센서를 통해 적어도 하나의 로우 데이터가 획득되면, 상기 제1 데이터에 기초하여 상기 획득된 로우 데이터를 필터링하고 상기 필터링된 로우 데이터를 상기 인공 지능 모델에 입력될 입력 데이터로 변환하는, 전자 장치.
  10. 전자 장치의 제어 방법에 있어서,
    상기 전자 장치에 포함된 메모리의 보안 영역에 저장된 제1 데이터에 기초하여 로우 데이터를 전처리하는 단계; 및
    인공 지능 모델(Artificial Intelligence Model)의 복수의 신경망 레이어 중 일부 레이어에서 이용되며 상기 보안 영역에 저장된 제2 데이터, 및 상기 복수의 신경망 레이어 중 나머지 레이어에서 이용되며 상기 메모리의 비보안 영역에 저장된 제3 데이터에 기초하여 상기 전처리된 로우 데이터가 상기 인공 지능 모델에 적용된 출력 데이터를 획득하는 단계;를 포함하는, 제어 방법.
  11. 제10항에 있어서,
    상기 제1 데이터는,
    복수의 로우 데이터 중 상기 인공 지능 모델에 입력될 로우 데이터의 필터링에 이용되는 데이터 또는 로우 데이터를 상기 인공 지능 모델에 입력될 입력 데이터로 변환하기 위해 이용되는 데이터 중 적어도 하나를 포함하는, 제어 방법.
  12. 제10항에 있어서,
    상기 제2 데이터는,
    상기 복수의 신경망 레이어 중 마지막 레이어에서 이용되는 파라미터에 대한 정보를 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 전처리하는 단계는,
    상기 전자 장치가 시큐어 월드(Secure World)로 동작하며 상기 비보안 영역에 저장된 상기 로우 데이터를 독출하고, 상기 제1 데이터에 기초하여 상기 로우 데이터를 전처리하는, 제어 방법.
  14. 제13항에 있어서,
    상기 제3 데이터는,
    상기 복수의 신경망 레이어 중 상기 마지막 레이어를 제외한 나머지 레이어에서 이용되는 파라미터에 대한 정보를 포함하며,
    상기 획득하는 단계는,
    상기 전자 장치가 노멀 월드(Normal World)로 동작하며 상기 제3 데이터에 기초하여 상기 전처리된 데이터에 대한 연산을 수행하고, 상기 마지막 레이어의 이전 레이어에서 출력되는 피쳐 맵 정보를 획득하는, 제어 방법.
  15. 제14항에 있어서,
    상기 획득하는 단계는,
    상기 전자 장치가 상기 노멀 월드로 동작하며 상기 제2 데이터에 기초하여 상기 피쳐 맵 정보에 대한 연산을 수행하고, 상기 마지막 레이어에서 출력되는 데이터를 상기 출력 데이터로 획득하는, 제어 방법.
PCT/KR2021/000465 2020-02-24 2021-01-13 전자 장치 및 그 제어 방법 WO2021172749A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21760057.6A EP4099231A4 (en) 2020-02-24 2021-01-13 ELECTRONIC DEVICE AND CONTROL METHOD THEREOF
US17/894,586 US20220405430A1 (en) 2020-02-24 2022-08-24 Electronic device and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0022062 2020-02-24
KR1020200022062A KR20210107288A (ko) 2020-02-24 2020-02-24 전자 장치 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/894,586 Continuation US20220405430A1 (en) 2020-02-24 2022-08-24 Electronic device and control method thereof

Publications (1)

Publication Number Publication Date
WO2021172749A1 true WO2021172749A1 (ko) 2021-09-02

Family

ID=77491308

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/000465 WO2021172749A1 (ko) 2020-02-24 2021-01-13 전자 장치 및 그 제어 방법

Country Status (4)

Country Link
US (1) US20220405430A1 (ko)
EP (1) EP4099231A4 (ko)
KR (1) KR20210107288A (ko)
WO (1) WO2021172749A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023150910A1 (en) * 2022-02-08 2023-08-17 Nvidia Corporation Image generation using a neural network

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230069729A (ko) * 2021-11-12 2023-05-19 삼성전자주식회사 디스플레이 장치 및 그의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018085135A (ja) * 2016-07-04 2018-05-31 株式会社Seltech 人工知能を有するシステム
US20190042937A1 (en) * 2018-02-08 2019-02-07 Intel Corporation Methods and apparatus for federated training of a neural network using trusted edge devices
US20190130250A1 (en) * 2017-10-30 2019-05-02 Samsung Electronics Co., Ltd. Method and apparatus with neural network performing convolution
CN110148935A (zh) * 2019-05-10 2019-08-20 东北电力大学 一种基于长短期记忆神经网络的电网静态安全裕度评估方法
KR20200000361A (ko) * 2018-06-22 2020-01-02 애피컬 리미티드 데이터 처리

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10242443B2 (en) * 2016-11-23 2019-03-26 General Electric Company Deep learning medical systems and methods for medical procedures
US11443182B2 (en) * 2018-06-25 2022-09-13 International Business Machines Corporation Privacy enhancing deep learning cloud service using a trusted execution environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018085135A (ja) * 2016-07-04 2018-05-31 株式会社Seltech 人工知能を有するシステム
US20190130250A1 (en) * 2017-10-30 2019-05-02 Samsung Electronics Co., Ltd. Method and apparatus with neural network performing convolution
US20190042937A1 (en) * 2018-02-08 2019-02-07 Intel Corporation Methods and apparatus for federated training of a neural network using trusted edge devices
KR20200000361A (ko) * 2018-06-22 2020-01-02 애피컬 리미티드 데이터 처리
CN110148935A (zh) * 2019-05-10 2019-08-20 东北电力大学 一种基于长短期记忆神经网络的电网静态安全裕度评估方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4099231A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023150910A1 (en) * 2022-02-08 2023-08-17 Nvidia Corporation Image generation using a neural network

Also Published As

Publication number Publication date
KR20210107288A (ko) 2021-09-01
EP4099231A4 (en) 2023-08-02
EP4099231A1 (en) 2022-12-07
US20220405430A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
WO2018182285A1 (ko) 디스플레이의 균열을 감지하기 위한 회로 및 이를 포함하는 전자 장치
WO2015126135A1 (en) Method and apparatus for processing biometric information in electronic device
WO2021172749A1 (ko) 전자 장치 및 그 제어 방법
WO2019164232A1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
WO2018008991A1 (ko) 영상 처리를 위한 디스플레이 장치 및 방법
WO2015108300A1 (ko) 프레임률 제어 방법 및 그 전자 장치
WO2020184987A1 (en) Electronic device including secure integrated circuit
WO2020226289A1 (en) Electronic apparatus, user terminal, and method of controlling the electronic apparatus and the user terminal
WO2018076879A1 (zh) 数据备份方法、装置、存储介质及终端
EP4004696A1 (en) Electronic apparatus and control method thereof
WO2019160325A1 (en) Electronic device and control method thereof
WO2021251652A1 (ko) 영상 분석 장치 및 방법
WO2016013693A1 (ko) 단말 장치 및 단말 장치의 제어 방법
WO2020166855A1 (en) Electronic device and control method thereof
WO2015072816A1 (ko) 디스플레이 장치 및 제어 방법
WO2024014706A1 (ko) 화질 개선을 수행하는 신경망 모델을 학습시키는 전자 장치 및 그 제어 방법
WO2020141769A1 (en) Display apparatus, display system having the same, and method thereof
WO2020013470A1 (ko) 데이터 변조 판단 방법 및 이를 지원하는 전자 장치
WO2019177265A1 (ko) 랜섬웨어 대응을 위한 데이터 처리 방법, 이를 실행시키는 프로그램 및 상기 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
WO2019124955A1 (en) Electronic apparatus, method for controlling thereof and computer readable recording medium
WO2021251651A1 (ko) 회전 대칭성 판단이 가능한 영상 분석 장치 및 방법
WO2022146026A1 (ko) 보안 데이터 처리 방법 및 이를 지원하는 전자 장치
EP3642828A1 (en) Electronic device for displaying image and method for controlling the same
WO2022108008A1 (en) Electronic apparatus and controlling method thereof
WO2021040395A1 (en) Electronic device for controlling access to device resource and operation 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: 21760057

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021760057

Country of ref document: EP

Effective date: 20220901

NENP Non-entry into the national phase

Ref country code: DE