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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013528 artificial neural network Methods 0.000 title description 7
- 238000011176 pooling Methods 0.000 claims abstract description 55
- 238000003062 neural network model Methods 0.000 claims abstract description 54
- 238000000605 extraction Methods 0.000 claims description 41
- 238000004458 analytical method Methods 0.000 claims description 38
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 13
- 230000005284 excitation Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 6
- 230000008707 rearrangement Effects 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 description 57
- 230000008569 process Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000010606 normalization Methods 0.000 description 12
- 238000002474 experimental method Methods 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 239000000470 constituent Substances 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000005067 remediation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0272—Voice signal separating
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/15—Speech 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
이하 설명하는 기술은 파형 음원 신호를 직접 분류하는 기술에 관한 것이다.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.
인공신경망 모델은 대부분 주파수 도메인의 음원 신호를 분석하여, 음원을 분류한다. 따라서, 종래 기술은 최초 음원을 주파수 도메인으로 변경하는 과정이 필수적이다. 이하 설명하는 기술은 음원 신호의 원시적인 파형 신호(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
도 1(A)는 분석 서버(110) 및 음원 데이터베이스(120)를 포함하는 시스템(100)에 대한 예이다. 음원 데이터베이스(120)는 파형 형태의 음원 원시 파일을 저장한다. 분석 서버(110)는 음원 베이스(120)로부터 특정 음원을 수신하고, 수신한 음원을 분류한다. 분석 서버(110)는 신경망 모델을 이용하여 음원을 분류한다. 사용자 단말(10)은 분석 서버(110)에 음원 분류를 요청할 수 있다. 사용자 단말(10)은 분석 서버(110)로부터 음원 분류 결과를 수신할 수 있다.FIG. 1A is an example of a
도 2(B)는 분석 서버(210)를 포함하는 시스템(200)에 대한 예이다. 사용자 단말(20)은 파형 형태 음원 신호를 분석 서버(210)에 전달한다. 분석 서버(110)는 수신한 음원을 분류한다. 분석 서버(110)는 신경망 모델을 이용하여 음원을 분류한다. 사용자 단말(10)은 분석 서버(110)로부터 음원 분류 결과를 수신할 수 있다.2(B) is an example of a
도 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
도 2(C)와 달리 스마트 기기(310) 또는 컴퓨터 단말은 저장 매체(USB, SD 카드, 하드 디스크 등)에 저장된 음원에 접근할 수 있다. 스마트 기기(310) 또는 컴퓨터 단말은 저장 매체에 저장된 음원을 신경망 모델을 이용하여 분류할 수 있다.Unlike FIG. 2C , the
도 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
입력 데이터는 파형 형태 음원 신호이다.The input data is a waveform sound source signal.
샘플 CNN(400)은 복수의 컨볼루션 계층과 풀링 계층을 포함한다. 컨볼루션 계층과 풀링 계층은 1차원(one-dimension) 형태이다. 모든 계층에서 필터의 크기가 2 또는 3 샘플들로 매우 작은 크기이다. 작은 크기의 필터는 입력 신호가 시간 도메인에서 서로 다른 위상인데 동일한 필터 형태로 학습될 가능성을 줄여준다.The
샘플 CNN(400)은 컨볼루션-스트라이드 계층(410), 복수의 컨볼루션 블록(420) 및 전연결계층(fully connected layer, FC, 430)을 포함한다. The
도 3은 하나의 컨볼루션-스트라이드 계층(410)과 9개의 컨볼루션 블록(420)을 도시한 예이다. 3 is an example illustrating one convolution-
컨볼루션-스트라이드 계층(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-
한편, 샘플 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
도 5(A)는 기본 블록의 구조(500)에 대한 예이다. 기본 블록(500)은 1차원 컨볼루션 계층(Conv1D, 511), 배치 표준화 계층(BatchNorm, 512) 및 최대 풀링 계층(MaxPool, 513)을 포함한다. 컨볼루션 계층(511) 및 풀링 계층(513_은 각각 전술한 기능을 수행한다. 배치 정규화 계층(512)은 미니 배치 단위로 출력을 정규화한다. 배치 정규화 계층(512)은 각 계층에서 활성화값이 적당하게 분포되게 한다. 배치 정규화 계층은 선택적 (optional) 구성일 수 있다. 5(A) is an example of a
도 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 블록은 컨볼루션 계층이 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-
참고로, 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)
필터들은 각각 필터가 적용되는 지역적 영역에서 동작하기 때문에, 다른 영역에 대한 정보를 이용할 수 없다. 채널마다 중요도가 다를 수 있는데, 일반적인 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/
추출(squeeze) 계층(721)은 각 채널에 대하여 통계 정보(statistics)를 추출하는 동작을 수행한다. 추출 계층(721)은 일정 시간동안 채널별로 전역 평균 풀링(global average pooling)을 수행하여, 채널별 통계 정보(channel-wise statistics)를 획득한다. 추출 계층(721)은 각 채널에 대하여 채널을 대표하는 스칼라값을 추출한다. 도 5(D) 우측에 도시한 바와 같이, 전역 평균 풀링을 통해 C × T 특징맵이 C × 1 채널별 통계 정보로 축소된다. C는 필터 채널을 의미하고, T는 시간에서 차원수(dimensionality)를 의미한다. The extraction (squeeze)
재조정(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
마지막으로, 각 채널에 각각 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-
ReSE-n 블록(800)은 컨볼루션 연산을 수행하는 계층을 기준으로 구분하면, 2개의 계층(제1 계층 및 제2 계층)으로 구분할 수 있다. The ReSE-
제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
추출/재조정 계층은 추출 계층(823) 및 재조정 계층(824,825,826)을 포함한다. 추출 계층(823)은 일정 시간동안 채널별로 전역 평균 풀링(global average pooling)을 수행하여, 채널별 통계 정보(channel-wise statistics)를 획득한다. 추출 계층(823)은 각 채널에 대하여 채널을 대표하는 스칼라값을 추출한다. 도 5(D) 우측에 도시한 바와 같이, 전역 평균 풀링을 통해 C × T 특징맵이 C × 1 채널별 통계 정보로 축소된다. The extraction/remediation layer includes an
재조정(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
마지막으로, 각 채널에 각각 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
이하 음원 분류를 위한 샘플 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.
음악 자동 태깅(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.
표 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
분석장치(900)는 전술한 신경망 모델(샘플 CNN)을 이용하여 음원을 분류한다. 분석장치(900)는 물리적으로 다양한 형태로 구현될 수 있다. 예컨대, 분석장치(900)는 PC와 같은 컴퓨터 장치, 네트워크의 서버, 음원 처리 전용 칩셋 등의 형태를 가질 수 있다. 컴퓨터 장치는 스마트 기기 등과 같은 모바일 기기를 포함할 수 있다.The
분석장치(900)는 저장장치(910), 메모리(920), 연산장치(930), 인터페이스 장치(940), 통신장치(950) 및 출력장치(960)를 포함한다.The
저장장치(910)는 음원 신호를 분석하는 신경망 모델(샘플 CNN)을 저장한다. 신경망 모델는 사전에 학습되어야 한다. 나아가 저장장치(910)는 데이터 처리에 필요한 다른 프로그램 내지 소스 코드 등을 저장할 수 있다. 저장장치(910)는 입력되는 음원 파일 내지 음원 데이터를 저장할 수 있다.The
메모리(920)는 분석장치(900)가 수신한 데이터를 분석하는 과정에서 생성되는 데이터 및 정보 등을 저장할 수 있다.The
인터페이스 장치(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
한편, 연산 장치(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.
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 레지듀얼(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.
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 추출 및 재조정(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
상기 두 개의 전연결 계층 사이의 차원수는 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.
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 레지듀얼(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.
음원 신호를 분석하는 신경망 모델을 저장하는 저장장치 및
상기 음원 신호를 상기 신경망 모델에 입력하고, 상기 신경망 모델이 출력하는 정보를 기준으로 상기 음원 신호를 분류하는 연산장치를 포함하되,
상기 신경망 모델은 복수의 컨볼루션(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.
상기 신경망 모델은 상기 복수의 컨볼루션 블록 앞에 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.
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 추출 및 재조정(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.
상기 두 개의 전연결 계층 사이의 차원수는 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.
상기 복수의 컨볼루션 블록 중 적어도 하나의 블록은 추출/재조정(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.
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)
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)
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)
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 |
-
2019
- 2019-10-18 KR KR1020190130087A patent/KR102281676B1/en active IP Right Grant
Patent Citations (3)
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 |