차세대반도체연구소 · 2023 상반기
작성자
조**
대학
미국 아이비리그 대학
전공
물리학
GPA
3.98/4.0
TOEFL
97점
자격증
이렇듯 제 좌우명은 제게 어떠한 어려움도 해결할 수 있을 것이라는 자신감을 주었고, 제 노력의 원동력이 되었습니다. 공부를 하다가 모르는 것이 있으면 먼저 논문과 전공서적을 찾아보았고, 그럼에도 해결되지 않는 궁금증은 교수님을 찾아뵙고 질의응답을 거쳐 해결하였습니다. 이러한 저의 노력 덕분에 3학년 때 수강한 전공과목은 모두 A+을 받아 성적우수장학금을 받을 수 있었습니다. KIST 인턴 연구원이 된다면 어떠한 어려운 과제가 주어졌을 때에도 지금까지 해왔던 것처럼 끝없는 노력으로 해내겠습니다.
저는 전자공학을 전공하며 마이크로프로세서, 디지털시스템설계 과목에서 ATmega128과 FPGA를 다루는 방법을 배웠고, 최근에는 인공지능에 관심이 생겨 파이썬을 활용한 인공지능 기법에 대해 스스로 공부하고 있습니다. 반도체설계교육센터에서 열린 ‘AI 반도체와 PIM 기술 동향’ 세미나에 참가하면서, 전자공학을 전공하며 얻은 지식과 피어나는 인공지능에 대한 관심을 아우를 수 있는 분야는 차세대 컴퓨팅 알고리즘 분야라는 것을 깨달았습니다. 저는 차세대 컴퓨팅 알고리즘 분야를 연구하며 스스로 학습한 지식을 발전시키고자 차세대반도체연구소 스핀융합연구단에 지원하였습니다.
[FPGA를 활용한 Real-time Stopwatch 설계 프로젝트] FPGA를 이용하여 Real-time 스톱워치를 설계하는 프로젝트를 진행했습니다. 회로의 전체 구성을 Block diagram으로 나타내어 각 모듈을 정의했습니다. 전체적으로는 스톱워치의 동작을 제어하는 stopwatch_top 모듈과 이에 입력을 받아 시간을 display하는 seg_controller 모듈로 구성했습니다. stopwatch_top 모듈은 보드의 주파수에 따른 Clock 수를 계산하여 실제 시간(초)로 반환하는 sec_counter 모듈과, 이에 따라 7-segments를 위한 신호를 생성하는 timer 모듈 등으로 구성했습니다. 또한 스톱워치 버튼에 따른 상태 다이어그램을 정의했습니다. 이를 바탕으로 리눅스 환경에서 Verilog HDL을 이용하여 회로를 작성했습니다. 이후 각 모듈마다 임의의 입력을 주는 테스트벤치를 작성했고, ModelSim을 이용하여 모듈마다 출력이 알맞은지 시뮬레이션을 거쳤습니다. 모든 모듈의 검증이 끝난 후 Quartus II를 이용하여 입출력 핀을 mapping 했습니다. 설계한 회로를 FPGA에 다운받아 Demo한 결과, 예상과 달리 스톱워치의 스위치 동작이 불안정했습니다. 이는 버튼을 누를 때 발생하는 스위치 채터링 현상에 의한 것임을 알게 되었습니다. 따라서 회로에 스위치 디바운싱 모듈을 추가했습니다. 스위치의 상태가 안정되었을 때 상태를 읽어오기 위해 딜레이를 주는 방법으로 모듈을 작성했습니다. 이를 통해 스톱워치 동작을 개선한 경험이 있습니다. 어떠한 제품을 설계할 때 검증은 필수적이고, 오류를 개선하기 위해서는 많은 지식이 뒷받침되어야함을 느꼈습니다. [인공지능에 대한 자기주도학습] 좋은 기회로 NVIDIA에서 제공하는 주피터 노트북 환경에서 딥러닝을 활용해 미국 수화(ASL) 데이터셋을 이미지 분류한 경험이 있습니다. CSV 형식의 수화 데이터셋을 pandas, numpy 라이브러리를 사용하여 전처리하고, Keras을 사용하여 레이블을 범주 인코딩했습니다. 이후 단순한 뉴럴 네트워크 모델을 구축하여, 트레이닝 및 검증 데이터로 모델을 트레이닝하였습니다. 하지만 검증 정확도는 그리 높지 않았습니다. 이는 과적합 때문임을 알게 되었고, 이미지 분류에 유용한 합성곱신경망(CNN)으로 새로 모델을 구축하였습니다. 과적합을 방지하는 Dropout 기법을 사용하니 검증 정확도가 향상되었습니다. 또한 모델의 성능을 더 개선하기 위해 데이터셋을 증강하고 모델을 새로 트레이닝했습니다. 이후 직접 촬영한 수화 사진으로 학습된 모델을 테스트했습니다. 본 경험을 통해 예측하고자 하는 데이터의 특성에 따라 적절한 모델을 선택하는 것이 중요함을 배웠습니다. 하지만 단순히 가이드라인을 따라하는 과정이었기에 인공지능에 대해 더 공부하여 스스로 모델을 만들어보고 싶다는 생각이 들었습니다. 따라서 저는 인공지능 기법에 대한 여러 참고자료와 논문을 보며 스스로 공부했습니다. 데이터 분석의 기초를 쌓기 위해 ADsP(데이터분석 준전문가) 자격증을 공부하여 취득했습니다. 최근에는 ‘웨이퍼맵 불량 분류 프로젝트’를 진행하고 있습니다. Kaggle에서 웨이퍼맵 데이터셋(WM-811K)을 가져와 스스로 모델을 만들어보고 있습니다. 웨이퍼맵의 dimension, 즉 image size가 항상 같은 것이 아니었고, numpy의 unique 함수를 이용해 웨이퍼맵에 632개의 다른 size가 있음을 확인했습니다. 따라서 같은 dimension으로 만들어 머신러닝에 활용하고자 데이터를 변환했습니다. 이후 직접 간단한 CNN 모델을 만들어 학습시켰습니다. 저는 여러 논문들을 참고하며 AutoEncoder 등 모델의 정확도를 개선하는 방법에 대해 스스로 공부하고 있습니다.