제한된 대역폭을 효율적으로 사용하기 위해서 도입된 가변 전송률은 먼저 신호의 정확한 분류를 필요로 한다. 특히 멀티미디어 서비스가 보편화 되면서 음성/음악 신호 분류의 중요성도 높아지게 되었다. 음성/음악 분류기 중, 서포트벡터머신 (SVM)을 이용한 분류기는 높은 분류 정확도로 주목받고 있다. 그러나 SVM는 많은 계산량과 저장 공간을 요구하므로 효율적인 구현이 요구되며, 특히 임베디드 시스템과 같이 자원이 제한 적인 경우에는 더욱 그러하다. 본 논문에서는 먼저 SVM을 이용한 음성/음악 분류기의 임베디드 시스템으로의 구현을 실행시간과 에너지소비의 관점에서 분석하고, 효율적인 구현을 위한 두가지 방법들을 제안한다. 서포트벡터의 판별결과에의 기여도를 바탕으로 기여도가 낮은 벡터들을 제외하는 방법과, 음성/음악 신호에 기본적으로 존재하는 각 프레임간의 상관관계를 이용하여 입력신호의 일부를 건너뛰는 방법이다. 이 기법들은 SVM의 학습 시 사용되는 다른 최적화 기법에 관계없이 적용이 가능하며, 실험을 통해 분류의 정확도, 실행시간, 그리고 에너지소비의 관점에서 그 성능을 증명하였다.
제한된 대역폭을 효율적으로 사용하기 위해서 도입된 가변 전송률은 먼저 신호의 정확한 분류를 필요로 한다. 특히 멀티미디어 서비스가 보편화 되면서 음성/음악 신호 분류의 중요성도 높아지게 되었다. 음성/음악 분류기 중, 서포트벡터머신 (SVM)을 이용한 분류기는 높은 분류 정확도로 주목받고 있다. 그러나 SVM는 많은 계산량과 저장 공간을 요구하므로 효율적인 구현이 요구되며, 특히 임베디드 시스템과 같이 자원이 제한 적인 경우에는 더욱 그러하다. 본 논문에서는 먼저 SVM을 이용한 음성/음악 분류기의 임베디드 시스템으로의 구현을 실행시간과 에너지소비의 관점에서 분석하고, 효율적인 구현을 위한 두가지 방법들을 제안한다. 서포트벡터의 판별결과에의 기여도를 바탕으로 기여도가 낮은 벡터들을 제외하는 방법과, 음성/음악 신호에 기본적으로 존재하는 각 프레임간의 상관관계를 이용하여 입력신호의 일부를 건너뛰는 방법이다. 이 기법들은 SVM의 학습 시 사용되는 다른 최적화 기법에 관계없이 적용이 가능하며, 실험을 통해 분류의 정확도, 실행시간, 그리고 에너지소비의 관점에서 그 성능을 증명하였다.
Accurate classification of input signals is the key prerequisite for variable bit-rate coding, which has been introduced in order to effectively utilize limited communication bandwidth. Especially, recent surge of multimedia services elevate the importance of speech/music classification. Among many ...
Accurate classification of input signals is the key prerequisite for variable bit-rate coding, which has been introduced in order to effectively utilize limited communication bandwidth. Especially, recent surge of multimedia services elevate the importance of speech/music classification. Among many speech/music classifier, the ones based on support vector machine (SVM) have a strong selling point, high classification accuracy, but their computational complexity and memory requirement hinder their way into actual implementations. Therefore, techniques that reduce the computational complexity and the memory requirement is inevitable, particularly for embedded systems. We first analyze implementation of an SVM-based classifier on embedded systems in terms of execution time and energy consumption, and then propose two techniques that alleviate the implementation requirements: One is a technique that removes support vectors that have insignificant contribution to the final classification, and the other is to skip processing some of input signals by virtue of strong correlations in speech/music frames. These are post-processing techniques that can work with any other optimization techniques applied during the training phase of SVM. With experiments, we validate the proposed algorithms from the perspectives of classification accuracy, execution time, and energy consumption.
Accurate classification of input signals is the key prerequisite for variable bit-rate coding, which has been introduced in order to effectively utilize limited communication bandwidth. Especially, recent surge of multimedia services elevate the importance of speech/music classification. Among many speech/music classifier, the ones based on support vector machine (SVM) have a strong selling point, high classification accuracy, but their computational complexity and memory requirement hinder their way into actual implementations. Therefore, techniques that reduce the computational complexity and the memory requirement is inevitable, particularly for embedded systems. We first analyze implementation of an SVM-based classifier on embedded systems in terms of execution time and energy consumption, and then propose two techniques that alleviate the implementation requirements: One is a technique that removes support vectors that have insignificant contribution to the final classification, and the other is to skip processing some of input signals by virtue of strong correlations in speech/music frames. These are post-processing techniques that can work with any other optimization techniques applied during the training phase of SVM. With experiments, we validate the proposed algorithms from the perspectives of classification accuracy, execution time, and energy consumption.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
이 장에서는 먼저 RBF를 커널함수로 사용하는 SVM을 복습한다. 그리고 SVM기반 분류기의 사용이 SMV의 실시간 요구조건에 적합한지 알아보고 계산량과 메모리 크기에 영향을 미치는 서포트벡터의 개수와 차원이 어떻게 실행시간과 에너지소비량을 변화시키는지 분석하여 본다.
참고적으로 가정된 프로세서로 실시간 조건을 만족시키려면 888 MHz의 동작속도가 필요하다. 따라서 본 논문에서는 SVM기반 분류기를 위한 최적화 기법을 제안함으로써 분류기의 실제 활용가능성을 높이고자 한다.
본 논문에서는 SVM기반 음성/음악 분류기의 임베디드 시스템으로의 구현을 주제로 실행시간과 에너지소비를 줄이는 기법을 제안하였고, SVM의 주요 파라미터인 서포트벡터의 개수와 차원이 실행시간과 에너지소비에 미치는 영향을 분석하였다. 그리고 SVM기반 분류기 알고리즘이 임베디드 프로세서에서 실행될 때 부동소수점 곱셈기의 개수와 성능, 그리고 캐쉬의 크기에 어떻게 영향을 받는지 분석하였다.
SVM의 계산량과 메모리 요구량과 직접적으로 관련이 있는 파라미터는 서포트벡터의 개수와 서포트벡터의 차원(dimensionality)이고, 많은 연구가 분류 성능의 저하 없이 서포트벡터의 개수와 벡터의 차원을 줄이기 위해 수행되었다 [8-11]. 본 논문에서는 SVM의 임베디드 시스템으로의 효율적인 구현을 위하여, 기존의 기법들과 독립적으로 개발되고 SVM 학습단계 후에 적용이 가능하여 병용이 용이한 두 가지 기법을 제안한다. 첫째로 각 서포트벡터의 판별에 미치는 영향을 바탕으로 영향이 작은 벡터들을 서포트벡터 집합에서 제외시키는 방법이다.
이 기법들 모두 목표는 같지만 다른 방법으로 목표를 달성했다. 본 논문에서는 각 서포트벡터의 기여도를 바탕으로 서포트벡터를 간략화 하는 새로운 방법을 제안한다.
식 (2)에서 알 수 있듯이 서포트벡터의 개수와 차원은 총 계산량에 직접적인 관계를 가지고 있는데, 서포트벡터의 개수와 차원을 증가시키며 계산량과 에너지 소비에의 영향을 조사해 보았다. 표 2는 서포트벡터의 개수를 5000에서 60000까지 변화시켰고 서포트벡터의 차원을 2에서 40까지 변화시키며 얻은 결과이다.
이제 SVM기반 음성/음악 분류기가 임베디드 프로세서에서 실행될 때 부동소수점 곱셈기의 개수와 연산수행 시간 (execution latency), 그리고 캐쉬의 크기에 어떻게 영향을 받는지 알아보도록 한다. 그림 1은 부동소수점 유닛의 개수와 성능 (연산수행 시간)에 따라 SVM기반 분류기의 한 프레임을 분류하는데 필요한 시간이 어떻게 변하는지 보여주고 있다.
제안 방법
본 논문에서는 SVM기반 음성/음악 분류기의 임베디드 시스템으로의 구현을 주제로 실행시간과 에너지소비를 줄이는 기법을 제안하였고, SVM의 주요 파라미터인 서포트벡터의 개수와 차원이 실행시간과 에너지소비에 미치는 영향을 분석하였다. 그리고 SVM기반 분류기 알고리즘이 임베디드 프로세서에서 실행될 때 부동소수점 곱셈기의 개수와 성능, 그리고 캐쉬의 크기에 어떻게 영향을 받는지 분석하였다. 또한 제안된 기법은 SVM기반 분류기의 실행시간과 에너지소비를 효과적으로 감소시킬 수 있음을 보였다.
일반적인 음성코덱은 매 프레임 연산을 수행하도록 되어 있으나, 음성/음악 신호의 quasi-stationay 또는 stationary 성질을 이용하면 이웃 프레임들 간의 강한 상관관계를 고려해줄 수 있어서 판별식의 계산 대신 인접한 과거 프레임의 판별결과를 가지고 현재의 판별을 근사화 할 수 있다. 실험에서 사용되어진 음성/음악 신호는 음성구간, 음악구간, 그리고 무음구간으로 구성되어 지는데, 각 구간은 어느 정도의 길이를 가지며 반복된다. 그러므로 각 구간은 실시간 분류를 위해 대체로 많은 수의 프레임으로 구성된다.
본 논문에서 사용된 음성/음악 데이터를 구성하기 위하여 음성 데이터베이스로 8 kHz로 샘플링 된 약 6 sec 정도의 깨끗한 음성으로 326명의 남자와 138명의 여자 화자에 의해서 화자마다 10개의 파일이 발음된 TIMIT 데이터베이스가 사용되었다 [13]. 음악 데이터베이스는 CD로부터 다섯 가지 장르의 음악을 모바일 폰을 통해서 녹음하였고, 8 kHz로 다운 샘플링 하여 사용하였으며, 각기 약 5분 정도의 길이를 가진다. 학습을 위해서 음성과 음악 데이터베이스에서 20분 정도의 데이터를 선별하여 사용하였으며, 테스트를 위해서는 학습에 사용되지 않은 데이터로 각 장르별로 2 개씩 모두 10개의 파일을 만들었다.
이 기법들을 소개하기 앞서 본 논문에서는 서포트벡터 머신의 임베디드 시스템으로의 구현에 대한 사전정보를 얻기 위하여 서포트벡터의 개수와 차원에 따른 임베디드 프로세서에서의 실행시간과 에너지 소비량을 프로세서 시뮬레이터를 사용하여 분석하였고, 또한 SVM 분류기의 프로세서 구조 (부동소수점계산 유닛의 개수와 캐쉬의 크기)의 변화에 따른 성능변화를 분석하였다.
제안된 알고리즘을 검증하기 위하여 알고리즘을 적용한 경우와 적용하지 않은 경우의 분류정확도, 실행시간, 그리고 에너지 소비를 비교해 보았다. 그림 4는 그 결과를 보여주는데 10개의 테스트 파일에서 나온 결과들의 평균값이다.
또한 이 SVM기반 분류기는 높은 분류성능을 보인다. 하지만 분류성능에 초점을 맞추어 구현에 대해서는 고려하지 않았기 때문에 본 논문에서는 제안되었던 SVM기반 음성/음악 분류기의 효율적인 구현을 주제로 삼았다.
음악 데이터베이스는 CD로부터 다섯 가지 장르의 음악을 모바일 폰을 통해서 녹음하였고, 8 kHz로 다운 샘플링 하여 사용하였으며, 각기 약 5분 정도의 길이를 가진다. 학습을 위해서 음성과 음악 데이터베이스에서 20분 정도의 데이터를 선별하여 사용하였으며, 테스트를 위해서는 학습에 사용되지 않은 데이터로 각 장르별로 2 개씩 모두 10개의 파일을 만들었다. 한 개의 파일에는 음성구간 20개 그리고 음악구간 20개가 포함되어 있으며 각 구간은 5초의 길이를 가진다.
이런 상관관계를 이용하여, 모든 입력 프레임 벡터를 분류하지 않고, 현재의 분류 결과를 다음 입력 프레임들의 분류로 사용하는 것이 제안하는 방법의 핵심이다. 현재의 분류 결과를 가지고 몇 개의 입력 프레임을 분류의 정확도의 저하 없이 근사화할 수 있는지 알아보기 위하여 분류를 생략하는 프레임의 수를 변화시키며 전체적인 분류의 정확도와 생략되는 프레임의 전체 프레임 대비 비율을 구해 보았다. 그림 3은 그 결과를 보여주는데, X축은 하나의 분류를 가지고 대체하는 (생략하는) 입력 프레임의 개수를 나타내고, Y축은 분류의 정확도와 분류가 생략된 입력 프레임의 전체 입력 프레임에 대한 백분율을 나타낸다.
대상 데이터
본 논문에서 사용된 음성/음악 데이터를 구성하기 위하여 음성 데이터베이스로 8 kHz로 샘플링 된 약 6 sec 정도의 깨끗한 음성으로 326명의 남자와 138명의 여자 화자에 의해서 화자마다 10개의 파일이 발음된 TIMIT 데이터베이스가 사용되었다 [13]. 음악 데이터베이스는 CD로부터 다섯 가지 장르의 음악을 모바일 폰을 통해서 녹음하였고, 8 kHz로 다운 샘플링 하여 사용하였으며, 각기 약 5분 정도의 길이를 가진다.
본 실험에서 사용된 테스트 데이터는 다음 장에 자세히 설명이 나오겠지만, 한 세그먼트에 250 프레임 (5초)을 포함하고 있다. 만약 한 세그먼트에 속한 프레임의 개수가 줄어든다면 그림 3에 나온 것 보다 더 빨리 분류의 정확도가 떨어질 것이다.
실험에 사용된 특징벡터로는 SMV [1]에서 추출되어지는 6개의 파라미터로 구성해 사용하였다 [5]. SVM을 학습시키고 테스트 할 때 기본으로 사용되는 커널 width 파라미터 γ를 구하기 위해 여러 값을 시도하였고 그 중 가장 좋은 분류성능과 가장 적은 수의 서포트벡터를 필요로 하는 0.
데이터처리
이 시뮬레이터는 프로세서의 구조 레벨의 모델링 뿐 아니라 프로세서의 각 부분에서의 정적 그리고 동적인 에너지 소비도 예측할 수 있는 에너지 모델도 포함하고 있다. SVM기반 음성/음악 분류기 코드를 ARM instruction set architecture (ISA)로 컴파일 하기위하여 gcc-2.95 기반의 교차컴파일러 (cross-compiler)를 사용하였고 시뮬레이션 되는 임베디드 프로세서의 구성은 표 1에 정리하였다.
이론/모형
SVM기반 분류기의 임베디드 프로세서에서의 분석을 위하여 사이클 (cycle)단위로 프로세서의 행동을 모델한 시뮬레이터인 sim-panalyzer [12] 가 사용되었다. 이 시뮬레이터는 프로세서의 구조 레벨의 모델링 뿐 아니라 프로세서의 각 부분에서의 정적 그리고 동적인 에너지 소비도 예측할 수 있는 에너지 모델도 포함하고 있다.
SVM기반 음성/음악 분류기의 분류성능, 실행시간, 그리고 에너지소비를 구하기 위하여 프로세서 시뮬레이터인 sim-panalyzer [12] 가 사용되었다. 시뮬레이션 되는 임베디드 프로세서의 구성은 표 1에 정리하였다.
성능/효과
프로세서의 issue width가 2 이므로 곱셈기를 두 개 이상으로 늘리는 것은 무의미 하다. 곱셈기의 개수와 성능에 따라 표 1의 구성을 사용한 경우보다 최대 14 %까지 한 프레임을 분별하는데 걸리는 시간이 단축되었다. 그리고 곱셈기의 개수보다는 연산수행 시간이 실행시간을 줄이는 데 더 효과적이라는 것을 알 수 있다.
곱셈기의 개수와 성능에 따라 표 1의 구성을 사용한 경우보다 최대 14 %까지 한 프레임을 분별하는데 걸리는 시간이 단축되었다. 그리고 곱셈기의 개수보다는 연산수행 시간이 실행시간을 줄이는 데 더 효과적이라는 것을 알 수 있다.
그림에서 제안된 기법은 분류의 정확도에의 영향은 최소화 하면서 효율적으로 실행시간과 에너지소비를 줄일 수 있음을 알 수 있다. 예를 들어 가장 실행시간과 에너지 소비가 적고 동시에 분류 정확도가 가장 낮은 ‘prunedskip4’의 경우, 분류정확도의 감소는 0.
첫째, 해당 라그랑제 승수의 크기가 작은 서포트벡터들은 판별에 기여도가 작다. 둘째, 자기 외에 모든 서포트벡터들과의 거리의 합이 아주 크면 기여도가 작다. 이는 다른 서포트벡터들과 많이 떨어져 있어서 입력 벡터와의 거리도 클 가능성이 많고, 거리가 크다면 식 (3)에 의해 RBF 커널함수의 결과값이 아주 작은 값이 되기 때문이다.
6 %에 불과하다. 또한 실행시간과 에너지소비의 감소는 제거된 서포트벡터의 개수와 생략된 입력벡터의 개수 선형적으로 비례함을 알 수 있다. 입력 벡터의 판별을 생략하고 서포트벡터의 개수를 줄이는 것은 서로 독립적이므로 두 기법에 의해 감소되는 실행시간과 에너지는 두 기법을 모두 사용하였을 때 한 기법만을 사용했을 때보다 늘어나는 것도 알 수 있다.
그리고 SVM기반 분류기 알고리즘이 임베디드 프로세서에서 실행될 때 부동소수점 곱셈기의 개수와 성능, 그리고 캐쉬의 크기에 어떻게 영향을 받는지 분석하였다. 또한 제안된 기법은 SVM기반 분류기의 실행시간과 에너지소비를 효과적으로 감소시킬 수 있음을 보였다.
역시 표 1의 구성을 사용하였고 캐쉬의 크기만 변화시켰다. 역시 표 1의 구성을 사용한 경우보다 최대 11 % 정도 성능이 향상되었다. 주목할 것은 캐쉬의 크기가 512 KB가 되었을 때 성능의 향상이 확실히 이루어지게 된 점이다.
기법 적용 전을 살펴보면 γ에 따라 분류정확도에는 별 차이가 없으나, 서포트벡터의 개수는 큰 차이가 있음을 알 수 있다. 제안된 기법을 적용한 경우, 서포트벡터의 개수가 많을 때, 더 많은 서포트벡터들이 제거됨을 볼 수 있다. 그러나 제안된 기법은 분류의 정확도에 큰 영향이 없음도 알 수 있다.
이런 기여도가 작은 서포트벡터들을 관찰 한 결과, 두 가지 특징이 있는 것을 발견했다. 첫째, 해당 라그랑제 승수의 크기가 작은 서포트벡터들은 판별에 기여도가 작다. 둘째, 자기 외에 모든 서포트벡터들과의 거리의 합이 아주 크면 기여도가 작다.
그림 3은 그 결과를 보여주는데, X축은 하나의 분류를 가지고 대체하는 (생략하는) 입력 프레임의 개수를 나타내고, Y축은 분류의 정확도와 분류가 생략된 입력 프레임의 전체 입력 프레임에 대한 백분율을 나타낸다. 하나의 분류 결과를 가지고 대체되는 프레임의 개수가 많아질수록 분류의 정확도는 천천히 저하되는 것을 볼 수가 있다. 그러나 판별이 생략되는 입력 프레임의 비율은 초반에 급격하게 늘어나서 하나의 분류결과에 의해 생략되는 개수가 10개정도부터는 포화되는 것을 볼 수 있다.
후속연구
앞으로의 연구과제로는 알고리즘 차원의 기법 뿐 아니라 코드 차원이나 프로세서 구조 차원의 기법을 개발, 적용함으로써 SVM기반 분류기의 보다 효율적인 구현을 가능하게 하는 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
가변 전송률은 어떠한 목적으로 도입되었는가?
제한된 대역폭을 효율적으로 사용하기 위해서 도입된 가변 전송률은 먼저 신호의 정확한 분류를 필요로 한다. 특히 멀티미디어 서비스가 보편화 되면서 음성/음악 신호 분류의 중요성도 높아지게 되었다.
가변 전송률에서 가장 먼저 필요로 하는 것은?
제한된 대역폭을 효율적으로 사용하기 위해서 도입된 가변 전송률은 먼저 신호의 정확한 분류를 필요로 한다. 특히 멀티미디어 서비스가 보편화 되면서 음성/음악 신호 분류의 중요성도 높아지게 되었다.
SVM을 사용하여 selectable mode vocoder의 음성/음악 분류 성능을 향상시키는 기법의 장점은?
근래에 서포트벡터머신 (SVM)을 사용하여 3GPP2 표준 코덱인 selectable mode vocoder (SMV) [1-2]의 음성/ 음악 분류성능을 향상시키는 기법 [5-6]이 제안되었다. 이 기법은 SMV내에서 만들어지는 파라미터들을 사용하여 별도의 특징추출 과정에 해당하는 계산량을 줄일 수 있다 [7]. 또한 이 SVM기반 분류기는 높은 분류성능을 보인다. 하지만 분류성능에 초점을 맞추어 구현에 대해서는 고려하지 않았기 때문에 본 논문에서는 제안되었던 SVM기반 음성/음악 분류기의 효율적인 구현을 주제로 삼았다.
참고문헌 (13)
3GPP2 Spec., "Source-controlled variable-rate multimedia wideband speech codec (VMR-WB), service option 62 and 63 for spread spectrum systems," 3GPP2-C.S0052-A, vol. 1.0, Apr. 2005.
Y. Gao, E. Shlomot, A. Benyassine, J. Hyssen, Huan-yu Su, and C. Murgia, "The SMV algorithm selected by TIA and 3GPP2 for CDMA appications," in Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing , vol. 2, pp. 709-712, 2001.
A. Bugatti, A. Flammini, and P. Migliorati, "Audio classification in speech and music: a comparison between statistical and a neural approach," EURASIP Journal on Appliled Signal Processing, vol. 2002, no. 4, pp. 372-378, 2002.
J. Saunders, "Real-time discrimination of broadcast speech/musicspeech/music," in Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. 2, pp. 7-10, 1996.
S. -K. Kim and J. -H. Chang, "Speech/music classification enhancement for 3GPP2 SMV codec based on support vector machine," IEICE Trans. Fundamentals of Electronics, Communications and Computer Sciences, Vol. E92-A, no. 2, 2009.
S. -K. Kim and J. -H. Chang, "Discriminative weight training for support vector machine-based speech/music classification in 3GPP2 SMV codec," IEICE Trans. Fundamentals of Electronics, Communications and Computer Sciences , vol. E93-A, no. 1, pp. 316-319, 2010.
H. Lee and J. Jeong, "Early termination scheme for binary block motion estimation," IEEE Trans. Consumer Electronics, vol. 53, no. 4, pp. 1682-1686, 2007.
T. Ho, "An efficient method for simplifying support vector machines," in Proc. International Conference on Machine Learning, pp. 617-624, 2005.
N. E. Ayat, M. Cheriet, and C. Y. Suen, "Automatic model selection for the optimization of SVM kernel," Pattern Recognition, vol. 38, no. 10, pp. 1733-1745, 2005.
T. Austin, T. Mudge, and D. Grunwald, Sim-panalyzer. http://www.eecs.umich.edu/-panalyzer/
W. M. Fisher, G. R. Doddington and K. M. Goudie-Marshall, "The DARPA speech recognition research database: Specifications and status," in Proc. DARPA Workshop Speech Recognition , pp. 93-99, 1986.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.