실시간 자가학습과 분류 기능을 모두 지원하는 support vector machine 기반 가스 분류기의 하드웨어 구조를 설계하였으며, 제안된 가스 분류기는 학습 알고리즘으로 modified sequential minimal optimization (MSMO) 을 사용하였고, 학습과 분류 기능을 공유구조를 사용하여 설계함으로써 기존 논문 대비 하드웨어 번적을 \( 35 \% \) 감소시켰으며, Xilinx Zynq UltraScale+ FPGA를 사용하여 구현 및 검증되었고, \( 108 \mathrm{MHz} \) 의 동작 주파수에서 \(3,337\)개의 CLB LUT's로 구현 가능함을 확인하였다.
<h1>요 약</h1> <p>본 논문은 실시간 자가학습과 분류 기능을 모두 지원하는 support vector machine (SVM) 기반 가스 분류기의 하드웨어 구조 설게 및 구현 결과를 제시한다. 제안된 가스 분류기는 학습 알고리즘으로 modified sequential minimal optimization (MSMO) 을 사용하였고, 학습과 분류 기능을 공유구조를 사용하여 설계함으로써 기존 논문 대비 하드웨어 번적을 \( 35 \% \) 감소시켰다. 설계된 가스 분류기는 Xilinx Zynq UltraScale+ FPGA를 사용하여 구현 및 검증되었고, \( 108 \mathrm{MHz} \) 의 동작 주파수에서 \(3,337\)개의 CLB LUT's로 구현 가능함을 확인하였다.</p> <h1>Ⅰ. 서론</h1> <p>실내외 가스 유출은 사람의 건강에 심각한 문제를 일으킨다. 연소성과 발암성의 특성을 갖는 무색 무취의 유독가스에 일정 농도 이상으로 노출될 경우, 질병을 유발할 수 있으며, 심하면 죽음에 이를 수 있다. 따라서 산업현장, 인구밀집지역, 가정, 학교 등 다양한 환경에서 인명피해를 막기 위해 유독가스를 감시하는 시스템은 필수적이다.</p> <p>가스 감시 시스템은 특정 가스를 정확히 검출하기 위해 높은 분별력, on-chip 집적화 기능, 민감한 감도, 그리고 다양한 종류의 가스를 검출할 수 있는 반도체 기반의 마이크로 가스 센서를 사용한다. 하지만 가스 센서는 특정 가스에 대한 과다노출, 온도 및 습도의 변화 등으로 노화가 진행된다. 따라서 같은 환경에서 같은 가스에 대해 다른 가스로 분류할 수 있는 문제가 발생할 수 있다. 그러므로 센서의 상태 및 환경을 파악하여 실시간으로 자가학습할 수 있는 기계학습 기반의 시스템이 필요하다.</p> <p>최근까지 가스의 분류를 위하여 k-nearest neigh-borhood(KNN), binary decision tree(BDT), multilayer perceptron(MLP), support vector machine(SVM) 등의 기계학습 기반 알고리즘이 적용되어 왔다. 이중 KNN 과 BDT는 주로 선형 데이터를 사용하는 경우에 적용된다. 하지만 가스 센서의 개수가 증가할수록 필연적으로 데이터의 비선형성이 증가하므로, 가스 응용에서 두 알고리즘을 사용하는 데 어려움이 있다. MLP는 비선형 데이터에 대해 적용할 수 있다. 하지만 MLP는 학습 시간이 오래 걸릴 뿐만 아니라 과적합 문제가 발생하여 좋지 않은 성능을 가질 수 있다. 이에 반해, SVM은 간단한 구조를 가짐에도 불구하고 높은 예측 성능과 우수한 일반화 성능을 가진다. 또한, 가스 응용에서 가장 우수한 성능을 보이는 것으로 제시되어있다.</p> <p>SVM은 기본적으로 계산량이 많고 복잡한 quadratic programming (QP) 문제를 풀어야 하므로, 구현을 위하여 효율적인 학습 알고리즘을 사용하는 것이 중요하다. 기존의 SVM 학습 기법으로 chunking 알고리즘, Osuna 알고리즘, shrinking 알고리즘, digesting 알고리즘, Gilbert 알고리즘, sequential minimal optimization(SMO) 알고리즘 등이 있다. Chunking 알고리즘은 값이 0 인 라그랑주 승수를 삭제함으로써QP 문제의 크기를 줄인 후 학습을 수행한다. 하지만 학습 데이터가 많을 경우, 여전히 계산량이 많은 문제점이 있다. Osuna, shrinking, digesting 알고리즘은 학습 데이터를 처리하기 위해 decomposition 방법을 사용하여 working set 단위로 학습을 진행한다. 하지만 학습 데이터가 많아질수록 선형적으로 working set도 증가하기 때문에 학습에 필요한 메모리와 계산 시간도 함께 증가한다. Gilbert 알고리즘은 많은 문제를 풀 때, 최종 해를 찾는데 많은 시간이 소요되어 속도가 느리다.SMO는 decomposition 방법을 사용하지만, chunk size를 2 로 고정하기 때문에, 많은 학습 데이터를 처리할 수 있다. 하지만 SMO 알고리즘은 최적성 조건 만족 여부를 확인하는 과정에서 비효율성을 가지고 있다. 이로 인해 학습 과정에서 불필요한 iteration이 발생하고 또한 하드웨어 설계를 위해서 복잡한 제어기가 필요하다.</p> <p>Modified SMO(MSMO)는 이러한 문제를 해결하기 위해 최적화 과정에서 학습 데이터의 subset의 boundaries를 사용하여 샘플들의 최적성 조건 만족 여부를 확인한다. 이를 통해 SMO 의 비효율성을 해결하고 더 적은 iteration으로 효율적인 학습을 수행 한다.</p> <p>본 논문에서는 MSMO 알고리즘을 사용하여 가스 센서 응용을 위한 학습을 지원하는 SVM 기반의 가스 분류기를 제안한다. 또한, 학습과 분류 알고리즘의 분석을 통한 공유구조의 사용을 통해 최적의 SVM 하드웨어 구조를 제안하고, FPGA (field programmable gate array) 기반 구현 및 검증 결과를 제시한다. 본 논문의 구성은 다음과 같다. Ⅱ 장에서는 SVM의 구조와 MSMO 알고리즘을 설명하고, UCI gas dataset 기반 성능 평가 결과를 제시한다. Ⅲ장에서는 제안된 SVM 하드웨어 구조와 각 unit별 구조를 설명한다. Ⅳ장에서는 FPGA 기반 구현 결과를 제시하고, 마지막으로 Ⅴ 장에서는 본 논문의 결론을 맺는다.</p>