minyeamer
Minystory
minyeamer
edit settings
전체 방문자
오늘
어제
  • Category List (104)
    • Books (5)
      • Book Reviews (1)
      • Paper Reviews (4)
    • Life (4)
      • Blog (3)
      • Item Reviews (0)
      • Thoughts (1)
    • Study (37)
      • 2022 (3)
      • AI SCHOOL (34)
      • References (0)
    • Tech (58)
      • Algorithm (47)
      • Projects (9)
      • Python (2)

Blog Menu

  • Home
  • Notice
  • Tags
  • Guest

Popular Posts

Recent Comments

Recent Posts

hELLO
minyeamer
Tech/Projects

[DACON] 음성 분류 경진대회

[DACON] 음성 분류 경진대회
Tech/Projects

[DACON] 음성 분류 경진대회

2022. 8. 22. 14:50

분석 목표 및 결과

  • 음성 녹음 데이터를 0부터 9 사이의 숫자 라벨로 분류합니다.
  • 음성 데이터 학습에 대한 체험을 목적으로 진행합니다.
  • Mel Spectrogram, MFCC 방식으로 추출한 feature를 각각 ResNet 응용 모델에 학습시키고
    결과를 ensemble하여 accuracy를 0.9725까지 향상했습니다.

학습 데이터

  • 음성 파일 및 라벨 데이터
  • 음성 파일 이름과 숫자 라벨을 연관시킨 csv 파일과 음성 녹음 데이터가 존재합니다.
    # train/
    249.wav
    sample rate: 20000 , audio shape: (11267,)
    length: 0.56335 secs
    ==========================================
    513.wav
    sample rate: 20000 , audio shape: (12640,)
    length: 0.632 secs
    ==========================================
    507.wav
    sample rate: 20000 , audio shape: (12845,)
    length: 0.64225 secs
    ==========================================

EDA

🦻🏻 Mel Spectrogram, MFCC 방식으로 추출한 feature를 이미지 형태로 시각화했습니다.

  • Mel Spectrogram: 주파수에 따라 감지 능력이 변하는 달팽이관의 공식을 적용한 spectrogram입니다.
  • MFCC: Mel Spectrogram에 대해 행렬을 압축해서 표현해주는 DCT 연산을 수행합니다.
  • Mel Spectrogram은 한정적인 도메인에서, MFCC는 일반적인 상황에서 더 좋은 성능을 보여줍니다.

output.png

 

💨 모델 학습을 위해 짧은 길이의 오디오에 padding을 붙이고 np.array로 변환한 후 랜덤한 데이터 시각화했습니다.

output.png


모델 학습

  • ResNet의 ResBlock을 응용하여 모델 생성했습니다.output.png
  • 5-Fold 교차검증을 실시하면서, 각각의 동일한 모델에 Mel Spectrogram, MFCC feature를 학습시켜
    서로의 예측값 및 accuracy를 비교했습니다.
  • 두 가지 예측 결과를 ensemble하여 최종적으로 0.9765의 평균 accuracy 달성했습니다.
|  | 1 Fold | 2 Fold | 3 Fold | 4 Fold | 5 Fold |
| --- | --- | --- | --- | --- | --- |
| Mel Spectrogram | 0.9500 | 0.9525 | 0.9175 | 0.9600 | 0.9225 |
| MFCC | 0.9650 | 0.9250 | 0.9550 | 0.9300 | 0.9575 |
| Ensemble | 0.9875 | 0.9675 | 0.9750 | 0.9775 | 0.9750 |

에러 처리

❗ 음성 파일 처리를 위한 Librosa 라이브러리의 의존성인 SoundFile 라이브러리와 관련된 에러 발생했습니다.

tried: '.../site-packages/_soundfile_data/libsndfile.dylib' (no such file)

🔧 해당 이슈를 참조하여 다운로드받은 libsndfile.dylib 파일을 직접 해당 경로에 복사했습니다.


회고

  • 베이스라인과 다른 분이 올려준 코드 공유를 많이 참고하다보니 자신만의 분석을 해볼 수 없어 아쉬웠습니다.
  • 음성 데이터 분석 과정을 체험하는 좋은 기회가 되었으며,
    다른 음성 데이터에 이번에 배운 분석 방식을 적용해보고 싶은 기대감을 가졌습니다.
저작자표시 (새창열림)

'Tech > Projects' 카테고리의 다른 글

[DACON] 쇼핑몰 리뷰 평점 분류 경진대회  (0) 2022.08.22
브런치 사용자 데이터 분석 및 추천  (0) 2022.08.22
[DACON] 소비자 데이터 기반 소비 예측 경진대회  (0) 2022.08.22
[AI SCHOOL 5기] 팀 프로젝트 - Dinut  (0) 2022.08.22
[Instork] BERT for Regression 가설  (0) 2022.07.18
  • 분석 목표 및 결과
  • 학습 데이터
  • EDA
  • 모델 학습
  • 에러 처리
  • 회고
'Tech/Projects' 카테고리의 다른 글
  • [DACON] 쇼핑몰 리뷰 평점 분류 경진대회
  • 브런치 사용자 데이터 분석 및 추천
  • [DACON] 소비자 데이터 기반 소비 예측 경진대회
  • [AI SCHOOL 5기] 팀 프로젝트 - Dinut
minyeamer
minyeamer
Better than Yesterday

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.