rkdaldus's picture
Update README.md
81c4438 verified
---
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์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ฒ€์ฆ ์ •ํ™•๋„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ์„ฑ๋Šฅ์ด ์ข‹์€ ๋ชจ๋ธ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์„ ํƒํ•˜์—ฌ ์ €์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค.
## ์„ฑ๋Šฅ
- ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์•ฝ 47% ์ •ํ™•๋„
## ์‚ฌ์šฉ ๋ฐฉ๋ฒ•
์ž์‹ ์˜ ์Œ์•… ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ • ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ ์ด ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Hugging Face Hub์—์„œ ์ง์ ‘ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
```python
from transformers import AutoModel
model = AutoModel.from_pretrained("rkdaldus/music_sent5_classification")
```