페이지

기술

블로거 페이지 - 기술

과학계산

  1. 알고리즘
    • 알고리즘 개발이 주된 업무는 아닙니다. 하지만 타사에 의뢰하여 C언어로 개발한 반도체 웨이퍼 불량분석 알고리즘을 이해하고 데이터 분석 결과를 토대로 새로운 접근법을 적용하여 1분 걸리던 계산 시간을 5초 이내로 줄였습니다.
  2. 소프트웨어
    • MATLAB으로 개발되어 있던 생체성분 계산 알고리즘을 이해하고 C/C++로 재작성하였습니다. 그 결과 계산 시간이 1초에서 100밀리초 이내로 단축되었습니다. 행렬 계산을 위해서는 Eigen 라이브러리를 사용했고 최적화를 위해서는 Intel MKL 라이브러리를 사용하였습니다. 그러나 Intel MKL이 특정 조건에서는 초기값을 어떻게 설정하느냐에 따라 MATLAB과 상이한 결과를 보일뿐만 아니라 결과값이 불안정하다는 것을 발견하였습니다. 모델의 특성을 분석한 결과 이는 Intel MKL뿐만 아니라 다른 최적화 라이브러리에서도 생길 수 있는 현상이었고 실제로 Dlib, R, 그리고 Python 최적화 라이브러리로 구현한 결과도 마찬가지였습니다. 이를 바탕으로 MATLAB이 공개된 최적화 알고리즘 이상으로 무언가를 더 수행하고 있을 것이라 추정하였습니다.

기계학습

  1. 알고리즘
    • 기존의 지식과 새로운 증거를 토대로 믿음을 수정해 나가는 인간의 사고 과정을 수학적으로 표현한 베이즈 추론을 활용하여 실생활에서 발견하는 문제들을 해결합니다.
    • MLP, CNN 알고리즘을 명확하게 이해하기 위하여 Python으로 직접 구현해 보았습니다. 하지만 알고리즘을 직접 구현하기보다는 활용할 수 있는 훌륭한 라이브러리를 찾아서 익히는데 더 많은 노력을 기울입니다.
  2. 모델
    • 지도학습 방식의 생체성분 예측 모델을 개발하였습니다. 그 과정에서 모델을 구성하는 것과 더불어 생체성분을 예측하는데 사용하는 데이터의 특성을 이해하고 적절히 처리하는 것이 매우 중요하다는 생각을 하게 되었습니다.
  3. 소프트웨어
    • 훈련 소프트웨어와 예측 소프트웨어에 대한 유지보수가 용이하게 이루어질 수 있도록 모듈화하였습니다. 또한 예측 소프트웨어를 서버 방식으로 구현하고 신뢰할 수 있는 수준의 서비스를 제공하기 위하여 메모리 사용과 통신 안정성을 개선하였습니다. 사용한 기계학습 프레임워크는 Keras였고 백엔드는 TensorFlow였습니다.

응용프로그램

  1. 모바일 앱
    • Android 기반의 스마트폰 앱과 스마트와치 앱을 개발하였습니다. 스마트와치 앱은 전화, 메시지, 활동 추적, 긴급 알림 등을 주요 기능으로 제공하고 스마트폰 앱은 서버를 통하여 스마트와치 앱의 데이터와 이벤트를 수신하고 보다 넓은 화면에서 편리하게 기능을 사용할 수 있도록 해 주었습니다.
  2. 웹 앱
    • HTML/CSS/JavaScript로 프론트엔드를 개발하였습니다. 주로 사용하는 라이브러리는 jQuery, Bootstrap, Vue.js입니다.
    • 데이터 시각화를 위하여 Chart.js, vis.js, D3.js를 사용하였습니다.
    • Spring으로 백엔드를 개발하였고 데이터베이스 접근을 위하여 JDBCMyBatis를 사용하였습니다.
  3. 데이터베이스
    • OracleMySQL용 데이터베이스 스키마를 설계하였고 SQL 튜닝 과정을 거쳐 성능 저하 가능성을 줄인 후 배포하였습니다.
  4. 데스크톱 앱
    • Windows Forms를 사용하여 장치 제어, 데이터 수집 및 분석용 GUI 응용프로그램을 개발하였습니다. 개발에 사용한 언어는 C#입니다.
    • Electron을 사용하여 장치 제어, 데이터 수집 및 분석용 GUI 응용프로그램을 개발하였습니다. Electron은 크로스 플랫폼 데스크톱 앱 개발 환경으로써 HTML/CSS/JavaScript로 개발한 앱을 Windows, Linux, 그리고 macOS에서 실행할 수 있도록 합니다.

Written with StackEdit.

댓글 없음:

댓글 쓰기

국어 맞춤법 참고 자료

  제목 설명(인용) 출처 IT 글쓰기와 번역 노트 IT 기술 문서 및 서적을 집필/번역/교정하면서 얻은 경험/정보/지식을 공유합니다. 전뇌해커 [우리말 바루기] ‘대로’의 띄어쓰기 명사 뒤에서는 붙여 쓰고, 그 외에는 띄어 쓴다고 생각하면 쉽다. 다...