1. 오디오 인코딩:
2. 텍스트 디코딩:
3. 추론 단계:
빔 서치를 통해 다양한 후보 캡션 생성.
CLAP-Refine 전략을 활용해 입력 오디오와 가장 잘 맞는 후보를 최종 캡션으로 선택.
오디오 인코딩
- EAT는 입력 오디오 신호를 16kHz로 샘플링하고, 25ms의 Hanning 윈도우와 10ms의 이동 간격으로 128차원 멜 주파수 대역으로 변환, 이 멜 스펙트로그램은 CNN 인코더와 ViT-B(12개 레이어) 모델을 통해 2D 패치 임베딩으로 변환
->결과적으로 약 50Hz의 오디오 표현이 생성
->lightweight 2-layer linear projections을 통해 5배 다운샘플링하여, 10Hz로 변환
텍스트 디코딩
- SLAM-AAC는 "Describe the audio you hear"와 같은 텍스트 프롬프트와 정답 캡션을 Vicuna의 토크나이저(32,000 어휘)로 처리해 해당 텍스트 임베딩
-> 와 를 생성- 는 학습 과정에서 교사 강제(teacher-forcing)를 사용
- 오디오 임베딩 프롬프트 임베딩, 정답 임베딩을 보두 concat해서 LLM에 넣어줌
- cross-entropy를 사용해 loss 계산
- 교차 엔트로피의 역할:
- )는 모델이 t-번째 토큰을 정확히 예측했을 때의 확률 값에 대한 로그입니다.
이를 음수로 바꾸는 이유는, 로그 확률은 값이 높을수록 (정확도가 높을수록) 작은 음수가 되므로, 최적화 시 손실을 최소화하려는 방향과 부합합니다.- 평균 손실 계산:
- 는의 전체 토큰 수로 나누는 부분입니다.
이로써 각 토큰의 손실을 평균 내어 전체 문장 길이에 관계없이 균일하게 손실을 계산합니다.- 조건부 확률의 중요성:
- 는 오토리그레시브(Autoregressive) 방식으로, 이전 토큰 과 입력 임베딩 를 기반으로 현재 t번째 토큰을 예측하는 확률입니다.
이는 모델이 순차적으로 텍스트를 생성하는 방식과 일치합니다.
역번역을 활용한 증강 방법
효과
기존의 AAC 시스템에서는 주로 빔 서치(beam search)나 누클리어스 샘플링(nucleus sampling)을 텍스트 디코딩에 활용합니다. 그러나 이러한 방법들은 다음과 같은 한계를 가집니다:
빔 서치의 문제
입력 오디오 임베딩과 생성된 텍스트 간의 의미적 일관성을 유지하려면, 모델이 입력 임베딩에서 충분한 정보를 활용해야 합니다. 하지만 빔 서치는 이러한 입력-출력 정렬을 보장하기보다 언어적 구조(확률 점수)를 우선시합니다. 그 결과, 생성된 텍스트가 오디오의 실제 의미를 정확히 반영하지 못할 수 있습니다.
누클리어스 샘플링의 문제
샘플링 기반 디코딩이므로 동일한 입력에 대해 매번 다른 결과를 생성할 가능성이 높습니다. 특히, 확률 분포의 상위 p-확률 질량에 포함된 여러 토큰 중 무작위로 선택되기 때문에, 생성 결과의 품질이 일정하지 않을 수 있습니다. 따라서 가장 적절한 결과를 선택하는 과정(예: BLEU, CIDEr 등의 기준)을 거쳐야 합니다.
CLAP-Refine 전략
작동 방식
- 빔 서치 생성:
- SLAM-AAC는 입력 오디오에 대해 다양한 빔 크기(예:n=2,3,...)로 여러 후보 캡션을 생성.
- 후보 캡션 평가:
- CLAP 모델을 사용해 각 후보 캡션과 입력 오디오 간의 유사성을 계산.
- 재정렬 및 최종 선택:
- 유사성이 가장 높은 후보 캡션을 최종 출력으로 선택.
Clotho, AudioCaps, WavCaps, MACS
METEOR [33]:
유니그램 정밀도, 재현율, 동의어, 어간 추출을 고려.
CIDEr [34]:
TF-IDF 가중치를 사용해 생성 텍스트와 참조 텍스트 간의 합의(consensus)를 측정.
SPICE [35]:
생성 텍스트와 참조 텍스트의 의미적 그래프를 비교.
SPIDEr [36]:
CIDEr와 SPICE를 선형적으로 결합해 문법적 및 의미적 평가를 균형 있게 수행.
SPIDEr-FL [37]:
유창성 오류 감지(fluency error detection)를 포함한 SPIDEr 확장판.
FENSE [37]:
문장 BERT(Sentence-BERT)의 의미적 유사성과 유창성 오류 감지를 결합한 지표.
- 사전 학습:
위 데이터셋으로 사전 학습을 진행.
- 배치 크기: 16
- 학습률: 1e-4
- 학습 횟수: 100,000 업데이트.
- 학습률은 선형 감소 스케줄을 따르며, 1,000회 반복 동안 점진적으로 증가(warmup).
- 학습은 NVIDIA A800 GPU에서 약 26시간 소요.
- 미세 조정(Fine-Tuning):
Clotho와 AudioCaps 데이터셋에서 각각 10에포크 동안 수행.
- 배치 크기: 4
- 학습률: 8e-6
- LoRA 어댑터를 Transformer 블록의 및 투영 레이어에 통합.
- CLAP 모델 학습:
AudioCaps, Clotho, WavCaps 데이터셋에서 학습.
- 배치 크기: 128
- 학습률: 5e-5
- 학습 횟수: 15 에포크.
- 최적의 검증 손실에서 모델을 저장.
- 추론:
SLAM-AAC는 다양한 빔 크기(2~8)로 빔 서치를 수행하여 후보 캡션을 생성.
최종 캡션은 CLAP-Refine를 통해 가장 높은 유사성 점수를 가진 후보를 선택.
Main Result
- SLAM-AAC는 Clotho와 AudioCaps에서 거의 모든 지표에서 최고 성능을 기록.
- 특히 AudioCaps에서는 기존 모델 대비 CIDEr와 SPIDEr 점수에서 1% 이상의 개선.
Ablation Study
- 사용된 방법이 모두 유의미함
decoding 기법 비교
- CLAP-Refine는 기존 빔 서치 대비 약 1.4% 성능 향상.
- 이론적으로 최적의 결과(Oracle)와 비교하면 개선 여지가 남아 있음.
새로운 패러프레이징 기법 탐구
CLAP 모델 개선
오디오-텍스트 정렬 개선
대규모 데이터셋 확장