rkdaldus's picture
Update README.md
b05c606 verified
|
raw
history blame
2.9 kB
---
tags:
- music
---
# CNN 기반 μŒμ•… 감정 λΆ„λ₯˜κΈ° 🎡
## κ°œμš”
이 λͺ¨λΈμ€ μŒμ•…μ΄ μ „λ‹¬ν•˜λŠ” 감정을 Convolutional Neural Network (CNN) μ•„ν‚€ν…μ²˜λ₯Ό μ‚¬μš©ν•˜μ—¬ λΆ„λ₯˜ν•©λ‹ˆλ‹€.
λͺ¨λΈμ€ μŒμ•… μƒ˜ν”Œλ‘œ κ΅¬μ„±λœ λ°μ΄ν„°μ…‹μ—μ„œ 감정 λ²”μ£Ό(Angry, Fear, Happy, Tender, Sad) 쀑 ν•˜λ‚˜λ‘œ 라벨링된 데이터λ₯Ό ν•™μŠ΅ν–ˆμŠ΅λ‹ˆλ‹€.
λͺ¨λΈμ€ μ˜€λ””μ˜€ 데이터λ₯Ό Mel-spectrogram으둜 λ³€ν™˜ν•œ ν›„, CNN λ ˆμ΄μ–΄λ₯Ό 톡해 μŒμ•…μ—μ„œ 감정 μƒνƒœμ™€ κ΄€λ ¨λœ νŒ¨ν„΄μ„ ν•™μŠ΅ν•©λ‹ˆλ‹€.
### μ£Όμš” κΈ°λŠ₯:
- **μž…λ ₯**: Mel-spectrogram으둜 λ³€ν™˜λœ 5초 길이의 μ˜€λ””μ˜€ μ„Έκ·Έλ¨ΌνŠΈ
- **좜λ ₯**: λ‹€μŒ 감정 쀑 ν•˜λ‚˜
- Angry (0)
- Fear (1)
- Happy (2)
- Tender (3)
- Sad (4)
- **μ•„ν‚€ν…μ²˜**: 3개의 μ»¨λ³Όλ£¨μ…˜ λ ˆμ΄μ–΄μ™€ μ™„μ „ μ—°κ²°μΈ΅μœΌλ‘œ κ΅¬μ„±λœ CNN λͺ¨λΈ
## 데이터셋
이 λͺ¨λΈμ€ 두 가지 데이터셋을 μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅λ˜μ—ˆμŠ΅λ‹ˆλ‹€:
1. **MER_audio_taffc_dataset**: 이 데이터셋은 νŠΉμ • 사뢄면(Q1~Q4)에 따라 라벨링된 μŒμ•… 파일둜 κ΅¬μ„±λ©λ‹ˆλ‹€.
2. **OSF_IO Dataset**: 또 λ‹€λ₯Έ μŒμ•… 파일 및 감정 라벨둜 κ΅¬μ„±λœ λ°μ΄ν„°μ…‹μž…λ‹ˆλ‹€.
### 데이터 μ „μ²˜λ¦¬:
- 각 μ˜€λ””μ˜€ νŒŒμΌμ„ 5초 λ‹¨μœ„λ‘œ λΆ„ν• 
- λΆ„ν• λœ μ˜€λ””μ˜€ μ„Έκ·Έλ¨ΌνŠΈλ₯Ό Mel-spectrogram으둜 λ³€ν™˜
- 두 데이터셋을 μ„žμ–΄μ„œ ν•™μŠ΅ 및 κ²€μ¦μš©μœΌλ‘œ 병합
## λͺ¨λΈ 상세 정보
### μ•„ν‚€ν…μ²˜:
- **μ»¨λ³Όλ£¨μ…˜ λ ˆμ΄μ–΄**:
- Conv1: 32개의 ν•„ν„°, 컀널 크기 3x3
- Conv2: 64개의 ν•„ν„°, 컀널 크기 3x3
- Conv3: 128개의 ν•„ν„°, 컀널 크기 3x3
- **풀링**: 각 μ»¨λ³Όλ£¨μ…˜ ν›„ MaxPooling λ ˆμ΄μ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ 차원을 μΆ•μ†Œ
- **λ“œλ‘­μ•„μ›ƒ**: λ“œλ‘­μ•„μ›ƒ μ •κ·œν™”λ₯Ό μ‚¬μš©ν•˜μ—¬ μ˜€λ²„ν”ΌνŒ… 방지 (ν™•λ₯  0.5)
- **μ™„μ „ μ—°κ²°μΈ΅**:
- 첫 번째 FC λ ˆμ΄μ–΄: 256 μœ λ‹›
- 좜λ ₯ λ ˆμ΄μ–΄: 5개의 μœ λ‹› (5개의 감정 λ²”μ£Ό)
### 손싀 ν•¨μˆ˜:
- **CrossEntropyLoss**: 닀쀑 클래슀 λΆ„λ₯˜λ₯Ό μ²˜λ¦¬ν•˜λŠ” 데 μ‚¬μš©
### μ˜΅ν‹°λ§ˆμ΄μ €:
- **Adam**: ν•™μŠ΅λ₯  1e-4둜 μ„€μ •
## ν•™μŠ΅
이 λͺ¨λΈμ€ λ³‘ν•©λœ 데이터셋을 μ‚¬μš©ν•˜μ—¬ 10 에폭 λ™μ•ˆ ν•™μŠ΅λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν•™μŠ΅κ³Ό 검증 데이터 λΉ„μœ¨μ€ 80:20으둜 λ‚˜λˆ„μ–΄ λͺ¨λΈ μ„±λŠ₯을 ν‰κ°€ν–ˆμŠ΅λ‹ˆλ‹€.
검증 정확도λ₯Ό κΈ°μ€€μœΌλ‘œ κ°€μž₯ μ„±λŠ₯이 쒋은 λͺ¨λΈ 체크포인트λ₯Ό μ„ νƒν•˜μ—¬ μ €μž₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
## μ„±λŠ₯
- **졜고 검증 정확도**: μ—¬λŸ¬ 에폭 λ™μ•ˆ νŠœλ‹ν•œ κ²°κ³Ό, 졜고 검증 정확도λ₯Ό λ‹¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€.
- μ΅œμ’… λͺ¨λΈμ€ λ‹€μ–‘ν•œ μŒμ•… μƒ˜ν”Œμ—μ„œ 감정을 μΈμ‹ν•˜λŠ” 데 λ›°μ–΄λ‚œ μ„±λŠ₯을 λ³΄μž…λ‹ˆλ‹€.
## μ‚¬μš© 방법
μžμ‹ μ˜ μŒμ•… 데이터λ₯Ό 감정 λΆ„λ₯˜ν•˜λŠ” 데 이 λͺ¨λΈμ„ μ‚¬μš©ν•˜λ €λ©΄ Hugging Face Hubμ—μ„œ 직접 λ‘œλ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€:
```python
from transformers import AutoModel
model = AutoModel.from_pretrained("jeonghyeon97/music_emotion_classifier_4")
```