[회고록] 2023.04 - 스타트업 ML Engineer 월간 회고 (1개월 차)

Kyung Jae, Cheong·2023년 4월 30일
1

일기장

목록 보기
8/8

스타트업 신입 ML(머신러닝) 엔지니어의 회고록 및 다짐 - 1개월(2023.04)

(23.04 - 1~2주차) 두근두근 신입사원!

  • 지난달 치열한 면접 과정 끝에 꿈에 그리던 인공지능 데이터직무 (머신러닝 엔지니어, ML Enginner)로 취업에 성공하였다!

  • 취업한 기업이 센서 개발부터 모델 개발, B2C 서비스까지 상당히 넓은 범위의 사업을 진행하는 기업이었기 때문에, 하드웨어(HW)개발과 소프트웨어(SW)개발을 모두 아우르는 배경지식이 필요했음.

    • 또한 현재의 주된 사업 분야가 센서를 통해서 호흡, 심박, HRV 등 다양한 생체신호들을 측정하고 분석하는 것이기에 주로 시계열 데이터에 대한 분석이 주된 업무가 될 것으로 보임.
  • 스타트업이라 그런지 아직은 신입 교육에 대한 체계가 잡혀있지 않고, 새롭게 출시하는 서비스 준비에 집중하고 있어 데이터 직무에 관련된 OJT(신입교육)는 제대로 이뤄지지 못하여 현재로썬 독학으로 업무를 따라가고 있는 느낌이 강함..

    • 어떻게든 살아남기 위해선 혼자서라도 공부를 해야하는데 무엇부터 공부해야할지 방향을 잡기가 쉽지 않아서 솔직히 막막하긴 함.. 이래서 대기업이나 중견기업으로 커리어를 시작하는 것이 좋다고 얘기하는 것인가 하는 생각이 들기도 함
  • 이번달 1주차에는 사내메일계정 및 협업툴이용법, 근태관리법, 회사 구성원, 사업진행 흐름 등에 관한 OJT를 진행했였고, 업무 파악과 개발환경 세팅에 많은 시간을 보낸 것 같다.

    • 배운내용들을 블로그에 정리해보려했지만.. 자세한 내용들은 민감한 정보들도 포함되어 있어서 블로그에는 공유하지 않고 개인 노션페이지에 차곡차곡 정리해두고 있음.
    • 생체신호관련 하드웨어 및 분석방법에 대한 이론적인 내용은 업무에 어느정도 숙련이 되고 시간적 여유가 생길 때 정리해두려고 계획하고 있음.
  • 지금 회사에서 언제까지 근무할 수 있을지는 모르겠지만, 개인적으로는 데이터엔지니어링이나 백엔드쪽에도 관심이 있고 뛰어난 백엔드 개발자들이 많아서 머신러닝과 백엔드 모두 충분한 경험과 지식이 어느정도 쌓일 때까지는 다닐 생각이다.

    • 하지만 현재는 머신러닝 쪽 업무에 익숙해지는 것이 더 중요해서 백엔드나 데이터엔지니어링 쪽은 적어도 내년 쯤부터 본격적으로 공부할 수 있지 않을까 생각해봄..

(23.04 - 3~4주차) 첫 업무, 나의 역할은 무엇인걸까..?

  • 맥북 환경 세팅, 생체신호 분석법 등 주요 업무에 대한 공부를 하던 중 대표님으로부터 첫 업무를 맡게 되었다. 생체신호를 수집하는 다양한 센서에 대한 기술과 특허 등을 조사하여 보고서를 작성하는 것..!

    • 생물학이나 심리학을 주로 공부해왔던 나로썬 센서의 물리학이나 수학적 전문지식이 부족했기에 상당한 고난들이 있었다.
  • 문득 나는 하드웨어 엔지니어인가 머신러닝 엔지니어인가 고민이 될 정도로 2주일 동안 ECG(EKG)센서, PPG센서, BCG센서, RADAR센서, Pressure센서(FSR, Capacitive sensor) 등 센서 관련 동작원리와 특허들을 조사하고 공부하게 되었음..

    • 아직은 이해가 되지 않는 것 투성이었지만.. 데이터 수집방법을 알아야 데이터 분석을 더 잘 할 수 있을 것이라 생각하여 열심히 공부하고 있지만, 앞으로 잘 할 수 있을까 싶은 걱정들이 더 많아지고 있었음.
  • 현재까진 아직도 부서내에서 데이터직무에 대한 OJT는 이뤄지지 않았기에, 맨땅에 헤딩하듯이 독학으로 어떻게든 해내고 있지만, 그래도 다음달에는 제대로 된 신입교육이 이뤄지지 않을까 기대하고 있음.

    • 하지만 언제까지 넋 놓고 기다릴 순 없으므로 뭐라도 공부해야겠다 생각 중이지만,솔직히 막막하긴 함.. 차근차근 공부를 해놔야겠음
  • 머신러닝 연구 부서 내부적으로 스터디를 진행하기로 하였고, 우선 FFT(고속퓨리에변환)등 사수가 준비해온 기초적인 이론에 대한 강의를 듣게 되었음.

    • 하지만 퓨리에급수, 테일러급수, 오일러공식 등 신호 분석에 대한 기초적인 수학지식에서부터 난관에 봉착하였기 때문에.. 한동안은 수학공부에 매진해야겠다는 생각이 듦.
    • 생물학, 심리학, 의학 쪽 도메인 지식으로 호흡, 심박, 심박변이도(HRV)에 대한 생리학적 이론에 대해서 설명하기 위한 공부를 진행중이고, 이에 대한 것은 어느정도 정리가 되면 블로그에도 내용들을 정리해서 올려볼 생각임.
  • 센서로 수집한 데이터에 대한 생체신호 분석을 실시하는 업무를 지시받았고, 이에 대한 코드 작성을 진행중

    • 이외에도 다음달에 예정된 일들이 많이 예정되어 있어 적절한 시간분배를 잘 해야할 것으로 보임..

MIL (Monthly I Learned)

  • MacOS 개발 환경 세팅 (Homebrew, ZSH, VSCode, Anaconda, Doker, Git, etc.)
  • Python 시계열 분석
    • time, datetime 모듈
    • pandas 시계열 처리 (datetimeIndex, etc.)
    • fft (numpy, scipy)
    • scipy 시계열 분석 (signal)
    • ema(지수이동평균), subtract ema(트렌드 제거)
  • 센서
    • 압력센서 (FSR, Capacitive Sensor)
    • Radar 센서 (FMCW, UWB)
    • 전도성스펀지 & Pneumetic 럼버공압모델
  • 생체신호
    • 호흡(Respiration)
    • 심박수(Heart Rate)
    • 심박변이도(HRV)
      • 자율신경계(ANS) : 교감신경(SNS) & 부교감신경(PNS)
      • Time Domain : Mean HRT, SDNN, RMSSD, PSI(Pressure Stress Index), etc.
      • Frequency Domain
        • ULF(\le 0.0033Hz) : 24시간 측정에서 유효함, 심장의 신경근계와 관련
        • VLF(0.0033~0.04Hz) : 체온조절, 호르몬, 등 (교감신경 부가정보)
        • LF(0.04~0.15Hz) : 혈압조절, 등 (부교감신경+교감신경 부가정보)
        • HF(0.15~0.4Hz) : 호흡, 심장전기적안정도 등 (부교감신경 주요정보)
        • TP(\le 0.4Hz) : ULF + VLF + LF + HF (자율신경계 총 활성정보)
        • LF/HF ratio : 교감-부교감 균형도, 해석에 따라서 교감신경 활성정도로 해석하기도 함
      • Geometric Domian : Baevsky's Stress Index, HRV Triangular Index, etc.
  • 생체신호 측정 센서 (바이오센서)
    • 전기적 생체신호 : ElectroCarioGram(심전도, ECG, EKG), EletroEncephaloGram(뇌전도, EEG), EltroMyoGram(근전도, EMG), etc.
    • 광학적, 화학적 생체신호 : PhotoPlethysmoGram(광용적맥파, PPG), etc.
    • 기계적, 물리적 생체신호 : BallistoCardioGram(심탄도, BCG), etc.
    • 전자기파(광학+물리) 생체신호 : FMCW radar, UWB radar, etc.

Things I Want to Learn (TIWL)

  • 개발환경(Development Environment)
    • Jupyter GPU server (on-premises)
    • Docker
    • Jenkins (MLOps)
    • VM(가상머신), VDI(가상데스크톱인프라)
  • AI models
    • Generative AI Model
    • LSTM, GRU, Transformer
  • DataBase
    • Parquet (Apache's Parquet)
    • DynamoDB (NoSQL)
    • Redis (NoSQL)
  • AWS (Amazon Web Service)
    • EC2
    • S3
    • kinesis
    • lambda
    • cognite
    • elastic cache
    • RDS
  • Programming Languages
    • python
      • GIL (Global Interpreter Lock)
    • Java, JavaScript, node.js
    • C/C++/C#
    • Kotlin

파이팅!

profile
Machine Learning Engineer ( AI Engineer )

0개의 댓글