목록기초 노트/VisionAI (6)
플로라도의 data workout
Object detection 논문에서 'Box regression' 이라는 표현이 등장하곤 하는데, 매번 등장할때마다 대충 넘어갔던 개념! 앵커박스와 바운딩박스의 이해를 바로 잡고자한다. 왜인지는 모르겠으나 필자 같은 경우 여기서의 Box를 당연히 (Bounding)Box Regression으로 생각했고, 이 때문에 이해가 뒤죽박죽이 되었다. Bounding-box Regression라고 이해한다면, 바운딩 박스의 Regression일까? 바운딩 박스로의 Regression일까? 주체인걸까 대상인걸까? 이것만 명확히해도 사실 헷갈릴 게 없었다. 필자는 'Box Regression'이라는 표현을 마주했을때 Box가 주체적인 단어라고 생각을 했기에 이러한 관점에서의 Box Regression은 사실 (An..
딥러닝에서 대규모의 모델을 다룰수록 scratch부터 모델을 학습시키는 경우는 잘 없고,기존의 대규모 데이터셋과 GPU Cluster로부터 사전에 학습된 pre-trained 모델을 활용하여 모델링을 하는 경우가 대부분이다. 그 활용 방법이 바로 Transfer Learning과 Fine-tuning이다.Transfer Learning과 Fine tuning은 서로 연관되어 있지만 사용 방식과 사용 맥락에 약간의 차이가 있다. Transfer Learning(전이학습)전이학습(Transfer Learning)은 한 도메인 또는 다른 task에서 학습된 모델을 취하여 다른 도메인이나 task에 적용하는 방식이다.예를 들어, 이미지넷으로 사전 훈련된 모델(ImageNet 21k분류를 위한 모델)을 새로운 ..
딥러닝 모델들의 논문을 보다 보면 벤치마크 표에서 제시되는 것이 크게 네가지가 있는데, 학습 방법및 하이퍼파라미터 튜닝과 모델 버전에 따른(1)모델의 이름,그리고 task에 해당하는 성능지표를 통해 측정한 (2)정확도와(3)파라미터의 갯수, (4)FLOPs 가 그것이다. 모델의 정확도와 효율성은 일반적으로 trade-off관계에 있기 때문에, 정확도 뿐만 아니라 파라미터의 갯수와 FLOPs로 모델의 효율성을 같이 나타내려고 한다.이 때 모델의 효율성은 파라미터의 갯수와 FLOPs 두가지로 나타내게 되는데 파라미터의 갯수는 모델의 가중치(weight)와 bias term을 모두 포함한 수를 의미하고, 대게는 모델의 capacity를 의미하며 모델의 학습관점에서는 VRAM과 직접적으로 연관되는 부분이다. ..
CNN은 translation invariance하다.traslation-invariance / equivariance는 이미지 처리의 다양한 CNN Architecture 소개에 자주 등장하는 개념이다.CNN(Convolution Neural Networks)는 translation-invariance하여, 고양이가 오른쪽에 있는지 혹은 왼쪽에 있는지를 구분하지 못한다. translation-invariance란 아래의 사진처럼 이미지 내에 고양이가 어디에 있든이동에 불변하게, 동일하게 "cat"이라고 classification할 수 있는 특징을 말한다. 원본 input 이미지에 비해 픽셀이 이동된 이미지에 대해서도 'Cat detector'는 여전히 동일하게 'Cat'이라고 판단한다. 이것이 tr..
inductive bias는 딥러닝을 공부하다 보면 종종 마주치는 개념어다. 필자는 ViT(Vision Transformer)를 공부하면서 처음 접하게 되었는데, 당시 정확한 의미를 알지 못하고, 각 뉴럴넷의 아키텍쳐상의 특징 정도로 이해하였으나, ViT 논문에서 inductive bias의 등장 횟수를 세어보니 8번이나 되는걸로 보아 간단히 넘어갈만한 녀석은 아닌듯 하다. ViT paper : AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE (https://arxiv.org/abs/2010.11929) Inductive bias는 한국말로 직역하면 "귀납적 편향"이라고 하는데, 단어의 뜻만으로는 그 의미가 크게 와닿지..
흔히들 육각형을 가장 효율적인 도형의 한 형태로 알고 있을 것이다. 특히, 벌집이 육각형으로 구성되어 구조적 안정성과 효율적인 면적 사용을 확보했다는 이야기는 어린 시절 과학책에서 흔히 볼 수 있는 이야기 중 하나다. 컨볼루션 레이어의 필터는 많고 많은 도형중에 왜 정사각형을 채택한걸까? 일반적으로 컨볼루션 레이어는 위의 그림과 같이 각 채널에 대해서 w1 ~ w9의 가중치로 이루어진 정사각형 형태의 3x3의 필터를 가장 많이 사용한다. 그러나, 굳이 정사각형의 형태를 채택한 이유에 대해서는 좀처럼 다뤄지지 않은 것 같다. 대부분의 딥러닝 강의나 교재 등에서도 다뤄지지 않은 부분이고, 나 역시 이를 의심없이 받아들여 왔다. 위의 벌집의 예시처럼 육각형 형태라던지(물론 사각형의 형태가 가장 무난한 형태겠지..