본문 바로가기

전체 글

Multi GPU with Pytorch (DistributedDataParallel) 1. Introduction 일반적으로 연구자들이 pytorch를 이용하여 Deep Learning 모델을 빠르게 학습시킬 수 있는가 입니다. 일반적으로 Deep Learning 모델을 빠르게 학습시키는 방법에는 여러가지가 있습니다. 당연히 CPU가 아닌 GPU를, GPU가 아닌 TPU를 사용함으로써 학습의 속도를 향상시킬 수 있습니다. 성능이 더 좋은 장비를 사용하는 것 또한 한 가지 방법이 될 수 있습니다. 당연히 GTX1050 보다 GTX1080ti를 사용하는 것이 빠를 것입니다. 하지만 하나의 값비싼 장비를 이용하는 것은 제한이 있습니다. 그래서 많은 Machine Learning Framework에서는 여러 대의 GPU를 이용하여 학습을 가속화하는 방법을 가지고 있습니다. 이 글에서는 많은 Ma.. 더보기
A Benchmark for Interpretability Methods in Deep Neural Networks 1. Introduction Machine Learning에서 어떤 특징점이 예측에 중요한 역할을 하는지 알아내는 것은 매우 중요합니다. 이를 통해서 Model의 성능을 향상시키는 방법을 알아내는 것, 예측에 대한 신뢰성 확보, 이상 탐지를 알아내는데 도움을 줍니다. 하지만 이 분야는 매우 도전적이며 그 이유는 Ground Truth 가 없다와 정확히 측정할 수 있는 수학적 방법이 없다입니다. 두 가지를 요약하면 즉, 정답이 없다는 것입니다. 하지만 이 논문에서는 수학적이진 않지만 실험적으로 어떠한 특징점이 중요한지 평가를 하는 방법을 소개합니다. 일반적으로 지금까지 대표적으로 사용되어 왔던 특징점의 중요도를 평가하는 방법에는 해당 특징점을 삭제한 후 기존 Model의 성능이 얼마나 떨어졌는지를 평가합니.. 더보기
Tutorial on Few-Shot Object Detection #2 저번 글에서는 Classification 관점에서 Few-Shot Learning의 배경과 그 해결 방법을 다루었습니다. 이번 글에서는 최근에 제안된 Few-Shot Object Detection의 방법론과 함께 Few-Shot Classification과 비교했을 때 Few-Shot Object Detection만이 갖는 문제점을 함께 다루어보도록 하겠습니다. 1. Classification & Object Detection 먼저 위 그림을 통해 Image Classification과 Object Detection 간에 어떤 차이가 있는지 알아봅시다. 먼저 쉽게 알 수 있는 점으로 Object Detection은 Classification에 더해 대상의 위치까지 예측해야 한다는 것입니다. 이는 단순히 .. 더보기
Tutorial on Few-Shot Object Detection #1 1. Introduction 일반적으로 가장 널리 사용되고 있는 딥 러닝 모델들은 방대한 양의 데이터를 필요로 하는 지도 기반 학습(Supervised Learning)을 따릅니다. 하지만 지도 기반으로 학습한 딥 러닝 모델에 새로운 종류의 대상을 추가하기 위해서는 그에 따른 대규모 데이터를 추가로 필요로 합니다. 이를 위해 매번 수천, 수만 장의 데이터를 수집하고 레이블링해야 한다면 수많은 비용과 시간이 소모됩니다. 또한 비용 부담이 가능하더라도, 궤도 상에서 회전하며 촬영하는 위성영상이나, 혹은 드물게 발생하는 재난 상황과 같은 충분한 양의 데이터를 확보하기 어려운 경우에는 충분한 성능의 딥 러닝 모델을 학습시키기 어렵습니다. 마지막으로 인지적 관점에서 볼 때, 사람은 한두 장의 이미지를 보고도 이를.. 더보기