Deep Learning

    [Review] How to avoid machine learning pitfalls: a guide for academic researchers

    [Review] How to avoid machine learning pitfalls: a guide for academic researchers

    paper link: https://arxiv.org/pdf/2108.02497.pdf Introduction 이 페이퍼는 머신러닝을 이용해 문제를 풀 때 흔하게 저지를 수 있는 실수와 어떻게 하면 그것을 피할 수 있을 지에 대해 소개하고 있다. 머신 러닝 프로세스를 크게 다섯 가지의 단계로 나누어 각 단계별로 설명하게 되는데, 각 단계를 미리 소개하자면 다음과 같다. 모델 빌드 전에 해야 할 것 모델을 안정적으로 빌드하는 방법 모델을 안정적으로 평가하는 방법 모델을 공평하게 비교하는 방법 결과를 리포트하는 방법 본 글에서는 제시된 내용 전부를 훑기보다는, 개인적으로 몇 가지만 골라 간단하게 소개하고자 한다. 아카데믹 관점보다는 머신러닝 프로젝트를 성공적으로 이끌기 위한 방법 위주로 내용을 선정하고 해석..

    [Review] DensePose From WiFi

    [Review] DensePose From WiFi

    paper link: https://arxiv.org/pdf/2301.00250.pdf Introduction 본 논문에서는 기존에 RGB 이미지나 레이더, 라이다 데이터를 이용해 다루어지던 3D human pose estimation 문제를 1D 센서인 WiFi 안테나와 그것을 이용해 측정한 WiFi 신호를 이용해 딥러닝 기반으로 해결하는 방법을 제시한다. Occlusion이나 환경의 변화에 민감한 이미지 데이터나, 값비싼 하드웨어가 필요하며 공공 공간에서 사생활 침해의 우려가 있는 레이더, 라이다 데이터와는 달리 저렴하고 장비 자체의 접근성이 좋으며 사생활을 보장하는 방식으로 기존의 이미지 기반의 pose estimation 성능 수준을 달성할 수 있다고 주장한다. Methodology 3개의 WiF..

    ChatGPT 생산적으로 사용하기

    ChatGPT 생산적으로 사용하기

    Introduction 최근에 핫해진 ChatGPT란 녀석을 일을 하면서 개인적으로 굉장히 유용하게 사용하고 있는데, 이에 대한 내용을 간단히 공유하고자 한다. 1. 빠른 정보 검색 간혹 한 번에 정리된 자료가 잘 없고 인터넷 여기저기서 단서들을 주워모아야 하는 경우가 있다. 흔하지 않은 버그에 대한 디버그 방법을 찾는 상황이라던지, 아니면 정석적인 답이 없어서 정말로 여러 글을 종합해 봐야 하는 상황을 예시로 들 수 있다. ChatGPT를 이용하면 꽤 높은 확률로 한 번에 잘 정리된 자료를 얻어낼 수 있다. 한번 예시를 보자. 예전에 작성했던 글 중 하나인 "libpng warning: iCCP: known incorrect sRGB profile" 에러에 대한 해결 방법에 대해 질문해 보자 (참고)...

    Introduction to Machine Learning in Production (1) - The Machine Learning Project Lifecycle

    Introduction to Machine Learning in Production (1) - The Machine Learning Project Lifecycle

    본 글은 Coursera의 Machine Learning Engineering for Production (MLOps) 특화 과정의 일부인 Introduction to Machine Learning in Production 강좌의 내용을 개인적인 의견과 함께 정리한 글이다. 원 강좌 내용에 관심이 생긴다면 한번 수강해 보도록 하자! Introduction 당신은 실제 세계의 문제를 풀기 위해 어떤 ML 모델을 개발했다. 그런데 이렇게 개발한 모델을 어떻게 배포하고 운영해야 할까? 또한 배포한 모델의 성능을 어떻게 모니터링하고, 어떻게 다시 개선시켜 배포할 수 있을까? ML 모델의 실제 배포와 운영은 모델 개발 단계에서와는 다른 직관과 스킬을 요구하며, 모델 개발 단계에서는 전혀 생각하지 못 했던 새로운 ..

    Introduction to Machine Learning in Production (0) - Overview

    Introduction to Machine Learning in Production (0) - Overview

    본 글은 Coursera의 Machine Learning Engineering for Production (MLOps) 특화 과정의 일부인 Introduction to Machine Learning in Production 강좌의 내용을 개인적인 의견과 함께 정리한 글이다. 원 강좌 내용에 관심이 생긴다면 한번 수강해 보도록 하자! Class Overview 머신 러닝 학계를 들여다 보면, 실제 세계의 문제를 해결하고자 하는 머신 러닝 알고리즘 논문이 하루에도 수십, 수백 편 씩 아카이브에 게재된다. 이렇게 계속 새롭게 등장하는 ML 알고리즘들은 성능의 정량적 비교를 위해 고정된 데이터셋 하에서 통제된 학습/테스트 셋 조건을 이용해 평가되고, 한 시점에서 가장 높은 성능을 내는 알고리즘이 SOTA (St..

    [PyTorch] 파이토치 프로파일링 (PyTorch profiler API)

    [PyTorch] 파이토치 프로파일링 (PyTorch profiler API)

    Introduction 지지난 글에서는, 파이썬 코드를 실행할 때 코드의 시간 성능을 프로파일러 (profiler) 를 이용해 측정하는 방법을 알아봤었다. 여기 (지지난 글이었지만 글을 수정 하면서 발행일을 업데이트 했고... 목록의 한참 위로 올라가 버렸다) 함수의 호출 수와 개별 / 누적 소모 시간을 한 번에 정리해 주기 때문에 어느 구간에서 프로그램의 연산 병목이 일어나고 있는지 쉽게 찾을 수 있다. 그렇다면 비슷한 느낌으로 파이토치 연산의 전체적인 시간 / 메모리 성능을 한 눈에 보기 쉽게 정리해 주는 기능은 없을까? 일단 위의 프로파일러는 CPU 상에서 실행되는 함수만을 트래킹 하기 때문에, 대부분 GPU를 사용하는 파이토치 모델의 성능 측정에 사용하기에는 적합하지 않다. 다행히도 파이토치 라이..

    [PyTorch] 재현성 (Reproducibility)

    [PyTorch] 재현성 (Reproducibility)

    Introduction 파이토치를 이용하다 보면, 분명 똑같은 세팅으로 실험을 돌렸음에도 불구하고 학습 loss나 세세한 inference 결과 등이 조금씩 차이나는 현상을 볼 수 있다. 분명 non-deterministic 한 부분 (랜덤 시드 등) 을 다 통제했다고 생각했는데, 결과가 매번 다르니 굉장히 난감할 것이다. 오늘은 이에 대한 원인을 간략히 짚어보고, 파이토치의 재현성 (reproducibility) 을 어떻게 보장할 수 있는가에 대해 간단히 정리할 생각이다. 본론부터 말하면, 파이토치가 랜덤한 동작을 보이는 원인은 크게 파이토치 내/외부의 난수 생성기 (random number generator) cuDNN의 컨볼루션 벤치마킹 그리고 PyTorch에서 사용하는 알고리즘 자체의 non-de..

    [Review] Unsupervised Learning of Video Representations using LSTMs

    [Review] Unsupervised Learning of Video Representations using LSTMs

    paper link: arxiv.org/pdf/1502.04681.pdf github: github.com/mansimov/unsupervised-videos github (PyTorch): github.com/JoungheeKim/autoencoder-lstm 최근 self-supervised learning을 이용한 비디오 데이터의 representation learning 쪽을 조사해 봐야겠다는 생각을 하고 있었는데, 마침 관련된 논문들을 리스트업 해 놓은 깃허브가 있어 맨 첫번째 논문부터 시작해 몇 개를 골라 리뷰를 할 생각이다. 이번에 정리할 논문은 ICML2015에 올라온 Unsupervised Learning of Video Representations using LSTMs 이다. 간단히 요..