1717 단어
9 분
2020년 회고
2020-12-31

2019년#

2020년을 말하기 전, 2019년을 돌아보자면 사실 머신러닝 공부를 제대로 하지 않았기 때문에 개인적으로 마음고생이 컸던 한 해이기도 했다. 사실 머신러닝 공부 이전에 Python을 어느 정도 할 줄 알아야 하는데 조금 써본 것 때문에 제대로 된 함수 및 클래스를 만들기 어려웠다.

중간에 업무가 많이 있던 적이 있는데 몸도 정신도 힘들었지만 Vim이나 전체적인 linux 명령어와 같은 꿀팁도 얻은 것도 얻은 한해였던 것 같다.

그리고 2019년 말쯤 딥러닝 기반 부정맥 검출에 관한 논문이 Accept 되기도 하였고 연말에 이탈리아에 가서 워크샵에 참여하였다.


2020년#

1월 - 부정맥 검출 연구#

부정맥 검출 연구는 2019년 하반기부터 시작되었지만 전체적인 아웃라인은 이때부터 잡힌 것 같다. 심화적인 연구에 대해 이것저것 알아보던 시기였으며 방학이라 그렇게 바쁘지 않아 좋았던 한 달이었다.

2월 - 개학 준비#

이때도 부정맥 검출 연구에 대해 피처를 추출하고 있던 시기였으며 강화학습 적용에 대해 알아보던 시기

3월 - 연구와 조교 업무#

피처를 추출하고 DQN을 이용해서 부정맥 검출를 위한 최적의 feature 값을 선택하는 연구를 진행하였다. 또한 개학이 시작되어 조교 업무를 진행하였다.

4월 - DQN vs Relief vs Mutual information#

DQN으로 뽑힌 feature 값과, Relief, Mutual information으로 뽑힌 feature를 비교하는 연구를 진행하였다.

5월 - DQN 최적화#

DQN의 파라미터 (learning rate 등)을 최적화하여 최적의 DQN을 만드는 연구를 진행하였다. 이때 BOHB을 적용하였는데 DQN 자체가 PyTorch 기반 코드였어서 최적화를 진행하는데 쉽지 않았다.

6월 - 부정맥 검출기와 STFT#

이때부터 부정맥 검출기를 제작하였다. 부정맥 검출기는 관련 프로젝트가 있어서 제작하게 되었고 PyQt5로 진행할 지 크로스 플랫폼이 가능한 Flutter로 고민이 많았는데 결국 레퍼런스가 많은 PyQt5로 진행하게 되었다. 그리고 부정맥에서 STFT를 거쳐 스펙트로그램 이미지 자체를 이용하여 딥러닝 분류를 하는 논문을 보고 재현을 위해 연구를 진행하게 되었다.

7월 - 부정맥 검출기와의 사투 (1)#

사실 부정맥 검출 모델은 예전부터 설계왔던 모델이라 크게 어렵지는 않았지만 이를 화면에 애니메이션 형태로 띄우기가 쉽지 않았다. 피크를 기준으로 앞 뒤 신호를 잘라 CNN 모델에 넣어 검출하는 형태라 피크 감지 부터 시작하여 데이터가 흘러가는 모습을 정지 및 초기화 기능이 PyQt5 레퍼런스가 많이 없어 고생을 한 시기였던 것 같다. 그래도 피크 감지 알고리즘 까지는 해당 데이터에 어느정도 잘 맞게 설계되었다.

8월 - 오픈 소스 기여#

머신러닝 관련 자료를 찾다가 우연히 Teddy Lee님이 운영하시는 Machine Learning Study 혼자 해보기 깃허브 repo를 알게 되었다. 내가 알고 있는 지식이 포함되지 않았던 파트가 있어 fork하여 풀 리퀘스트를 드렸는데 감사하게도 merge 해주셨다. 그때 이후로 자그만한 지식이라도 알게된다면 모아모아 기여를 해 다른 사람들이 도움이 될 수 있도록 이것저것 찾아보게 되었다.

9월 - Focal Loss#

기존 부정맥 검출 연구는 말 그대로 검출연구이기 때문에 정상과 비정상 신호에 대해서만 검출을 수행했다. 그런데 다른 논문들은 여러가지 부정맥 클래스를 이용하여 분류 하는 연구가 많았고 나도 이를 재현해보고자 분류 연구를 진행하였다. 이때 Focal Loss에 대해서 처음 알게 되었다. 결과적으로 좋은 결과는 아니었어서 이를 최적화하기 위해 다른 데이터를 찾아보거나 BOHB를 적용하는 것으로 결론 지었다.

10월 - 부정맥 검출기와의 사투 (2)#

정지 및 초기화, 애니메이션 기능이 미약하여 밤을 새서 관련자료 및 코딩을 진행 한것 같다. 결국 해결하여 정지 및 초기화를 마치고, 데이터 불러오기 까지 성공하였다. 그리고 유전 알고리즘을 복습하였다.

만든 부정맥 검출기의 일부 기능은 졸업작품 프로젝트에 발표도 하게 되었다.

그리고 이때 이력서를 만들어 올렸었는데 감사하게도 몇몇 회사에서 먼저 면접 제안을 한 곳이 있었다.

11월 - 면접 준비#

몇몇 회사들과의 코딩테스트 및 면접을 진행하며 내가 부족한 점이 무엇인지 뼈저리게 느끼게 되었다… 논문 많이 쓰고 코딩테스트 대비, 그리고 캐글은 꾸준히 하기만 해도 면접에 지장이 가지 않을 것이라고 생각한다. 깃허브는 개인적으로 연구실 내에서 독보적으로 꾸준히 해오고 있었고 깃허브 세미나를 열 정도로 자신이 있었기에 추가로 도커 공부를 해갔었다.

12월 - 취업#

30군데 정도 머신러닝 직무를 지원했었고, 4~5군데에서 먼저 연락이 오기도 하였다. 30군데 중 2군데에 최종 합격했었고, 이후 머신러닝 엔지니어로 입사하게 되었다. 놀랍게도 연구실 졸업 멤버 중 가장 먼저 회사에 최종 합격하였다.

2021년 계획은 다음과 같이 진행할 계획이다.

  • SQL 공부 : 데이터베이스 공부는 필수라고 생각한다.
  • 강화학습 공부 : 기초적인 DQN 까지밖에 몰라 A3C, Rainbow과 같은 Advanced한 강화학습을 공부할 계획이다.
  • 운동하기 : 대학원 생활 동안 살이 쪄서 체력이라도 유지할 계획이다. 로 결정하게 되었다.

개인적으로 많이 성장한 한해였다고 느낀다. 2021년도 계속 성장하도록 해야지.

2020년 회고
https://kaintels.github.io/posts/2020회고/
저자
한승우
게시일
2020-12-31
라이선스
CC BY-NC-SA 4.0