본문 바로가기

전체 글

(71)
[Paper Review] CoDL: Efficient CPU-GPU Co-execution for Deep Learning Inference on Mobile Device 논문 정보는 다음과 같다. F. Jia, CoDL: Efficient CPU-GPU Co-execution for Deep Learning Inference on Mobile Device, ACM MobiSys, 2022 1. Introduction On-device DL inference On-cloud와 비교했을 때 on-device DL inference는 사용자 데이터 안전성을 확보하고, 인터넷에 의존하지 않으며, cloud-operation을 줄인다는 측면에서 이점을 갖는다. 하지만 현재는 간단한 DL 모델에 대해서는 충분히 짧은 응답 시간을 갖지만, 예를 들어 object detection 모델인 YOLO의 경우 약 200ms가 걸리고 이는 응답 시간 면에서 개선이 필요하다. 2 Propert..
Ch 8-3. Process Control with C Program: getpid, exit, fork Process Control c 프로그램에서 라이브러리에 있는 system call 함수를 사용하면 process level에 대한 조작을 할 수 있다. 예를 들어, process의 ID를 확인하고, 새로운 process를 만들거나, 돌아가는 process를 종료시키는 등인데, 여기서는 그 예시를 코드와 함께 몇 가지 살펴보기로 한다. Process ID getpid(), getppid() 함수는 각각 calling process의 Process ID (이하 PID), calling process를 만들었던 parent process의 PID를 return한다. 다음과 같은 예시 코드를 작성하였다. #include #include #include int main(){ printf("PID of calle..
[Paper Review] AsyMo: Scalable and Efficient Deep-Learning Inference on Asymmetric Mobile CPUs 논문 정보는 아래와 같다. M Wang, AsyMo: Scalable and Efficient Deep-Learning Inference on Asymmetric Mobile CPUs, ACM MobiCom, 2021 Abstract 최근 서버 컴퓨터 뿐만 아니라 on-device에서도 Deep Learning(이하 DL)을 돌리려는 시도들이 늘어나고 있다. 주로 이를 돌리는 하드웨어 플랫폼은 mobile CPU인데, 이러한 mobile CPU 기반 DL inference는 asymmetric multiprocessor를 이용할 때 발생하는 성능 향상의 한계와 에너지 비효율성이라는 2가지 문제점을 갖는다. 2가지 문제점에 대한 주요 원인으로는 1) task partitioning & distributio..
Lec 12. Visualizing and Understanding CNN 이번 lecture에서는 CNN이 이미지 관련 task를 처리할 때 그 내부에서는 어떤 일이 일어나는지에 대한 해석을 공부한다. First Layer Filter as an image 먼저, 가장 직관적으로 이해할 수 있는 첫 번째 convolution layer을 살펴본다. 첫 번째 conv. layer의 필터 dimension은 F*F*3이다. Depth는 항상 3인데, 왜냐하면 CNN의 input인 이미지의 depth가 R, G, B 채널에 의해 3이고, convolution 연산에서 input과 filter의 depth는 일치하기 때문이다. Depth가 3이기 때문에, 필터를 F*F 픽셀 크기의 RGB 이미지로 출력할 수 있고, 이는 유용한 해석을 제공한다. 위의 그림은 몇몇 유명한 CNN의 첫 ..
Lec 11-2. Object Detection: Region Proposal, R-CNN, Fast R-CNN, Faster R-CNN, YOLO Object Detection Computer vision 분야에서 neural network를 사용하는 application으로서 object detection을 살펴볼 것이다. Object detection이란 주어진 이미지에서 물체가 속한 영역을 box 표시하고, 물체가 어느 class에 속하는지를 분류하는 task를 말하는데, 하나의 이미지 내에 여러 개의 물체가 들어있을 수 있다는 점에서 이전 포스팅에서 다루었던 classification+localization 문제와는 다르다. 먼저, 지난 포스팅의 classification+localization 방식을 리뷰해보면, label score 벡터와 함께 bounding box의 좌표 값을 output으로 추가함으로써 regression 문제로 만..
Lec 11-1. Semantic Segmentation, Classification + Localization 지금까지 하나의 이미지를 정해진 class set 중 하나로 분류하는 image classification을 풀기 위해 CNN에 대한 여러 논의를 전개시켜왔다. Image classification 외에도 neural network를 활용하는 vision application은 다양한데, 이번 포스팅에서는 semantic segmentation, classification+localization의 두 가지 application에 대해 공부한다. Semantic Segmentation Semantic segmentaion이란, 아래와 같이 주어진 이미지의 각 픽셀이 어느 label에 속하는지를 모두 판단함으로써 이미지를 여러 class의 구역으로 분할하는 것이다. Image classification과 마..
Lec 10. Recurrent Neural Network: Structure, Computational Graph, Language Model, Image Captioning Recurrent Neural Network: Processing Sequential Data 이전 lecture들에서 Convolutional Neural Network(이하 CNN)에 대해서 공부하였는데, CNN은 이미지 데이터를 대상으로 하며 목표는 이 이미지를 finite set of class 중 하나로 labeling(또는 classifying)하는 것이었다. 이번 lecture에서는 다른 neural network 구조인 Recurrent Neural Network(이하 RNN)에 대해 공부한다. CNN이 이미지 데이터를 대상으로 한 application에 쓰인다면, RNN은 sequential data를 대상으로 한다. 그 예로는 하나의 이미지로부터 이를 설명하는 sequence of wo..
Lec 7-2. Regularization: L2 Regularization, Dropout, Data Augmentation Regularization: Make a Model Better for Unseen Data Optimization은 주어진 training 데이터셋에 대해 loss function을 최소화시키는 parameter들을 찾는 과정이다. 그러나, 실제 모델을 학습할 때 training 데이터셋에 대한 loss를 줄이는 것 뿐만 아니라, unseen data에 대한 loss와의 gap을 줄이는 것 역시 중요한 문제이다. 가지고 있는 training 데이터셋에 대해서 overfit 된 모델이라면, test time에 unseen data에 대해서는 좋은 performance를 낼 수 없고, 이것은 우리가 원하는 바가 아니다. Regularization은 모델이 training 데이터셋에 대해 overfit 되는..