KAIST 문화기술대학원의 GCT634 수업 자료로 공부한 내용입니다. 수업을 직접 들은 것은 아니라 혼자 자료로만 공부한거라 틀린 부분이 있을 수 있음!

Definition of Machine Leanring

  • “컴퓨터 프로그램은 P가 측정한 것처럼 task T에서 성능이 향상되면, T와 performance measure P와 관련하여 exerience E로부터 배운다고 한다.”
  • Tasks T
    • Classification, Regression, Transcription, Machine Translation, Structured output, Anomaly etection, Synthesis and Sampling, Imputation of missing values, Denoising, and Density Estimation (listed from the DL book)
  • Experience E
    • Data and their correspondence: supervised /unsupervised learning/reinforcement learning
  • Performance P
    • Loss function, accuracy metrics

In Musical Context

  • Tasks T
    • 분석 task: 음악 장르.무드 분류, 음악 자동 태깅, 자동 음악 기록, 소스 분리
    • 합성 task: 사운드 합성, 음악 생성(자동 작곡/편곡), expressive performance rendering
  • Experience E
    • Music data (audio, MIDI, text, images) and their correspondence
  • Performance P
    • objective measure: loss function, accuracy metrics (예: F-score)
    • subject measure: user test(human test 등)

읽어볼 것

Classification Tasks in Music

  • 분류는 음악 분석 작업에서 가장 일반적으로 사용되는 지도 학습 approach이다.
    • 오디오 데이터와 해당 클래스 label을 사용해 모델을 train하고 새로운 test audio에서 label을 예측함
  • frame-level: pitch estimation
  • note-level: instrument recognition
  • segment-level: genre classification

Classification Model for Music

  • 분류 모델은 보통 아래의 단계를 따름
    1. audio data representation: waveforms, spectrograms, mel-spectrogram
    2. feature extraction: task와 abstracton level에 따라 크게 좌우됨
      • level이 높을수록 input size가 길어지고 feature가 복잡해짐)
    3. classifier: 최종 분류를 위해 feature vector와 class template 사이의 distance 측정
  • 좋은 feature를 잘 잡는 것이 중요하다!!

읽어볼 것

  • mel-spectrogram
  • feature vector

Traditional Machine Learning

  • task에 hand-design된 feature 사용
    • 도메인 지식 기반 (예: 음향, 신호처리)
    • Mel-frequency cepstral coefficient (MFCC), 음계, spectral statistics
  • standard classifier 사용
    • 로지스틱 회귀, SVM, MLP 등
  • 장점
    • 적은 데이터셋으로도 ㄱㄴ
    • classifier를 빠르게 훈련시킬 수 있다
    • hand-design된 feature를 해석할 수 있음
  • 단점
    • 도메인 지식 필요
    • feature design 어려움
    • the two-stage approach is sub-optimal
  • baseline 알고리즘으로는 좋음

읽어볼 것

Deep Learning

  • 신경망 네트워크 모듈을 사용해 feature representation(대상의 속성을 표현하는 방식)을 학습
    • representation learning (feature를 스스로 학습하는 것)
    • fully-connected, convolutional, recurrent, pooling, non-linear layers
    • output의 abstraction level이 높을수록 더 많은 layer를 쌓음
    • 오디오 데이터 표현도 학습 ㄱㄴ (end-to-end learning)
    • gradient 기반 학습: 모든 신경망 모듈이 미분 가능하며, 새로운 custom layer가 미분가능한 한 추가할 수 있음
  • 장점
    • traditional ML에 비해 도메인 지식을 덜 요구함. 이미지나 음성 등 다른 도메인에서 잘 작동하는 모델을 갖다 써도 된다.
    • train된 모델 재사용 ㄱㄴ (transfer learning)
    • 많은 ML 과제에서 높은 성능을 보였음
  • 단점
    • label된 대규모 데이터셋과 모델을 훈련시키는데 시간이 오래 걸림
      • semi-supervised/unsupervised/self-supervised learning이 활발히 개발되고 있음
    • overfitting을 방지하기 위한 정규화 필요
      • 많은 정규화 방법들이 개발되고 있음
    • 신경망 설계 및 hyperparameter 탐색도 신경써서 해줘야 함
      • 모델이랑 hyperparameter 최적화는 또 다른 연구주제임 (예: AutoML)
    • 학습된 feature를 이해하는게 어려움
      • feature 시각화 기법
      • 한 매개변수가 학습된 feature의 sub-dimension을 제어하는 disentangled learning models (분리 학습 모델)

읽어볼 것

Example: Mel-Frequency Cepstral Coefficient (MFCC)

  • 음색을 추출하는데 가장 많이 사용되는 audio feature
    • 오디오 프레임에서 spectrum envelop 추출: pitch 정보 제거
      • envelop이란 파형의 끝을 서로 연결해 파형을 둘러싸듯이 그린 선을 말한다.
    • legacy 음성 인식 시스템의 표준 오디오 기능
  • 연산 단계
    • mel-spectrum: mel-filter bank 사용
    • Discrete Cosine Transform (DCT): frequency가 낮은 코사인 커널들의 집합. spectrum envelope에 해당하는 주파수에 걸쳐 서서히 변화하는 mel-spectrum의 추세를 포착한다.

궁금한 점

  • legacy speech regcognition이 뭘까? legacy가 그 legacy인가..?

읽어볼 것

  • mel-scale
  • mel-spectrum
  • mel-filter bank
    • mel-scale에서 linear하게 구간을 N개로 나눠 구현한 triangular filter
  • DCT
    • Frequency domain & FFT
      • FT, DFT, FFT, STFT, DCT 설명이 이해하기 쉽게 되어있고 mel-filter bank도 읽어보기

Representation Learning Point of View: MFCC

  • We can replace the hand-designed modules with the trainable modules
    • DFT, mel-filterbank, DCT은 선형 변환임
    • 절댓값(진폭)이랑 로그 압축은 비선형 함수
    • MFCC에서 선형 변환은 hand design 되지만 학습 가능한 모듈들을 사용하면 더 최적화 될 수 있음

Example: Chroma

  • 악보는 pitch(옴높이) class와 옥타브 번호로 표시된다
    • pitch class: C, C#, D, D#, E, F, F#, G, G#, A, A#, B
    • 옥타브 수: 0, 1, 2, 3, 4, 5, …
    • 예: C4(중간 C), E3, G5
  • 옥타브 차이는 가장 일치하는 피치 간격이다
    • 따라서 같은 피치 클래스에 속함
  • “pitch helix(피치 나선)” 으로 표현 ㄱㄴ
    • 원기둥을 따라 올라가면서 바닥으로 내렸을 때 같은 위치인 점들은 같은 pitch class에 속함
    • chroma(반음): pitch organisation의 고유 원형성
    • height: 한 번 회전할 때 마다 한 옥타브씩 증가
  • 12개의 피치 클래스에 대한 오디오 프레임의 에너지 분포 계산
    • 주파수를 악보로 변환하고 악보로부터 피치 클래스를 가져옴
    • 음색 정보를 제거하고 고조파(harmonic) 정보 추출
    • 음악 동기화, 화음 인식, 음악 구조 분석, 장르 분류 등에 유용하게 사용된다
  • 계산 단계
    • 12개 피치 클래스에 DFT 또는 constant-Q transform 적용

읽어볼 것

  • harmonics(고조파)
    • 소리는 기본 주파수(fundamental freq)와, 기본 주파수의 정수배인 배음으로 구성되어 있다
    • 음원에 따라 배음 구조가 달라지기 때문에 배음 구조를 알아내면 소리의 고유한 특징을 찾아내는 거임!
    • 음색은 어떤 기본 주파수에 포함된 여러 고조파 성분의 주파수를 의미함
    • 음색(Timbre)은 어떻게 결정되는가?
  • constant-Q transform
    • 데이터 시리즈를 freq domain으로 변환
    • 음계(반음계)로 변환. data series를 frequency domain으로 transform함
    • freq 축이 log 단위로 변환되고, 각 주파수에 따라 해상도가 다양하게 처리되기 때문에 (저주파는 저해상도, 고주파는 고해상도) 음악을 처리하는데 FT보다 유리함
    • 위키피디아

Representation Learning Point of View: Chroma

  • hand-design된 모듈을 훈련 가능한 모듈로 교체할 수 있다
    • DFT, CQT, chroma mapping은 선형 변환
    • 절댓값 계산은 비선형 함수
    • chroma에서 선형 변환은 hand design되지만 훈련 가능한 모듈을 사용하면 더 최적화 시킬 수 있음

Summary

  • representation learning(또는 feature learning)의 관점에서 ML 도입
  • 전통적인 ML 접근법에서는 hand design된 feature representation을 설계했다. feature가 추출되면 standard한 ML 알고리즘은 사용했음
  • 딥러닝 접근법에서는 네트워크 아키텍처를 hand design한다. feature representation은 신경망 모듈과 최적화를 통해 학습됨.