
🐦 입문자의 딥러닝 체험기: 새소리 분류 AI 만들기
인공지능이 새소리를 구분할 수 있을까요?
저도 처음엔 그냥 호기심이었어요. "멜 스펙트로그램? EfficientNet?" 단어조차 생소했지만,
직접 모델을 만들고 학습시키면서 그 모든 개념들이 제 머릿속에 하나씩 자리 잡기 시작했습니다.
🎯 프로젝트 개요
이번 프로젝트의 목표는 5종의 새소리를 분류할 수 있는 AI 모델을 만드는 것이었습니다.
BirdCLEF 2024
데이터셋을 활용했고, Kaggle 환경에서 GPU를 활용해 학습을 진행했습니다.
🔊 멜 스펙트로그램(Mel-Spectrogram)이란?
멜 스펙트로그램은 소리를 사람이 듣는 방식처럼 시각화한 그래프입니다.
예를 들어, 파형을 바로 넣으면 딥러닝 모델이 이해하기 어렵지만,
멜 스펙트로그램으로 변환하면 "소리의 패턴"이 이미지처럼 보이기 때문에
CNN(합성곱 신경망)으로 분류가 쉬워집니다.
🧠 모델 구조와 학습 흐름
- 오디오 파일 → 멜 스펙트로그램으로 변환
- 이미지처럼 처리해서 EfficientNet-V2-B0 모델에 입력
- 모델이 분류 결과를 예측 (5종 중 어떤 새소리인지)
- 손실 함수로 예측과 실제값 차이 계산 → 가중치 업데이트
모델 학습은 Epoch=3까지 진행했고, val acc = 0.044
로 시작해 점점 성능을 개선 중입니다.
💡 왜 이 방식을 선택했을까?
사람의 귀처럼 소리를 이해하는 방식은 실제로도 높은 성능을 내기 때문이에요.
물론 더 정밀한 분석 방식도 있겠지만, 입문자에겐 멜 스펙트로그램 + CNN 조합이 가장 안정적이었습니다.
📦 내가 만든 건 뭘까?
이 프로젝트로 만든 건 "새소리를 들려주면 5종 중 하나로 분류해주는 모델"입니다.
가중치 파일(.pth)이 따로 저장되며, 이후에는 학습 없이도 결과 예측이 가능합니다.
학습 데이터는 저장되지 않고, 모델은 그 특징(가중치)만 기억하고 있어요.
🌐 어플리케이션으로 확장할 수 있을까?
물론이죠. 모델은 API 서버
나 모바일 앱
, 웹 프론트엔드
에 쉽게 탑재할 수 있습니다.
사용자는 마이크로 새소리를 들려주고, 화면엔 해당 종 이름이 뜨는 구조로요.
📌 마무리하며
처음엔 단순히 "해보자"는 마음이었지만,
모델을 학습시키고, AI 원리를 배우고, 가중치의 의미를 이해하면서
저는 AI를 단순한 기술이 아닌 배울수록 재미있는 도구로 느끼게 되었습니다.
✅ 만약 여러분도 AI에 관심이 있다면?
"정답을 아는 것보다 시도해보는 것이 훨씬 더 큰 배움이다"
새소리 분류 AI 만들기, 생각보다 재밌습니다.
댓글