WO2024039102A1 - 혼합 음원으로부터 타겟 음원을 분리하는 방법 및 그 전자 장치 - Google Patents

혼합 음원으로부터 타겟 음원을 분리하는 방법 및 그 전자 장치 Download PDF

Info

Publication number
WO2024039102A1
WO2024039102A1 PCT/KR2023/010971 KR2023010971W WO2024039102A1 WO 2024039102 A1 WO2024039102 A1 WO 2024039102A1 KR 2023010971 W KR2023010971 W KR 2023010971W WO 2024039102 A1 WO2024039102 A1 WO 2024039102A1
Authority
WO
WIPO (PCT)
Prior art keywords
sound source
vector
scene information
embedding vector
embedding
Prior art date
Application number
PCT/KR2023/010971
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
Priority claimed from KR1020220125096A external-priority patent/KR20240025427A/ko
Application filed by 삼성전자주식회사, 한양대학교 산학협력단 filed Critical 삼성전자주식회사
Priority to US18/235,664 priority Critical patent/US20240062773A1/en
Publication of WO2024039102A1 publication Critical patent/WO2024039102A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • G10L21/028Voice signal separating using properties of sound source
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • G10L21/055Time compression or expansion for synchronising with other signals, e.g. video signals

Definitions

  • This disclosure relates to a method and electronic device for separating a target sound source from a mixed sound source using scene information of the mixed sound source.
  • microphones can be used to acquire sound from various digital devices such as CE (consumer electronics) devices and mobile phones.
  • CE consumer electronics
  • the sound acquired through the microphone may include multiple sound sources including background noise or other sounds not related to the phone or video call.
  • Sound source separation technology can be used to distinguish two or more sounds occurring simultaneously by sound source. For example, sound source separation technology can be used to extract only a singer's voice from stereo music or to separate two or more audio signals recorded with a single microphone. Additionally, sound source separation technology can be used to remove noise from vehicles or mobile phones.
  • Sound source separation technology can record using multiple microphones and then distinguish sound sources using the correlation between signals obtained from each microphone. Meanwhile, methods of introducing artificial intelligence into sound source separation technology are being introduced. Some of these methods perform speech separation using pre-trained speech, noise patterns, or statistical data information.
  • a method of separating a target sound source includes an operation of acquiring a mixed sound source including at least one sound source, an operation of acquiring scene information related to the mixed sound source based on the mixed sound source, Based on scene information, converting a first embedding vector corresponding to a designated sound source group into a second embedding vector, and separating the target sound source from the mixed sound source based on the mixed sound source and the second embedding vector.
  • An electronic device includes an input interface, a memory storing at least one instruction, and at least one processor operatively connected to the input interface and the memory, the at least one processor Execute the at least one instruction to obtain a mixed sound source including at least one sound source from the input interface, obtain scene information related to the mixed sound source based on the mixed sound source, and obtain scene information related to the mixed sound source based on the scene information. , Convert the first embedding vector corresponding to the designated sound source group into a second embedding vector, and separate the target sound source from the mixed sound source based on the mixed sound source and the second embedding vector.
  • a non-transitory computer-readable storage medium storing one or more programs according to an embodiment of the present disclosure includes, based on execution of an application, obtaining a mixed sound source including at least one sound source, based on the mixed sound source. , an operation of acquiring scene information related to the mixed sound source, an operation of converting a first embedding vector corresponding to a designated sound source group into a second embedding vector based on the scene information, and the mixed sound source and the second embedding vector. Based on , it may include an operation of separating the target sound source from the mixed sound source.
  • FIG. 1 is a block diagram of an electronic device in a network environment, according to embodiments of the present disclosure.
  • FIG. 2 is a block diagram of an electronic device according to embodiments of the present disclosure.
  • 3A and 3B are flowcharts of a method for separating a target sound source according to an embodiment of the present disclosure.
  • Figure 4 is a schematic diagram of a system for separating a target sound source, according to an embodiment of the present disclosure.
  • Figure 5 is a block diagram of a pre-learning state of a system for separating target sound sources, according to an embodiment of the present disclosure.
  • Figure 6 is a block diagram of a state in which a target sound source is separated in a system for separating a target sound source, according to an embodiment of the present disclosure.
  • Figure 7A is a schematic diagram of a scene extractor for first dictionary learning, according to an embodiment of the present disclosure.
  • FIG. 7B is a schematic diagram of an acoustic scene classification (ASC) system using an instance generator according to an embodiment of the present disclosure.
  • ASC acoustic scene classification
  • FIG. 7C is a detailed diagram of an instance generator according to an embodiment of the present disclosure.
  • Figure 8 is a schematic diagram of an embedding layer for second dictionary learning according to an embodiment of the present disclosure.
  • 9A is a detailed diagram of a purification network according to an embodiment of the present disclosure.
  • Figure 9b is a schematic diagram of a refinement network for third dictionary learning according to an embodiment of the present disclosure.
  • Figure 10 is a table regarding the correspondence between each scene information and each target sound source, according to an embodiment of the present disclosure.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, according to embodiments of the present disclosure.
  • the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • a first network 198 e.g., a short-range wireless communication network
  • a second network 199 e.g., a long-distance wireless communication network.
  • the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197.
  • at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
  • some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
  • the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • software e.g., program 140
  • the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
  • the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • a main processor 121 e.g., a central processing unit or an application processor
  • auxiliary processor 123 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
  • the electronic device 101 includes a main processor 121 and a secondary processor 123
  • the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
  • the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
  • the auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled.
  • co-processor 123 e.g., image signal processor or communication processor
  • may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
  • the auxiliary processor 123 may include a hardware structure specialized for processing artificial intelligence models.
  • Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108).
  • Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
  • An artificial intelligence model may include multiple artificial neural network layers.
  • Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
  • artificial intelligence models may additionally or alternatively include software structures.
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto.
  • Memory 130 may include volatile memory 132 or non-volatile memory 134.
  • the program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.
  • the input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user).
  • the input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
  • the sound output module 155 may output sound signals to the outside of the electronic device 101.
  • the sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
  • the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).
  • the electronic device 102 e.g., speaker or headphone
  • the sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
  • the interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card interface
  • audio interface audio interface
  • connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture still images and moving images.
  • the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 can manage power supplied to the electronic device 101.
  • the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101.
  • the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
  • processor 120 e.g., an application processor
  • the communication module 190 is a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included.
  • a wireless communication module 192 e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 e.g., : LAN (local area network) communication module, or power line communication module
  • the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network
  • the wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199.
  • subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology).
  • NR access technology provides high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low latency). -latency communications)) can be supported.
  • the wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates.
  • the wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna.
  • the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199).
  • the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
  • Peak data rate e.g., 20 Gbps or more
  • loss coverage e.g., 164 dB or less
  • U-plane latency e.g., 164 dB or less
  • the antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is, for example, connected to the plurality of antennas by the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
  • other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
  • a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side)
  • peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
  • Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101.
  • all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108.
  • the electronic device 101 may perform the function or service instead of executing the function or service on its own.
  • one or more external electronic devices may be requested to perform at least part of the function or service.
  • One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101.
  • the electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of Things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or server 108 may be included in the second network 199.
  • the electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
  • Electronic devices may be of various types. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, electronic devices, or home appliances. Electronic devices according to embodiments of this document are not limited to the above-described devices.
  • first, second, or first or second may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., importance or order) is not limited.
  • One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.”
  • any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
  • module used in embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • One embodiment of the present document is one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
  • a processor e.g., processor 120
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
  • the method according to the embodiments disclosed in this document may be provided and included in a computer program product.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
  • a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
  • one or more of the above-described corresponding components or operations may be omitted, or one or more other components or operations may be added.
  • multiple components eg, modules or programs
  • the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Alternatively, one or more other operations may be added.
  • FIG. 2 is a block diagram of an electronic device 200 according to embodiments of the present disclosure.
  • the electronic device 200 may include an input interface 220, a memory 230, and/or a processor 210. You can.
  • the input interface 220 may be part of an input module (e.g., input module 150 of FIG. 1) that receives sound data from a source external to the electronic device (e.g., a user), for example, a microphone. It can be.
  • the memory 230 (e.g., the memory 130 of FIG. 1) according to one embodiment is at least one component of the electronic device 200 (e.g., the processor 120 or the sensor module 176 of FIG. 1). Various commands or data used by can be stored.
  • the memory 230 according to one embodiment may include non-volatile memory, volatile memory, flash memory, hard disk drive (HDD), or solid state drive (SDD).
  • the memory 230 is accessed by the processor 210, and data can be read/written/modified/delete/updated by the processor 210.
  • the processor 210 (eg, processor 120 of FIG. 1) according to one embodiment may perform a command or operation stored in the memory 230. Specific instructions or operations of the processor 210 will be described later.
  • the processor 210 may learn a neural network using a program stored in the memory 230. For example, the processor 210 generates a predefined scene information vector based on the acquisition of the input sound source, generates partial embedding vectors corresponding to each target sound source included in the specified sound source group, or generates specific scene information and a specific A neural network can be learned to generate an embedding vector based on the embedding vector between target sound sources.
  • the neural network may be designed to simulate the high learning ability of the human brain on a computer, and may include a plurality of network nodes with weights that simulate neurons of the human neural network. Multiple network modes can exchange data according to each connection relationship to simulate the synaptic activity of neurons sending and receiving signals through synapses.
  • a neural network may include a deep learning model developed from a neural network model.
  • a deep learning model multiple network nodes are located in different layers and can exchange data according to convolutional connection relationships.
  • Examples of neural network models include deep neural networks (DNN), convolutional deep neural networks (CNN), Recurrent Boltzmann Machine (RNN), Restricted Boltzmann Machine (RBM), and deep trust. It includes various deep learning techniques such as deep belief networks (DBN) or deep Q-Network, and can be applied to fields such as computer vision, speech recognition, natural language processing, or voice/signal processing. there is.
  • DNN deep belief networks
  • Q-Network deep Q-Network
  • the processor 210 may be a general-purpose processor (eg, CPU), an AI-specific processor for artificial intelligence learning (eg, GPU), or any other processor structure known to those skilled in the art.
  • a general-purpose processor eg, CPU
  • an AI-specific processor for artificial intelligence learning eg, GPU
  • any other processor structure known to those skilled in the art.
  • the memory 230 may store a neural network model created through a learning algorithm for classification or recognition of data.
  • the memory 230 may store a deep learning model generated as a result of the training performed by the processor 210.
  • the processor 210 may include a data learning unit that learns a neural network for data classification or recognition.
  • the data learning unit can learn standards regarding what learning data to use to determine data classification/recognition and how to classify and recognize data using the learning data.
  • the data learning unit can learn a deep learning model by acquiring learning data to be used for learning and applying the acquired learning data to the deep learning model.
  • the data learning unit may be manufactured in the form of at least one hardware chip (for example, an integrated circuit) and mounted as part of the processor 210.
  • the data learning unit may be implemented as a software module.
  • the software module When implemented as a software module (or a program module including instructions), the software module may be stored in a non-transitory computer readable recording medium that can be read by a computer. In this case, at least one software module may be provided by an operating system (OS) or an application.
  • OS operating system
  • application application
  • the data learning unit may include a learning data acquisition unit and a model learning unit.
  • the learning data acquisition unit may acquire learning data required for a neural network model for classifying and recognizing data.
  • the model learning unit can use the acquired training data to train the neural network model to have a judgment standard on how to classify certain data.
  • the model learning unit may learn a neural network model through supervised learning that uses at least some of the learning data as a judgment standard.
  • the model learning unit can learn a neural network model through unsupervised learning, which discovers judgment criteria by learning on its own using training data without guidance.
  • the model learning unit can learn a neural network model through reinforcement learning using feedback on whether the result of situational judgment based on learning is correct.
  • the model learning unit may learn a neural network model using a learning algorithm including error back-propagation or gradient descent.
  • the model learning unit may store the learned neural network model in the memory 230.
  • the model learning unit may store the learned neural network model in the memory of a server connected to the electronic device through a wired or wireless network.
  • the data learning unit uses the acquired data to improve the analysis results of the recognition model or to save the resources or time required for creating the recognition model so that the acquired data can be used for learning to determine the situation. Can be preprocessed.
  • the data learning unit may process the acquired data into a designated format so that the model learning unit can use the acquired training data for training for image recognition.
  • the data learning unit may select data required for learning among the acquired learning data or preprocessed learning data. The selected learning data may be provided to the model learning unit.
  • the data learning unit may further include a model evaluation unit to improve the analysis results of the neural network model.
  • the model evaluation unit inputs evaluation data into the neural network model, and if the analysis result output from the evaluation data does not meet a predetermined standard, the model learning unit can be configured to learn again.
  • the evaluation data may be defined data for evaluating the recognition model.
  • the model evaluation unit evaluates the recognition model as not meeting a predetermined standard when, among the analysis results of the learned recognition model for the evaluation data, the number or ratio of inaccurate evaluation data exceeds a specified threshold. You can.
  • processor 210 and memory 230 have been described functionally separately, it should be noted that the above-described components may be integrated into one module and referred to as an AI module.
  • the artificial intelligence technology described above can also be used in voice processing fields such as sound source separation, voice extraction, or noise removal.
  • voice processing fields such as sound source separation, voice extraction, or noise removal.
  • audio signal analysis technology and deep learning technology are combined to separate components by source of the sound source, and this is used to extract only the desired target sound source from multiple sound sources or separate sound sources. You can create new content based on this.
  • FIGS. 3A and 3B are flowcharts of methods 300a and 300b for separating target sound sources according to an embodiment of the present disclosure.
  • Figure 4 is a schematic diagram of a system 400 for separating target sound sources, according to one embodiment of the present disclosure.
  • the system 400 for separating a target sound source from a plurality of sound sources includes a scene extractor 410 that receives mixed sound sources and outputs scene information, and a designated sound source.
  • An embedding layer 420 that learns an embedding vector corresponding to at least one target sound source included in the group, a refinement network 430 that refines the learned embedding vector of the embedding layer 420 based on scene information, and a refined A separation layer 440 that separates the mixed sound source based on the embedding vector may be included.
  • the system 400 for separating target sound sources includes a sound source signal y, which may be a time-domain waveform of length T, and a target sound vector ( ) can be provided as input.
  • N may be the number of sounds (e.g., acoustic events) included in a specified sound group.
  • the target sound vector (o) is a one-hot vector, where the element corresponding to the target sound (o_n) is set to 1, and the other elements (o_j, j are n is set to 1). (not) can be set to 0.
  • the target sound source is It can be estimated as
  • nonlinear transformation of a deep neural network DNN
  • the Conv-TasNet architecture can be used, which is set up to extract sound source separation and framework in the time domain.
  • the intermediate representation of the mixture of the system 400 for separating the target sound source ( ) can be created.
  • h_f represents the feature of the fth frame in dimension D, which is the dimension of the feature space
  • F is the total number of frames.
  • Target sound vector ( ) is input in parallel, the embedding layer 420 provides a target embedding ( ) can be applied.
  • the system 400 for separating the target sound source uses a specified embedding vector ( ) Target sound vector ( ) can be applied. In one embodiment, the system 400 for separating the target sound source uses an embedding vector ( ) can be purified.
  • the methods 300a and 300b for separating the target sound source include one or more operations 300a for prior learning of the system 400 for separating the target sound source and separating the target sound source using the learned system. It may include one or more operations 300b.
  • the sound source obtained in operation 310 is a sound source for dictionary learning described later, may be the same as or different from a mixed sound source described later, and may include at least one sound source.
  • the electronic device performs a first dictionary learning process, a second A dictionary learning process, a third dictionary learning process, and a fourth dictionary learning process can be performed respectively.
  • Electronic devices undergo prior learning, and specific prior learning will be described later.
  • the electronic device may separate the target sound source from the mixed sound source after learning is completed through prior learning.
  • a first dictionary learning process may be performed to learn a scene information vector.
  • a second dictionary learning process may be performed to learn a partial embedding vector corresponding to each sound included in the preset sound group. For example, if a preset sound group includes three preset sounds, three partial embedding vectors are learned.
  • a third dictionary learning process is performed to learn the transformation from the first embedding vector to the second embedding vector based on the embedding vector between specific scene information and a specific sound source corresponding to the specific scene information. It can be done.
  • a fourth dictionary learning process for learning to separate the target sound source from a plurality of sounds may be performed based on the input sound source and the second embedding vector.
  • the electronic device may obtain a mixed sound source including at least one sound source.
  • a mixed sound source may be generated by receiving input from an external environment through an input interface (e.g., the communication module 190 of FIG. 1), or a microphone included in an electronic device (e.g., the input interface 220 of FIG. 2). )).
  • the electronic device may receive a mixed sound source generated through a microphone of an external device through an input interface.
  • Mixed sound sources may be artificially generated, or may be filtered or processed after creation.
  • the mixed sound source may include the target sound source to be separated and other sound sources.
  • y is the input signal corresponding to the mixed sound source, is the signal corresponding to the nth target sound source to be separated, is a signal corresponding to a sound source other than the target sound source to be separated.
  • the target sound sources are limited to two, but there may be more types and numbers.
  • the target sound source may include at least one sound source and can be expressed by the formula below.
  • the electronic device may acquire scene information related to the mixed sound source based on the obtained mixed sound source.
  • the scene extractor 410 of FIG. 4 may receive a mixed sound source, select appropriate scene information from a designated scene information group, and output it.
  • the scene extractor 410 may extract scene information corresponding to the mixed sound source using a mixed sound source including at least one input sound source through an artificial neural network learned through first dictionary learning. At least one sound source corresponding to each scene information included in the designated scene information group may be preset.
  • the electronic device may convert a first embedding vector corresponding to a designated sound source group into a second embedding vector based on the acquired scene information.
  • the embedding layer 420 in FIG. 4 can learn the first embedding vector corresponding to the entire designated sound source group from an artificial neural network learned through second dictionary learning, and the refinement network 430 in FIG.
  • the first embedding vector can be converted into a second embedding vector based on the acquired scene information through an artificial neural network learned through third dictionary learning.
  • the embedding layer 420 of FIG. 4 may learn and store a first embedding vector, which is an embedding vector corresponding to the entire designated sound source group.
  • the designated sound source group includes at least one target sound source, and the first embedding vector may be a sum vector of partial embedding vectors corresponding to each target sound source.
  • at least one target sound source that can be generated from each scene information included in the scene information group may be preset to correspond to each scene information.
  • the refinement network 430 of FIG. 4 may convert the first embedding vector into a second embedding vector corresponding to scene information using a pre-trained neural network.
  • the second embedding vector may be an embedding vector converted from the first embedding vector learned or stored in advance so that the target sound source corresponding to each scene information is separated.
  • the electronic device may separate the target sound source from the obtained mixed sound source based on the refined second embedding vector.
  • the separation layer 440 of FIG. 4 receives the mixed sound source and the second embedding vector and can separate the target sound source using a pre-trained neural network.
  • the separation layer 440 estimates the mask (m, mask) for the mixed sound source and multiplies it. It can be expressed as
  • the mask (m) for the mixed sound source can be estimated using a deep neural network.
  • the separation layer 440 of FIG. 4 may separate the target sound source from the mixed sound source using a second embedding vector through an artificial neural network learned through a fourth dictionary learning process.
  • Figure 5 is a block diagram of a pre-learning state of a system for separating target sound sources, according to an embodiment of the present disclosure.
  • Figure 6 is a block diagram of a state in which a target sound source is separated in a system for separating a target sound source, according to an embodiment of the present disclosure.
  • the system 400 for separating target sound sources receives a sound source and pre-trains to output a target sound source, and then selects a mixed sound source in which one or more sound sources are mixed. You can receive input and separate the target sound source.
  • the number of filters N of the encoder is 512
  • the kernel size L of the filter is 32
  • the number of filters B of the bottleneck layer and residual path is 128,
  • the number of filters H in depthwise convolution is 256
  • the kernel size P of the convolutional block is 3.
  • the number of dilated convolution blocks per repeat, X can be set to 6
  • the number of repeats, R can be set to 2.
  • the embedding layer 420 it is assumed that there are four possible target sound sources, and a 4 x 128 matrix with a multi-hot vector of size m as input and a vector of size 128 as output can be used. .
  • vectors corresponding to possible target sound sources corresponding to the number of all cases may be input to the embedding layer 420.
  • vectors corresponding to all target sound sources included in the sound source group specified in the embedding layer 420 may be input.
  • the scene extractor 410 defines a fully-separated convolutional module (FUSE-ConvMod) consisting of a combination of pointwise, frequency-side depthwise, and temporal-side depthwise convolution, and the final output is configured to have 128 dimensions. You can.
  • FUSE-ConvMod fully-separated convolutional module
  • the refinement network 430 increases 128 dimensions to 256 dimensions using convolution that changes only the number of channels, transforms the representation using weights and biases generated from scene information through a conditioning technique, and then outputs again 128 dimensions. This can be changed to become this.
  • the batchsize is set to 16 and the learning rate gradually decreases using a scheduler that exponentially decreases so that the size is halved after 2,000,000 epochs. Learning can be performed with an initial learning rate of .
  • FIG. 7A is a schematic diagram of a scene extractor 410 for first dictionary learning, according to an embodiment of the present disclosure.
  • FIG. 7B is a detailed diagram of acoustic scene classification (ASC) using an instance generator applied to the scene extractor 410, according to an embodiment of the present disclosure.
  • FIG. 7C is a detailed diagram of an instance generator applied to the scene extractor 410 according to an embodiment of the present disclosure.
  • ASC acoustic scene classification
  • the scene extractor 410 receives a sound source and creates a scene information vector ( ) can be output.
  • input y is the input signal from the microphone and is a vector of 1XT
  • the scene information extracted from the input y of the microphone can have a 128-dimensional vector form.
  • the classifier 411 receives the scene information vector ( ) is received to classify the target scene, and the scene decision probability vector ( ) can be output. may be an m-dimensional one-hot vector representing m target scenes.
  • the scene extractor 410 may perform learning using the sum of the instance-level BCE loss of the one-hot vector representing the target scene and the weighted BCE loss of the final estimated one-hot vector.
  • Weighted BCE according to one embodiment can be calculated using the formula below.
  • the weight means the correct answer, label, etc. means the predicted probability value.
  • Weighted binary cross entropy can be a variant of binary cross entropy (BCE).
  • BCE can be used as a loss that imposes a penalty and minimizes the difference between the actual label and the estimated probability in a binary classification problem.
  • Weighted BCE may be a loss that is used by assigning weights to compensate for the difference in number between positive and negative classes.
  • the scene extractor 410 may generate and output an instance vector, which is a scene information vector corresponding to scene information, based on the obtained mixed sound source.
  • the input signal is a microphone input signal and is a 1X160000 vector corresponding to a length of 10 seconds.
  • An instance vector can be created from the 10 second input and used to estimate the scene.
  • the scene extractor 410 of the system implemented in an electronic device is an instance generator used in a multi-instance vector-based acoustic scene classification (ASC) system among the scene classifiers that classify predefined environments. It may be an improved module.
  • ASC acoustic scene classification
  • an acoustic scene is implemented with various properties, and some unique combinations of properties can be identified and inferred.
  • an ASC system can effectively extract and cluster these attributes using a multi-instance learning (MIL) framework.
  • MIL known as one of the weakly supervised learning methods, extracts instances from input data and infers the scene corresponding to the input data using unlabeled instances.
  • MIL framework more suitable for ASC systems could be developed by adopting instance-level labels and instance-level loss, which are effective for instance extraction and clustering.
  • Acoustic Scene Classification aims to recognize the acoustic environment by considering the larger context and combination of acoustic events, ambience, room size, or culture, point-wise, frequency-wise, depth-wise, and time-wise. It can be a convolution module designed to be completely separate, a low-complexity neural network with depth-specific convolution filters. Acoustic scene classification (ASC) can take into account the large context between complex acoustic data, unlike sound event detection and sound separation tasks, which typically process the target event or source. Achieving efficient ASC is known to be a major challenge for the DCASE (detection and classification of acoustic scenes and events) community in artificial intelligence using deep neural networks.
  • DCASE detection and classification of acoustic scenes and events
  • a particular sound event may represent a sound scene but is not unique and may also appear in other scenes.
  • a tram sound or noise usually refers to a tram scene (e.g., inside a tram). However, it may also appear to pedestrians near the tramway.
  • a combination of acoustic events, acoustic noise and even echoes can be part of an acoustic scene.
  • Convolutional Neural Networks utilize log-mel spectrograms, mel-frequency cepstral coefficients (MFCC), constant-Q transform (CQT), gammatone frequency cepstral coefficients (GFCC), and chromatograms. You can.
  • the general strategy for designing an ASC system is to extract high-level feature maps implemented as activation scores of events from the raw audio data, and then transform them into Global Average Pooling (GAP) or fully connected layers (FC layers) for each scene through supervised learning methods. Can be classified.
  • GAP Global Average Pooling
  • FC layers fully connected layers
  • MIL may have as its core points how to create an instance vector and how to infer a bag-level class using an instance. For example, you can focus on how to generate instance vectors to employ an effective instance generator and instance-lever loss.
  • the Instance generator can be divided into two stages: feature map extractor and instance vector generator.
  • the feature map extractor can adopt spatially separable convolutional layers with point-wise (PW) and depth-wise (DW) convolutional layers instead of using VGG.
  • PW point-wise
  • DW depth-wise
  • the number of parameters of a standard convolutional layer is It may be the same as For example, complexity may depend on the product of the sizes of the input and output channels (Cin and Cout) and the height and width of the kernel (KH and KW).
  • Depth-wise separable convolution is an efficient version of the convolution filter while maintaining the receptive field, and can be implemented with two layers: depthwise convolution and pointwise convolution.
  • the complexity of a separable convolutional layer by depth can be calculated as follows.
  • spatially separable convolutional layers may have fully factored convolutional filters.
  • the 3 ⁇ 3 filter can be replaced by a combination of 3 ⁇ 1 and 1 ⁇ 3 filters.
  • the complexity of the spatially separable convolutional layer is:
  • the complexity of a spatially separable convolutional layer can be calculated using only addition operations instead of multiplication. For example, larger filter sizes and channel counts can result in more efficient complexity.
  • spectrograms can show different meanings depending on the frequency and time axes. Therefore, the kernel of a spatially separable convolution can be changed into a frequency-side kernel and a time-side kernel. Previous research on spatially separable convolutions in the audio field has shown that keyword spotting and ASC operations can be beneficial not only for improving performance, but also for modeling fewer parameters.
  • the feature map extractor may include four fully separate convolution modules (FUSE-ConvMods) with a combination of PW, frequency-side DW (FDW), and time-side DW (TDW) convolution layers.
  • the input function passes a PW convolution layer and several FULL SEperated convolution blocks (FUSE-ConvBlocks), which can be pooled through a max-pooling layer.
  • FUSE-ConvBlocks the output used by the ith FUSE-ConvModule is as follows.
  • Xi, N, and fik may represent the input of the ith FUSE-ConvMod, the FUSE-ConvBlock of the ith FUSE-ConvMod, and the number of the kth block, respectively.
  • the last FUSE-ConvMod may not perform pooling.
  • the output of a feature map extractor can still be a tensor creating a shape (channel, frequency, or frame).
  • an instance vector generator can aggregate tensors along the frequency axis using an FDW convolution layer with a full-sized (i.e. fully connected) kernel, and obtain the shape of the output from a feature map extractor. Therefore, we use a (32 ⁇ 1) FDW convolutional layer, followed by an affine transform-maintaining channel, which can then be reshaped and transposed.
  • instance-level loss and bag-level loss can be considered to cluster positive and negative instances.
  • the basic purpose of the MIL method is to determine whether each bag is positive or negative, and the loss is introduced by the average of the weighted binary cross entropy (weighted BCE), which is the imbalance of the positive and negative classes. It can be used to calculate the average of BCE for each class by taking into account.
  • Weighted BCE weighted binary cross entropy
  • CE Cross-entropy
  • the formula below shows the average of wBCE and CE.
  • wBCEs, C, and ⁇ are adopted for the loss function, which are the mean of wBCEs, number of classes, and class imbalance coefficient, respectively; was set to C - 1. If is 1, the average of wBCE may be the same as the average of BCE without considering class imbalance.
  • each can be assigned a label using bag-level ground truth.
  • the formula below shows how to define instance-level labels using instance prediction.
  • a positive label can be assigned; otherwise, a negative label can be assigned. If the index of the maximum prediction score among the classes is the same as the correct answer for each instance, a positive label can be assigned; otherwise, a negative label can be assigned. Positive labels can be defined as one-hot vectors and negative labels can be defined as zero vectors. For the same reason as bag-level loss, using the average of weighted BCEs for instance-level loss allows the model to cluster individual instances and negative numbers. We can average the entropy of all classes and average over the bag.
  • all parameters may be set randomly and the instance-level label may be set to a random label regardless of whether the instance is unique or not. Because bag-level losses are computed with ground truth (i.e. information that is real or known to be true), bag-level losses correctly guide the instance-level labels in the right direction as the training phase progresses, and if not, the instance-level labels This could result in the label being placed in the wrong label space.
  • ground truth i.e. information that is real or known to be true
  • FIG. 8 is a schematic diagram of an embedding layer 420 for second dictionary learning according to an embodiment of the present disclosure.
  • the sound source input y is an input signal vector in the form of a 1XT vector
  • e is an embedding vector for the target sound source, for example, receiving a 4-dimensional input and converting it into a 128-dimensional vector. It is encoded, and the 4-dimensional input (v) can be a vector in all cases between [0, 0, 0, 0] T and [1, 1, 1, 1] T.
  • Target sound source ( ) is the separation of the target sound source from y, which is a mixed sound source, and is an output in the form of a 1XT vector.
  • the 4-dimensional input (v) corresponds to each sound source included in the designated sound source group.
  • a 4-dimensional input may have the corresponding component as 1 when it includes the corresponding sound source, and may have the corresponding component as 0 when it does not include the corresponding sound source.
  • the embedding layer 420 may learn each partial embedding vector to represent each of the four sound sources included in the designated sound source group in the second dictionary learning. For example, the embedding layer 420 has inputs [1, 0, 0, 0] T , [0, 1, 0, 0] T , [0, 0, 1, 0] T , corresponding to each sound source. [0, 0, 0, 1] You can learn the partial embedding vector corresponding to T.
  • the designated first embedding vector (e_all) output is the sum of the partial embedding vectors. It can be a vector.
  • the embedding layer 420 may learn the negative SI-SDR of the output target sound source as loss. Negative SI-SDR can be calculated using the formula below.
  • s stands for target signal (e.g. correct answer); may refer to the output of a neural network.
  • SI-SDR is a variation of SDR. SDR represents the ratio of signal to distortion on a log scale, and the larger the size, the less distortion. However, since it reacts sensitively to changes in the size of the signal, the metric that corrects this is SI-SDR, and the embedding layer 420 learns to minimize SI-SDR by attaching a negative sign to maximize SI-SDR. there is.
  • FIG. 9A is a detailed diagram of a purification network 430 according to one embodiment of the present disclosure.
  • FIG. 9B is a schematic diagram of a refinement network 430 for third dictionary learning according to an embodiment of the present disclosure.
  • the refinement network 430 may refine a first embedding vector representing the entire designated sound source group into a second embedding vector representing the target sound source based on scene information.
  • the refinement network 430 may use Feature-wise Linear Modulation (FiLM), which is used to combine information from other features containing information necessary when training a deep learning model to the deep learning model. This combination technique is called conditioning, and can be used to train a deep learning model in a desired direction.
  • FiLM Feature-wise Linear Modulation
  • the refinement network 430 uses the scaling vector output from the FiLM generator 431 ( ) and shift vector( ) can be used to refine the embedding vector.
  • FiLM passes the features to be conditioned through each layer, and then uses a scaling vector ( ), multiply the feature of the part you want to condition, and the other is a shift vector ( ), you can set the learning direction of the model by adding it.
  • the FiLM generator 431 is a layer that generates scaling vectors and shift vectors for the refinement network 430, and can use various layers such as a fully connected layer and a convolutional layer.
  • the refinement network 430 inputs scene information to the FiLM generator 431 and outputs a scaling vector ( ) and shift vector( ) can be used to refine the first embedding vector into the second embedding vector.
  • the embedding layer 420 learned through the second dictionary learning is used to separate the target sound source from the mixed sound source input to the separation layer 440.
  • Embedding vector corresponding to the sound source ( ) can be output.
  • the embedding layer 420 learned by the second dictionary learning is input to the specified sound source group among the mixed sound sources input from the separation layer 440 when the target sound source including all of the specified sound source group is input.
  • the first embedding vector corresponding to the entire ) can be output.
  • the refinement network 430 includes a first embedding vector ( ) and scene information ( By the input of ), the second embedding vector ( ) can be performed to output the third dictionary learning.
  • First embedding vector ( ) is an embedding for all target sound sources included in a designated sound source group, and may have a 128-dimensional vector form as an example.
  • Scene information ( ) is the output of the scene extractor learned through first dictionary learning, and may have a 128-dimensional vector form as an example.
  • the second embedding vector ( ) is specific scene information ( ), and, as an example, may have a 128-dimensional vector form.
  • the target sound source is input to the embedding layer 420 learned by the second dictionary learning and the output target embedding vector (e.g., the embedding vector of the target sound source ( )) and scene information ( )
  • the second embedding vector converted from the first embedding vector based on ( ) can be used to learn the refinement network 430.
  • the refinement network 430 generates a second embedding vector refined from the first embedding vector based on scene information ( ) and the target embedding vector for the actual target sound source (e.g., the embedding vector of the target sound source ( ))
  • MSE serves to reduce the overall error by the mean square of the error, and can be calculated using the formula below.
  • s corresponds to the target signal can correspond to the output of the neural network.
  • Figure 10 is a table regarding the correspondence between each scene information and each target sound source, according to an embodiment of the present disclosure.
  • the vertical axis displays various scene information
  • the horizontal axis displays various target sound sources included in a designated sound source group.
  • four sources (vehicle_horn_and_car_horn_and_honking, fire alarm, police car, and speech-child, female, male) may be included in the target sound sources to be separated, and others (bark, bicycle_bell, bus, car_passing_by, machine gun, motorcyle, subway_and_metro_and_underground, wind, walk, and footstep may be sound sources other than the target sound source.
  • the FSD50k dataset corresponding to the target sound event was mixed with the TAU-urban acoustic 2020 mobile (TAU 2020), which is the ASC dataset corresponding to the scene background.
  • TAU 2020 TAU-urban acoustic 2020 mobile
  • the acoustic scene information used was data recorded with device A in TAU2020, among which Bus, Metro, Metro station, Park, or Street traffic was used.
  • the sound event data was noisy and would contribute to the deterioration of separation performance, it was purified in advance and mixed, leaving only the target sound source.
  • the sound scene and sound source were mixed using the Scaper tool.
  • the number of sound sources in each sound scene is 1 to 4 (including 1 to 2 target sound sources), the SNR is -3 to 3 dB, and the sampling rate is 16 kHz. It was set to .
  • 10,000 train sets, 2,000 validation sets, and 1,000 test sets were created, for a total of 50,000 train sets, 10,000 validation sets, and 5,000 test sets, and learning and evaluation were performed.
  • target sound sources to be separated may be vehicle_horn_and_car_horn_and_honking, police car, and speech-child, female, male.
  • the target sound sources to be separated may be fire alarm and speech - child, female, male.
  • the target sound sources to be separated may be fire alarm and speech - child, female, male.
  • the target sound source to be separated may be speech-child, female, male.
  • target sound sources to be separated may be vehicle_horn_and_car_horn_and_honking and police car.
  • the separation layer may perform a fourth dictionary learning process to learn to separate the target sound source based on the input sound source and the second embedding vector.
  • the separation layer can separate the target sound source from the mixed sound source using refined embeddings for sound sources specified as likely to occur in a specified scene through a pre-learned embedding layer, scene extractor, and refinement network.
  • the separation layer can be learned through joint training with other system configurations. For example, a mixed sound source input is used as the input for the fourth dictionary learning process of the separation layer, and learning can be performed using the negative SI-SDR with the target sound source as loss.
  • the acoustic separation system can be measured using segmental SI-SDRi, which corresponds to the SI-SDR improvement in the actual target sound source presence section.
  • the method used for comparative evaluation is an algorithm that excludes scene-dependent refinement in the proposed method and can be similar to the multi-sound extraction method of Sound selector, an existing technique.
  • [Table 1] below shows the results of comparing the separation performance for each acoustic scene between the method proposed in this disclosure and the control group. Referring to [Table 1], although there are slight differences for each scene, the overall average shows slightly higher performance.
  • [Table 3] compares the performance according to the type of condition given to the model in the learning stage.
  • Baseline is a model (12 times/12 times) in which conditions are applied to all separation layers in the second and fourth dictionary learning
  • Method 1 and Method 2 are models modified based on applying conditions to a single point in the prior art.
  • Method 1 is a model that gives conditions to all layers in the second dictionary learning and gives a condition at a single point in the fourth dictionary learning (12 times/1 time)
  • Method 2 is a model that gives conditions to all layers in the second dictionary learning and the fourth dictionary learning. 4
  • pre-training all models are trained with a condition given at a single point (once/once).
  • Methods 300a and 300b for separating a target sound source may include an operation 360 of obtaining a mixed sound source including at least one sound source.
  • the method 300a, 300b of separating target sound sources according to an embodiment may include an operation 370 of acquiring scene information related to the mixed sound source based on the mixed sound source.
  • the method (300a, 300b) of separating target sound sources according to an embodiment may include an operation (380) of converting a first embedding vector corresponding to a designated sound source group into a second embedding vector based on the scene information. You can.
  • the method (300a, 300b) of separating the target sound source according to an embodiment may include an operation (390) of separating the target sound source from the mixed sound source based on the mixed sound source and the second embedding vector. .
  • the method 300a, 300b of separating a target sound source may further include an operation 320 of performing a first dictionary learning process of learning a scene information vector based on acquisition of the input sound source.
  • the operation 370 of acquiring the scene information may include outputting the scene information vector based on the mixed sound source.
  • the operation 320 of performing the first dictionary learning process includes outputting the scene information vector based on the acquisition of the input sound source. , and an operation of learning to classify a specified scene based on the output scene information vector.
  • the operation 370 of acquiring the scene information includes generating an instance vector corresponding to the scene information based on the mixed sound source. can do.
  • the first embedding vector may correspond to the entire designated sound source group.
  • the operation (380) of converting the first embedding vector into a second embedding vector involves converting the first embedding vector into the specified It can be converted into the second embedding vector corresponding to at least part of the sound source group.
  • the method 300a, 300b for separating target sound sources according to an embodiment may further include an operation 330 of performing a second dictionary learning process to learn partial embedding vectors, and each of the partial embedding vectors is Corresponds to each sound source included in the designated sound source group.
  • the first embedding vector may be a sum vector of the partial embedding vectors.
  • the operation (380) of converting the first embedding vector to the second embedding vector includes the sound source group included in the designated sound source group corresponding to the scene information. It may include an operation of checking the target sound source, and an operation of converting the first embedding vector into the second embedding vector to correspond to the target sound source.
  • the designated sound source group may include at least one target sound source designated to correspond to the scene information.
  • the method (300a, 300b) for separating target sound sources includes dividing the second embedding from the first embedding vector based on an embedding vector between specific scene information and a specific target sound source corresponding to the specific scene information.
  • An operation 340 of performing a third dictionary learning process to learn the transformation into a vector may be further included.
  • the operation (390) of separating the target sound source includes applying the second embedding vector to the mixed sound source to create a sound source of the same size as the mixed sound source.
  • An operation of generating the target sound source having a vector form may be included.
  • An electronic device 101 (200) includes an input interface 220, a memory 230 that stores at least one instruction, and operates with the input interface 220 and the memory 230. It may include at least one processor 210 connected to each other.
  • the at least one processor 210 may be configured to execute the at least one instruction and obtain a mixed sound source including at least one sound source from the input interface 220.
  • the at least one processor 210 may be configured to execute the at least one instruction and obtain scene information related to the mixed sound source based on the mixed sound source.
  • the at least one processor 210 may be configured to execute the at least one instruction and convert a first embedding vector corresponding to a designated sound source group into a second embedding vector based on the scene information.
  • the at least one processor 210 may be configured to execute the at least one instruction and separate the target sound source from the mixed sound source based on the mixed sound source and the second embedding vector.
  • the at least one processor 210 executes the at least one instruction to learn a scene information vector based on the acquisition of an input sound source.
  • a first dictionary learning process It can be further set to perform.
  • the at least one processor 210 may be further set to output the scene information vector based on the mixed sound source at least part of the operation of executing the at least one instruction to acquire the scene information.
  • the at least one processor 210 executes the at least one instruction and, as at least part of the operation of performing the first dictionary learning process, selects the input sound source. It may be further configured to output the scene information vector based on the acquisition of and learn to classify a specified scene based on the output scene information vector.
  • the at least one processor 210 executes the at least one instruction and, as at least part of the operation of acquiring the scene information, based on the mixed sound source. It may be further configured to generate an instance vector corresponding to scene information.
  • the first embedding vector may correspond to the entire designated sound source group.
  • the at least one processor 210 executes the at least one instruction to convert the first embedding vector into a second embedding vector based on the scene information and converts the first embedding vector into the designated sound source. It may be further configured to convert to the second embedding vector corresponding to at least part of the group.
  • the at least one processor 210 may be further configured to perform a second dictionary learning process of learning a partial embedding vector by executing the at least one instruction. And each of the partial embedding vectors corresponds to each sound source included in the designated sound source group.
  • the first embedding vector may be a sum vector of the partial embedding vectors.
  • the at least one processor 210 executes the at least one instruction, at least as part of an operation of converting the first embedding vector into a second embedding vector, It may be set to check the target sound source included in the designated sound source group corresponding to the scene information and convert the first embedding vector into the second embedding vector to correspond to the target sound source.
  • the designated sound source group may include at least one target sound source designated to correspond to the scene information.
  • the at least one processor 210 executes the at least one instruction to create an embedding vector between specific scene information and a specific target sound source corresponding to the specific scene information. Based on , it may be further configured to perform a third dictionary learning process to learn the transformation from the first embedding vector to the second embedding vector.
  • the at least one processor 210 executes the at least one instruction and, as at least part of the operation of separating the target sound source, adds the second signal to the mixed sound source. It can be further set to generate the target sound source having a vector shape of the same size as the mixed sound source by applying an embedding vector.
  • a non-transitory computer-readable storage medium storing one or more programs according to an embodiment of the present disclosure may include an operation of acquiring a mixed sound source including at least one sound source based on execution of an application.
  • the storage medium may include an operation of acquiring scene information related to the mixed sound source based on the mixed sound source.
  • the storage medium may include an operation of converting a first embedding vector corresponding to a designated sound source group into a second embedding vector based on the scene information.
  • the storage medium may include an operation of separating the target sound source from the mixed sound source based on the mixed sound source and the second embedding vector.

Abstract

본 개시의 일 실시예에 따른 타겟 음원을 분리하는 방법은, 적어도 하나 이상의 음원이 포함된 혼합 음원을 획득하는 동작, 상기 혼합 음원에 기반하여, 상기 혼합 음원과 관련한 장면 정보를 획득하는 동작, 상기 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작, 및 상기 혼합 음원 및 상기 제2 임베딩 벡터에 기반하여, 상기 혼합 음원으로부터 상기 타겟 음원을 분리하는 동작을 포함할 수 있다.

Description

혼합 음원으로부터 타겟 음원을 분리하는 방법 및 그 전자 장치
본 개시는, 혼합 음원의 장면 정보를 이용하여, 혼합 음원으로부터 타겟 음원을 분리하는 방법 및 그 전자 장치에 관한 기술이다.
휴대용 디지털 기기를 사용하여 전화 통화를 하거나 외부 음성을 녹음하거나 동영상을 취득하는 것이 일상화되면서, CE(consumer electronics) 기기 및 휴대 전화 등 다양한 디지털 기기에서 사운드를 취득하기 위하여 마이크로폰(microphone)이 사용될 수 있다. 다만, 마이크로폰으로 획득되는 사운드에는 배경 소음 또는 전화 또는 화상 통화와 관련되지 않은 다른 소리를 포함하는 복수 개의 음원이 포함될 수 있다.
음원 분리 기술은 동시에 발생하는 둘 이상의 소리를 음원의 소스 별로 구분하는데 이용될 수 있다. 일례로, 음원 분리 기술은 스테레오 음악에서 가수의 목소리만을 추출하거나, 하나의 마이크로폰으로 녹음된 둘 이상의 오디오 신호를 각각 분리하기 위해 사용될 수 있다. 또한, 음원 분리 기술은 차량, 또는 휴대폰 등의 소음 제거에도 이용될 수 있다.
음원 분리 기술은, 여러 개의 마이크로폰을 이용하여 녹음을 한 후, 각 마이크로폰에서 획득된 신호들 간의 상관 관계를 이용하여 음원을 구분할 수 있다. 한편, 음원 분리 기술에 인공 지능을 도입하는 방법들이 소개되고 있다. 이러한 방법 중 일부는 사전에 트레이닝 된 음성, 잡음 패턴이나 통계적인 데이터 정보를 이용하여 음성을 분리를 수행한다.
본 개시의 일 실시예에 따른 타겟 음원을 분리하는 방법은, 적어도 하나 이상의 음원이 포함된 혼합 음원을 획득하는 동작, 상기 혼합 음원에 기반하여, 상기 혼합 음원과 관련한 장면 정보를 획득하는 동작, 상기 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작, 및 상기 혼합 음원 및 상기 제2 임베딩 벡터에 기반하여, 상기 혼합 음원으로부터 상기 타겟 음원을 분리하는 동작을 포함할 수 있다.
본 개시의 일 실시예에 따른 전자 장치는, 입력 인터페이스, 적어도 하나의 인스트럭션을 저장하는 메모리, 및 상기 입력 인터페이스 및 상기 메모리와 동작적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 입력 인터페이스로부터 적어도 하나 이상의 음원이 포함된 혼합 음원을 획득하고, 상기 혼합 음원에 기반하여, 상기 혼합 음원과 관련한 장면 정보를 획득하고, 상기 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하고, 상기 혼합 음원 및 상기 제2 임베딩 벡터에 기반하여, 상기 혼합 음원으로부터 타겟 음원을 분리하도록 설정될 수 있다.
본 개시의 일 실시예에 따른 하나 이상의 프로그램을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체는, 어플리케이션의 실행에 기반하여, 적어도 하나 이상의 음원이 포함된 혼합 음원을 획득하는 동작, 상기 혼합 음원에 기반하여, 상기 혼합 음원과 관련한 장면 정보를 획득하는 동작, 상기 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작, 및 상기 혼합 음원 및 상기 제2 임베딩 벡터에 기반하여, 상기 혼합 음원으로부터 상기 타겟 음원을 분리하는 동작을 포함할 수 있다.
본 개시의 특정 실시예의 상기 및 다른 측면, 특징 및 이점은 첨부된 도면과 함께 취해진 다음의 설명으로부터 더욱 명백해질 것이다.
도 1은, 본 개시의 일 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는, 본 개시의 일 실시예들에 따른, 전자 장치의 블록도이다.
도 3a 및 도 3b는, 본 개시의 일 실시예에 따른, 타겟 음원을 분리하는 방법의 순서도이다.
도 4는 본 개시의 일 실시예에 따른, 타겟 음원을 분리하는 시스템의 개요도이다.
도 5는, 본 개시의 일 실시예에 따른, 타겟 음원을 분리하는 시스템의 사전 학습하는 상태의 블럭도이다.
도 6은, 본 개시의 일 실시예에 따른, 타겟 음원을 분리하는 시스템의 타겟 음원을 분리하는 상태의 블럭도이다.
도 7a는, 본 개시의 일 실시예에 따른, 제1 사전 학습을 위한 장면 추출기의 개요도이다.
도 7b는, 본 개시의 일 실시예에 따른, instance generator를 이용하는 ASC(acoustic scene classification) 시스템의 개요도이다.
도 7c는, 본 개시의 일 실시예에 따른, instance generator의 상세도이다.
도 8은, 본 개시의 일 실시예에 따른 제2 사전 학습을 위한 임베딩 레이어의 개요도이다.
도 9a는, 본 개시의 일 실시예에 따른 정제 네트워크의 상세도이다.
도 9b는, 본 개시의 일 실시예에 따른 제3 사전 학습을 위한 정제 네트워크의 개요도이다.
도 10은, 본 개시의 일 실시예에 따른, 각각의 장면 정보와 각각의 타겟 음원 사이의 대응에 관한 테이블이다.
도 1은, 본 개시의 일 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
일 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 일 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 전자 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 일 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 일 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 일 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 일 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
일 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 일 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는, 본 개시의 일 실시예들에 따른, 전자 장치(200)의 블록도이다.
도 2를 참조하면, 일 실시예들에 따른 전자 장치(200, 예: 도 1의 전자 장치(101))는, 입력 인터페이스(220), 메모리(230) 및/또는 프로세서(210)를 포함할 수 있다. 일 실시예로, 입력 인터페이스(220)는 전자 장치의 외부의 소스(예: 사용자)로부터 음향 데이터를 수신하는 입력 모듈(예: 도 1의 입력 모듈(150))의 일부일 수 있고, 예시로 마이크일 수 있다.
일 실시예들에 따른 메모리(230, 예: 도 1의 메모리(130))는, 전자 장치(200)의 적어도 하나의 구성요소(예: 도 1의 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 명령 또는 데이터를 저장할 수 있다. 일 실시예에 따른 메모리(230)는 비휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SDD)를 포함할 수 있다. 메모리(230)는 프로세서(210)에 의해 액세스되며, 프로세서(210)에 의한 데이터의 독취/기록/수정/삭제/갱신이 수행될 수 있다.
일 실시예들에 따른 프로세서(210, 예: 도 1의 프로세서(120))는, 메모리(230)에 저장된 명령 또는 동작을 수행할 수 있다. 구체적인 프로세서(210)의 명령 또는 동작은 후술한다.
일 실시예들에 따른 프로세서(210)는, 메모리(230)에 저장된 프로그램을 이용하여 신경망을 학습할 수 있다. 예를 들어, 프로세서(210)는 입력된 음원의 획득에 기반한 사전 정의된 장면 정보 벡터를 생성하거나, 지정된 음원 그룹에 포함된 타겟 음원에 각각 대응하는 부분 임베딩 벡터를 생성하거나, 또는 특정 장면 정보과 특정 타겟 음원 사이의 임베딩 벡터에 기반한 임베딩 벡터를 생성하기 위한 신경망을 학습할 수 있다. 여기서, 신경망은 인간의 뇌의 높은 학습 능력을 컴퓨터 상에서 모의하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 갖는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 모드들은 뉴런이 시냅스(synapse)를 통해 신호를 주고 받는 뉴런의 시냅틱 활동을 모의하도록 각각 연결 관계에 따라 데이터를 주고 받을 수 있다. 예시로, 신경망은 신경망 모델에서 발전한 딥러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 신경망 모델의 예는 심층 신경망(DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent Boltzmann Machine), 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 또는 심층 Q-네트워크(Deep Q-Network)와 같은 다양한 딥 러닝 기법들을 포함하며, 컴퓨터비젼, 음성인식, 자연어처리, 또는 음성/신호처리 등의 분야에 적용될 수 있다.
일 실시예에 따른 프로세서(210)는 범용 프로세서(예: CPU)이거나, 인공지능 학습을 위한 AI 전용 프로세서(예: GPU)이거나, 또는 당업자에게 공지된 임의의 다른 프로세서 구조일 수 있다.
일 실시예에 따른 메모리(230)는 데이터의 분류 또는 인식을 위한 학습 알고리즘을 통해 생성된 신경망 모델을 저장할 수 있다. 예를 들어, 메모리(230)는 프로세서(210)의 학습 수행 결과 생성된 딥 러닝 모델을 저장할 수 있다.
일 실시예에 따른 프로세서(210)는 데이터 분류 또는 인식을 위한 신경망을 학습하는 데이터 학습부를 포함할 수 있다. 데이터 학습부는 데이터 분류/인식을 판단하기 위하여 어떤 학습 데이터를 이용할지, 및 학습 데이터를 이용하여 데이터를 어떻게 분류하고 인식할지에 관한 기준을 학습할 수 있다. 데이터 학습부는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습데이터를 딥러닝 모델에 적용함으로써, 딥러닝 모델을 학습할 수 있다. 데이터 학습부는 적어도 하나의 하드웨어 칩(예시로, 통합 회로) 형태로 제작되어 프로세서(210)의 일부로 탑재될 수 있다. 예를 들어, 데이터 학습부는 소프트웨어 모듈로 구현될 수 있다. 소프트웨어 모듈(또는 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록 매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 애플리케이션에 의해 제공될 수 있다.
일 실시예에 따른 데이터 학습부는 학습 데이터 획득부 및 모델 학습부를 포함할 수 있다. 학습 데이터 획득부는 데이터를 분류하고 인식하기 위한 신경망 모델에 필요한 학습 데이터를 획득할 수 있다. 모델 학습부는 획득된 학습 데이터를 이용하여, 신경망 모델이 소정의 데이터를 어떻게 분류할지에 관한 판단 기준을 가지도록 학습할 수 있다. 이 때 모델 학습부는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 예를 들어, 모델 학습부는 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통해 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부는 학습에 따른 상황 판단의 결과가 올바른지에 대한 피드백을 이용하여 강화 학습(reinforcement learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부는 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient decent)을 포함하는 학습 알고리즘을 이용하여 신경망 모델을 학습시킬 수 있다.
일 실시예로, 모델 학습부는 신경망 모델이 학습되면, 학습된 신경망 모델을 메모리(230)에 저장할 수 있다. 예를 들어, 모델 학습부는 학습된 신경망 모델을 전자 장치와 유선 또는 무선 네트워크로 연결된 서버의 메모리에 저장할 수도 있다.
일 실시예로, 데이터 학습부는 인식 모델의 분석 결과를 향상시키거나, 인식 모델의 생성에 필요한 리소스 또는 시간을 절약하기 위해 획득된 데이터가 상황 판단을 위한 학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 예를 들어, 데이터 학습부는 모델 학습부가 이미지 인식을 위한 학습을 위하여 획득된 학습 데이터를 이용할 수 있도록, 획득된 데이터를 지정된 포맷으로 가공할 수 있다. 데이터 학습부는 획득된 학습 데이터 또는 전처리된 학습 데이터 중 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부에 제공될 수 있다.
일 실시예로, 데이터 학습부는 신경망 모델의 분석 결과를 향상시키기 위하여 모델 평가부를 더 포함할 수도 있다. 모델 평가부는, 신경망 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인식 모델을 평가하기 위한 정의된 데이터일 수 있다. 일 예로, 모델 평가부는 평가 데이터에 대한 학습된 인식 모델의 분석 결과 중, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 지정된 임계치를 초과하는 경우, 인식 모델이 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
상기 서술한 프로세서(210) 및 메모리(230)는 기능적으로 구분하여 설명하였지만, 전술한 구성요소들이 하나의 모듈로 통합되어 AI 모듈로 호칭될 수도 있음을 밝혀둔다.
상술한 인공 지능 기술은 음원 분리, 음성 추출, 또는 노이즈 제거와 같은 음성 처리 분야에도 이용될 수 있다. 예를 들어, AI를 이용한 음원 분리 기술 중 하나로 오디오 신호 분석 기술과 딥러닝 기술을 결합하여 음원의 소스 별로 구성 요소를 분리하고, 이를 이용하여 복수의 음원으로부터 원하는 타겟 음원만을 추출하거나, 분리된 음원에 기반하여 새로운 컨텐츠를 만들 수 있다.
도 3a 및 도 3b는, 본 개시의 일 실시예에 따른, 타겟 음원을 분리하는 방법(300a, 300b)의 순서도이다. 도 4는 본 개시의 일 실시예에 따른, 타겟 음원을 분리하는 시스템(400)의 개요도이다.
도 3a, 도 3b 및 도 4를 참조하면, 일 실시예에 따른 복수의 음원으로부터 타겟 음원을 분리하는 시스템(400)은, 혼합 음원을 입력 받아 장면 정보를 출력하는 장면 추출기(410), 지정된 음원 그룹에 포함된 적어도 하나의 타겟 음원에 대응하는 임베딩 벡터를 학습하는 임베딩 레이어(420), 임베딩 레이어(420)의 학습된 임베딩 벡터를 장면 정보에 기반하여 정제하는 정제 네트워크(430), 및 정제한 임베딩 벡터에 기반하여 혼합 음원을 분리하는 분리 레이어(440)가 포함될 수 있다.
일 실시예로, 타겟 음원을 분리하는 시스템(400)에는, T 길이의 시간 영역 파형일 수 있는 음원 신호 y, 및 타겟 사운드 벡터 (
Figure PCTKR2023010971-appb-img-000001
)를 입력으로 제공할 수 있다. 예를 들어, N은 지정된 사운드 그룹에 포함된 사운드(예: acoustic events)의 개수일 수 있다. 예를 들어, n번째 사운드를 추출하기 위하여, 타겟 사운드 벡터(o)는 one-hot 벡터이고, 여기서 타겟 사운드에 해당하는 요소(o_n)는 1로 설정되고, 다른 요소(o_j, j는 n이 아님)는 0으로 설정될 수 있다. 음원 신호 y, 및 타겟 사운드 벡터가 입력되면, 타겟 음원은
Figure PCTKR2023010971-appb-img-000002
로 추정될 수 있다. 여기서 DNN(deep neural network)의 비선형 변환이 적용될 수 있다. 시간 영역의 음원 분리 및 프레임 워크를 추출하도록 설정된 Conv-TasNet architecture이 이용될 수 있다.
일 실시예로, 음원 신호 y가 입력되면, 타겟 음원을 분리하는 시스템(400)의 혼합물의 중간 표현(
Figure PCTKR2023010971-appb-img-000003
)을 생성할 수 있다. 예를 들어, h_f는 특징 공간의 차원인 D 차원의 f번째 프레임의 특징을 나타내고, F는 총 프레임 수이다.
타겟 사운드 벡터 (
Figure PCTKR2023010971-appb-img-000004
)가 병렬로 입력되면, 임베딩 레이어(420)는 타겟 음원의 인코딩된 표현을 제공하는 타겟 임베딩(
Figure PCTKR2023010971-appb-img-000005
)을 적용할 수 있다. 이러한 중간 표현(H)과 타겟 임베딩(c)은 통합 표현(z=
Figure PCTKR2023010971-appb-img-000006
)으로 결합되고, 타겟 음원을 분리하는 시스템(400)은 타겟 음원만 분리하여 출력할 수 있다.
일 실시예로, 타겟 음원을 분리하는 시스템(400)은 지정된 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000007
)에 입력 받은 타겟 사운드 벡터 (
Figure PCTKR2023010971-appb-img-000008
)를 적용할 수 있다. 일 실시예로, 타겟 음원을 분리하는 시스템(400)은 입력되는 혼합 음원의 장면 정보를 통해 미리 설정된 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000009
)를 정제할 수 있다.
일 실시예로, 타겟 음원을 분리하는 방법(300a, 300b)은, 타겟 음원을 분리하는 시스템(400)의 사전 학습을 위한 하나 이상의 동작(300a) 및 학습된 시스템을 이용하여 타겟 음원을 분리하는 하나 이상의 동작(300b)를 포함할 수 있다.
일 실시예로, 동작 310에서 획득한 음원은 후술하는 사전 학습을 위한 음원으로, 후술하는 혼합 음원과 동일하거나 상이할 수 있으며, 적어도 하나 이상의 음원이 포함될 수 있다.
일 실시예로, 동작 320, 동작 330, 동작 340 및 동작 350에서, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 제1 사전 학습 과정, 제2 사전 학습 과정, 제3 사전 학습 과정 및 제4 사전 학습 과정을 각각 수행할 수 있다. 전자 장치는 사전 학습을 통하여 구체적인 사전 학습에 관하여는 후술한다. 전자 장치는 사전 학습에 의해 학습이 완료된 이후에, 혼합 음원으로부터 타겟 음원을 분리할 수 있다.
일 실시예로, 동작 320에서, 장면 정보 벡터를 학습하기 위한 제1 사전 학습 과정이 수행될 수 있다.
일 실시예로, 동작 330에서, 미리 설정된 사운드 그룹에 포함된 각 사운드에 대응하는 부분 임베딩 벡터를 학습하기 위한 제2 사전 학습 과정이 수행될 수 있다. 예를 들어, 미리 설정된 사운드 그룹이 3개의 미리 설정된 사운드를 포함하면, 3개의 부분 임베딩 벡터가 학습된다.
일 실시예로, 동작 340에서, 특정 장면 정보와 특정 장면 정보에 대응하는 특정 음원 간의 임베딩 벡터를 기반으로, 제1 임베딩 벡터에서 제2 임베딩 벡터로의 변환을 학습하기 위한 제3 사전 학습 과정이 수행될 수 있다.
일 실시예로, 동작 350에서, 입력 음원과 제2 임베딩 벡터를 기반으로, 타겟 음원을 복수의 사운드로부터 분리하는 학습을 위한 제4 사전 학습 과정이 수행될 수 있다.
일 실시예로, 동작 360에서, 전자 장치는 적어도 하나 이상의 음원이 포함된 혼합 음원을 획득할 수 있다. 예를 들어, 혼합 음원은 외부의 환경으로부터 입력 인터페이스(예: 도 1의 통신 모듈(190))를 통해 입력 받아 생성될 수 있고, 전자 장치에 포함된 마이크로폰(예: 도 2의 입력 인터페이스(220))을 통해 생성될 수 있다. 일 실시예로, 전자 장치는 외부 장치의 마이크로폰을 통해 생성된 혼합 음원을 입력 인터페이스를 통해 수신할 수 있다. 혼합 음원은 인공적으로 생성되거나, 생성된 이후에 필터링되거나 또는 처리될 수 있다.
일 실시예로, 혼합 음원에는 분리하고자 하는 타겟 음원이 포함되고, 그 이외의 음원이 포함될 수 있다. 예를 들어, y는 혼합 음원에 해당하는 입력 신호이고,
Figure PCTKR2023010971-appb-img-000010
는 분리하고자 하는 n번째 타겟 음원에 해당하는 신호이며,
Figure PCTKR2023010971-appb-img-000011
는 분리하고자 하는 타겟 음원이 아닌 음원에 해당하는 신호이다. 예시로, 타겟 음원을 2개로 한정하였으나, 더 많은 종류와 개수가 존재할 수 있다.
Figure PCTKR2023010971-appb-img-000012
일 실시예로, 타겟 음원은 적어도 하나 이상의 음원을 포함할 수 있고, 아래와 같은 수식으로 나타낼 수 있다.
Figure PCTKR2023010971-appb-img-000013
일 실시예로, 동작 370에서, 전자 장치는 획득한 혼합 음원에 기반하여, 혼합 음원과 관련한 장면 정보를 획득할 수 있다. 일 실시예로, 도 4의 장면 추출기(410)는 혼합 음원을 입력 받고, 지정된 장면 정보 그룹에서 적절한 장면 정보를 선택하여 출력할 수 있다. 장면 추출기(410)는 제1 사전 학습을 통해 학습된 인공 신경망을 통해, 입력 받은 적어도 하나 이상의 음원이 포함된 혼합 음원을 이용하여, 혼합 음원에 대응하는 장면 정보를 추출할 수 있다. 지정된 장면 정보 그룹에 포함된 장면 정보에는 각각에 대응하는 적어도 하나의 음원이 미리 설정될 수 있다.
일 실시예로, 동작 380에서, 전자 장치는 획득한 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환할 수 있다. 예를 들어, 도 4의 임베딩 레이어(420)는 제2 사전 학습을 통해 학습된 인공 신경망에서 지정된 음원 그룹 전체에 대응하는 제1 임베딩 벡터를 학습할 수 있고, 도 4의 정제 네트워크(430)는 제3 사전 학습을 통해 학습된 인공 신경망을 통해, 획득한 장면 정보에 기반하여 제1 임베딩 벡터를 제2 임베딩 벡터로 변환할 수 있다.
일 실시예로, 도 4의 임베딩 레이어(420)는 지정된 음원 그룹의 전체에 대응하는 임베딩 벡터인 제1 임베딩 벡터를 학습 및 저장할 수 있다. 지정된 음원 그룹에는 적어도 하나의 타겟 음원이 포함되고, 제1 임베딩 벡터는 각각의 타겟 음원에 각각 대응하는 부분 임베딩 벡터의 합 벡터 일 수 있다. 지정된 음원 그룹에는 장면 정보 그룹에 포함된 각각의 장면 정보에서 발생 가능한 적어도 하나 이상의 타겟 음원이 각각의 장면 정보에 대응하도록 미리 설정될 수 있다.
일 실시예로, 도 4의 정제 네트워크(430)는 사전 학습한 신경망을 이용하여, 제1 임베딩 벡터를 장면 정보에 대응하는 제2 임베딩 벡터로 변환할 수 있다. 제2 임베딩 벡터는 장면 정보마다 대응하는 타겟 음원이 분리되도록 미리 학습 또는 저장된 제1 임베딩 벡터로부터 변환된 임베딩 벡터일 수 있다.
일 실시예로, 동작 390에서, 전자 장치는 정제된 제2 임베딩 벡터에 기반하여, 획득한 혼합 음원에서 타겟 음원을 분리할 수 있다. 도 4의 분리 레이어(440)는 혼합 음원 및 제2 임베딩 벡터를 입력 받고, 미리 학습된 신경망을 이용하여 타겟 음원을 분리할 수 있다. 예시로, 분리 레이어(440)는 혼합 음원에 대한 마스크(m, mask)를 추정하고, 곱함으로써
Figure PCTKR2023010971-appb-img-000014
로 나타낼 수 있다. 여기서, 혼합 음원에 대한 마스크(m)는 심화 신경망을 이용하여 추정될 수 있다.
일 실시예로, 도 4의 분리 레이어(440)는 제4 사전 학습 과정을 통해 학습된 인공 신경망을 통해, 제2 임베딩 벡터를 이용하여 혼합 음원으로부터 타겟 음원을 분리할 수 있다.
도 5는, 본 개시의 일 실시예에 따른, 타겟 음원을 분리하는 시스템의 사전 학습하는 상태의 블럭도이다. 도 6은, 본 개시의 일 실시예에 따른, 타겟 음원을 분리하는 시스템의 타겟 음원을 분리하는 상태의 블럭도이다.
도 5 및 도 6을 더 참조하면, 일 실시예에 따른 타겟 음원을 분리하는 시스템(400)은, 음원을 입력 받아 타겟 음원을 출력하도록 사전 학습한 이후에, 하나 이상의 음원이 혼합된 혼합 음원을 입력 받아 타겟 음원을 분리할 수 있다.
예를 들어, encoder의 filter 개수 N은 512, filter의 kernel size L은 32, bottleneck layer 및 residual path의 filter 개수 B는 128, depthwise convolution에서의 filter 개수 H는 256, convolutional block의 kernel size P는 3, 1 repeat 당 dilated convolution block의 개수 X는 6, repeat의 횟수 R은 2로 설정할 수 있다.
일 실시예로, 임베딩 레이어(420)의 경우 발생가능한 타겟 음원을 4개로 가정하고 크기 m인 multi-hot vector를 입력으로 하고 128의 크기를 갖는 vector를 출력으로 하는 4 x 128 matrix를 사용할 수 있다.
일 실시예로, 타겟 음원을 분리하는 시스템(400)의 사전 학습 과정에서는, 임베딩 레이어(420)에 모든 경우의 수에 해당하는 발생가능한 타겟 음원에 대응하는 벡터가 입력될 수 있다. 반면, 타겟 음원을 분리하는 시스템(400)의 타겟 음원을 분리하는 상태에서는, 임베딩 레이어(420)에 지정된 음원 그룹에 포함된 모든 타겟 음원에 대응하는 벡터가 입력될 수 있다.
일 실시예로, 장면 추출기(410)의 경우 pointwise, frequency-side depthwise, temporal-side depthwise convolution의 조합으로 이루어진 fully-separated convolutional module(FUSE-ConvMod)를 정의하고 최종 output이 128 dimension을 갖도록 구성될 수 있다.
일 실시예로, 정제 네트워크(430)는 채널수만을 변경하는 convolution을 이용해 128 dimension을 256 dimension으로 늘리고 conditioning 기법을 통해 scene 정보로부터 생성한 weight와 bias를 이용해 representation을 변형한 후 다시 출력이 128 dimension이 되도록 변경될 수 있다.
또한, 학습시 batchsize는 16으로 설정하고 2,000,000 epoch 후에 그 크기가 절반이 되도록 exponentially decrease하는 스케쥴러를 이용하여 learning rate가 서서히 감소하도록 하여
Figure PCTKR2023010971-appb-img-000015
의 learning rate 초기값을 가지고 학습을 수행할 수 있다.
도 7a는, 본 개시의 일 실시예에 따른, 제1 사전 학습을 위한 장면 추출기(410)의 개요도이다. 도 7b는, 본 개시의 일 실시예에 따른, 장면 추출기(410)에 적용된 instance generator를 이용하는 ASC(acoustic scene classification)의 상세도이다. 도 7c는, 본 개시의 일 실시예에 따른, 장면 추출기(410)에 적용된 instance generator의 상세도이다.
도 7a를 더 참조하면, 일 실시예에 따른 장면 추출기(410)는 음원을 입력 받아 장면 정보 벡터(
Figure PCTKR2023010971-appb-img-000016
)를 출력할 수 있다. 예를 들어, 입력 y 는 마이크로폰의 입력 신호로 1XT 의 벡터이고,
Figure PCTKR2023010971-appb-img-000017
은 마이크로폰의 입력 y로부터 추출한 장면 정보로 128차원의 벡터 형태를 가질 수 있다. 일 실시예에 따른 분류기(411)는 장면 추출기(410)로부터 장면 정보 벡터(
Figure PCTKR2023010971-appb-img-000018
)을 받아 타겟 장면을 분류하고, 장면 결정 확률 벡터(
Figure PCTKR2023010971-appb-img-000019
)를 출력할 수 있다.
Figure PCTKR2023010971-appb-img-000020
은 m개의 타겟 장면을 나타내는 m차원의 one-hot 벡터일 수 있다.
일 실시예에 따른 장면 추출기(410)는, 타겟 장면을 나타내는 one-hot vector의 instance-level BCE loss와 최종 추정 one-hot vector의 weighted BCE loss의 합을 이용하여 학습을 수행할 수 있다. 일 실시예에 따른 weighted BCE 는 하기의 수식으로 산출할 수 있다.
Figure PCTKR2023010971-appb-img-000021
이 때,
Figure PCTKR2023010971-appb-img-000022
는 가중치,
Figure PCTKR2023010971-appb-img-000023
는 정답, label 등을 의미하며
Figure PCTKR2023010971-appb-img-000024
는 예측 확률 값을 의미한다. 여기서, 가중치는 예시로
Figure PCTKR2023010971-appb-img-000025
=9를 사용할 수 있다.
Weighted binary cross entropy는 binary cross entropy (BCE)의 변형일 수 있다. BCE는 이진분류 문제에서 실제 label과 추정확률이 차이가 크면 페널티를 부여하고 이를 최소화하는 loss로 사용될 수 있다. weighted BCE는 positive 클래스와 negative 클래스 간의 개수 차이가 발생해 이에 대한 보정으로 가중치를 부여하여 사용하는 loss일 수 있다.
도 7b 및 도 7c를 더 참조하면, 일 실시예로 장면 추출기(410)는, 획득한 혼합 음원에 기반하여, 장면 정보에 대응하는 장면 정보 벡터인 instance vector를 생성하여 출력할 수 있다. 예를 들어, 입력 신호는 마이크로폰의 입력 신호로 10초 길이에 해당하는 1X160000의 벡터이고, 10초의 입력으로부터 instance vector를 생성하고 이를 이용하여 장면을 추정할 수 있다.
일 실시예로, 전자 장치(예: 프로세서)에 구현된 시스템의 장면 추출기(410)는 사전 정의된 환경을 구분하는 scene classifier 중 multi instance vector 기반의 ASC(acoustic scene classification) 시스템에서 사용하는 instance generator를 개선한 모듈일 수 있다.
ASC(acoustic scene classification) 시스템에서 음향 장면은 다양한 속성으로 구현되며 그 중 일부 고유한 속성의 조합을 식별하여 추론할 수 있다. 일 실시예로, ASC 시스템은 다중 instance 학습(MIL) 프레임워크를 사용하여 이러한 속성을 효과적으로 추출하고 클러스터링할 수 있다. Weakly Supervised learning 방법 중 하나로 알려진 MIL은 입력 데이터에서 instance를 추출하고 레이블이 지정되지 않은 instance로 입력 데이터에 해당하는 장면을 추론하는 방법이다. 예를 들어, instance 추출 및 클러스터링에 효과적인 instance 레벨 레이블 및 instance 레벨 손실을 채택하여 ASC 시스템에 보다 적합한 MIL 프레임워크가 개발될 수 있다.
일 실시예에서, 음향 장면 분류(ASC)는 음향 사건, 분위기, 방 크기, 또는 문화 등의 큰 맥락과 조합을 고려하여 음향 환경을 인식하는 것을 목표로 하고, 점별, 주파수 측 깊이별 및 시간 측 깊이별 컨볼루션 필터가 포함된 복잡도가 낮은 신경망인 완전히 분리되도록 설계된 컨볼루션 모듈일 수 있다. 음향 장면 분류(ASC)는 일반적으로 대상 이벤트 또는 소스를 처리하는 사운드 이벤트 감지 및 사운드 분리 작업과 달리 복잡한 음향 데이터 간의 큰 컨텍스트를 고려할 수 있다. 효율적인 ASC의 달성은 심층 신경망을 사용하는 인공 지능의 DCASE(음향 장면 및 이벤트의 감지 및 분류) 커뮤니티의 주요 과제로 알려져 있다. 일 실시예에서, 특정 사운드 이벤트는 음향 장면을 나타낼 수 있지만 고유하지는 않고, 다른 장면에서도 나타날 수 있다. 예를 들어, 트램 소리 또는 소음은 일반적으로 트램 장면(예, 트램 내부)을 나타냅니다. 그러나 트램 웨이 근처의 보행자에게 나타날 수도 있다. 예를 들어, 음향 사건, 음향 잡음, 심지어 에코의 조합이 음향 장면의 일부일 수 있다. 조용한 상황이나 환경과 같은 고유한 이벤트나 속성이 없을 수도 있다. 이러한 환경의 종류는 사람이 물 흐르는 소리와 새 지저귐으로 공원의 음향 장면을 인식할 수 있음을 의미할 수 있다. 그러나 이벤트가 없으면, 장면이 공원에서 발생하는지 또는 다른 외부 장면에서 발생하는지 구별하지 못할 수 있다.
일 실시예에서, CNN(Convolutional Neural Networks)은 log-mel 스펙트로그램, MFCC(mel-frequency cepstral coefficients), CQT(constant-Q transform), 감마톤 주파수 셉스트럴 계수(GFCC) 및 크로마토그램을 이용할 수 있다. ASC 시스템을 설계하기 위한 일반적인 전략은 원시 오디오 데이터에서 이벤트의 활성화 점수로 구현된 고급 기능 맵을 추출하고 지도 학습 방법을 통해 각 장면에 대한 GAP(Global Average Pooling) 또는 완전 연결 레이어(FC 레이어)로 분류할 수 있다.
MIL에는 instance vector를 생성하는 방법 및 instance를 사용하여 bag-level 클래스를 추론하는 방법을 핵심 사항으로 가질 수 있다. 예를 들어, 효과적인 instance generator 및 instance-lever loss을 채택하도록 instance vector를 생성하는 방법에 중점을 둘 수 있다.
Instance generator는 feature map extractor와 instance vector generator의 두 단계로 나눌 수 있다. 먼저, feature map extractor는 VGG를 사용하는 대신 점별(PW) 및 깊이별(DW) 컨볼루션 레이어가 있는 공간적으로 분리 가능한 컨볼루션 레이어를 채택할 수 있다. 복잡성 측면에서 표준 컨볼루션 레이어의 매개변수 수는
Figure PCTKR2023010971-appb-img-000026
와 같을 수 있다. 예를 들어, 복잡성은 입력 채널 및 출력 채널의 크기 (Cin 및 Cout)의 곱과 커널의 높이 및 너비(KH 및 KW)에 따라 달라질 수 있다. 깊이별 분리 가능한 컨볼루션은 수용 필드를 유지하면서 컨볼루션 필터의 효율적인 버전으으로, depthwise convolution과 pointwise convolution의 두 가지 레이어로 구현될 수 있다. 당업자에 의해 이해 가능한 것과 같이, 깊이별 분리 가능한 컨볼루션 레이어의 복잡성은 다음과 같이 계산될 수 있다.
Figure PCTKR2023010971-appb-img-000027
또한, 공간 분리형 컨볼루션 레이어에는 완전히 인수분해된 컨볼루션 필터가 있을 수 있다. 3 × 3 필터를 3 × 1 및 1 × 3 필터 조합으로 대체할 수 있다. 공간 분리형 컨볼루션 레이어의 복잡성은 다음과 같다.
Figure PCTKR2023010971-appb-img-000028
출력 채널의 크기(Cout)가 필터의 개수와 같을 때 공간적으로 분리 가능한 컨볼루션 레이어의 복잡도는 곱셈 대신 덧셈 연산만으로 계산될 수 있다. 예컨대, 필터 크기와 채널 수가 클수록 복잡성이 더 효율적일 수 있다.
공간적 속성을 갖는 이미지 데이터와 달리 스펙트로그램은 주파수와 시간 축에 따라 다른 의미를 보여줄 수 있다. 따라서, 공간적으로 분리 가능한 컨볼루션의 커널은 주파수 측 커널과 시간 측 커널로 바뀔 수 있다. 오디오 필드에서 공간적으로 분리 가능한 컨볼루션에 대한 이전 연구에 따르면, 키워드 스포팅 및 ASC 작업은 성능 향상뿐만 아니라, 더 적은 수의 매개 변수를 모델링하는 데에도 유익할 수 있다.
일 실시예로, feature map extractor는 PW, 주파수 측 DW(FDW) 및 시간 측 DW(TDW) 컨볼루션 레이어의 조화를 갖는 4개의 완전 분리된 컨볼루션 모듈(FUSE-ConvMods)을 포함할 수 있다. 입력 기능은 PW 컨볼루션 레이어와 여러 FULL SEperated 컨볼루션 블록(FUSE-ConvBlocks)을 전달하고, 최대 풀링 계층을 통해 풀링될 수 있다. 수학적으로 i 번째 FUSE-ConvModule이 사용하는 출력은 다음과 같다.
Figure PCTKR2023010971-appb-img-000029
예를 들어, Xi, N, fik는 i번째 FUSE-ConvMod의 입력, i번째 FUSE-ConvMod의 FUSE-ConvBlock 및 k번째 블록의 번호를 각각 나타낼 수 있다. 예외적으로 마지막 FUSE-ConvMod는 풀링을 수행하지 않을 수 있다.
Feature map extractor의 출력은 여전히 형태(채널, 주파수, 또는 프레임)를 만드는 텐서(tensor)일 수 있다. 일 실시예로, instance vector generator는 전체 크기(예: 완전히 연결된)의 커널이 있는 FDW 컨볼루션 계층을 사용하여 주파수 축을 따라 텐서를 집계하고, feature map extractor에서 출력의 모양을 얻을 수 있다. 따라서, (32 × 1) FDW 컨볼루션 레이어를 사용하고, 그 뒤에 아핀 변환 유지 채널이 뒤따르며, 그 이후에 모양이 바뀌고 전치될 수 있다.
일 실시예로, positive 및 negative instance를 클러스터링하기 위해 instance-level 손실(loss) 및 bag-level 손실을 고려할 수 있다. 결과적으로 총 손실은 Ltotal = Lbag + Lins 으로 표현할 수 있다.
일 실시예로, bag-level 손실에서, MIL 방법의 기본 목적은 각 백이 양수인지 음수인지 결정하고, 손실은 가중 바이너리 교차 엔트로피(weighted BCE)의 평균에 의해 도입되며, 이는 포지티브 및 네거티브 클래스의 불균형을 고려하여 각 클래스에 대한 BCE의 평균을 계산하는 데 사용될 수 있다. 또한, 대부분의 분류에서 채택하는 bag-level loss에 대해 Cross-entropy(CE)를 사용하여 실험하고, wBCE와 CE loss의 평균을 사용한 결과를 비교하였다. 하기의 수식은 wBCE와 CE의 평균을 보여준다. 여기서, wBCEs, C 및 α는 각각 wBCEs의 평균, 클래스 수 및 클래스 불균형 계수인 손실 함수에 대해 채택했으며,
Figure PCTKR2023010971-appb-img-000030
를 C - 1로 설정했다.
Figure PCTKR2023010971-appb-img-000031
가 1이면 wBCE의 평균은 클래스 불균형을 고려하지 않은 BCE의 평균과 동일할 수 있다.
Figure PCTKR2023010971-appb-img-000032
일 실시예로, instance에 레이블이 없기 때문에 각각에 bag-level ground truth를 사용하여 레이블을 할당할 수 있다. 하기의 수식은 instance 예측을 사용하여 instance-level 레이블을 정의하는 방법을 보여준다.
Figure PCTKR2023010971-appb-img-000033
클래스 중 최대 예측 점수의 인덱스가 각 instance의 정답과 같으면 양수 레이블을 할당하고, 그렇지 않으면 음수 레이블을 할당할 수 있다. 클래스 중 최대 예측 점수의 인덱스가 각 instance의 정답과 같으면 양수 레이블을 할당하고, 그렇지 않으면 음수 레이블을 할당할 수 있다. 양수 레이블은 one-hot 벡터로 정의되고 음수 레이블은 0 벡터로 정의될 수 있다. bag-level loss와 같은 이유로 instance-level loss에 대해 weighted BCE의 평균을 사용하여 모델이 개별 instance와 음수를 클러스터링할 수 있다. 모든 클래스의 엔트로피를 평균하고 bag에 대해 평균을 낼 수 있다.
예를 들어, 훈련 시작 시 모든 매개변수는 무작위로 설정되고 instance-level 레이블은 instance가 고유한지 여부에 관계없이 임의의 레이블로 설정될 수 있다. Bag-level loss는 ground truth (예: 실제 또는 사실이라고 알려진 정보)로 계산되기 때문에 bag-level losss는 훈련 단계가 진행됨에 따라 instance-level 레이블을 올바른 방향으로 올바르게 안내하고, 그렇지 않으면 instance-level 레이블이 잘못된 레이블 공간에 놓이게 될 수 있다.
도 8은, 본 개시의 일 실시예에 따른 제2 사전 학습을 위한 임베딩 레이어(420)의 개요도이다.
도 8을 더 참조하면, 일 실시예에 따른 음원 입력 y는 1XT 벡터 형상의 입력 신호 벡터이고, e는 타겟 음원에 대한 임베딩 벡터로, 예를 들어 4차원의 입력을 받아 128차원의 벡터 형태로 인코딩된 것이며, 4차원의 입력(v)은 [0, 0, 0, 0]T ~ [1, 1, 1, 1]T 사이의 모든 경우의 벡터일 수 있다. 타겟 음원(
Figure PCTKR2023010971-appb-img-000034
)은 혼합 음원인 y로부터 타겟 음원을 분리한 것으로 1XT 벡터 형상의 출력이다.
일 실시예로, 4차원의 입력(v)은 지정된 음원 그룹에 포함된 각각의 음원에 대응한다. 4차원의 입력은 해당 음원를 포함하는 경우에 해당 구성요소를 1로 갖고, 해당 음원을 포함하지 않는 경우에 해당 구성요소를 0으로 가질 수 있다.
일 실시예로, 임베딩 레이어(420)는 제2 사전 학습에서, 지정된 음원 그룹에 포함된 4개의 음원을 각각 대표하도록 각각의 부분 임베딩 벡터를 학습할 수 있다. 예를 들어, 임베딩 레이어(420)는 각각의 음원에 대응하는 입력 [1, 0, 0, 0]T, [0, 1, 0, 0]T, [0, 0, 1, 0]T , [0, 0, 0, 1]T 에 대응하는 부분 임베딩 벡터를 학습할 수 있다.
일 실시예로, 임베딩 레이어(420)에 4차원의 입력(v)이 [1, 1, 1, 1]T 가 입력되는 경우에 출력되는 지정된 제1 임베딩 벡터(e_all)는 부분 임베딩 벡터의 합 벡터일 수 있다.
일 실시예로, 임베딩 레이어(420)는 출력되는 타겟 음원과의 negative SI-SDR을 loss로 학습을 수행할 수 있다. Negative SI-SDR은 하기의 수식으로 산출될 수 있다.
Figure PCTKR2023010971-appb-img-000035
예를 들어, s는 타겟 신호(예: 정답)를 의미하며
Figure PCTKR2023010971-appb-img-000036
는 신경망의 출력을 의미할 수 있다. SI-SDR은 SDR의 변형으로 SDR은 신호와 왜곡의 비율을 log scale로 나타내는 것이며 크기가 클수록 왜곡이 적다. 그러나 신호의 크기 변화에 민감하게 반응하므로, 이를 보정한 metric이 SI-SDR이고, 임베딩 레이어(420)는 SI-SDR에 음의 부호를 붙여 최소화하도록 학습하여 SI-SDR이 최대가 되도록 학습할 수 있다.
도 9a는, 본 개시의 일 실시예에 따른 정제 네트워크(430)의 상세도이다. 도 9b는, 본 개시의 일 실시예에 따른 제3 사전 학습을 위한 정제 네트워크(430)의 개요도이다.
도 9a를 참조하면, 일 실시예로 정제 네트워크(430)는 지정된 음원 그룹의 전체를 나타내는 제1 임베딩 벡터를 장면 정보에 기반하여 타겟 음원을 나타내는 제2 임베딩 벡터로 정제할 수 있다.
일 실시예로, 정제 네트워크(430)는 딥러닝 모델을 학습시킬 때 필요한 정보를 담고 있는 다른 feature의 정보를 딥러닝 모델에 결합하기 위해 쓰이는 Feature-wise Linear Modulation (FiLM)을 이용할 수 있다. 이러한 결합 기법을 conditioning이라고 하며, 딥러닝 모델을 원하는 방향으로 학습시키기 위해 사용될 수 있다. 일 실시예로, 하기의 수식과 같이 정제 네트워크(430)는 FiLM generator(431)에서 출력한 scaling vector(
Figure PCTKR2023010971-appb-img-000037
) 및 shift vector(
Figure PCTKR2023010971-appb-img-000038
)를 사용하여 임베딩 벡터를 정제할 수 있다.
Figure PCTKR2023010971-appb-img-000039
일 실시예로, FiLM는 conditioning하고자하는 feature를 각각의 레이어에 통과시킨 후, 하나는 scaling vector(
Figure PCTKR2023010971-appb-img-000040
)로써 conditioning하고자 하는 부분의 feature에 곱해주고, 다른 하나는 shift vector(
Figure PCTKR2023010971-appb-img-000041
)로써 더해줌으로써 모델의 학습방향을 잡아줄 수 있다. 일 실시예로, FiLM generator(431)는 정제 네트워크(430)를 위한 scaling vector 및 shift vector를 생성해주는 레이어로, fully connected layer, convolutional layer 등 다양한 레이어를 사용할 수 있다.
일 실시예로, 정제 네트워크(430)는 FiLM generator(431)에 장면 정보를 입력하여 출력되는 scaling vector(
Figure PCTKR2023010971-appb-img-000042
) 및 shift vector(
Figure PCTKR2023010971-appb-img-000043
)를 각각 사용하여 제1 임베딩 벡터를 제2 임베딩 벡터로 정제할 수 있다.
도 9b를 참조하면, 일 실시예로 제2 사전 학습에 의해 학습된 임베딩 레이어(420)는 실제의 타겟 음원이 입력되는 경우, 분리 레이어(440)에 입력되는 혼합 음원 중에서 타겟 음원을 분리하도록 타겟 음원에 대응하는 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000044
)를 출력할 수 있다.
일 실시예로, 제2 사전 학습에 의해 학습된 임베딩 레이어(420)는 지정된 음원 그룹에 포함된 전체를 포함하는 타겟 음원이 입력되는 경우, 분리 레이어(440)에서 입력되는 혼합 음원 중 지정된 음원 그룹의 전체에 대응하는 제1 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000045
)를 출력할 수 있다.
일 실시예로, 정제 네트워크(430)는 제1 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000046
) 및 장면 정보(
Figure PCTKR2023010971-appb-img-000047
)의 입력에 의해, 제2 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000048
)를 출력하도록 제3 사전 학습을 수행할 수 있다. 제1 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000049
)는 지정된 음원 그룹에 포함된 타겟 음원의 전체에 대한 임베딩으로, 예시로 128차원의 벡터 형태를 가질 수 있다. 장면 정보(
Figure PCTKR2023010971-appb-img-000050
)는 제1 사전 학습에 의해 학습된 장면 추출기의 출력으로, 예시로 128차원의 벡터 형태를 가질 수 있다. 제2 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000051
)는 특정한 장면 정보(
Figure PCTKR2023010971-appb-img-000052
)에 대응하는 타겟 음원에 대한 임베딩을 나타내며, 예시로 128차원의 벡터 형태를 가질 수 있다.
일 실시예에 따른 제3 사전 학습 과정에 따르면, 제2 사전 학습에 의해 학습된 임베딩 레이어(420)에 타겟 음원이 입력되어 출력되는 타겟 임베딩 벡터(예: 타겟 음원의 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000053
))와, 장면 정보(
Figure PCTKR2023010971-appb-img-000054
)에 기반하여 제1 임베딩 벡터로부터 변환된 제2 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000055
)를 이용하여 정제 네트워크(430)를 학습할 수 있다.
일 실시예에 따른 제3 사전 학습 과정에서, 정제 네트워크(430)는 장면 정보에 기반하여 제1 임베딩 벡터로부터 정제된 제2 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000056
)와 실제의 타겟 음원에 대한 타겟 임베딩 벡터(예: 타겟 음원의 임베딩 벡터(
Figure PCTKR2023010971-appb-img-000057
)) 사이의 MSE를 사용하여 학습을 수행할 수 있다. MSE는 에러의 제곱 평균으로 전반적인 에러를 줄이는 역할을 하는 것으로, 하기의 수식으로 산출될 수 있다.
Figure PCTKR2023010971-appb-img-000058
예를 들어, s는 target signal에 대응하고
Figure PCTKR2023010971-appb-img-000059
는 신경망의 출력에 대응할 수 있다.
도 10은, 본 개시의 일 실시예에 따른, 각각의 장면 정보와 각각의 타겟 음원 사이의 대응에 관한 테이블이다.
도 10을 참조하면, 세로 축은 다양한 장면 정보를 표시한 것이고, 가로 축은 지정된 음원 그룹에 포함된 다양한 타겟 음원을 표시한 것이다. 가로 축 중에서 4개 소스(vehicle_horn_and_car_horn_and_honking, fire alarm, police car 및 speech- child, female, male)는 분리하고자 하는 타겟 음원에 포함된 것일 수 있고, 그 이외(bark, bicycle_bell, bus, car_passing_by, machine gun, motorcyle, subway_and_metro_and_underground, wind 및 walk, footstep은 타겟 음원 이외의 음원일 수 있다.
본 개시의 시스템을 검증하기 위한 실험을 위해 scene background에 해당하는 ASC dataset인 TAU-urban acoustic 2020 mobile(TAU 2020)에 target sound event에 해당하는 FSD50k dataset을 혼합하여 사용하였다. 이 시나리오에서, 음향 장면 정보는 TAU2020에서 device A로 녹음된 data를 사용하였으며, 그 중에서 Bus, Metro, Metro station, Park, 또는 Street traffic을 사용하였다. 또한, sound event data가 noisy하여 분리 성능 저하에 기여할 것을 고려하여, 이를 사전에 정제하여 타겟 음원만 남기어 혼합하였다. Scaper tool을 이용하여 음향 장면과 음원을 혼합하였고, 각 음향 장면에서 음원의 개수는 1~4개 (타겟 음원 1~2개 포함) 포함되고, SNR은 -3 ~ 3 dB이며, Sampling rate는 16kHz로 설정하였다. 각각의 장면별로 train set 10,000개, validation set 2,000개, test set 1,000개를 생성하여 총 train set 50,000개, validation set 10,000 개, test set 5,000 개를 생성하여 학습 및 평가를 수행하였다.
예를 들어, bus의 장면 정보인 경우에, 분리하고자 하는 타겟 음원은 vehicle_horn_and_car_horn_and_honking, police car 및 speech- child, female, male일 수 있다. 예를 들어, metro의 장면 정보인 경우에, 분리하고자 하는 타겟 음원은 fire alarm 및 speech- child, female, male일 수 있다. 예를 들어, metro station의 장면 정보인 경우에, 분리하고자 하는 타겟 음원은 fire alarm 및 speech- child, female, male일 수 있다. 예를 들어, park의 장면 정보인 경우에, 분리하고자 하는 타겟 음원은 speech- child, female, male일 수 있다. 예를 들어, street traffic의 장면 정보인 경우에, 분리하고자 하는 타겟 음원은 vehicle_horn_and_car_horn_and_honking 및 police car일 수 있다.
일 실시예에 따른 분리 레이어는, 입력된 음원 및 제2 임베딩 벡터에 기반하여 타겟 음원을 분리하도록 학습하는 제4 사전 학습 과정을 수행할 수 있다. 예를 들어, 분리 레이어는, 사전 학습한 임베딩 레이어, 장면 추출기 및 정제 네트워크를 통해 지정된 특정 장면에서 발생 가능한 것으로 지정된 음원에 대한 정제된 임베딩을 이용하여 혼합 음원으로부터 타겟 음원을 분리할 수 있다. 제4 사전 학습에서 분리 레이어는 다른 시스템 구성들과 함께 joint training을 통해 학습할 수 있다. 예를 들어, 분리 레이어의 제4 사전 학습 과정을 위한 입력으로는 혼합 음원 입력을 사용하였고 타겟 음원과의 negative SI-SDR을 loss로 학습을 수행할 수 있다.
일 실시예에 따른 음향 분리 시스템은 실제 타겟 음원 존재구간에서의 SI-SDR 향상치에 해당하는 segmental SI-SDRi를 이용하여 측정할 수 있다. 비교 평가에 사용한 방법은 제안하는 방법에서 장면에 따른 정제를 배제한 알고리즘이며 기존 기법인 Sound selector의 멀티 sound 추출 방법과 유사한 형태를 나타낼 수 있다. 하기의 [표 1]은 본 개시의 제안하는 방법과 대조군의 음향학적 장면별 분리성능 비교 결과를 나타낸다. [표 1]을 참조하면, 각 장면별로 약간씩 차이는 있으나 전체 평균에서 약간 높은 성능을 보인다.
Segmental SI-SDRi (dB)
Bus Metro Metro
station
Park Street traffic Average
제안하는 방법 15.33 13.75 12.21 11.83 9.6 12.54
대조군 15.34 15.55 11.87 11.16 10.09 12.40
또한, [표 2]에서는 분리 레이어를 joint training하는 과정에서 해당 레이어를 랜덤으로 초기화한 파라미터로 학습하는 것이 아닌, 제2 사전 학습에 의한 임베딩 레이어를 사용하여 joint training(예: 제4 사전 학습 과정) 하였을 때의 결과를 비교하였다. 모든 장면에서 사전 학습된 분리 레이어를 사용하는 것이 성능의 향상을 가져올 수 있다.
Segmental SI-SDRi (dB)
Bus Metro Metro
station
Park Street traffic Average
Baseline 15.33 13.75 12.21 11.83 9.6 12.54
사전학습된 분리 레이어 15.39 14.45 12.82 12.04 10.22 12.98
[표 3]은, 학습단계에서 모델에 condition을 주는 형태에 따른 성능을 비교한 것이다. Baseline은 제2 사전 학습과 제4 사전 학습에서 모든 분리 레이어에 condition을 준 모델(12회/12회)이고, Method 1과 Method 2는 종래기술에서 단일 지점에 condition을 주는 것에 기반하여 수정한 모델이며, 예를 들어, Method 1은 제2 사전 학습에서는 모든 레이어에 condition을 주고 제4 사전 학습에서는 단일 지점에서 condition을 준 모델(12회/1회)이고, Method 2는 제2 사전 학습과 제4 사전 학습에서 모두 단일 지점에 condition을 주고 학습한 모델(1회/1회)이다.
Segmental SI-SDRi (dB)
Bus Metro Metro
station
Park Street traffic Average
Baseline 15.33 13.75 12.21 11.83 9.6 12.54
Method 1 16.16 15.13 13.44 11.81 10.34 13.38
Method 2 15.55 14.27 13.01 11.36 9.83 12.81
상기 결과로 제4 사전 학습에서 단일 지점 conditioning은 성능에 유의미한 상승을 가져오며, 제2 사전 학습에서의 단일 지점 conditioning은 다소 성능의 저하를 가져오나 baseline보다는 좋은 성능을 보이는 것을 확인할 수 있다. 따라서, 본 개시의 일 실시예에 따른 타겟 음원을 분리하는 방법에 따르면, 장면의 전환에 따라 분리하는 소리를 선택하여 특정 장면에서 청자가 원하는 소리를 정확하게 분리하여 들을 수 있다.본 개시의 일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)은, 적어도 하나 이상의 음원이 포함된 혼합 음원을 획득하는 동작(360)을 포함할 수 있다. 일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)은, 상기 혼합 음원에 기반하여, 상기 혼합 음원과 관련한 장면 정보를 획득하는 동작(370)을 포함할 수 있다. 일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)은, 상기 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작(380)을 포함할 수 있다. 일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)은, 상기 혼합 음원 및 상기 제2 임베딩 벡터에 기반하여, 상기 혼합 음원으로부터 상기 타겟 음원을 분리하는 동작(390)을 포함할 수 있다.
일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)은, 입력된 음원의 획득에 기반한 장면 정보 벡터를 학습하는 제1 사전 학습 과정을 수행하는 동작(320)을 더 포함할 수 있다. 일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)에서, 상기 장면 정보를 획득하는 동작(370)은, 상기 혼합 음원에 기반하여 상기 장면 정보 벡터를 출력하는 동작을 포함할 수 있다.
일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)에서, 상기 제1 사전 학습 과정을 수행하는 동작(320)은, 상기 입력된 음원의 획득에 기반하여 상기 장면 정보 벡터를 출력하는 동작, 및 상기 출력한 장면 정보 벡터를 기반으로 지정된 장면을 분류하도록 학습하는 동작을 포함할 수 있다.
일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)에서, 상기 장면 정보를 획득하는 동작(370)은, 상기 혼합 음원에 기반하여 상기 장면 정보에 대응하는 instance vector를 생성하는 동작을 포함할 수 있다.
일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)에서, 상기 제1 임베딩 벡터는, 상기 지정된 음원 그룹의 전체에 대응할 수 있다. 일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)에서, 상기 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작(380)은, 상기 장면 정보에 기반하여 제1 임베딩 벡터를 상기 지정된 음원 그룹의 적어도 일부에 대응하는 상기 제2 임베딩 벡터로 변환할 수 있다.
일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)은, 부분 임베딩 벡터를 학습하는 제2 사전 학습 과정을 수행하는 동작(330)을 더 포함할 수 있고, 상기 부분 임베딩 벡터의 각각은 상기 지정된 음원 그룹에 포함된 각각의 음원에 대응한다. 일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)에서, 상기 제1 임베딩 벡터는, 상기 부분 임베딩 벡터의 합 벡터일 수 있다.
일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)에서, 상기 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작(380)은, 상기 장면 정보에 대응하는 상기 지정된 음원 그룹에 포함된 상기 타겟 음원을 확인하는 동작, 및 상기 제1 임베딩 벡터를 상기 타겟 음원에 대응하도록 상기 제2 임베딩 벡터로 변환하는 동작을 포함할 수 있다.
일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)에서, 상기 지정된 음원 그룹에는, 상기 장면 정보에 대응하도록 지정된 상기 타겟 음원이 적어도 하나 이상 포함될 수 있다.
일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)은, 특정 장면 정보 및 상기 특정 장면 정보에 대응하는 특정 타겟 음원 사이의 임베딩 벡터를 기반으로, 상기 제1 임베딩 벡터로부터 상기 제2 임베딩 벡터로의 변환을 학습하는 제3 사전 학습 과정을 수행하는 동작(340)을 더 포함할 수 있다.
일 실시예에 따른 타겟 음원을 분리하는 방법(300a, 300b)에서, 상기 타겟 음원을 분리하는 동작(390)은, 상기 혼합 음원에 상기 제2 임베딩 벡터를 적용하여, 상기 혼합 음원과 동일한 크기의 벡터 형태를 갖는 상기 타겟 음원을 생성하는 동작을 포함할 수 있다.
본 개시의 일 실시예에 따른 전자 장치(101; 200)는, 입력 인터페이스(220), 적어도 하나의 인스트럭션을 저장하는 메모리(230), 및 상기 입력 인터페이스(220) 및 상기 메모리(230)와 동작적으로 연결된 적어도 하나의 프로세서(210)를 포함할 수 있다. 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 입력 인터페이스(220)로부터 적어도 하나 이상의 음원이 포함된 혼합 음원을 획득하도록 설정될 수 있다. 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 혼합 음원에 기반하여, 상기 혼합 음원과 관련한 장면 정보를 획득하도록 설정될 수 있다. 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하도록 설정될 수 있다. 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 혼합 음원 및 상기 제2 임베딩 벡터에 기반하여, 상기 혼합 음원으로부터 타겟 음원을 분리하도록 설정될 수 있다.
일 실시예에 따른 전자 장치(101; 200)에서, 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 입력된 음원의 획득에 기반한 장면 정보 벡터를 학습하는 제1 사전 학습 과정을 수행하도록 더 설정될 수 있다. 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 장면 정보를 획득하는 동작의 적어도 일부는, 상기 혼합 음원에 기반하여 상기 장면 정보 벡터를 출력하도록 더 설정될 수 있다.
일 실시예에 따른 전자 장치(101; 200)에서, 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 제1 사전 학습 과정을 수행하는 동작의 적어도 일부로, 상기 입력된 음원의 획득에 기반하여 상기 장면 정보 벡터를 출력하고, 상기 출력한 장면 정보 벡터를 기반으로 지정된 장면을 분류하도록 학습하도록 더 설정될 수 있다.
일 실시예에 따른 전자 장치(101; 200)에서, 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 장면 정보를 획득하는 동작의 적어도 일부로, 상기 혼합 음원에 기반하여 상기 장면 정보에 대응하는 instance vector를 생성하도록 더 설정될 수 있다.
일 실시예에 따른 전자 장치(101; 200)에서, 상기 제1 임베딩 벡터는, 상기 지정된 음원 그룹의 전체에 대응할 수 있다. 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작의 적어도 일부로, 상기 장면 정보에 기반하여 제1 임베딩 벡터를 상기 지정된 음원 그룹의 적어도 일부에 대응하는 상기 제2 임베딩 벡터로 변환하도록 더 설정될 수 있다.
일 실시예에 따른 전자 장치(101; 200)에서, 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 부분 임베딩 벡터를 학습하는 제2 사전 학습 과정을 수행하도록 더 설정될 수 있고, 상기 부분 임베딩 벡터의 각각은 상기 지정된 음원 그룹에 포함된 각각의 음원에 대응한다. 상기 제1 임베딩 벡터는, 상기 부분 임베딩 벡터의 합 벡터일 수 있다.
일 실시예에 따른 전자 장치(101; 200)에서, 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작의 적어도 일부로, 상기 장면 정보에 대응하는 상기 지정된 음원 그룹에 포함된 상기 타겟 음원을 확인하고, 상기 제1 임베딩 벡터를 상기 타겟 음원에 대응하도록 상기 제2 임베딩 벡터로 변환하도록 설정될 수 있다.
일 실시예에 따른 전자 장치(101; 200)에서, 상기 지정된 음원 그룹에는, 상기 장면 정보에 대응하도록 지정된 상기 타겟 음원이 적어도 하나 이상 포함될 수 있다.
일 실시예에 따른 전자 장치(101; 200)에서, 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 특정 장면 정보 및 상기 특정 장면 정보에 대응하는 특정 타겟 음원 사이의 임베딩 벡터를 기반으로, 상기 제1 임베딩 벡터로부터 상기 제2 임베딩 벡터로의 변환을 학습하는 제3 사전 학습 과정을 수행하도록 더 설정될 수 있다.
일 실시예에 따른 전자 장치(101; 200)에서, 상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여, 상기 타겟 음원을 분리하는 동작의 적어도 일부로, 상기 혼합 음원에 상기 제2 임베딩 벡터를 적용하여, 상기 혼합 음원과 동일한 크기의 벡터 형태를 갖는 상기 타겟 음원을 생성하도록 더 설정될 수 있다.
본 개시의 일 실시예에 따른 하나 이상의 프로그램을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체는, 어플리케이션의 실행에 기반하여, 적어도 하나 이상의 음원이 포함된 혼합 음원을 획득하는 동작을 포함할 수 있다. 저장 매체는, 상기 혼합 음원에 기반하여, 상기 혼합 음원과 관련한 장면 정보를 획득하는 동작을 포함할 수 있다. 저장 매체는, 상기 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작을 포함할 수 있다. 저장 매체는, 상기 혼합 음원 및 상기 제2 임베딩 벡터에 기반하여, 상기 혼합 음원으로부터 상기 타겟 음원을 분리하는 동작을 포함할 수 있다.

Claims (15)

  1. 타겟 음원을 분리하는 방법(300a, 300b)에 있어서,
    적어도 하나 이상의 음원이 포함된 혼합 음원을 획득하는 동작(360);
    상기 혼합 음원에 기반하여, 상기 혼합 음원과 관련한 장면 정보를 획득하는 동작(370);
    상기 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작(380); 및
    상기 혼합 음원 및 상기 제2 임베딩 벡터에 기반하여, 상기 혼합 음원으로부터 상기 타겟 음원을 분리하는 동작(390)을 포함하는,
    타겟 음원을 분리하는 방법(300a, 300b).
  2. 제 1 항에 있어서,
    입력된 음원의 획득에 기반한 장면 정보 벡터를 학습하는 제1 사전 학습 과정을 수행하는 동작(320)을 더 포함하고,
    상기 장면 정보를 획득하는 동작(370)은, 상기 혼합 음원에 기반하여 상기 장면 정보 벡터를 출력하는 동작을 포함하는,
    타겟 음원을 분리하는 방법(300a, 300b).
  3. 제 1 항 내지 제 2 항 중 어느 하나의 항에 있어서,
    부분 임베딩 벡터를 학습하는 제2 사전 학습 과정을 수행하는 동작(330)을 더 포함하고, 상기 부분 임베딩 벡터의 각각은 상기 지정된 음원 그룹에 포함된 각각의 음원에 대응됨,
    상기 제1 임베딩 벡터는, 상기 부분 임베딩 벡터의 합 벡터인,
    타겟 음원을 분리하는 방법(300a, 300b).
  4. 제 3 항에 있어서,
    상기 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작(380)은:
    상기 장면 정보에 대응하는 상기 지정된 음원 그룹에 포함된 상기 타겟 음원을 확인하는 동작; 및
    상기 제1 임베딩 벡터를 상기 타겟 음원에 대응하도록 상기 제2 임베딩 벡터로 변환하는 동작을 포함하는,
    타겟 음원을 분리하는 방법(300a, 300b).
  5. 제 1 항 내지 제 4 항 중 어느 하나의 항에 있어서,
    특정 장면 정보 및 상기 특정 장면 정보에 대응하는 특정 타겟 음원 사이의 임베딩 벡터를 기반으로, 상기 제1 임베딩 벡터로부터 상기 제2 임베딩 벡터로의 변환을 학습하는 제3 사전 학습 과정을 수행하는 동작(340)을 더 포함하는,
    타겟 음원을 분리하는 방법(300a, 300b).
  6. 전자 장치(101; 200)에 있어서,
    입력 인터페이스(220);
    적어도 하나의 인스트럭션을 저장하는 메모리(230); 및
    상기 입력 인터페이스(220) 및 상기 메모리(230)와 동작적으로 연결된 적어도 하나의 프로세서(210)를 포함하고,
    상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여:
    상기 입력 인터페이스(220)로부터 적어도 하나 이상의 음원이 포함된 혼합 음원을 획득하고,
    상기 혼합 음원에 기반하여, 상기 혼합 음원과 관련한 장면 정보를 획득하고,
    상기 장면 정보에 기반하여, 지정된 음원 그룹에 대응하는 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하고,
    상기 혼합 음원 및 상기 제2 임베딩 벡터에 기반하여, 상기 혼합 음원으로부터 타겟 음원을 분리하도록 설정된,
    전자 장치(101; 200).
  7. 제 6 항에 있어서,
    상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여:
    입력된 음원의 획득에 기반한 장면 정보 벡터를 학습하는 제1 사전 학습 과정을 수행하고,
    상기 장면 정보를 획득하는 동작의 적어도 일부는, 상기 혼합 음원에 기반하여 상기 장면 정보 벡터를 출력하도록 더 설정된,
    전자 장치(101; 200).
  8. 제 7 항에 있어서,
    상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여:
    상기 제1 사전 학습 과정을 수행하는 동작의 적어도 일부로, 상기 입력된 음원에 기반하여 상기 장면 정보 벡터를 출력하고, 상기 출력한 장면 정보 벡터를 기반으로 지정된 장면을 분류하도록 학습하도록 더 설정된,
    전자 장치(101; 200).
  9. 제 6 항 내지 제 8 항 중 어느 하나의 항에 있어서,
    상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여:
    상기 장면 정보를 획득하는 동작의 적어도 일부로, 상기 혼합 음원에 기반하여 상기 장면 정보에 대응하는 instance vector를 생성하도록 더 설정된,
    전자 장치(101; 200).
  10. 제 6 항 내지 제 9 항 중 어느 하나의 항에 있어서,
    상기 제1 임베딩 벡터는, 상기 지정된 음원 그룹의 전체에 대응하고,
    상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여:
    상기 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작의 적어도 일부로, 상기 장면 정보에 기반하여 제1 임베딩 벡터를 상기 지정된 음원 그룹의 적어도 일부에 대응하는 상기 제2 임베딩 벡터로 변환하도록 더 설정된,
    전자 장치(101; 200).
  11. 제 6 항 내지 제 10 항 중 어느 하나의 항에 있어서,
    상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여:
    부분 임베딩 벡터를 학습하는 제2 사전 학습 과정을 수행하도록 더 설정되고, 상기 부분 임베딩 벡터의 각각은 상기 지정된 음원 그룹에 포함된 각각의 음원에 대응됨,
    상기 제1 임베딩 벡터는, 상기 부분 임베딩 벡터의 합 벡터인,
    전자 장치(101; 200).
  12. 제 11 항에 있어서,
    상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여:
    상기 제1 임베딩 벡터를 제2 임베딩 벡터로 변환하는 동작의 적어도 일부로, 상기 장면 정보에 대응하는 상기 지정된 음원 그룹에 포함된 상기 타겟 음원을 확인하고, 상기 제1 임베딩 벡터를 상기 타겟 음원에 대응하도록 상기 제2 임베딩 벡터로 변환하도록 설정된,
    전자 장치(101; 200).
  13. 제 6 항 내지 제 12 항 중 어느 하나의 항에 있어서,
    상기 지정된 음원 그룹에는, 상기 장면 정보에 대응하도록 지정된 상기 타겟 음원이 적어도 하나 이상 포함된,
    전자 장치(101; 200).
  14. 제 6 항 내지 제 13 항 중 어느 하나의 항에 있어서,
    상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여:
    특정 장면 정보 및 상기 특정 장면 정보에 대응하는 특정 타겟 음원 사이의 임베딩 벡터를 기반으로, 상기 제1 임베딩 벡터로부터 상기 제2 임베딩 벡터로의 변환을 학습하는 제3 사전 학습 과정을 수행하도록 더 설정된,
    전자 장치(101; 200).
  15. 제 6 항 내지 제 14 항 중 어느 하나의 항에 있어서,
    상기 적어도 하나의 프로세서(210)는 상기 적어도 하나의 인스트럭션을 실행하여:
    상기 타겟 음원을 분리하는 동작의 적어도 일부로, 상기 혼합 음원에 상기 제2 임베딩 벡터를 적용하여, 상기 혼합 음원과 동일한 크기의 벡터 형태를 갖는 상기 타겟 음원을 생성하도록 더 설정된,
    전자 장치(101; 200).
PCT/KR2023/010971 2022-08-18 2023-07-27 혼합 음원으로부터 타겟 음원을 분리하는 방법 및 그 전자 장치 WO2024039102A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/235,664 US20240062773A1 (en) 2022-08-18 2023-08-18 Method for separating target sound source from mixed sound source and electronic device thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220103538 2022-08-18
KR10-2022-0103538 2022-08-18
KR1020220125096A KR20240025427A (ko) 2022-08-18 2022-09-30 혼합 음원으로부터 타겟 음원을 분리하는 방법 및 그 전자 장치
KR10-2022-0125096 2022-09-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/235,664 Continuation US20240062773A1 (en) 2022-08-18 2023-08-18 Method for separating target sound source from mixed sound source and electronic device thereof

Publications (1)

Publication Number Publication Date
WO2024039102A1 true WO2024039102A1 (ko) 2024-02-22

Family

ID=89941843

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/010971 WO2024039102A1 (ko) 2022-08-18 2023-07-27 혼합 음원으로부터 타겟 음원을 분리하는 방법 및 그 전자 장치

Country Status (1)

Country Link
WO (1) WO2024039102A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667691A (ja) * 1992-08-18 1994-03-11 Nec Corp 雑音除去装置
JP2000330587A (ja) * 1999-05-21 2000-11-30 Nec Corp 音声認識方法および装置
KR20030016925A (ko) * 2001-08-23 2003-03-03 삼성전자주식회사 음성 신호 보상 방법 및 그 장치
KR101620866B1 (ko) * 2014-12-17 2016-05-13 서울대학교산학협력단 학습 기법을 적용한 사전 학습 알고리즘 기반의 음원 분리 방법
KR102410850B1 (ko) * 2020-08-18 2022-06-20 부산대학교 산학협력단 잔향 제거 오토 인코더를 이용한 잔향 환경 임베딩 추출 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667691A (ja) * 1992-08-18 1994-03-11 Nec Corp 雑音除去装置
JP2000330587A (ja) * 1999-05-21 2000-11-30 Nec Corp 音声認識方法および装置
KR20030016925A (ko) * 2001-08-23 2003-03-03 삼성전자주식회사 음성 신호 보상 방법 및 그 장치
KR101620866B1 (ko) * 2014-12-17 2016-05-13 서울대학교산학협력단 학습 기법을 적용한 사전 학습 알고리즘 기반의 음원 분리 방법
KR102410850B1 (ko) * 2020-08-18 2022-06-20 부산대학교 산학협력단 잔향 제거 오토 인코더를 이용한 잔향 환경 임베딩 추출 방법 및 장치

Similar Documents

Publication Publication Date Title
US20210142127A1 (en) Artificial intelligence apparatus and method for recognizing object included in image data
WO2022055068A1 (ko) 음성에 포함된 커맨드를 확인하는 전자 장치와 이의 동작 방법
WO2022019538A1 (ko) 언어 모델 및 이를 포함하는 전자 장치
WO2020130260A1 (en) Mobile terminal and method of operating the same
CN114141230A (zh) 电子设备及其语音识别方法和介质
CN113539290B (zh) 语音降噪方法和装置
WO2020141641A1 (ko) 수면 유도 장치
WO2024039102A1 (ko) 혼합 음원으로부터 타겟 음원을 분리하는 방법 및 그 전자 장치
WO2022080634A1 (ko) 인공 신경망 학습 방법 및 이를 지원하는 전자 장치
WO2022211271A1 (ko) 학습 기반의 필기 입력을 처리하는 전자 장치, 그 동작 방법 및 저장매체
WO2021096281A1 (en) Voice input processing method and electronic device supporting same
KR20240025427A (ko) 혼합 음원으로부터 타겟 음원을 분리하는 방법 및 그 전자 장치
US20240062773A1 (en) Method for separating target sound source from mixed sound source and electronic device thereof
WO2021261882A1 (ko) 전자 장치 및 전자 장치에서 신조어 기반 문장 변환 방법
WO2024029850A1 (ko) 언어 모델에 기초하여 사용자 발화를 처리하는 방법 및 전자 장치
WO2023090747A1 (ko) 사용자가 의도한 순간의 이미지를 획득하는 전자 장치 및 이의 제어 방법
WO2024029875A1 (ko) 전자 장치, 지능형 서버, 및 화자 적응형 음성 인식 방법
WO2024029827A1 (ko) 제어 추천을 위한 전자 장치 및 컴퓨터 판독가능 저장 매체
WO2022231126A1 (ko) 전자 장치 및 전자 장치의 프로소디 제어를 위한 tts 모델 생성 방법
WO2024071921A1 (ko) 인공지능과 음성 인식을 기반으로 동작하는 전자 장치 및 이의 제어 방법
WO2023163270A1 (ko) 개인화 자동 음성 인식 모델을 생성하는 전자 장치 및 그 방법
WO2021246645A1 (ko) 이미지 처리 알고리즘의 최적화 방법 및 이를 구비한 전자 장치
WO2023277585A1 (ko) 신경망을 통해 이미지를 처리하는 방법 및 그 전자 장치
WO2023054957A1 (ko) 영상을 제공하는 방법 및 이를 지원하는 전자 장치
WO2024058597A1 (ko) 전자 장치 및 사용자 발화 처리 방법

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: 23855072

Country of ref document: EP

Kind code of ref document: A1