딥러닝에서 모델에 따라 어떤 데이터를 선택하는지, 어떤 데이터의 특성을 의도적으로 강화해 전처리 하는지, 어떤 데이터 형태로 가공할 건지 정하는 것이 딥러닝에서 가장 중요한 것 같다.
실제 딥러닝에서 가장 시간을 많이 할애하는 요소는 다음과 같다.
사실 1번에서 가장 많이 막힐 것이다.
우선 딥러닝 모델을 만들기 전에 꼭 확인해야할 사항은 내가 충분한 데이터를 확보 할 수 있는지 확인하는 거다.
충분한 데이터 없이는 시작조차 할 수 없다. 하지만 분류 모델을 만들던지 시계열 모델을 만들던지 학습을 위해선 애초에 분리된 음원을 확보해야 한다.
무슨 소리야? 분류 모델을 만드는 건 악기, 음성 등을 분류하기 하는 모델을 만드는 것인데 그런 모델을 만들기 위해선 분류된 소리가 필요하다.
알을 낳는 닭을 얻기 위해선 먼저 알이 필요하다.
요즘에 유튜브를 보면 임재범이 부른 하입보이 이런거 있던 데 이런걸 만들기 위해선 임재범의 노래에 임재범의 목소리만 추출한 데이터가 필요하다.
구하기 어렵겠죠? 개인이 구할 수 있는건 인터넷에서 구하는 건데 상당히 쉽지 않다.
분류된 음원은 사운드 엔지니어들이 올려논걸 활용하자.
음악, 음성 인공지능에서 크게 선택할 수 있는 모델은 CNN과 RNN, 어텐션이 있다.
전통적인 CNN모델을 추천한다.
시계열 데이터를 다루는 RNN, 어텐션을 추천한다.
모델에 학습시키기 위해 사용하는 데이터에는 크게 2가지가 있다.
스펙트럼을 mel-scale 적용한 것
벡터 데이터
장점 : 경량화된 모델에 학습시키기 좋다. 저차원 데이터여서 가성비가 좋다.
딥러닝 초기부터 많이 쓰여서 찾을 수 있는 자료도 많고 정형적인 쓰임이 정해져 있다.
가벼운 모델이 필요하면 쓰면 좋다.
잡음에 강하다.
단점: 저차원 데이터란 건 데이터의 품질이 좋진 않다는 뜻이다. 또 원래 음원에서 변환과정에서 손실이 있을 수 있다.
spectrogram에 주파수 축을 mel-scale 적용한 것
벡터 데이터지만 이미지 데이터로 변환해 사용가능
장점: 고차원 데이터라 데이터 품질이 mfcc보다 좋음 -> 세세한 특징 모델에 학습 가능
단점: 그만큼 무겁다. 모델 학습에도 많은 시간과 자원을 요함
무슨 소리냐면 mel-spectrogram 이미지 자체를 데이터로 활용할 수 있다.
그러면 딥러닝에서 가장 활발한 분야인 이미지 딥러닝처럼 다루면 된다.
추천하는 분야는 분류 모델이고 CNN 기법과 궁합이 좋다. -> 전통적인 이미지 분류 모델과 같아짐