작성자: 17기 안영지
💡 WaveNet은 딥러닝 모델 중 하나로서, 자연스러운 음성 또는 오디오를 생성하는데 사용된다.
이 논문에서는 이러한 WaveNet 모델의 구조와 작동 방식에 대해 설명한다.
WaveNet 모델은 시계열 오디오 샘플 데이터를 생성하는데 사용된다. WaveNet은 컨볼루션 신경망과 재귀 신경망을 결합하여 구현되며, 각 스텝마다 입력 신호와 이전 스텝에서 생성된 출력 신호를 사용하여 다음 출력 값을 생성한다.
논문에서는 WaveNet 모델의 구조와 함께, 입력 및 출력의 샘플링에 대한 다양한 방법을 검토한다. 또한 모델이 생성하는 오디오 샘플들의 질적 평가를 수행하고, 이를 기존의 다른 생성 모델들과 비교한다.
Audio waveform을 generate 하는 모델. 확률기반의 autoregressive model(AR).
wavefrom을 결합확률분포로 표현하고, 이를 conv layer를 쌓아서 모델링
WaveNet: PixelCNN 을 기반으로 한 audio generative model
이미지, 텍스트와 같은 복잡한 분포를 모델링하는 neural autoregressive generative models의 최근 발전에 따라 유사한 접근 방식으로 오디오 생성 기술을 탐구함
픽셀 또는 단어들 간의 결합 확률을 조건부 분포의 곱으로 나타내는 신경망 구조를 사용하여 생성함
초당 최소 16,000개의 샘플로 매우 높은 시간 분해능을 가진 신호인 광대역 원시 오디오 파형을 생성하는 데 성공할 수 있는지 알아보고자 함
파형 x = {x1,...,xT}의 결합 확률은 다음과 같이 조건부 확률의 곱으로 분해됨
PixelCNNs와 유사하게, 조건부 확률 분포는 컨볼루션 레이어 스택에 의해 모델링됨. 이 모델은 소프트맥스 레이어를 사용하여 다음 값 xt에 대한 범주형 분포를 출력하며, 매개 변수에 대한 데이터의 로그 우도를 최대화하도록 최적화됨.
Dilated Casual Convolutions
Causal convolution:시계열 데이터에서 현재 시점 이전의 데이터만 입력으로 사용하여 현재 시점의 출력을 계산하는 컨볼루션 연산
일반적인 컨볼루션 연산은 입력 데이터의 양쪽에 대해 필터를 적용하여 출력을 계산해 현재 시점의 입력이 과거의 출력에 영향을 미치게 됨. 하지만 causal convolution에서는 오직 과거 데이터만이 현재 시점의 출력에 영향을 미침. causal convolution을 사용하여 모델이 미래 데이터에 대한 정보를 사용하지 않도록 함.
시간 단계에서 모델이 방출하는 예측 p(xt+1 |x1, ..., xt)는 미래 시간 단계 xt+1, xt+2, ., xT에 의존할 수 없음.
이미지의 경우 causal convolution에 해당하는 것은 Masked convolution
입력 데이터의 일부 위치를 마스크로 지정하여 해당 위치의 출력을 0으로 만들어 계산에서 제외 Masked Convolution을 사용하여 이전 단어들의 정보만 사용하고, 이후 단어들의 정보를 모델링하지 않음PixelCNN에서는 모델이 현재 위치의 이미지 픽셀을 예측할 때, 이전 위치의 픽셀들의 정보만을 사용하여 예측을 수행하며, 이때 Masked Convolution을 사용하여 이미지의 오른쪽과 아래쪽 픽셀을 볼 수 없도록 함
오디오 데이터의 경우 일반 컨볼루션의 출력을 몇 단계 이동하여 이를 더 쉽게 구현할 수 있음
Causal convolution이 있는 모델은 반복적인 연결이 없음 → 매우 긴 시퀀스에 적용될 때 일반적으로 RNN보다 훈련 속도가 빠름. but 수용 필드를 증가시키기 위해 많은 레이어 또는 큰 필터가 필요
Dilatied Causal convolution: 필터가 특정 단계에서 입력 값을 건너뛰어 길이보다 큰 영역에 걸쳐 적용되는 컨볼루션 확장된 컨볼루션은 네트워크가 일반 컨볼루션보다 더 coarser한 규모로 작동할 수 있도록 함
스택형 확장 컨볼루션은 네트워크 전체의 입력 해상도와 계산 효율성을 유지하면서 네트워크가 몇 개의 레이어만으로 매우 큰 수용 필드를 가질 수 있게 함.
Softmax Distributions
개별 오디오 샘플에 대한 조건부 분포 모델링 시 mixture density network(Bishop, 1994) 또는 mixture of conditional Gaussian scale mixtures(MCGSM)과 같은 mixture 모델 사용.
but 데이터가 암시적으로 연속적인 경우에도 소프트맥스 분포가 더 잘 작동하는 경향이 있음(이미지 픽셀 강도 또는 오디오 샘플 값의 경우)
→ 범주형 분포가 모양에 대한 가정을 하지 않기 때문에 임의 분포를 더 쉽게 모형화 가능
raw 오디오를 소프트맥스로 쉽게 다루기 위해서는 μ-law 압축 변환(ITU-T, 1988)을 데이터에 적용한 후 256개의 가능한 값으로 양자화:
양자화 후 재구성된 신호가 원본과 매우 유사하게 들림을 발견
Gated Activation Units
gated PixelCNN에서 쓰인 gated activation unit 사용
σ(·) : sigmoid function, k : layer index, f: filter g: gate, W: learnable convolution filter
이 non-linearity가 rectified linear activation function(ReLU)보다 더 잘 작동함.
Residual and Skip Connections
residual and parameterised skip connections: 네트워크 전체에서 사용되어 수렴 속도를 높이고 훨씬 더 심층적인 모델 훈련 가능.
Residual connection: 입력값을 레이어의 출력값과 더하여 미분값이 바로 흐를 수 있도록 함. 미분값이 소실 문제 완화
Parameterized skip connection: Residual connection의 변형으로, 레이어 간의 shortcut 연결이 parameterized 됨. 이 shortcut 연결은 입력값을 linear transformation을 거친 후 출력값에 더하는 것으로, 이 과정에서 학습이 가능함
Conditional Wavenets
모델의 모든 레이어에 전역적으로 적용되는 조건. 예를 들어, 음성인식 모델에서 이전 단어나 화자 정보를 전역 조건으로 사용할 수 있음. 모델이 이전 문맥이나 환경에 따라 다른 특성을 갖도록 함
모델의 특정 레이어에만 적용되는 조건. 예를 들어, 음성인식 모델에서 현재 음성 신호와 함께 특정 문맥 정보를 사용할 수 있음. 입력 신호의 특정 부분에만 영향을 주는 특징을 모델링하는 데 유용함
WaveNet에서는 전체 입력 신호에 대한 조건을 global conditioning으로 사용하고, 각 레이어에서는 이전에 생성된 음성 신호와 같은 지역적 조건을 사용하여 모델을 구성
Context Stacks
Context stacks: 입력 신호와 함께 이전 예측값들의 시퀀스를 처리.
모델의 다층 컨볼루션 신경망에서 사용되며, 각 스택은 서로 다른 크기의 dilation rate를 가짐. 컨볼루션 필터가 입력 신호에서 얼마나 멀리 떨어진 입력을 고려하는지 결정하는 매개 변수. 이를 통해 다양한 시간적 규모의 패턴 파악 가능,이전 예측값들과 함께 학습 가능
Multi-Speaker Speech Generation
자유 형식 음성 생성(텍스트에서 조건화되지 x). English multi-speaker corpus를 사용하고 스피커에서만 WaveNet을 조정 화자 ID를 원핫 벡터 형태로 모델에 공급해 컨디셔닝을 적용
인간의 언어와 유사한 단어를 사실적인 발음으로 부드럽게 생성하지만, 부자연스러운 결과를 도출, 일관성 부족. → 모델의 수신 영역의 제한된 크기(약 300 밀리초) 때문. 이는 모델이 생성한 마지막 2-3개의 음소만 기억할 수 있음을 의미함
단일 WaveNet은 스피커의 원핫 인코딩에 조건을 붙여 모든 스피커의 음성을 모델링할 수 있었음 → 이는 데이터 세트에서 109명의 모든 화자의 특성을 단일 모델로 캡처할 수 있을 정도로 강력함 화자를 추가하면 단일 화자로만 훈련하는 것에 비해 검증 세트 성능이 향상됨
모델은 음성 외에도 화자의 호흡과 입 움직임뿐만 아니라 음향과 녹음 품질을 모방했음.
Text-to-Speech
영어, 중국어 음성 데이터 활용. 텍스트 데이터를 입력받아 음성 신호를 생성.
WaveNet 모델을 학습시켜 각 단어에 대한 음성을 생성하고, 생성된 음성과 원래 음성 데이터 간의 유사성을 평가
자연스러움에 관한 쌍대 비교 테스트 결과 Wavenet이 baseline statistical parametric, concatenative speech synthesizers보다 성능이 좋았음
Wavenet 결과에서 잘못된 단어를 강조하거나 부자연스러운 부분도 나타남. →F0 contours의 장기 의존성 때문. WaveNet의 수용 필드 크기(240밀리초)가 장기 의존성을 포착하기에 충분하지 않음
Speech Recognition
WaveNet은 생성 모델로 설계되었지만 음성 인식에도 적용 가능
전통적으로 음성 인식 연구는 주로 log mel-filterbank energies 나 mel-frequency cepstral coefficients(MFCC)를 사용.
최근에는 LSTM-RNN과 같은 반복 신경망은 장거리 컨텍스트를 가진 모델을 구축 가능 → raw audio 사용
데이터 세트에서 WaveNets를 사용한 음성 인식 활성화를 10밀리초(160×다운샘플링)에 걸쳐 거친 프레임으로 집계한 확장 컨볼루션 후 평균 풀링 레이어를 추가다음 샘플을 예측하는 두 가지 손실 조건과 프레임을 분류하는 두 가지 손실 조건을 사용하여 WaveNet을 훈련
→ 단일 손실보다 모델이 일반화되었고, 원시 오디오로 직접 훈련된 모델에서 얻은 최고 점수를 얻음
WaveNets는 자기 회귀적이며 인과 필터와 확장된 컨볼루션을 결합하여 수신 필드가 깊이에 따라 기하급수적으로 증가할 수 있도록 함 → 오디오 신호의 장거리 시간 의존성을 모델링하는 데 중요
전역(예: 화자 정체성) 또는 로컬 방식(예: 언어 기능)의 다른 입력에서 WaveNets가 어떻게 조건화될 수 있는지 알아봄.
TTS에 적용했을 때, WaveNets는 주관적 자연성에서 현재 최고의 TTS 시스템을 능가하는 샘플을 생성했음.
음악 오디오 모델링 및 음성 인식에 적용되었을 때도 매우 유망한 결과를 보여줌
댓글 영역