KR102281676B1 - Audio classification method based on neural network for waveform input and analyzing apparatus - Google Patents

Audio classification method based on neural network for waveform input and analyzing apparatus Download PDF

Info

Publication number
KR102281676B1
KR102281676B1 KR1020190130087A KR20190130087A KR102281676B1 KR 102281676 B1 KR102281676 B1 KR 102281676B1 KR 1020190130087 A KR1020190130087 A KR 1020190130087A KR 20190130087 A KR20190130087 A KR 20190130087A KR 102281676 B1 KR102281676 B1 KR 102281676B1
Authority
KR
South Korea
Prior art keywords
layer
sound source
convolution
neural network
network model
Prior art date
Application number
KR1020190130087A
Other languages
Korean (ko)
Other versions
KR20210046416A (en
Inventor
남주한
이종필
김태준
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020190130087A priority Critical patent/KR102281676B1/en
Publication of KR20210046416A publication Critical patent/KR20210046416A/en
Application granted granted Critical
Publication of KR102281676B1 publication Critical patent/KR102281676B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/15Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being formant information

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법은 분석장치가 파형 형태의 음원 신호를 입력받는 단계, 상기 분석장치가 상기 음원 신호를 신경망 모델에 입력하는 단계 및 상기 분석장치가 상기 신경망 모델이 출력하는 정보를 기준으로 상기 음원 신호를 분류하는 단계를 포함한다. 상기 신경망 모델은 복수의 컨볼루션(convolution) 블록을 포함하고, 상기 컨볼루션 블록은 1차원 컨볼루션 계층 및 풀링 계층을 포함하고, 상기 컨볼루션 계층에서 필터의 크기는 2 샘플 또는 3 샘플 크기이다.A sound source classification method based on a neural network model for analyzing a waveform sound source signal includes the steps of: an analyzing device receiving a sound source signal in a waveform form, the analyzing device inputting the sound source signal to a neural network model, and the analyzing device using the neural network model and classifying the sound source signal based on the output information. The neural network model includes a plurality of convolution blocks, the convolution blocks include a one-dimensional convolutional layer and a pooling layer, and the size of a filter in the convolutional layer is 2 samples or 3 samples.

Description

파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법 및 분석장치{AUDIO CLASSIFICATION METHOD BASED ON NEURAL NETWORK FOR WAVEFORM INPUT AND ANALYZING APPARATUS}A sound source classification method and analysis device based on a neural network model that analyzes a waveform sound source signal {AUDIO CLASSIFICATION METHOD BASED ON NEURAL NETWORK FOR WAVEFORM INPUT AND ANALYZING APPARATUS}

이하 설명하는 기술은 파형 음원 신호를 직접 분류하는 기술에 관한 것이다.The technology to be described below relates to a technology for directly classifying a waveform sound source signal.

음악 정보 검색(music information retrieval, MIR)은 음원(음악) 신호에서 일정한 정보를 추출하고, 분석하는 기술 분야이다. MIR 시스템은 통상적으로 시간 도메인 신호인 음원 신호를 주파수 도메인 신호를 변경하고, 주파수 도메인 신호를 분석한다. 예컨대, MIR 시스템은 음원 신호를 주파수 영역의 로그값 표현인 멜-스펙트로그램(mel-spectrograms)과 같은 신호로 변경하여 분석할 수 있다. 한편, 최근 인공신경망 모델을 이용한 음원 신호 분석 기법이 활발하게 연구되고 있다. Music information retrieval (MIR) is a technical field for extracting and analyzing certain information from a sound source (music) signal. The MIR system converts a frequency domain signal into a sound source signal, which is typically a time domain signal, and analyzes the frequency domain signal. For example, the MIR system can analyze the sound source signal by changing it into a signal such as mel-spectrograms, which are logarithmic values of the frequency domain. Meanwhile, a sound source signal analysis technique using an artificial neural network model is being actively studied.

S. Dieleman and B. Schrauwen, "End-to-end learning for music audio," in Proc. Int. Conf. Acoust., Speech, Signal Process., 2014, pp. 6964-6968.S. Dieleman and B. Schrauwen, "End-to-end learning for music audio," in Proc. Int. Conf. Acoust., Speech, Signal Process., 2014, pp. 6964-6968.

인공신경망 모델은 대부분 주파수 도메인의 음원 신호를 분석하여, 음원을 분류한다. 따라서, 종래 기술은 최초 음원을 주파수 도메인으로 변경하는 과정이 필수적이다. 이하 설명하는 기술은 음원 신호의 원시적인 파형 신호(raw waveform)를 직접 분석하여 음원을 분류하는 기법을 제공하고자 한다.Most artificial neural network models classify sound sources by analyzing sound source signals in the frequency domain. Therefore, in the prior art, it is essential to change the initial sound source to the frequency domain. The technology to be described below is intended to provide a technique for classifying a sound source by directly analyzing a raw waveform of the sound source signal.

파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법은 분석장치가 파형 형태의 음원 신호를 입력받는 단계, 상기 분석장치가 상기 음원 신호를 신경망 모델에 입력하는 단계 및 상기 분석장치가 상기 신경망 모델이 출력하는 정보를 기준으로 상기 음원 신호를 분류하는 단계를 포함한다. 상기 신경망 모델은 복수의 컨볼루션(convolution) 블록을 포함하고, 상기 컨볼루션 블록은 1차원 컨볼루션 계층 및 풀링 계층을 포함하고, 상기 컨볼루션 계층에서 필터의 크기는 2 샘플 또는 3 샘플 크기이다.A sound source classification method based on a neural network model for analyzing a waveform sound source signal includes the steps of: an analyzing device receiving a sound source signal in a waveform form, the analyzing device inputting the sound source signal to a neural network model, and the analyzing device using the neural network model and classifying the sound source signal based on the output information. The neural network model includes a plurality of convolution blocks, the convolution blocks include a one-dimensional convolutional layer and a pooling layer, and the size of a filter in the convolutional layer is 2 samples or 3 samples.

파형 음원 신호를 분석하는 신경망 모델을 이용하는 음원 분석장치는 파형 형태의 음원 신호를 입력받는 입력장치, 음원 신호를 분석하는 신경망 모델을 저장하는 저장장치 및 상기 음원 신호를 상기 신경망 모델에 입력하고, 상기 신경망 모델이 출력하는 정보를 기준으로 상기 음원 신호를 분류하는 연산장치를 포함한다. 상기 신경망 모델은 복수의 컨볼루션(convolution) 블록을 포함하고, 상기 컨볼루션 블록은 1차원 컨볼루션 계층 및 풀링 계층을 포함하고, 상기 컨볼루션 계층에서 필터의 크기는 2 샘플 또는 3 샘플 크기이다.A sound source analysis device using a neural network model for analyzing a waveform sound source signal is an input device for receiving a sound source signal in a waveform form, a storage device for storing a neural network model for analyzing a sound source signal, and inputs the sound source signal to the neural network model, and an arithmetic unit for classifying the sound source signal based on information output by the neural network model. The neural network model includes a plurality of convolution blocks, the convolution blocks include a one-dimensional convolutional layer and a pooling layer, and the size of a filter in the convolutional layer is 2 samples or 3 samples.

이하 설명하는 기술은 짧은 샘플을 처리하는 신경망 모델을 이용하여, 파형 음원 신호를 효과적으로 분류한다. 나아가, 이하 설명하는 기술은 효과적인 구조를 보강한 확장된 신경망 모델을 사용하여 음원 신호를 분류한다.The technique to be described below effectively classifies a waveform sound source signal by using a neural network model that processes short samples. Furthermore, the technique to be described below classifies the sound source signal using an extended neural network model with an effective structure reinforced.

도 1은 음원 분류 시스템에 대한 예이다.
도 2는 일반적인 CNN에 대한 예이다.
도 3은 음원을 분류하는 신경망 모델에 대한 예이다.
도 4는 샘플 CNN의 입력단 영역의 구조에 대한 예이다.
도 5는 음원 분류하는 신경망 모델의 블록에 대한 예이다.
도 6은 스펙트로그램 기반 CNN과 샘플 CNN의 성능을 비교한 결과이다.
도 7은 컨볼루션 블록에 대한 성능 평가 결과이다.
도 8은 음원 분석장치에 대한 예이다.
1 is an example of a sound source classification system.
2 is an example of a general CNN.
3 is an example of a neural network model for classifying a sound source.
4 is an example of the structure of an input region of a sample CNN.
5 is an example of a block of a neural network model for classifying a sound source.
6 is a result of comparing the performance of a spectrogram-based CNN and a sample CNN.
7 is a performance evaluation result for a convolution block.
8 is an example of a sound source analysis device.

이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The technology to be described below may have various changes and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the technology described below to specific embodiments, and it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the technology described below.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components are not limited by the above terms, and only for the purpose of distinguishing one component from other components. used only as For example, a first component may be named as a second component, and similarly, a second component may also be referred to as a first component without departing from the scope of the technology to be described below. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.In terms of the terms used herein, the singular expression should be understood to include a plural expression unless the context clearly dictates otherwise, and terms such as "comprises" refer to the described feature, number, step, operation, and element. , parts or combinations thereof are to be understood, but not to exclude the possibility of the presence or addition of one or more other features or numbers, step operation components, parts or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Prior to a detailed description of the drawings, it is intended to clarify that the classification of the constituent parts in the present specification is merely a division according to the main function that each constituent unit is responsible for. That is, two or more components to be described below may be combined into one component, or one component may be divided into two or more for each more subdivided function. In addition, each of the constituent units to be described below may additionally perform some or all of the functions of the other constituent units in addition to the main function it is responsible for, and may additionally perform some or all of the functions of the other constituent units. Of course, it may be carried out by being dedicated to it.

또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in performing the method or the method of operation, each process constituting the method may occur differently from the specified order unless a specific order is clearly described in context. That is, each process may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

이하 설명하는 기술은 음원을 분류하는 기술이다.A technique to be described below is a technique for classifying a sound source.

음원 또는 음원 신호는 기본적으로 파형 신호를 의미한다. 이하 설명하는 기술은 파형 형태의 음원 신호 자체를 분석한다. 음원은 다양한 형태의 소리 데이터이다. 예컨대, 음원은 음악(music), 음성(speech) 및 음향 장면 사운드(acoustic scene sound) 등을 포함하는 의미이다. The sound source or sound source signal basically means a waveform signal. The technology to be described below analyzes the sound source signal itself in the form of a waveform. A sound source is sound data in various forms. For example, the sound source includes music, speech, and acoustic scene sound.

분류는 음원의 특징을 기준으로 음원의 내용을 인식하거나, 음원의 종류를 결정하는 과정을 의미한다. 예컨대, 음원 분류는 음악의 장르 결정, 사람의 발성에서 특정 키워드 검색, 특정 소리가 발생하는 환경 분류, 음원에서 특정 이벤트 발생 인지 등과 같은 작업 중 어느 하나를 의미할 수 있다.Classification refers to the process of recognizing the content of a sound source or determining the type of sound source based on the characteristics of the sound source. For example, the sound source classification may refer to any one of tasks such as determining a genre of music, searching for a specific keyword in a human voice, classifying an environment in which a specific sound is generated, and recognizing that a specific event occurs in a sound source.

이하 설명하는 기계 학습 모델로 음원을 분류하는 기술이다. It is a technology for classifying sound sources with a machine learning model to be described below.

기계 학습(machine learning)은 인공 지능의 한 분야로, 컴퓨터가 학습할 수 있도록 알고리즘을 개발하는 분야를 의미한다. 기계학습모델 또는 학습모델은 컴퓨터가 학습할 수 있도록 개발된 모델을 의미한다. 학습모델은 접근 방법에 따라 인공신경망, 결정 트리 등과 같은 다양한 유형의 모델이 있다.Machine learning is a field of artificial intelligence and refers to the field of developing algorithms so that computers can learn. A machine learning model or learning model refers to a model developed so that a computer can learn. There are various types of learning models, such as artificial neural networks and decision trees, depending on the approach.

이하 설명하는 기술은 신경망 모델을 이용하여 음원을 분류한다. 신경망 모델은 RNN(Recurrent Neural Networks), FFNN(feedforward neural network), CNN(convolutional neural network) 등 다양한 모델이 사용될 수 있다. 음원을 분류하는 신경망은 다양한 유형 중 하나일 수도 있다. 다만, 이하 설명의 편의를 위하여 CNN 모델을 중심으로 설명하고자 한다.The technology to be described below classifies a sound source using a neural network model. As the neural network model, various models such as Recurrent Neural Networks (RNN), feedforward neural network (FFNN), and convolutional neural network (CNN) may be used. The neural network that classifies the sound source may be one of various types. However, for the convenience of the description below, the CNN model will be mainly described.

분석장치 내지 음원 분석장치는 음원을 분석하고 분류하는 장치이다. 분석장치는 일정한 데이터처리가 가능한 컴퓨팅 장치를 의미한다. 분석장치는 PC, 스마트 기기, 네트워크의 서버, 음원 처리 전용 칩셋 등 다양한 형태로 구현될 수 있다.The analyzer or sound source analyzer is a device for analyzing and classifying sound sources. The analysis device refers to a computing device capable of certain data processing. The analysis device may be implemented in various forms, such as a PC, a smart device, a server in a network, and a chipset dedicated to sound processing.

도 1은 음원 분류 시스템에 대한 예이다. 도 1은 3가지 유형의 시스템 내지 장치를 도시한다. 분석장치가 음원을 분류하는 주체이다. 분석장치는 파형 음원 신호를 기준으로 해당 음원을 분류한다. 도 1에서 분석장치는 분석 서버(110, 210) 및 스마트 기기(300)의 형태로 도시하였다.1 is an example of a sound source classification system. 1 shows three types of systems or devices. The analysis device is the subject that classifies the sound source. The analysis device classifies the corresponding sound source based on the waveform sound source signal. In FIG. 1 , the analysis device is illustrated in the form of analysis servers 110 and 210 and a smart device 300 .

도 1(A)는 분석 서버(110) 및 음원 데이터베이스(120)를 포함하는 시스템(100)에 대한 예이다. 음원 데이터베이스(120)는 파형 형태의 음원 원시 파일을 저장한다. 분석 서버(110)는 음원 베이스(120)로부터 특정 음원을 수신하고, 수신한 음원을 분류한다. 분석 서버(110)는 신경망 모델을 이용하여 음원을 분류한다. 사용자 단말(10)은 분석 서버(110)에 음원 분류를 요청할 수 있다. 사용자 단말(10)은 분석 서버(110)로부터 음원 분류 결과를 수신할 수 있다.FIG. 1A is an example of a system 100 including an analysis server 110 and a sound source database 120 . The sound source database 120 stores the sound source source file in the form of a waveform. The analysis server 110 receives a specific sound source from the sound source base 120 and classifies the received sound source. The analysis server 110 classifies the sound source using the neural network model. The user terminal 10 may request the analysis server 110 to classify the sound source. The user terminal 10 may receive the sound source classification result from the analysis server 110 .

도 2(B)는 분석 서버(210)를 포함하는 시스템(200)에 대한 예이다. 사용자 단말(20)은 파형 형태 음원 신호를 분석 서버(210)에 전달한다. 분석 서버(110)는 수신한 음원을 분류한다. 분석 서버(110)는 신경망 모델을 이용하여 음원을 분류한다. 사용자 단말(10)은 분석 서버(110)로부터 음원 분류 결과를 수신할 수 있다.2(B) is an example of a system 200 including an analysis server 210 . The user terminal 20 transmits a waveform sound source signal to the analysis server 210 . The analysis server 110 classifies the received sound source. The analysis server 110 classifies the sound source using the neural network model. The user terminal 10 may receive the sound source classification result from the analysis server 110 .

도 2(C)는 스마트 기기(310) 형태의 분석장치에 대한 예이다. 스마트 기기(310)는 음원을 마이크로 직접 입력받을 수 있다. 스마트 기기(310)는 입력받은 음원을 분류한다. 스마트 기기(310)는 신경망 모델을 이용하여 음원을 분류한다. 스마트 기기(310)는 분류한 결과를 출력하여 사용자에게 전달할 수 있다. 2 (C) is an example of an analysis device in the form of a smart device (310). The smart device 310 may receive a sound source directly into the microphone. The smart device 310 classifies the input sound source. The smart device 310 classifies the sound source using the neural network model. The smart device 310 may output the classification result and deliver it to the user.

도 2(C)와 달리 스마트 기기(310) 또는 컴퓨터 단말은 저장 매체(USB, SD 카드, 하드 디스크 등)에 저장된 음원에 접근할 수 있다. 스마트 기기(310) 또는 컴퓨터 단말은 저장 매체에 저장된 음원을 신경망 모델을 이용하여 분류할 수 있다.Unlike FIG. 2C , the smart device 310 or the computer terminal can access the sound source stored in a storage medium (USB, SD card, hard disk, etc.). The smart device 310 or the computer terminal may classify the sound source stored in the storage medium using a neural network model.

도 2는 일반적인 CNN에 대한 예이다. 도 2는 CNN 모델의 일반적인 구조 및 동작을 설명하기 위한 것이다. 2 is an example of a general CNN. 2 is for explaining the general structure and operation of the CNN model.

CNN은 컨볼루션 계층 (convolution layer, Conv), 풀링 계층 (pooling layer, Pool) 및 전연결 계층(fully connected layer)을 포함한다. 컨볼루션 계층 및 풀링 계층은 반복적으로 다수가 배치될 수 있다. 도 2의 CNN은 5개의 컨볼루션 계층, 2개의 풀링 계층, 2개의 전연결 계층(Fully connected layer) 구조를 가질 수 있다. A CNN includes a convolution layer (Conv), a pooling layer (pool), and a fully connected layer. A plurality of convolutional layers and pooling layers may be repeatedly disposed. The CNN of FIG. 2 may have a structure of five convolutional layers, two pooling layers, and two fully connected layers.

컨볼루션 계층은 입력 데이터에 대한 컨볼루션 연산을 통해 특징맵(feature map)을 출력한다. 이때 컨볼루션 연산을 수행하는 필터(filter)를 커널(kernel) 이라고도 부른다. 필터의 크기를 필터 크기 또는 커널 크기라고 한다. 커널을 구성하는 연산 파라미터(parameter)를 커널 파라미터(kernel parameter), 필터 파라미터(filter parameter), 또는 가중치(weight)라고 한다. The convolution layer outputs a feature map through a convolution operation on input data. In this case, a filter that performs a convolution operation is also called a kernel. The size of the filter is called the filter size or kernel size. Operation parameters constituting the kernel are called kernel parameters, filter parameters, or weights.

컨볼루션 계층은 컨볼루션 연산과 비선형 연산을 수행한다. 컨볼루션 계층은 출력데이터를 정규화하는 배치 표준화 계층(batch normalization layer)을 포함할 수도 있다.The convolutional layer performs convolutional and nonlinear operations. The convolution layer may include a batch normalization layer that normalizes output data.

컨볼루션 연산은 일정한 크기의 윈도우에서 수행된다. 윈도우는 2차원 입력 데이터의 좌측 상단에서 우측 하단까지 한 칸씩 이동할 수 있고, 한 번에 이동하는 이동 크기를 조절할 수 있다. 이동 크기를 스트라이드(stride)라고 한다. 컨볼루션 계층은 입력 데이터에서 윈도우를 이동하면서 입력 데이터의 모든 영역에 대하여 컨볼루션 연산을 수행한다. 컨볼루션 계층은 입력 데이터의 가장 자리에 패딩(padding)을 하여 컨볼루션 연산 후 입력 입력 데이터의 차원을 유지할 수 있다.The convolution operation is performed in a window of a constant size. The window can be moved one space from the upper left to the lower right of the 2D input data, and the moving size can be adjusted at a time. The amount of movement is called the stride. The convolution layer performs a convolution operation on all regions of the input data while moving the window in the input data. The convolution layer may maintain the dimension of the input data after the convolution operation by padding the edges of the input data.

이때 컨볼루셔널 연산을 수행하는 필터(filter)를 커널(kernel) 이라고도 부른다. 필터의 크기를 필터 크기 또는 커널 크기라고 한다. 커널을 구성하는 연산 파라미터(parameter)를 커널 파라미터(kernel parameter), 필터 파라미터(filter parameter), 또는 가중치(weight)라고 한다. 컨볼루셔널 계층에서는 하나의 입력에 서로 다른 종류의 필터를 사용할 수 있다. In this case, a filter that performs a convolutional operation is also called a kernel. The size of the filter is called the filter size or kernel size. Operation parameters constituting the kernel are called kernel parameters, filter parameters, or weights. In the convolutional layer, different types of filters can be used for one input.

비선형 연산 계층(nonlinear operation layer)은 뉴런(노드)에서 출력값을 결정하는 계층이다. 비선형 연산 계층은 전달 함수(transfer function)를 사용한다. 전달 함수는 Relu, sigmoid 함수 등이 있다. The nonlinear operation layer is a layer that determines output values from neurons (nodes). The nonlinear computation layer uses a transfer function. Transfer functions include Relu and sigmoid functions.

풀링 계층(pooling layer)은 컨볼루션 계층에서의 연산 결과로 얻은 특징맵을 서브 샘플링(sub sampling)한다. 풀링 연산은 최대 풀링(max pooling)과 평균 풀링(average pooling) 등이 있다. 최대 풀링은 윈도우 내에서 가장 큰 샘플 값을 선택한다. 평균 풀링은 윈도우에 포함된 값의 평균 값으로 샘플링한다.A pooling layer sub-sampling a feature map obtained as a result of an operation in the convolutional layer. Pooling operations include max pooling and average pooling. Maximum pooling selects the largest sample value within the window. Average pooling samples the average value of the values included in the window.

전연결 계층은 최종적으로 입력 데이터를 분류한다. 전연결 계층은 이전 컨볼루션 계층에서 출력하는 값을 모두 입력받아 최종적인 분류를 한다. 도 2에서 전연결 계층은 소프트맥스(softmax) 함수를 사용하여 분류 결과를 출력한다.The pre-connected layer finally classifies the input data. The all-connected layer receives all the values output from the previous convolutional layer and performs final classification. In FIG. 2, the all-connection layer outputs a classification result using a softmax function.

도 3은 음원을 분류하는 신경망 모델(400)에 대한 예이다. 도 3은 CNN 기반의 신경망 모델에 대한 예이다. 도 3은 CNN 모델은 프레임 수준의 샘플(예컨대, 256 또는 512개 샘플)을 처리하지 않고, 매우 적은 수의 샘플을 첫 번째 컨볼루션 계층에서 처리한다. 이와 같은 구조의 CNN 모델을 샘플 CNN(Sample CNN)이라고 명명한다. 3 is an example of a neural network model 400 for classifying sound sources. 3 is an example of a CNN-based neural network model. 3 shows that the CNN model does not process frame-level samples (eg, 256 or 512 samples), but processes a very small number of samples in the first convolutional layer. A CNN model with such a structure is called a sample CNN.

입력 데이터는 파형 형태 음원 신호이다.The input data is a waveform sound source signal.

샘플 CNN(400)은 복수의 컨볼루션 계층과 풀링 계층을 포함한다. 컨볼루션 계층과 풀링 계층은 1차원(one-dimension) 형태이다. 모든 계층에서 필터의 크기가 2 또는 3 샘플들로 매우 작은 크기이다. 작은 크기의 필터는 입력 신호가 시간 도메인에서 서로 다른 위상인데 동일한 필터 형태로 학습될 가능성을 줄여준다.The sample CNN 400 includes a plurality of convolutional layers and a pooling layer. Convolutional layers and pooling layers are one-dimensional. The size of the filter in all layers is very small, 2 or 3 samples. A small size filter reduces the likelihood that the input signal will be learned with the same filter shape, though it is out of phase in the time domain.

샘플 CNN(400)은 컨볼루션-스트라이드 계층(410), 복수의 컨볼루션 블록(420) 및 전연결계층(fully connected layer, FC, 430)을 포함한다. The sample CNN 400 includes a convolution-stride layer 410 , a plurality of convolution blocks 420 , and a fully connected layer (FC, 430 ).

도 3은 하나의 컨볼루션-스트라이드 계층(410)과 9개의 컨볼루션 블록(420)을 도시한 예이다. 3 is an example illustrating one convolution-stride layer 410 and nine convolution blocks 420 .

컨볼루션-스트라이드 계층(conv-stride)은 스트라이드 컨볼루션 연산을 수행한다. 컨볼루션-스트라이드 계층(conv-stride)도 하나의 컨볼루션 블록으로 볼 수도 있다. 컨볼루션-스트라이드 계층(conv-stride)은 3개의 샘플 크기를 갖는 필터를 갖는 컨볼루션 연산을 수행할 수 있다. 또 컨볼루션-스트라이드 계층(conv-stride)은 1차원에서 3 크기의 스트라이드를 수행할 수 있다.The convolution-stride layer (conv-stride) performs the stride convolution operation. A convolution-stride layer may also be viewed as a convolution block. A convolution-stride layer can perform a convolution operation with a filter having a size of three samples. In addition, the convolution-stride layer can perform strides of 3 sizes in one dimension.

컨볼루션 블록은 컨볼루션 계층과 풀링 계층을 포함한다. 풀링은 최대 풀링(max pooling)을 사용할 수 있다. 풀링 계층은 3개의 샘플 크기 단위로 최대 풀링을 할 수 있다.A convolution block includes a convolution layer and a pooling layer. Pooling may use max pooling. The pooling layer can perform maximum pooling in units of three sample sizes.

전연결 계층(430)은 두 개의 연속된 전연결 계층을 포함할 수 있다. 전연결 계층(430)는 컨볼루션 블록이 출력하는 정보를 기준으로 음원을 분류한다.The all-connection layer 430 may include two consecutive all-connection layers. The all-connection layer 430 classifies the sound source based on the information output by the convolution block.

한편, 샘플 CNN은 도 3과는 다른 구조를 가질 수도 있다. (1) 복수의 컨볼루션 블록의 개수는 다양할 수 있다. 컨볼루션 블록은 9개보다 작거나, 9개보다 클수도 있다. (2) 컨볼루션-스트라이드 계층(conv-stride)은 없을 수도 있다. 나아가, 컨볼루션-스트라이드 계층(conv-stride)은 스트라이드 컨볼루션을 수행하는 복수의 계층으로 구성될 수 있다. 예컨대, 컨볼루션-스트라이드 계층(conv-stride)은 2개의 스트라이드 컨볼루션 계층을 포함할 수 있다. Meanwhile, the sample CNN may have a structure different from that of FIG. 3 . (1) The number of a plurality of convolution blocks may vary. Convolution blocks may be less than 9 or greater than 9. (2) There may be no convolution-stride layer. Furthermore, the convolution-stride layer (conv-stride) may be composed of a plurality of layers performing stride convolution. For example, a convolution-stride layer may include two stride convolution layers.

도 4는 샘플 CNN의 입력단 영역의 구조에 대한 예이다. 도 4는 샘플 CNN에서 파형 음원 신호가 입력되어 처리되는 전단부의 구조에 대한 예이다. 설명의 편의를 위하여 전단부를 입력단 영역이라고 명명한다. 입력단 영역은 전술한 (i) 컨볼루션-스트라이드 계층, (ii) 컨볼루션-스트라이드 계층 및 컨볼루션 블록 또는 (iii) 복수의 컨볼루션 블록으로 구성될 수 있다. 입력단 영역에 속한 계층은 작은 크기(2~3 샘플 크기)의 필터로 구성된다. 입력단 영역에 속한 계층은 작은 크기의 필터를 적층한 구조를 갖는다. 도 4에서 conv3은 필터 크기가 3인 컨볼루션 계층을 의미하고, max3은 필터 크기가 3인 풀링 계층을 의미하고, strided conv3는 필터 크기가 3인 컨볼루션-스트라이드 계층을 의미한다. 즉, 도 4는 필터 크기가 3인 계층으로 구성된 입력단 영역의 예이다.4 is an example of the structure of an input region of a sample CNN. 4 is an example of the structure of the front end to which a waveform sound source signal is input and processed in the sample CNN. For convenience of description, the front end is referred to as an input end region. The input end region may include the aforementioned (i) convolution-stride layer, (ii) convolution-stride layer and convolution block, or (iii) a plurality of convolution blocks. The layer belonging to the input stage is composed of filters of small size (size of 2-3 samples). The layer belonging to the input region has a structure in which small-sized filters are stacked. In FIG. 4 , conv3 denotes a convolutional layer with a filter size of 3, max3 denotes a pooling layer with a filter size of 3, and strided conv3 denotes a convolution-stride layer with a filter size of 3. That is, FIG. 4 is an example of an input region composed of a layer having a filter size of 3 .

도 4(A)는 컨볼루션-스트라이드 계층이 없는 입력단 영역에 대한 예이다. 도 4(A)의 입력단 영역은 제1 컨볼루션 계층(conv3_1), 제1 최대 풀링 계층(max3_1), 제2 컨볼루션 계층(conv3_2) 및 제2 최대 풀링 계층(max3_2)을 포함한다. 물론, 컨볼루션 계층과 풀링 계층 사이에 데이터 정규화를 위한 계층이 배치될 수 있다. 제2 컨볼루션 계층(conv3_2)은 제1 최대 풀링 계층(max3_1)에서 샘플링한 정보를 입력받는다.4(A) is an example of an input region without a convolution-stride layer. The input region of FIG. 4A includes a first convolutional layer (conv3_1), a first maximum pooling layer (max3_1), a second convolutional layer (conv3_2), and a second maximum pooling layer (max3_2). Of course, a layer for data normalization may be disposed between the convolution layer and the pooling layer. The second convolutional layer conv3_2 receives information sampled from the first maximum pooling layer max3_1.

도 4(B)는 하나의 컨볼루션-스트라이드 계층과 컨볼루션 블록으로 구성된 입력단 영역에 대한 예이다. 도 4(B)의 입력단 영역은 제1 컨볼루션-스트라이드 계층(strided conv3_1), 제1 컨볼루션 계층(conv3_1) 및 제1 최대 풀링 계층을 포함한다. 물론, 컨볼루션 계층과 풀링 계층 사이에 데이터 정규화를 위한 계층이 배치될 수 있다. 제1 컨볼루션-스트라이드 계층(strided conv3_1)은 3개의 필터로 스트라이드 컨볼루션을 수행하고, 제1 컨볼루션 계층(conv3_1)은 제1 컨볼루션-스트라이드 계층(strided conv3_1)이 출력한 값을 입력받는다.4(B) is an example of an input region composed of one convolution-stride layer and a convolution block. The input region of FIG. 4B includes a first convolution-stride layer (strded conv3_1), a first convolution layer (conv3_1), and a first maximum pooling layer. Of course, a layer for data normalization may be disposed between the convolution layer and the pooling layer. The first convolution-stride layer (strded conv3_1) performs stride convolution with three filters, and the first convolution layer (conv3_1) receives the value output by the first convolution-stride layer (strded conv3_1). .

도 4(C)는 두 개의 컨볼루션-스트라이드 계층으로 구성된 입력단 영역에 대한 예이다. 도 4(B)의 입력단 영역은 제1 컨볼루션-스트라이드 계층(strided conv3_1) 및 제2 컨볼루션-스트라이드 계층(strided conv3_2)을 포함한다. 4(C) is an example of an input region composed of two convolution-stride layers. The input region of FIG. 4B includes a first convolution-stride layer (strded conv3_1) and a second convolution-stride layer (strded conv3_2).

제1 컨볼루션-스트라이드 계층(strided conv3_1)은 3개의 필터로 스트라이드 컨볼루션을 수행하고, 제2 컨볼루션-스트라이드 계층(strided conv3_2))은 제1 컨볼루션-스트라이드 계층(strided conv3_1)이 출력한 값을 입력받는다. 제2 컨볼루션-스트라이드 계층(strided conv3_2)은 3개의 필터로 스트라이드 컨볼루션을 수행하고, 출력을 다음에 배치된 컨볼루션 블록에 전달한다.The first convolution-stride layer (strided conv3_1) performs stride convolution with three filters, and the second convolution-stride layer (strided conv3_2) outputs the output of the first convolution-stride layer (strided conv3_1). get input value. The second convolution-stride layer (strded conv3_2) performs stride convolution with three filters, and passes the output to the next placed convolution block.

샘플 CNN은 전체 계층에서 작은 크기의 필터를 사용할 수도 있다. 또는 샘플 CNN은 도 4에서 도시한 입력단 영역에서만 작은 크기의 필터를 사용하여 파형 음원 신호를 처리할 수도 있다. 나아가, 샘플 CNN은 복수의 계층에서 서로 다른 크기의 필터를 사용하여 신호를 처리할 수도 있다.The sample CNN may use a small size filter in the entire layer. Alternatively, the sample CNN may process the waveform sound source signal by using a filter of a small size only in the input region shown in FIG. 4 . Furthermore, the sample CNN may process signals using filters of different sizes in a plurality of layers.

도 5는 음원 분류하는 신경망 모델의 블록에 대한 예이다. 도 5는 도 3에서 설명한 컨볼루션 블록의 구조에 대한 예이다. 따라서, 샘플 CNN(400)은 적어도 하나의 컨볼루션 블록이 도 5에서 도시한 블록 중 어느 하나일 수 있다. 샘플 CNN(400)은 동일한 종류의 컨볼루션 블록으로 구성될 수 있다. 경우에 따라서, 샘플 CNN(400)은 서로 다른 종류의 컨볼루션 블록이 조합된 형태로 구성될 수도 있다.5 is an example of a block of a neural network model for classifying a sound source. FIG. 5 is an example of the structure of the convolution block described in FIG. 3 . Accordingly, in the sample CNN 400, at least one convolution block may be any one of the blocks shown in FIG. 5 . The sample CNN 400 may be composed of the same type of convolution block. In some cases, the sample CNN 400 may be configured in a form in which different types of convolution blocks are combined.

도 5(A)는 기본 블록의 구조(500)에 대한 예이다. 기본 블록(500)은 1차원 컨볼루션 계층(Conv1D, 511), 배치 표준화 계층(BatchNorm, 512) 및 최대 풀링 계층(MaxPool, 513)을 포함한다. 컨볼루션 계층(511) 및 풀링 계층(513_은 각각 전술한 기능을 수행한다. 배치 정규화 계층(512)은 미니 배치 단위로 출력을 정규화한다. 배치 정규화 계층(512)은 각 계층에서 활성화값이 적당하게 분포되게 한다. 배치 정규화 계층은 선택적 (optional) 구성일 수 있다. 5(A) is an example of a structure 500 of a basic block. The basic block 500 includes a one-dimensional convolutional layer (Conv1D, 511), a batch normalization layer (BatchNorm, 512), and a maximum pooling layer (MaxPool, 513). Each of the convolutional layer 511 and the pooling layer 513_ performs the aforementioned functions. The batch normalization layer 512 normalizes the output in mini-batch units. The batch normalization layer 512 has an activation value in each layer. Let it be properly distributed The batch normalization layer can be an optional configuration.

도 5(B)는 레지듀얼(residual, Res-n) 블록(600)의 구조에 대한 예이다. 레지듀얼-n 블록(600)은 도 5(A)의 기본 블록(500)에 하나의 추가 경로(skip connection)가 부가된 블록이라고 정의한다. 레지듀얼 블록(600)은 추가 경로를 이용하여 그래디언트가 잘 전파될 수 있다.5(B) is an example of a structure of a residual (Res-n) block 600 . The residual-n block 600 is defined as a block in which one additional path (skip connection) is added to the basic block 500 of FIG. 5A . The residual block 600 uses an additional path so that the gradient can propagate well.

레지듀얼-n 블록은 컨볼루션 계층이 n 개인 레지듀얼 블록을 의미한다. 음원 분류에 사용되는 레지듀얼 블록은 n = 1 또는 2인 블록이다. A residual-n block means a residual block having n convolutional layers. A residual block used for sound source classification is a block with n = 1 or 2.

도 5(B)는 n = 2인 레지듀얼 블록의 예이다. 도 5(B)의 레지듀얼 블록은 크게 두 개의 계층으로 구성된다. 제1 계층은 제1 컨볼루션 계층(Conv1D, 611), 제1 배치 표준화 계층(BatchNorm, 612) 및 드롭 아웃(dropout, 613) 계층을 포함한다. 제1 계층은 점선 박스로 표시하였다.5(B) is an example of a residual block with n=2. The residual block of FIG. 5B is largely composed of two layers. The first layer includes a first convolutional layer (Conv1D, 611), a first batch normalization layer (BatchNorm, 612), and a dropout (dropout, 613) layer. The first layer is indicated by a dashed box.

드롭 아웃 계층(613)은 전통적으로 오버피팅(over-fit)을 방지하기 위하여 전연결 계층에서 학습 중 랜덤하게 뉴런을 꺼서 학습이 훈련용 데이타에 치우치는 현상을 막는다. 레지듀얼 블록은 제1 계층의 출력이 랜덤하게 손실되게 한다. 손실율(drop ratio)은 설정할 수 있다. 예컨대, 손실율은 0.2로 설정될 수 있다. 제2 계층은 제2 컨볼루션 계층(Conv1D, 621), 제2 배치 표준화 계층(BatchNorm, 622) 및 최대 풀링 계층(MaxPool, 623)을 포함한다. 최대 풀링 계층 전(623)에 입력 데이터가 입력되는 추가 경로가 있다. 이와 같이 레지듀얼 블록은 이전 계층에 입력된 값이 이후 계층에도 입력되어 그레디언트가 잘 전달된다.The drop-out layer 613 traditionally turns off neurons randomly during learning in the all-connected layer in order to prevent over-fitting, thereby preventing a phenomenon in which learning is biased toward training data. The residual block causes the output of the first layer to be randomly lost. The drop ratio is configurable. For example, the loss rate may be set to 0.2. The second layer includes a second convolutional layer (Conv1D, 621), a second batch normalization layer (BatchNorm, 622), and a maximum pooling layer (MaxPool, 623). Before the maximum pooling layer (623) there is an additional path through which the input data is input. As such, in the residual block, the value input to the previous layer is also input to the subsequent layer, so that the gradient is transmitted well.

참고로, n = 1인 레지듀얼 블록은 도 5(B)에서 점선 박스 부분(제1 계층)이 없는 구조를 갖는다.For reference, a residual block with n = 1 has a structure without a dotted line box portion (first layer) in FIG. 5B .

도 5(C)는 추출/재조정(squeeze and excitation, SE) 블록(700)의 구조에 대한 예이다. SE 블록(700)은 1차원 컨볼루션 계층(Conv1D, 711), 배치 표준화 계층(BatchNorm, 712) 및 최대 풀링 계층(MaxPool, 713), 추출/재조정 계층(720)을 포함한다. SE 블록은 도 5(A)의 기본 블록에 실선 박스로 표시한 추출 및 재조정 계층이 추가된 구조이다. 5(C) is an example of the structure of a squeeze and excitation (SE) block 700 . The SE block 700 includes a one-dimensional convolution layer (Conv1D, 711), a batch normalization layer (BatchNorm, 712) and a maximum pooling layer (MaxPool, 713), and an extraction/rebalance layer 720 . The SE block has a structure in which an extraction and re-adjustment layer indicated by a solid line box is added to the basic block of FIG. 5(A).

필터들은 각각 필터가 적용되는 지역적 영역에서 동작하기 때문에, 다른 영역에 대한 정보를 이용할 수 없다. 채널마다 중요도가 다를 수 있는데, 일반적인 CNN 구조는 이를 고려하기 어렵다. Since each of the filters operates in a local area to which the filter is applied, information on other areas cannot be used. The importance may be different for each channel, and it is difficult to consider this in a general CNN structure.

추출/재조정 계층(720)은 특징맵을 채널별로 중요도에 따라 스케일(scale)하는 구성이다. 결국, 추출/재조정 계층(720)은 특징을 재조절(recalibration)한다. 추출/재조정 계층(720)은 채널별 특징을 추출하는 동작(squeeze)와 채널간 관계(dependency)를 고려하여 추출한 특징을 재조정하는 동작(excitation)으로 구성된다. The extraction/re-adjustment layer 720 is a configuration that scales the feature map according to importance for each channel. Eventually, the extraction/recalibration layer 720 recalibrates the features. The extraction/re-adjustment layer 720 consists of an operation of extracting features for each channel (squeeze) and an operation of re-adjusting the extracted features in consideration of a relationship between channels (excitation).

추출(squeeze) 계층(721)은 각 채널에 대하여 통계 정보(statistics)를 추출하는 동작을 수행한다. 추출 계층(721)은 일정 시간동안 채널별로 전역 평균 풀링(global average pooling)을 수행하여, 채널별 통계 정보(channel-wise statistics)를 획득한다. 추출 계층(721)은 각 채널에 대하여 채널을 대표하는 스칼라값을 추출한다. 도 5(D) 우측에 도시한 바와 같이, 전역 평균 풀링을 통해 C × T 특징맵이 C × 1 채널별 통계 정보로 축소된다. C는 필터 채널을 의미하고, T는 시간에서 차원수(dimensionality)를 의미한다. The extraction (squeeze) layer 721 performs an operation of extracting statistics information (statistics) for each channel. The extraction layer 721 obtains channel-wise statistics by performing global average pooling for each channel for a predetermined time. The extraction layer 721 extracts a scalar value representing the channel for each channel. As shown on the right side of FIG. 5(D), the C × T feature map is reduced to statistical information for each C × 1 channel through global average pooling. C stands for filter channel and T stands for dimensionality in time.

재조정(excitation) 계층은 추출 계층의 출력을 입력값으로 받는다. 재조정 계층은 각 채널에 대한 가중치를 연산한다. 가중치는 두 개의 전연결계층(FC, 722, 723)을 통해 학습된다. 제1 전연결 계층(722)은 추출 계층의 출력을 입력값으로 받아, ReLu 함수 연산을 하고, 제2 전연결 계층(723)은 제1 전연결 계층(721)의 출력을 입력갑으로 받아, sigmoid 연산을 한다. 두 개의 전열결 졔층 사이의 차원수은 하이퍼파라미터 α에 의해 조절될 수도 있다. 음원 분류를 위한 CNN에 대한 실험 결과, α는 1보다 작은 값을 갖는 것이 바람직하다고 밝혀졌다. The excitation layer receives the output of the extraction layer as an input value. The rebalancing layer computes a weight for each channel. Weights are learned through two all-connected layers (FC, 722, 723). The first pre-connected layer 722 receives the output of the extraction layer as an input value and performs ReLu function operation, and the second pre-connected layer 723 receives the output of the first pre-connected layer 721 as an input, sigmoid operation. The dimensional number between the two heat transfer layers can also be controlled by the hyperparameter α. As a result of experiments on CNN for sound source classification, it was found that α preferably has a value less than 1.

마지막으로, 각 채널에 각각 C × 1 크기의 재조정된 채널별 통계 정보를 곱하여, 특징맵이 재조정(rescaling, 724) 된다. 도 5(D) 우측은 각 채널에 대한 재조정된 특징(통계 정보)을 색상으로 표현하였다.Finally, each channel is multiplied by the readjusted channel statistical information of C × 1 size, and the feature map is rescaled (rescaling, 724). In the right side of FIG. 5(D), readjusted features (statistical information) for each channel are expressed in color.

도 5(D)는 레지듀얼 및 추출/재조정(ReSE-n) 블록(800)의 구조에 대한 예이다. ReSE-n 블록(800)은 도 5(B)의 레지듀얼 블록과 도 5(C)의 추출/재조정 블록의 구조가 병합된 형태이다.5(D) is an example of the structure of a residual and extraction/rebalancing (ReSE-n) block 800 . The ReSE-n block 800 is a form in which the structures of the residual block of FIG. 5B and the extraction/rearrangement block of FIG. 5C are merged.

ReSE-n 블록(800)은 컨볼루션 연산을 수행하는 계층을 기준으로 구분하면, 2개의 계층(제1 계층 및 제2 계층)으로 구분할 수 있다. The ReSE-n block 800 may be divided into two layers (a first layer and a second layer) when classified based on a layer performing a convolution operation.

제1 계층은 제1 컨볼루션 계층(Conv1D, 811), 제1 배치 표준화 계층(BatchNorm, 812) 및 드롭 아웃 계층(dropout, 813)을 포함한다. 제2 계층(820)은 제2 컨볼루션 계층(Conv1D, 821), 제2 배치 표준화 계층(BatchNorm, 822), 추출/재조정 계층 및 최대 풀링 계층(MaxPool, 827)을 포함한다. 최대 풀링 계층 전에 입력 데이터가 입력되는 추가 경로가 있다. 추출/재조정 계층은 도 5(C)에서 설명한 구성과 동일하다.The first layer includes a first convolutional layer (Conv1D, 811), a first batch normalization layer (BatchNorm, 812), and a dropout layer (dropout, 813). The second layer 820 includes a second convolution layer (Conv1D, 821), a second batch normalization layer (BatchNorm, 822), an extraction/rebalance layer, and a maximum pooling layer (MaxPool, 827). Before the max pooling layer, there is an additional path where the input data enters. The extraction/rearrangement layer is the same as the configuration described in FIG. 5(C).

추출/재조정 계층은 추출 계층(823) 및 재조정 계층(824,825,826)을 포함한다. 추출 계층(823)은 일정 시간동안 채널별로 전역 평균 풀링(global average pooling)을 수행하여, 채널별 통계 정보(channel-wise statistics)를 획득한다. 추출 계층(823)은 각 채널에 대하여 채널을 대표하는 스칼라값을 추출한다. 도 5(D) 우측에 도시한 바와 같이, 전역 평균 풀링을 통해 C × T 특징맵이 C × 1 채널별 통계 정보로 축소된다. The extraction/remediation layer includes an extraction layer 823 and a remediation layer 824 , 825 , 826 . The extraction layer 823 obtains channel-wise statistics by performing global average pooling for each channel for a predetermined time. The extraction layer 823 extracts a scalar value representing the channel for each channel. As shown on the right side of FIG. 5(D), the C × T feature map is reduced to statistical information for each C × 1 channel through global average pooling.

재조정(excitation) 계층은 추출 계층의 출력을 입력값으로 받는다. 재조정 계층은 각 채널에 대한 가중치를 연산한다. 가중치는 두 개의 전연결계층(FC, 824, 825)을 통해 학습된다. 제1 전연결 계층(824)은 추출 계층의 출력을 입력값으로 받아, ReLu 함수 연산을 하고, 제2 전연결 계층(825)은 제1 전연결 계층(824)의 출력을 입력갑으로 받아, sigmoid 연산을 한다. 두 개의 전열결 졔층 사이의 차원수은 하이퍼파라미터 α에 의해 조절될 수도 있다. 음원 분류를 위한 CNN에 대한 실험 결과, α는 1보다 작은 값을 갖는 것이 바람직하다고 밝혀졌다. The excitation layer receives the output of the extraction layer as an input value. The rebalancing layer computes a weight for each channel. Weights are learned through two all-connected layers (FC, 824, 825). The first pre-connected layer 824 receives the output of the extraction layer as an input value and performs ReLu function operation, and the second pre-connected layer 825 receives the output of the first pre-connected layer 824 as an input, sigmoid operation. The dimensional number between the two heat transfer layers can also be controlled by the hyperparameter α. As a result of experiments on CNN for sound source classification, it was found that α preferably has a value less than 1.

마지막으로, 각 채널에 각각 C × 1 크기의 재조정된 채널별 통계 정보를 곱하여, 특징맵이 재조정(rescaling, 826) 된다. 도 5(C) 우측은 각 채널에 대한 재조정된 특징(통계 정보)을 색상으로 표현하였다.Finally, each channel is multiplied by the readjusted channel statistical information of C × 1 size, and the feature map is rescaled (rescaling, 826). In the right side of FIG. 5(C), readjusted features (statistical information) for each channel are expressed in color.

최대 풀링 계층(827)은 추출/재조정 계층이 출력하는 값과 제1 컨볼루션 계층(811)에 입력되는 값이 합산된 값이 입력된다.In the maximum pooling layer 827 , a value obtained by adding a value output from the extraction/re-adjustment layer and a value input to the first convolution layer 811 is inputted.

이하 음원 분류를 위한 샘플 CNN에 대한 효과를 검증하는 실험을 설명한다. 3가지 서로 다른 도메인의 음원에 대한 효과를 실험하였다. 3가지 도메인은 음악, 음성 및 음향 장면 사운드이다. 실험을 위한 데이터 세트와 훈련한 모델 구조는 아래 표 1과 같다. Hereinafter, an experiment to verify the effect of a sample CNN for sound source classification will be described. Effects on sound sources of three different domains were tested. The three domains are music, voice and sound scene sound. The data set for the experiment and the trained model structure are shown in Table 1 below.

Figure 112019106655681-pat00001
Figure 112019106655681-pat00001

음악 자동 태깅(music auto-tagging)은 음원에 대한 다중 분류 작업이다. 예컨대, 음악 분류는 장르, 무드(mood), 악기, 보컬 수준 등과 같은 기준으로 분류될 수 있다. 실험에서는 MIR에 자주 사용되는 MTT(MagnaTagATun) 데이터 세트를 이용하였다. 평가 기준은 분류된 음악의 순위 정확도를 기준으로 하였다. 분류 정확도는 ROC-AUC(area under receiver operating characteristic)으로 평가하였다. ROC-AUC 점수는 모든 태그에 대하여 연산하여 평균한 값을 점수로 삼았다. 음원 클립(clip)은 적어도 하나의 양성 라벨을 갖고, 길이가 29.1초 이상인 음원을 사용하였다. 한편, 다른 기술과 비교를 위하여 Last.FM 태그를 갖는 MSD(Million Song Dataset) 데이터 세트를 이용하였다. MTT와 MDS는 동일한 방식으로 전처리하여 평가하였다.Music auto-tagging is a multi-classification operation for sound sources. For example, the music classification may be classified according to criteria such as genre, mood, instrument, vocal level, and the like. In the experiment, the MTT (MagnaTagATun) data set, which is frequently used for MIR, was used. The evaluation criterion was based on the ranking accuracy of the classified music. The classification accuracy was evaluated by ROC-AUC (area under receiver operating characteristic). The ROC-AUC score was calculated and averaged for all tags as the score. A sound source clip having at least one positive label and a length of 29.1 seconds or longer was used. Meanwhile, for comparison with other techniques, a MSD (Million Song Dataset) data set having a Last.FM tag was used. MTT and MDS were evaluated by pretreatment in the same manner.

핵심어 검출(Keyword Spotting)은 음성 신호에 대한 다중 분류 작업에 해당한다. 핵심어 검출은 AI 스피커에서 많이 사용되는 짧은 문장의 인식에 주로 사용된다. TensorFlow 커뮤니티에서 최근 음성 명령 인식을 위한 음성 데이터 세트를 공개하였다. 본 실험에서는 35개의 일반 명령을 포함하는 데이터 세트를 사용하였다. 즉, 35개의 가능한 명령 중 하나를 정확하게 특정하는지를 평가하였다.Keyword Spotting corresponds to a multi-classification task for speech signals. Key word detection is mainly used to recognize short sentences that are often used in AI speakers. The TensorFlow community recently published a speech dataset for speech command recognition. In this experiment, a data set containing 35 general instructions was used. That is, it was evaluated whether it correctly specified one of 35 possible commands.

음향 장면 태깅(acoustic scene tagging)은 음원에 대한 다중 분류 작업이다. DCASE(Detection and Classification of Acoustic Scenes and Events)에서 2017년에 공개한 데이터 세트를 이용하였다. 본 실험에서는 타임스탬프 없는 버전(audio tagging)의 데이터 세트를 사용하였다. 평가는 인스턴스 기반 F-점수를 이용하였다. 테스트용 데이터 세트의 오디오 클립의 평균 F-점수를 사용하였다.Acoustic scene tagging is a multi-classification operation for sound sources. The data set published in 2017 by DCASE (Detection and Classification of Acoustic Scenes and Events) was used. In this experiment, we used the data set of the non-timestamped version (audio tagging). Assessment was performed using an instance-based F-score. The average F-score of the audio clips of the data set for testing was used.

테스트를 위한 모든 CNN 모델은 배치 크기가 23이고, 네스테로프 모멘텀(Nesterov momentum) 0.9의 경사하강법으로 학습하였다. 학습율은 최초 0.01로 설정하였고, 2개의 에폭(epoch)에서 유효성 손실이 감소하지 않으면, 학습율을 5로 나누었다. CNN 모델 마지막 전연결 계층 전에 손실율 0.5의 드룹 아웃 계층을 삽입되었다. 훈련 과정에서 각 세그먼트에 대하여 예측을 수행하였고, 세그먼트들의 예측을 평균하여 각 오디오 클립에 대한 최종 예측을 하였다. All CNN models for testing have a batch size of 23 and are trained by gradient descent with a Nesterov momentum of 0.9. The learning rate was initially set to 0.01, and if the effectiveness loss did not decrease in two epochs, the learning rate was divided by 5. A droop-out layer with a loss rate of 0.5 is inserted before the last full-connection layer of the CNN model. In the training process, predictions were made for each segment, and the predictions of the segments were averaged to make a final prediction for each audio clip.

도 6은 스펙트로그램 기반 CNN과 샘플 CNN의 성능을 비교한 결과이다. 도 6(A)는 음악 자동 태깅에 대한 결과이고, 도 6(B)는 핵심어 검출에 대한 결과이고, 도 6(C)는 음향 장면 태깅에 대한 결과이다.6 is a result of comparing the performance of a spectrogram-based CNN and a sample CNN. Fig. 6(A) is a result of automatic music tagging, Fig. 6(B) is a result of key word detection, and Fig. 6(C) is a result of sound scene tagging.

스펙트로그램 기반 CNN은 멜-스펙트로그램을 입력받아 음원을 분류하는 전통적인 모델이다. 샘플 CNN과의 정확한 비교를 위하여, 스펙트로그램 기반 CNN은 최대한 실험에서 사용한 샘플 CNN과 유사한 구조를 갖도록 하였다. 샘플 CNN은 필터와 최대 풀림/스트라이딩이 모두 3개의 크기를 갖는 모델을 사용하였다. Spectrogram-based CNN is a traditional model that classifies sound sources by receiving Mel-spectrograms as input. For accurate comparison with the sample CNN, the spectrogram-based CNN has a structure similar to the sample CNN used in the experiment as much as possible. The sample CNN used a model in which the filter and maximum unwrapping/striding have all three sizes.

도 6의 하단에는 멜-스펙트로그램의 윈도우 및 홉(hop) 크기를 표시하였고, 대응되게 샘플 CNN의 첫 번째 컨볼루션 계층에서 사용된 필터와 홉 크기를 표시하였다. 예컨대, 도 6에서 윈도우/필터 크기가 729(36)이면 홉/스트라이드 크기도 829이다. 윈도우와 필터 크기를 줄여가면서, 모델의 정확도를 평가하였다. 다만, 스펙트로그램 기반 CNN에 대해서는 크기가 너무 작아지면 주파수 도메인에서 표현이 어렵기 때문에, 윈도우/홉 크기가 81에 도달하면, 더 이상 크기를 줄이지 않았다. At the bottom of FIG. 6, the window and hop size of the Mel-spectrogram are indicated, and the filter and hop size used in the first convolutional layer of the sample CNN are indicated correspondingly. For example, in FIG. 6 , if the window/filter size is 729 ( 3 6 ), the hop/stride size is also 829 . By reducing the window and filter size, the accuracy of the model was evaluated. However, for the spectrogram-based CNN, if the size is too small, it is difficult to express in the frequency domain, so when the window/hop size reaches 81, the size is not reduced any more.

도 6를 살펴보면, 기본적으로 스펙트로그램 기반 CNN보다 샘플 CNN이 우수한 성능을 보인다. 또한, 스펙트로그램 기반 CNN은 윈도우 및 홉 크기가 줄어들면서 일정한 수준으로 결과가 수렴하지만, 샘플 CNN은 필터 및 스트라이드 크기가 줄어들수록 좋은 성능을 보인다. 샘플 CNN은 필터 및 스트라이드 크기가 가장 작은 경우에 최대 성능을 보였다. Referring to FIG. 6 , the sample CNN basically shows better performance than the spectrogram-based CNN. In addition, the spectrogram-based CNN converges to a certain level as the window and hop sizes are reduced, but the sample CNN shows better performance as the filter and stride sizes are reduced. The sample CNN performed best with the smallest filter and stride sizes.

또한, 두 개의 컨볼루션 블록에 대하여 평가를 하였다. 기본 블록과 SE 블록을 갖는 모델을 각각 평가하였다. 샘플 CNN은 일관되게 SE 블록을 갖는 모델이 기본 블록을 갖는 모델보다 성능이 우수하였다.In addition, two convolution blocks were evaluated. Models with basic blocks and SE blocks were evaluated, respectively. The sample CNN consistently outperformed the model with the SE block than the model with the base block.

샘플 CNN은 모델의 깊이가 깊어질수록 모델 파라미터가 증가하였다. 따라서, 성능 향상은 모델 크기의 증가에 따른 것으로 볼 수 있다. 이를 검증하기 위하여 샘플 CNN에 대한 추가적인 실험을 하였다. 기본 블록을 갖는 샘플 CNN을 대상으로, 필터의 개수를 조정하여 파라미터 개수를 고정하였다. 아래, 표 2는 실험 결과를 정리한 것이다.In the sample CNN, the model parameters increased as the depth of the model increased. Therefore, it can be seen that the performance improvement is due to an increase in the model size. To verify this, additional experiments were performed on the sample CNN. For a sample CNN with basic blocks, the number of parameters was fixed by adjusting the number of filters. Table 2 below summarizes the experimental results.

Figure 112019106655681-pat00002
Figure 112019106655681-pat00002

표 2를 살펴보면, 샘플 CNN의 성능 향상은 구조(깊이)에 기인한 것임을 알 수 있다.Looking at Table 2, it can be seen that the performance improvement of the sample CNN is due to the structure (depth).

도 5에서 샘플 CNN을 구성하는 컨볼루션 블록을 설명하였다. 샘플 CNN을 구성할 수 있는 서로 다른 종류의 컨볼루션 블록들에 대한 성능을 평가하였다. 도 7은 컨볼루션 블록에 대한 성능 평가 결과이다. 도 7은 각각 기본 블록, SE 블록, Res-1 블록, Res-2 블록, ReSE-1 블록 및 RESE-2 블록으로 구성된 6개의 샘플 CNN에 대한 성능 평가 결과이다. 도 7은 각 모델의 성능에 대한 평균과 표준 편차를 도시하였다. 도 7(A)는 음악 자동 태깅에 대한 평가 결과이고, 도 7(B)는 음악 자동 태깅에 대한 PR(Precision Recall)-AUC에 대한 평가 결과이다. 도 7(C)는 핵심어 검출에 대한 평가 결과이다. 도 7(D)는 음향 장면 태깅에 대한 평가 결과이다.A convolution block constituting a sample CNN has been described in FIG. 5 . We evaluated the performance of different types of convolution blocks that can compose a sample CNN. 7 is a performance evaluation result for a convolution block. 7 is a performance evaluation result for six sample CNNs each consisting of a basic block, an SE block, a Res-1 block, a Res-2 block, a ReSE-1 block, and a RESE-2 block. 7 shows the mean and standard deviation for the performance of each model. 7(A) is an evaluation result for automatic music tagging, and FIG. 7(B) is an evaluation result for PR (Precision Recall)-AUC for automatic music tagging. 7(C) is an evaluation result for key word detection. 7(D) is an evaluation result for acoustic scene tagging.

도 7을 살펴보면, 전반적으로 SE 블록 기반 모델(SE), Res-2 블록 기반 모델(Res-2) 및 ReSE-2 블록 기반 모델(RsSE-2)들이 다른 모델에 비하여 우수한 효과를 보인다. 다만, 특정 모델이 3가지 도메인에 대하여 모두 성능이 우월하지는 않았다.Referring to FIG. 7 , overall, the SE block-based model (SE), the Res-2 block-based model (Res-2), and the ReSE-2 block-based model (RsSE-2) show superior effects compared to other models. However, the specific model did not have superior performance in all three domains.

도 8은 음원 분석장치에 대한 예이다. 분석장치(900)는 도 1의 분석장치(110, 210 또는 310)에 해당하는 장치이다.8 is an example of a sound source analysis device. The analysis device 900 is a device corresponding to the analysis device 110 , 210 or 310 of FIG. 1 .

분석장치(900)는 전술한 신경망 모델(샘플 CNN)을 이용하여 음원을 분류한다. 분석장치(900)는 물리적으로 다양한 형태로 구현될 수 있다. 예컨대, 분석장치(900)는 PC와 같은 컴퓨터 장치, 네트워크의 서버, 음원 처리 전용 칩셋 등의 형태를 가질 수 있다. 컴퓨터 장치는 스마트 기기 등과 같은 모바일 기기를 포함할 수 있다.The analysis device 900 classifies the sound source using the above-described neural network model (sample CNN). The analysis device 900 may be physically implemented in various forms. For example, the analysis device 900 may have the form of a computer device such as a PC, a server of a network, a chipset dedicated to sound processing, and the like. The computer device may include a mobile device such as a smart device or the like.

분석장치(900)는 저장장치(910), 메모리(920), 연산장치(930), 인터페이스 장치(940), 통신장치(950) 및 출력장치(960)를 포함한다.The analysis device 900 includes a storage device 910 , a memory 920 , an arithmetic device 930 , an interface device 940 , a communication device 950 , and an output device 960 .

저장장치(910)는 음원 신호를 분석하는 신경망 모델(샘플 CNN)을 저장한다. 신경망 모델는 사전에 학습되어야 한다. 나아가 저장장치(910)는 데이터 처리에 필요한 다른 프로그램 내지 소스 코드 등을 저장할 수 있다. 저장장치(910)는 입력되는 음원 파일 내지 음원 데이터를 저장할 수 있다.The storage device 910 stores a neural network model (sample CNN) that analyzes a sound source signal. Neural network models must be trained in advance. Furthermore, the storage device 910 may store other programs or source codes required for data processing. The storage device 910 may store an input sound source file or sound source data.

메모리(920)는 분석장치(900)가 수신한 데이터를 분석하는 과정에서 생성되는 데이터 및 정보 등을 저장할 수 있다.The memory 920 may store data and information generated in the process of analyzing the data received by the analysis apparatus 900 .

인터페이스 장치(940)는 외부로부터 일정한 명령 및 데이터를 입력받는 장치이다. 인터페이스 장치(940)는 물리적으로 연결된 입력 장치 또는 외부 저장장치로부터 음원 데이터를 입력받을 수 있다. 인터페이스 장치(940)는 음원 분석을 위한 학습모델을 입력받을 수 있다. 인터페이스 장치(940)는 학습모델 훈련을 위한 학습데이터, 정보 및 파라미터값을 입력받을 수도 있다.The interface device 940 is a device that receives predetermined commands and data from the outside. The interface device 940 may receive sound source data from a physically connected input device or an external storage device. The interface device 940 may receive a learning model for sound analysis. The interface device 940 may receive learning data, information, and parameter values for training a learning model.

나아가 인터페이스 장치(940)는 현장의 소리를 직접 입력받는 마이크 장치일 수도 있다.Furthermore, the interface device 940 may be a microphone device that directly receives a sound from the field.

통신장치(950)는 유선 또는 무선 네트워크를 통해 일정한 정보를 수신하고 전송하는 구성을 의미한다. 통신장치(950)는 외부 객체로부터 음원 데이터를 수신할 수 있다. 통신장치(950)는 모델 학습을 위한 데이터도 수신할 수 있다. 통신장치(950)는 음원에 대한 분석 결과를 외부 객체로 송신할 수 있다.The communication device 950 refers to a configuration for receiving and transmitting certain information through a wired or wireless network. The communication device 950 may receive sound source data from an external object. The communication device 950 may also receive data for model learning. The communication device 950 may transmit the analysis result of the sound source to an external object.

통신장치(950) 내지 인터페이스 장치(940)는 외부로부터 일정한 데이터 내지 명령을 전달받는 장치이다. 통신장치(950) 내지 인터페이스 장치(940)를 입력장치라고 명명할 수 있다.The communication device 950 and the interface device 940 are devices that receive predetermined data or commands from the outside. The communication device 950 or the interface device 940 may be referred to as input devices.

입력 장치는 분석 대상인 음원 데이터를 입력 내지 수신받을 수 있다. 예컨대, 입력 장치는 외부 서버나 DB로부터 음원 데이터를 수신할 수 있다. 입력 장치는 현장에서 발생하는 음원을 수집할 수도 있다. 입력 장치는 저장 매체로부터 직접 음원 데이터를 입력받을 수도 있다.The input device may input or receive sound source data to be analyzed. For example, the input device may receive sound source data from an external server or DB. The input device may collect sound sources generated in the field. The input device may receive sound source data directly from the storage medium.

출력장치(960)는 일정한 정보를 출력하는 장치이다. 출력장치(960)는 데이터 처리 과정에 필요한 인터페이스, 분석 결과 등을 출력할 수 있다.The output device 960 is a device that outputs certain information. The output device 960 may output an interface necessary for a data processing process, an analysis result, and the like.

연산 장치(930)는 저장장치(910)에 저장된 신경망 모델 내지 프로그램을 이용하여 음원 분류를 할 수 있다. 연산 장치(930)는 신경망 모델이 출력하는 값을 기준으로 음원을 분류할 수 있다. 신경망 모델이 출력하는 값은 다중 분류 중 어느 하나의 값일 수 있다. 연산 장치(930)는 신경망 모델의 출력값을 직접 이용하여 음원을 분류할 수 있다. 나아가, 연산 장치(930)는 신경망 모델의 출력값을 가공하거나, 추가로 분석하여 음원을 분류할 수도 있다.The computing device 930 may classify the sound source by using the neural network model or program stored in the storage device 910 . The computing device 930 may classify the sound source based on a value output by the neural network model. The value output by the neural network model may be any one of multiple classifications. The computing device 930 may classify the sound source by directly using the output value of the neural network model. Furthermore, the computing device 930 may classify the sound source by processing or additionally analyzing the output value of the neural network model.

한편, 연산 장치(930)는 주어진 훈련 데이터를 이용하여 음원을 분류하는 학습모델을 훈련할 수도 있다. Meanwhile, the computing device 930 may train a learning model for classifying a sound source by using the given training data.

연산 장치(930)는 데이터를 처리하고, 일정한 연산을 처리하는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다.The computing device 930 may be a device such as a processor, an AP, or a program embedded chip that processes data and processes a predetermined operation.

또한, 상술한 바와 같은 음원 분류 방법 및 샘플 CNN은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.In addition, the sound source classification method and sample CNN as described above may be implemented as a program (or application) including an executable algorithm that can be executed in a computer. The program may be provided by being stored in a non-transitory computer readable medium.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, etc., and can be read by a device. Specifically, the various applications or programs described above may be provided by being stored in a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.This embodiment and the drawings attached to this specification merely clearly show a part of the technical idea included in the above-described technology, and within the scope of the technical idea included in the specification and drawings of the above-described technology, those skilled in the art can easily It will be apparent that all inferred modified examples and specific embodiments are included in the scope of the above-described technology.

Claims (13)

분석장치가 파형 형태의 음원 신호를 입력받는 단계;
상기 분석장치가 상기 음원 신호를 신경망 모델에 입력하는 단계; 및
상기 분석장치가 상기 신경망 모델이 출력하는 정보를 기준으로 상기 음원 신호를 분류하는 단계를 포함하되,
상기 신경망 모델은 복수의 컨볼루션(convolution) 블록을 포함하고, 상기 컨볼루션 블록은 1차원 컨볼루션 계층 및 풀링 계층을 포함하고, 상기 컨볼루션 계층에서 필터의 크기는 2 샘플 또는 3 샘플 크기이고,
상기 신경망 모델은 상기 복수의 컨볼루션 블록 앞에 1차원에서 스트라이드(strided) 컨볼루션을 수행하는 스트라이드 컨볼루션 계층을 더 포함하고,
상기 스트라이드 컨볼루션 계층은 스트라이드 컨볼루션을 수행하는 계층이 하나이거나, 두 개가 연속된 계층인 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법.
receiving, by the analysis device, a sound source signal in the form of a waveform;
inputting, by the analysis device, the sound source signal to a neural network model; and
Comprising the step of the analysis device classifying the sound source signal based on the information output by the neural network model,
The neural network model includes a plurality of convolution blocks, the convolution block includes a one-dimensional convolution layer and a pooling layer, and the size of the filter in the convolution layer is 2 samples or 3 samples,
The neural network model further comprises a stride convolution layer for performing strided convolution in one dimension in front of the plurality of convolution blocks,
The stride convolution layer is a sound source classification method based on a neural network model that analyzes a waveform sound source signal in which one or two consecutive stride convolution layers are performed.
삭제delete 제1항에 있어서,
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 레지듀얼(residual) 블록이고,
상기 레지듀얼 블록은 1차원인 제1 컨볼루션 계층, 상기 제1 컨볼루션 계층 다음에 배치되는 1차원인 제2 컨볼루션 계층, 상기 제1 컨볼루션 계층과 상기 제2 컨볼루션 계층 사이에 배치되며 특정 손실율을 갖는 드롭 아웃(drop out) 계층 및 상기 제2 컨볼루션 계층에서 출력되는 정보와 상기 제1 컨볼루션 계층에 입력되는 정보가 합산된 정보를 최대 풀링하는 풀링 계층을 포함하는 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법.
According to claim 1,
At least one block among the plurality of convolution blocks is a residual block,
The residual block is a one-dimensional first convolutional layer, a one-dimensional second convolutional layer disposed after the first convolutional layer, and is disposed between the first convolutional layer and the second convolutional layer, A waveform sound source signal comprising a drop out layer having a specific loss rate and a pooling layer for maximally pooling information output from the second convolution layer and information input to the first convolution layer A sound source classification method based on the neural network model to be analyzed.
제1항에 있어서,
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 추출 및 재조정(squeeze and excitation) 블록이고,
상기 추출 및 재조정 블록은 1차원인 제1 컨볼루션 계층, 상기 제1 컨볼루션 계층의 출력을 최대 풀링하는 풀링 계층 및 추출/재조정 계층을 포함하고,
상기 추출/재조정 계층은 전역 평균 풀링을 수행하여 채널별 통계 정보를 추출하는 추출 계층 및 상기 통계 정보를 재조정하는 가중치를 결정하는 두 개의 전연결 계층으로 구성되는 재조정 계층을 포함하는 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법
According to claim 1,
At least one block among the plurality of convolution blocks is a squeeze and excitation block,
The extraction and reconditioning block includes a one-dimensional first convolutional layer, a pooling layer maximally pooling the output of the first convolutional layer, and an extraction/rebalancing layer,
The extraction/reconditioning layer analyzes a waveform sound source signal including an extraction layer that extracts statistical information for each channel by performing global average pooling and a readjustment layer that includes two all-connected layers that determine a weight for readjusting the statistical information A sound source classification method based on a neural network model
제4항에 있어서,
상기 두 개의 전연결 계층 사이의 차원수는 1보다 작은 값을 갖는 하이퍼파라미터로 조절되는 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법.
5. The method of claim 4,
A sound source classification method based on a neural network model that analyzes a waveform sound source signal controlled by a hyperparameter having a dimension number less than one between the two all-connected layers.
제1항에 있어서,
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 레지듀얼(residual) 및 추출/재조정(squeeze and excitation) 블록이고,
상기 레지듀얼 및 추출/재조정 블록은 1차원인 제1 컨볼루션 계층, 상기 제1 컨볼루션 계층 다음에 배치되는 1차원인 제2 컨볼루션 계층, 상기 제1 컨볼루션 계층과 상기 제2 컨볼루션 계층 사이에 배치되며 특정 손실율을 갖는 드롭 아웃(drop out) 계층, 상기 제2 컨볼루션 계층의 출력을 입력받아 채널별 특성을 반영하는 추출/재조정 계층 및 상기 추출/재조정 계층에서 출력되는 정보와 상기 제1 컨볼루션 계층에 입력되는 정보가 합산된 정보를 최대 풀링하는 풀링 계층을 포함하고,
상기 추출/재조정 계층은 전역 평균 풀링을 수행하여 채널별 통계 정보를 추출하는 추출 계층 및 상기 통계 정보를 재조정하는 가중치를 결정하는 두 개의 전연결 계층으로 구성되는 재조정 계층을 포함하는 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법.
According to claim 1,
At least one block among the plurality of convolution blocks is a residual and an extraction / re-regulation (squeeze and excitation) block,
The residual and extraction/rebalancing blocks include a one-dimensional first convolutional layer, a one-dimensional second convolutional layer disposed after the first convolutional layer, the first convolutional layer and the second convolutional layer. A drop out layer disposed between and having a specific loss rate, an extraction/re-adjustment layer that receives the output of the second convolutional layer and reflects the characteristics of each channel, and information output from the extraction/re-adjustment layer and the first 1 Including a pooling layer that maximally pools the summed information of the information input to the convolution layer,
The extraction/reconditioning layer analyzes a waveform sound source signal including an extraction layer that extracts statistical information for each channel by performing global average pooling and a readjustment layer that includes two all-connected layers that determine a weight for readjusting the statistical information A sound source classification method based on a neural network model.
컴퓨터에서 제1항 및 제3항 내지 제6항 중 어느 하나의 항에 기재된 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium recording a program for executing a sound source classification method based on a neural network model for analyzing a waveform sound source signal according to any one of claims 1 to 6 in a computer. 파형 형태의 음원 신호를 입력받는 입력장치;
음원 신호를 분석하는 신경망 모델을 저장하는 저장장치 및
상기 음원 신호를 상기 신경망 모델에 입력하고, 상기 신경망 모델이 출력하는 정보를 기준으로 상기 음원 신호를 분류하는 연산장치를 포함하되,
상기 신경망 모델은 복수의 컨볼루션(convolution) 블록을 포함하고, 상기 컨볼루션 블록은 1차원 컨볼루션 계층 및 풀링 계층을 포함하고, 상기 컨볼루션 계층에서 필터의 크기는 2 샘플 또는 3 샘플 크기이고,
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 레지듀얼(residual) 블록이고,
상기 레지듀얼 블록은 1차원인 제1 컨볼루션 계층, 상기 제1 컨볼루션 계층 다음에 배치되는 1차원인 제2 컨볼루션 계층, 상기 제1 컨볼루션 계층과 상기 제2 컨볼루션 계층 사이에 배치되며 특정 손실율을 갖는 드롭 아웃(drop out) 계층 및 상기 제2 컨볼루션 계층에서 출력되는 정보와 상기 제1 컨볼루션 계층에 입력되는 정보가 합산된 정보를 최대 풀링하는 풀링 계층을 포함하는 파형 음원 신호를 분석하는 신경망 모델을 이용하는 음원 분석장치.
an input device receiving a sound source signal in the form of a waveform;
A storage device that stores a neural network model that analyzes a sound source signal, and
A computing device for inputting the sound source signal to the neural network model and classifying the sound source signal based on information output by the neural network model,
The neural network model includes a plurality of convolution blocks, the convolution block includes a one-dimensional convolution layer and a pooling layer, and the size of the filter in the convolution layer is 2 samples or 3 samples,
At least one block among the plurality of convolution blocks is a residual block,
The residual block is a one-dimensional first convolutional layer, a one-dimensional second convolutional layer disposed after the first convolutional layer, and is disposed between the first convolutional layer and the second convolutional layer, A waveform sound source signal comprising a drop out layer having a specific loss rate and a pooling layer for maximally pooling information output from the second convolution layer and information input to the first convolution layer A sound source analysis device using a neural network model to analyze.
제8항에 있어서,
상기 신경망 모델은 상기 복수의 컨볼루션 블록 앞에 1차원에서 스트라이드(strided) 컨볼루션을 수행하는 스트라이드 컨볼루션 계층을 더 포함하고,
상기 스트라이드 컨볼루션 계층은 스트라이드 컨볼루션을 수행하는 계층이 하나이거나, 두 개가 연속된 계층인 파형 음원 신호를 분석하는 신경망 모델을 이용하는 음원 분석장치.
9. The method of claim 8,
The neural network model further comprises a stride convolution layer for performing strided convolution in one dimension in front of the plurality of convolution blocks,
The stride convolution layer is a sound source analyzer using a neural network model that analyzes a waveform sound source signal in which one or two consecutive stride convolution layers are used.
삭제delete 제8항에 있어서,
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 추출 및 재조정(squeeze and excitation) 블록이고,
상기 추출 및 재조정 블록은 1차원인 제1 컨볼루션 계층, 상기 제1 컨볼루션 계층의 출력을 최대 풀링하는 풀링 계층 및 추출/재조정 계층을 포함하고,
상기 추출/재조정 계층은 전역 평균 풀링을 수행하여 채널별 통계 정보를 추출하는 추출 계층 및 상기 통계 정보를 재조정하는 가중치를 결정하는 두 개의 전연결 계층으로 구성되는 재조정 계층을 포함하는 파형 음원 신호를 분석하는 신경망 모델을 이용하는 음원 분석장치.
9. The method of claim 8,
At least one block among the plurality of convolution blocks is a squeeze and excitation block,
The extraction and reconditioning block includes a one-dimensional first convolutional layer, a pooling layer maximally pooling the output of the first convolutional layer, and an extraction/rebalancing layer,
The extraction/reconditioning layer analyzes a waveform sound source signal including an extraction layer that extracts statistical information for each channel by performing global average pooling and a readjustment layer that includes two all-connected layers that determine a weight for readjusting the statistical information A sound source analysis device using a neural network model.
제11항에 있어서,
상기 두 개의 전연결 계층 사이의 차원수는 1보다 작은 값을 갖는 하이퍼파라미터로 조절되는 파형 음원 신호를 분석하는 신경망 모델을 이용하는 음원 분석장치.
12. The method of claim 11,
A sound source analysis apparatus using a neural network model for analyzing a waveform sound source signal controlled by a hyperparameter having a dimension number less than one between the two all-connected layers.
제8항에 있어서,
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 추출/재조정(squeeze and excitation) 블록이고,
상기 추출/재조정 블록은 1차원인 제1 컨볼루션 계층, 상기 제1 컨볼루션 계층 다음에 배치되는 1차원인 제2 컨볼루션 계층, 상기 제1 컨볼루션 계층과 상기 제2 컨볼루션 계층 사이에 배치되며 특정 손실율을 갖는 드롭 아웃(drop out) 계층, 상기 제2 컨볼루션 계층의 출력을 입력받아 채널별 특성을 반영하는 추출/재조정 계층 및 상기 추출/재조정 계층에서 출력되는 정보와 상기 제1 컨볼루션 계층에 입력되는 정보가 합산된 정보를 최대 풀링하는 풀링 계층을 포함하고,
상기 추출/재조정 계층은 전역 평균 풀링을 수행하여 채널별 통계 정보를 추출하는 추출 계층 및 상기 통계 정보를 재조정하는 가중치를 결정하는 두 개의 전연결 계층으로 구성되는 재조정 계층을 포함하는 파형 음원 신호를 분석하는 신경망 모델을 이용하는 음원 분석장치.
9. The method of claim 8,
At least one block of the plurality of convolution blocks is an extraction / reconditioning (squeeze and excitation) block,
The extraction/rearrangement block is a one-dimensional first convolutional layer, a one-dimensional second convolutional layer disposed after the first convolutional layer, and disposed between the first convolutional layer and the second convolutional layer. and a drop out layer having a specific loss rate, an extraction/re-adjustment layer that receives the output of the second convolution layer and reflects the characteristics of each channel, and information output from the extraction/re-adjustment layer and the first convolution Including a pooling layer for maximally pooling the summed information of information input to the layer,
The extraction/reconditioning layer analyzes a waveform sound source signal including an extraction layer that extracts statistical information for each channel by performing global average pooling and a readjustment layer that includes two all-connected layers that determine a weight for readjusting the statistical information A sound source analysis device using a neural network model.
KR1020190130087A 2019-10-18 2019-10-18 Audio classification method based on neural network for waveform input and analyzing apparatus KR102281676B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190130087A KR102281676B1 (en) 2019-10-18 2019-10-18 Audio classification method based on neural network for waveform input and analyzing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190130087A KR102281676B1 (en) 2019-10-18 2019-10-18 Audio classification method based on neural network for waveform input and analyzing apparatus

Publications (2)

Publication Number Publication Date
KR20210046416A KR20210046416A (en) 2021-04-28
KR102281676B1 true KR102281676B1 (en) 2021-07-26

Family

ID=75720992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190130087A KR102281676B1 (en) 2019-10-18 2019-10-18 Audio classification method based on neural network for waveform input and analyzing apparatus

Country Status (1)

Country Link
KR (1) KR102281676B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102597079B1 (en) * 2021-09-03 2023-10-31 연세대학교 산학협력단 Method and device for compression of convolution neural network using n-mode tensor product operation
CN113793622B (en) * 2021-09-10 2023-08-29 中国科学院声学研究所 Audio scene recognition method, system and device
KR102417670B1 (en) * 2021-11-26 2022-07-07 뉴튠(주) Method and apparatus for automatic note-level singing transcription using artificial neural network
KR102476120B1 (en) * 2022-07-12 2022-12-09 뉴튠(주) Music analysis method and apparatus for cross-comparing music properties using artificial neural network
KR102511598B1 (en) * 2022-05-03 2023-03-21 뉴튠(주) Music property analysis method and apparatus for analyzing music characteristics using artificial neural network
WO2023224207A1 (en) * 2022-05-20 2023-11-23 주식회사 엔씨소프트 Electronic device, method, and computer-readable storage medium for identifying object from image data
KR102625795B1 (en) 2022-11-30 2024-01-17 주식회사 포자랩스 System and Method for Searching of Similar sound source based on Artificial Intelligence
CN116645978B (en) * 2023-06-20 2024-02-02 方心科技股份有限公司 Electric power fault sound class increment learning system and method based on super-computing parallel environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001033304A (en) 1999-07-21 2001-02-09 Sumitomo Electric Ind Ltd Sound source classification recognizing apparatus
JP2007085734A (en) 2005-09-16 2007-04-05 Research Organization Of Information & Systems Sound source direction detection device and method
KR102018286B1 (en) 2018-10-31 2019-10-21 에스케이 텔레콤주식회사 Method and Apparatus for Removing Speech Components in Sound Source

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844695A (en) * 1994-08-02 1996-02-16 Hitachi Zosen Corp Method for discriminating sound source
KR20110125968A (en) * 2010-05-14 2011-11-22 주식회사 케이티 Method and system for managing music data classification model
KR20170128060A (en) * 2016-12-13 2017-11-22 반병현 Melody extraction method from music signal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001033304A (en) 1999-07-21 2001-02-09 Sumitomo Electric Ind Ltd Sound source classification recognizing apparatus
JP2007085734A (en) 2005-09-16 2007-04-05 Research Organization Of Information & Systems Sound source direction detection device and method
KR102018286B1 (en) 2018-10-31 2019-10-21 에스케이 텔레콤주식회사 Method and Apparatus for Removing Speech Components in Sound Source

Also Published As

Publication number Publication date
KR20210046416A (en) 2021-04-28

Similar Documents

Publication Publication Date Title
KR102281676B1 (en) Audio classification method based on neural network for waveform input and analyzing apparatus
US10930301B1 (en) Sequence models for audio scene recognition
CN109493881B (en) Method and device for labeling audio and computing equipment
Zottesso et al. Bird species identification using spectrogram and dissimilarity approach
US11854536B2 (en) Keyword spotting apparatus, method, and computer-readable recording medium thereof
Koerich et al. Cross-representation transferability of adversarial attacks: From spectrograms to audio waveforms
Elnagar et al. Predicting quranic audio clips reciters using classical machine learning algorithms: a comparative study
Jadhav et al. Machine learning approach to classify birds on the basis of their sound
KR102221963B1 (en) Artificial intelligence device and method for providing image information
Theodorou et al. Automatic sound recognition of urban environment events
Muthumari et al. A novel model for emotion detection with multilayer perceptron neural network
US10891942B2 (en) Uncertainty measure of a mixture-model based pattern classifer
Chikkamath et al. Music detection using deep learning with tensorflow
Xie et al. Investigation of acoustic and visual features for frog call classification
KR20230093826A (en) Video data labeling method and devicd for animal detection and classification
KR101520572B1 (en) Method and apparatus for multiple meaning classification related music
Thakur et al. Multiscale CNN based deep metric learning for bioacoustic classification: Overcoming training data scarcity using dynamic triplet loss
WO2017148523A1 (en) Non-parametric audio classification
Rajesh et al. Combined evidence of MFCC and CRP features using machine learning algorithms for singer identification
Aggarwal et al. Classification of Bird Species using Audio processing and Deep Neural Network
Das et al. Impact of Visual Representation of Audio Signals for Indian Language Identification
KR102482827B1 (en) Method, system, and computer program to speaker diarisation using speech activity detection based on spearker embedding
Latha et al. Detection of Bird and Frog Species from Audio Dataset Using Deep Learning
CN115099372B (en) Classification identification method and device
Daleffi da Silva Sr et al. Acoustic Signatures of the Cerrado: Machine Learning Reveals Unique Soundscapes Across Diverse Phytogeographies

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant