Prologue
회사에 들어온 지 이제 곧 3년차, 그 시간의 대부분은 개발언어와 도메인을 익히는데, 그리고 유학을 준비하는 과정에 사용했었다. 그리고 “기록”이라는 도구가 내게 있어서 문제해결에 가장 큰 도움을 주었기 때문에, 일찍이부터 성윤님 글을 통해 글또를 알고, 참여하고 싶다고 마음 먹었던 찰나에 타이밍이 좋아 8기에 드디어 들어 올 수 있었다.
Goal
목표는 크게 두 가지 이다. 첫 번째는 그 동안 혼자 메모해왔던 노트는 양이 계속해서 늘어나고, 단 번에 알기 쉬우면서도 누구나 이해하기 쉬운 글로 정리하고 싶었으며, 이제는 주기적으로 포스팅을 올리는 것이다. 그리도 두 번째는, 내가 속해 있는 디지털 신호처리나 임베디드라는 도메인 외에 다양한 개발자들과 소통하고, 동시에 이 다음으로 나가는 스텝을 어디에 둘 것인지 고민하는 것이 목표이다.
Object
$\checkmark$ 신호처리란 무엇일까?
디지털 신호처리, 신호의 정의에서부터 MFCC, Mel Spectrogram, FFT, FIR, IIR 필터와 같은 음성과 신호에 교집합에 나오는 개념들을 정리해보고자 한다.
$\checkmark$ Speech Enhancement를 위한 Machine Learning, 모델 연구에서 임베디드에 포팅하는 과정까지
회사에 들어오고 개발을 배우기 시작하면서 부터, 항상 습관처럼 남아있는 것이 궁금증이 풀릴 때 까지 계속해서 찾는 것이었다. 그렇게 하나씩 배우는 와중, 통계적 방법에서 머신러닝을 이용한 음성처리로 많이 넘어온 추세에서 “왜 임베디드에서는 힘들다고 하는 거지?” 라는 궁금증이 2021년말 즈음 생기기 시작했다. DSP 내부 연산도 병렬연산이 가장 핵심에 있어, “DSP에서도 ML이 돌아가는 게 가능하지 않을까?”하는 의구심에 그 방향으로 파기 시작했다. 데이터에서부터 모델, 경량화 그리고 포팅까지 이르는 과정까지, 아직은 구체적으로 다루는 한글은 커녕 영어도 제대로된 책이 이제야 나오기 시작하는 이 내용을 정리하는 것이, Speech Enhancement Task뿐 아니라 임베디드를 다루시는 다른 분들에게 조금이나마 도움이 될 수도 있겠다는 생각에 정리해보려고 한다.
- 소리, 음성 데이터의 종류
- Statistic 기반 모델
- 딥러닝 기반 모델
- TinyML을 위한 hardware 플랫폼
- 모델 경량화 방법
- 모델을 hardware에 포팅하기
Epilogue
남은 6개월, 너무 조급하지도 않게 그리고 너무 느리지도 않게, 꾸준히 이루고자하는 것을 천천히 시작해보자. 글또 8기도 모두 화이팅!