Remove the noise in a hearing aid, part 1
시작은 2022년 3월 14일이었습니다. “승현님, 저희 소음제거 알고리즘을 개선시켜주세요!”
저는 보청기 스타트업에서 일하는 임베디드 DSP 엔지니어 였죠. 이 업무는 보청기로 들어오는 소리를 마이크로부터 데이터로 받아, 이용자에게 맞는 소리로 이 신호를 적절하게 처리해서 스피커로 내보내는 알고리즘을 설계하는 일입니다. 에어팟 프로나 갤럭시 버즈에서 보이는 Equalizer, 음량조절, 외부소리 듣기, 노이즈캔슬링과 같은 알고리즘이 제 파트에서 핸들링돼서 나가는 일이죠. 기존에 다른 시스템보다 훨씬 하드웨어 스펙이 열등하면서 (e.g. arm cortex-m3) 배터리 용량도 중요하기 때문에 연산하나하나가 세심...
Earbud Project
개발자분들과 이야기 나누다가 사이드프로젝트 이야기를 나눴던 적이 있었다. “저는 지금 무선이어폰을 만들고 있어요.” 내가 하는 프로젝트를 잠깐 언급하자 한 분이 “그게 가능한건가요?” 라고 되물어주셨었다. 어… 그건 짧게 답하기 어려운 질문이었다.
Quantization 2/2
이번 글에서는 지난시간에 이어 Quantization-Aware Tarining(QAT)부터 Binrary, Tenary Quantization, Low Bit-Wdith Quantization에 대해서 다뤄 볼 예정이다. 앞서서 Quantization 1편을 다른 포스트에 함께 기재해서 이번 포스트에서는 Quantization 1편과 합쳐진 포스트로 이동할게요.
Pruning 2/2
앞서서 MIT에서 Song Han 교수님이 Fall 2022에 한 강의 TinyML and Efficient Deep Learning Computing 6.S965에서 경량화 기법으로는 Pruning을 정리하고 있다. 지난 글에서는 Granularity와 Criterion에 대해서 나눴다면 이번에는 Ratio, Fine-tuning, Lottery Ticket Hypothesis, System Support를 다뤄보고자 한다.
Pruning 1/2
앞으로 총 5장에 걸쳐서 딥러닝 모델 경량화 기법들에 대해서 소개하려고 한다. 경량화 기법으로는 Pruning, Quantization, Neural Network Architecture Search, Knowledge Distillation, 그리고 Tiny Engine에서 돌리기 위한 방법을 진행할 예정인데 본 내용은 MIT에서 Song Han 교수님이 Fall 2022에 한 강의 TinyML and Efficient Deep Learning Computing 6.S965를 바탕으로 재정리한 내용이다. Pruning을 2번에 걸쳐서 정리할 예정이고 강의 자료와 영상은 이 링크를 참조하자!
Quantization 1/2
이번 글에서는 MIT HAN LAB에서 강의하는 TinyML and Efficient Deep Learning Computing에 나오는 Quantization 방법을 두 차례에 걸쳐서 소개하려 한다. Quantization(양자화) 신호와 이미지에서 아날로그를 디지털로 변환하는 과정에서 사용하는 개념이다. 아래 그림과 같이 연속적인 센서로 부터 들어오는 아날로그 데이터 나 이미지를 표현하기 위해 단위 시간에 대해서 데이터를 샘플링하여 데이터를 수집한다.
Optimization for tiny devices in C++ 2/2
지난 번 글부터 Tiny device에 적용할 수 있는 ML 최적화 기법에 대해 정리하고 있다. 이번 글에서는 Image to Column(Im2col) convolution, In-place depth-wise convolution, NHWC for point-wise convolution, and NCHW for depth-wise convolution, Winograd convolution를 다룰 예정이고, 저번 시간에 이어 그에 맞는 예제를 직접 보드에서 돌려보면서 어떻게 최적화가 되는지 알아보자.
48 post articles, 6 pages.