키 클래스 불변 피치 크로마 CNN으로 음악 모드 예측
초록
본 논문은 다성음 피치 추정 시스템에서 얻은 피치 활성화 정보를 입력으로 사용하는 합성곱 신경망(CNN)을 설계하여 음악 오디오의 마이너·메이저 모드를 인식한다. 첫 번째 CNN 층에서 서로 다른 옥타브에 초점을 맞춘 두 개의 피치 크로마를 생성하고, 이후 층에서 시간·피치 차원을 넘나들며 화성 정보를 분석한다. 피치 차원에 대한 맥스 풀링을 적용해 키 클래스(조성)를 무시하도록 불변성을 부여하고, 최종 예측을 위해 스펙트럼 특징과 결합한 다층 퍼셉트론(MLP)을 사용한다. 203개의 짧은 음악 조각(청취자 20명 평균 평가)으로 구성된 데이터셋에서 R²≈0.71을 달성해 기존 방법 및 인간 청취자를 모두 능가하였다.
상세 분석
이 연구는 음악 모드(마이너·메이저) 인식을 위해 기존의 스펙트럼 기반 접근법이 갖는 키 의존성 문제를 근본적으로 해결하고자 한다. 입력으로 사용된 피치 활성화는 멀티플렉스된 다성음 피치 추정 시스템(예: CREPE, Harmonic CNN)에서 추출된 88개의 피치 클래스에 대해 시간축으로 누적된 확률 맵이다. 저자는 이 피치 맵을 두 개의 피치 크로마(12‑톤)로 변환하는 첫 번째 CNN 레이어를 설계했는데, 하나는 저음역(베이스) 옥타브에, 다른 하나는 고음역(멜로디) 옥타브에 집중하도록 필터를 초기화한다. 이렇게 하면 화성 진행과 멜로디 라인의 상호 작용을 동시에 포착할 수 있다.
두 번째와 세 번째 레이어에서는 2‑D 컨볼루션을 적용해 시간‑피치 상관관계를 학습한다. 특히, 시간 축에서의 커널 크기를 크게 잡아(예: 32프레임) 장기간 화성 흐름을 포착하고, 피치 축에서는 3‑4개의 인접 피치만을 보는 작은 커널을 사용해 국소적인 화성 변화를 감지한다. 핵심적인 설계는 피치 차원에 대한 맥스 풀링이다. 이 풀링은 동일한 화성 진행이 다른 키(예: C‑major vs. G‑major)에서도 동일한 활성값을 생성하도록 강제한다. 결과적으로 네트워크는 “키 클래스 불변(key‑class invariant)” 특성을 갖게 되며, 데이터가 적은 상황에서도 일반화 능력이 크게 향상된다.
모드 예측을 위한 최종 출력은 두 개의 클래스 확률(마이너, 메이저)이며, 이를 스펙트럼 기반 특징(멜‑스펙트로그램, MFCC 등)과 결합한 다층 퍼셉트론(MLP)으로 후처리한다. MLP는 작은 완전 연결 층 두 개와 ReLU 활성화를 사용해, CNN이 포착한 화성 정보와 전통적인 음향 특성을 효과적으로 융합한다.
실험에서는 203개의 10초 길이 음악 조각을 사용했으며, 각 조각은 약 20명의 비전문가 청취자가 7점 리커트 척도로 모드 인식을 평가했다. 데이터 양이 매우 제한적이기 때문에 저자는 파라미터 공유와 정규화(드롭아웃, 배치 정규화)를 적극 활용했다. 교차 검증 결과, 제안된 모델은 평균 R²≈0.71을 기록했으며, 이는 기존의 SVM‑based, Random Forest‑based, 그리고 단순 CNN 기반 모델보다 현저히 높은 수치다. 또한, 인간 청취자 평균 R²는 0.58 수준으로, 모델이 집단 평균보다도 우수함을 보여준다.
Ablation study에서는 (1) 피치 활성화 없이 순수 스펙트럼 입력만 사용했을 때 성능 급락, (2) 풀링 없이 키 클래스 불변성을 포기했을 때 R²가 0.58로 감소, (3) 시간 커널을 짧게(8프레임) 제한했을 때 장기 화성 흐름을 놓쳐 성능이 저하되는 것을 확인했다. 이러한 결과는 (i) 피치 기반 화성 정보가 모드 인식에 핵심적이며, (ii) 키 불변성을 확보하는 풀링이 작은 데이터셋에서 과적합을 방지한다는 점을 강력히 뒷받침한다.
전반적으로 이 논문은 피치 크로마와 키 불변 풀링을 결합한 CNN 설계가 음악 모드 인식에 있어 효율적이며, 데이터가 제한된 상황에서도 강건한 성능을 발휘한다는 중요한 교훈을 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기