음악, 음성 딥러닝 데이터 선택(중요)

응큼한포도·2024년 5월 29일
0

중요

딥러닝에서 모델에 따라 어떤 데이터를 선택하는지, 어떤 데이터의 특성을 의도적으로 강화해 전처리 하는지, 어떤 데이터 형태로 가공할 건지 정하는 것이 딥러닝에서 가장 중요한 것 같다.

실제 딥러닝에서 가장 시간을 많이 할애하는 요소는 다음과 같다.

1. 데이터 확보(90%)

2. 모델 목적에 따른 데이터 가공 (9%)

3. 모델 학습 및 튜닝(1%)

사실 1번에서 가장 많이 막힐 것이다.

우선 딥러닝 모델을 만들기 전에 꼭 확인해야할 사항은 내가 충분한 데이터를 확보 할 수 있는지 확인하는 거다.

충분한 데이터 없이는 시작조차 할 수 없다. 하지만 분류 모델을 만들던지 시계열 모델을 만들던지 학습을 위해선 애초에 분리된 음원을 확보해야 한다.

무슨 소리야? 분류 모델을 만드는 건 악기, 음성 등을 분류하기 하는 모델을 만드는 것인데 그런 모델을 만들기 위해선 분류된 소리가 필요하다.

알을 낳는 닭을 얻기 위해선 먼저 알이 필요하다.

예를 들어

요즘에 유튜브를 보면 임재범이 부른 하입보이 이런거 있던 데 이런걸 만들기 위해선 임재범의 노래에 임재범의 목소리만 추출한 데이터가 필요하다.

구하기 어렵겠죠? 개인이 구할 수 있는건 인터넷에서 구하는 건데 상당히 쉽지 않다.

분류된 음원은 사운드 엔지니어들이 올려논걸 활용하자.

어떤 모델을 선택할 것인가?

음악, 음성 인공지능에서 크게 선택할 수 있는 모델은 CNN과 RNN, 어텐션이 있다.

분류모델을 만들고 싶다

전통적인 CNN모델을 추천한다.

실제 생성형 ai를 만들어서 작곡을 하거나 다른 가수를 학습하고 싶다

시계열 데이터를 다루는 RNN, 어텐션을 추천한다.

어떤 데이터가 좋은가?

모델에 학습시키기 위해 사용하는 데이터에는 크게 2가지가 있다.

MFCC

스펙트럼을 mel-scale 적용한 것

벡터 데이터

장점 : 경량화된 모델에 학습시키기 좋다. 저차원 데이터여서 가성비가 좋다.
딥러닝 초기부터 많이 쓰여서 찾을 수 있는 자료도 많고 정형적인 쓰임이 정해져 있다.
가벼운 모델이 필요하면 쓰면 좋다.
잡음에 강하다.

단점: 저차원 데이터란 건 데이터의 품질이 좋진 않다는 뜻이다. 또 원래 음원에서 변환과정에서 손실이 있을 수 있다.

mel-spectrogram

spectrogram에 주파수 축을 mel-scale 적용한 것

벡터 데이터지만 이미지 데이터로 변환해 사용가능

장점: 고차원 데이터라 데이터 품질이 mfcc보다 좋음 -> 세세한 특징 모델에 학습 가능

단점: 그만큼 무겁다. 모델 학습에도 많은 시간과 자원을 요함

mel-spectrogram의 2가지 형태

  1. 원래 벡터 형태라 벡터 형태를 그대로 이용할 수 있다. 이럴땐 시계열 모델인 RNN에 적합하다.
  1. mel-spectrogra을 아래와 같이 이미지로 표현할 수 있다.

무슨 소리냐면 mel-spectrogram 이미지 자체를 데이터로 활용할 수 있다.

그러면 딥러닝에서 가장 활발한 분야인 이미지 딥러닝처럼 다루면 된다.
추천하는 분야는 분류 모델이고 CNN 기법과 궁합이 좋다. -> 전통적인 이미지 분류 모델과 같아짐

결론

간단하고 가벼운 모델, 전통적이고 자료가 많은 모델 만들고 싶다: MFCC

고성능이고 최신 유행을 따르고 싶다, 분류 모델 만들고 싶다: mel-spectrogram의 이미지 파일

최대한 자연스러운 성능과 복잡한 기능을 원한다: mel-spectrogram의 벡터 데이터

profile
미친 취준생

0개의 댓글