공부/AIFFEL

Exploration 5 : 사람이 말하는 단어를 인공지능 모델로 구분해보자

dong_dong_2 2021. 1. 22. 15:55

1. 음성과 오디오 데이터

    - 파동으로서의 소리 : 진폭, 주파수, 위상, 복합파 
    - 오디오 데이터의 디지털화 : 나이키스트-섀넌 표본화에 따라 Sampling rate가 결정되며, 일반적으로 사용되는 주파수 영역대는 16kHz, 44.1kHz이다. 
    - 표본화, 양자화, 부호화

2. Train / Test 데이터셋 구성하기 
    - Label data 처리 
    - 학습을 위한 데이터 분리 : sklearn.model_selection.train_test_split를 이용하기 
    - Data setting : one_hot, data.Dataset.from_tensor_slices, map, repeat, batch을 이용하기

3. Wave classification 모델 구현

    - layers.input, layers.Conv1D, layers.MaxPool1D, layers.Dropout, layers.Flatten, layers.Dense, layers.BatchNormalization, layers.Activation, keras.Model

    - Adam, CategoricalCrossentropy, ModelCheckpoint 
    - 학습 결과 plot 출력, evaluation, model test

4. Skip-Connection model 구현

    - tf.concat([layer output tensor, layer output tensor], axis = ) 
    - 나머지는 동일하게 구성

5. Spectrogram 
    - 푸리에변환(Fouroer transform), 오일러 공식, STFT(Short Time Fourier Transform) 
    - wav 데이터를 해석하는 방법 중 하나로, 일정 시간동안 wav 데이터 안의 다양한 주파수들이 얼마나 포함되어 있는지를 보여줌. 
    - librosa패키지를 이용하기 
6. 프로젝트 
    - 위에서 1차원 wav 데이터를 가지고 모델을 만들고 학습 시키고 테스트 했는데 

      2차원 spectrogram 데이터로 변환한 뒤 모델을 사용하면 어떻게 될까?

    - 성공적인것 같다.