초반 키워드

저희가 구현한 서비스 내의 검색 방식 중 유투브 구간 검색의 경우 원하지 않는 소리나 노이즈가 겹치는 등 장애 요소들이 많습니다. 소음을 분리하거나 제거하는 과정은 최신 기술로 완벽한 구현이 어렵고, 따라서 저희는 다양한 노이즈가 존재하는 음원에서도 원하는 효과음의 특성을 추출하는 Audio Fingerprinting을 근간으로 둡니다. 1~2초 이내의 샘플링이 들어간 음악이나 TV 쇼 등 오디오가 들어 있는 컨텐츠에서 원하는 오디오 샘플이 어떤 시간대에 존재하는지 식별하는 과정입니다.

우리 사이트는 어떤 방식을 사용했는지

저희는 기존 기술인 피크 포인트나 MFCC 등 신호 처리 및 음향적 특징의 이용 대신 딥 러닝 기법과 대조 학습 기법을 도입하는 방식인 Neural Audio Fingerprint 모델을 기반으로 하였습니다. 효과음은 다른 음성과 다르게 1초에서 길게는 20초 내외로 시간이 짧기 때문에 속에 담겨있는 정보가 많지 않습니다. 따라서 이런 정보가 적은 효과음의 특성을 효율적으로 학습하려면 무엇을 해야 할까라는 질문에서 개선점을 찾기 시작했습니다.

즉, 단순한 시계열 데이터로 간주하기에 분명히 음향적 특징이 있으나 멜로디나 텍스트 등의 내용이 들어가지도 않아 기존의 음악 검색 기술들로는 유효한 결과를 얻기 어려워 이러한 효과음에 최적화된 모델을 구축하기 위하여 저희는 Fingerprinting의 개선에 초점을 맞추었습니다.

개선 포인트 (유사한 근거)

가장 중요한 개선 2개를 설명 드리자면, 먼저 기존 오디오 처리 기법에서 자주 사용되는 스펙트로그램의 형태로 변환한 후 학습과 추론을 진행하는 것은 동일하지만, STFT 대신 Constant Q-transform을 거쳐 특성을 식별합니다.

이 방식의 경우 단순히 주파수별 동일한 시간 해상도로 사람의 오디오 인식 방식을 단순 근사하는 것보다는 주파수 및 시간의 해상도 차이를 두어 더 민감하게 반응하는 낮은 주파수를 통해 미세한 효과음 차이의 포착, 그리고 해상도의 차이에 따른 균형 잡힌 분석이 가능하다는 장점이 있습니다.

또한 기존 fingerprinting 기술이 사용하는 STFT 기반 멜-스펙트로그램 대신, 딥러닝 기법의 경우 고유의 블랙박스 특성으로 실험적인 측면으로 말씀드리면, 음악 등의 non-context audio 기반에서 더 유리하다는 연구 결과들이 여럿 알려져 있기도 하기 때문에 이 방식을 이용합니다.

다음으로 기존의 모델에서 사용하는 압축 방식인 합성곱 레이어를 통한 특징 추출 과정을 Variational Autoencoder를 도입하여 조금 더 효율적인 대조학습을 꾀하였습니다.

이 모델의 경우 원래는 생성 모델 분야에서 활용되던 분야이며, 학습 데이터의 분포를 기반으로 학습하는 특성을 가집니다. 이를 모두 학습한 후 Encoder 모듈만을 fingerprinter로 적용하였습니다.

해당 그림은 기존 모델로 추출한 벡터와 VAE로 추출한 벡터의 공간 분포에 관한 것입니다. 각 모델의 인코더로 구성된 잠재 공간을 다시 디코딩한 후 샘플링을 진행하였을 때의 mel-spectrogram을 비교하면 후자가 시각적으로도 대조학습, 즉 가까운 거리일수록 더 비슷한 소리가 배치되는 대조학습의 관점에서 더 우세함을 확인할 수 있습니다.

학습 데이터의 경우 저희가 기반을 두었던 논문에서 학습한 데이터셋인 FMA 외에도 포괄적인 오디오 데이터셋인 AudioSet, 마이크 임펄스 데이터셋 등 다양한 종류의 오디오 데이터셋을 수집한 후 효과음만을 필터링하기 위한 가이드라인을 두어 전처리한 후 학습을 진행하였으며,

모델 개선에 관한 간략한 실험의 경우 시각화를 통한 기존 모델과의 직접적인 공간 대조에 관한 MOS 평가, 개선된 모델에서 한 요소씩 기존 모델의 것으로 대체하여 평가하는 방식도 진행하며 개선해 나갔습니다.

해당 모델이 개선되었는지를 판단하는 기준의 경우, 물론 직접 파형, 멜-스펙트로그램이나 앞서 말씀드린 잠재 공간 벡터에 대한 코사인 유사도를 비교하는 방식도 존재합니다만, 결국 이러한 오디오 처리 모델의 경우 이를 듣는 사용자의 평가, 즉 인간의 평가가 매우 중요한 위치를 차지하기 때문에 이를 대표적으로 설명드리겠습니다.

사용자 입장에서 바라본 평가의 경우 MOS 및 조금 더 엄밀한 평가를 이용한 MAP를 통해 수행하였습니다. MOS의 경우 가장 연관도가 높다고 평가되는 하나의 샘플에 대해 얼마나 유사하다고 생각하는지에 대한 평가이며, MAP의 경우 상위 5개의 결과가 얼마나 평가자의 순위와 비슷한지를 평가하는 지표입니다.

이러한 평가 방식의 예시 및 모델 개선을 확인하기 위해 예시 하나를 들자면, 테스트 데이터는 다음과 같은 소리이며, 이에 대해 기존 모델과 저희 모델의 검색 결과를 들어보면 다음과 같습니다.

NAF vs NAF-2

기술에 대한 추가적인 이야기는 시간상 생략하며, 궁금하신 점이 있다면 질문해 주시면 감사하겠습니다.

질문거리는 여기 밑에