1) Tech
-
Pooling을 사용하는 이유, pooling의 특징, pooling의 효과 (CNN, Sub sampling, Max pooling, Average pooling)1) Tech 2020. 3. 8. 13:54
DNN은 기본적으로 layer라는 모듈을 조립하듯이 이어붙이는 구조를 가집니다. 여기서 layer의 종류는 다양하게 존재하는데 CONV layer, FC layer(Affine layer), BN layer, Pooling layer, activation 등이 존재합니다. 이번에 pooling에 대해서 이야기하고자 합니다. 도대체, Pooling은 왜 사용할까? Pooling은 sub sampling이라고 합니다. sub sampling은 해당하는 image data를 작은 size의 image로 줄이는 과정입니다. pooling은 CNN기준으로 이야기하자면 CONV layer와 Activation을 거쳐 나온 output인 activation feature map에 대하여 technique을 적용합니다..
-
DNN의 특징 (Heuristic, 발견법)1) Tech 2020. 3. 8. 13:09
DNN을 공부하고 있는 입장에서 항상 의문이 들었습니다. 이 technique을 왜사용할까? 이것말고 다른 좋은 방법은 없는가? DNN은 보통 technique이 나온 근거로 경험상(Heuristic)이라는 말이 많이 나옵니다. heuristic이란? = 말그대로 해보니까 잘된다. 해보니까 기존(baseline)보다 좋았다. 이는 DNN이 너무 많은 layer와 parameter, big data를 이용한 training 등으로 인해 수학적인 근거를 명확하게 찾기가 쉽지 않습니다. 또한, filter의 값을 채워넣는 Weight initialization도 random한 value을 사용됩니다. (물론, weight initialization의 방법도 다양합니다. 하지만 제안된 방법들도 대부분 rando..
-
CNN을 이미치 처리에 쓰는 이유 (affine layer, FC layer, MLP)1) Tech 2020. 3. 8. 11:57
CNN을 연구하다 보면 본질적인 궁금증이 생길겁니다. 왜? DNN중에서 CNN이 image 처리에서 강점을 보일까입니다. 저도 이제까지 이유는 알고는 있지만 정확하게는 설명을 못하는 부분이기도 해서 이렇게 정리합니다. ======================================================== DNN은 다음과 같은 순서대로 공부를 많이할겁니다. Perceptron -> MLP (Multi-layer Perceptorn) -> CNN (Convolutional Neuron Network) 1. Perceptron은 말그대로 인간의 brain의 신경세포(Neuron)에서 motiv를 얻었습니다. 2. MLP는 Perceptorn을 여러개 FC layer을 쌓은 것입니다. MLP의 l..
-
epoch / batch / iteration1) Tech 2020. 2. 28. 00:11
DNN을 연구하다보면 많은 단어들이 생소할것입니다. DNN training 실제 코드를 돌려보면 epoch / batch / iteration 와 같은 단어들이 자주 보입니다. 저는 보다 이해하기 쉬운 저만의 언어로 표현하는게 중요하다고 생각하여 이렇게 작성합니다. 1. epoch = CNN기준, training set(수만~수백만개)의 모든 image data가 한 번씩 training(forward propagation + Backpropagation)을 진행한 상태 2. batch size = DNN training에서 gradient를 계산할때, 매 iteration마다 training set에서 가져오는 일부 image data의 양 3. iteration = GPU memory(GDDR)의 한..
-
CNN이 다루는 문제들 (Classification, Localization, Segmentation)1) Tech 2020. 2. 25. 01:17
Computer Vision (CV)분야는 image를 다루는 전문 분야입니다. CV에서 다루는 문제로는 크게 Classification, Localization, Segmentation으로 3가지가 있습니다. DNN 중에서도 Image 처리에 높은 Accuracy를 달성하는 Convolutional Neural Network (CNN) 또한 해당 문제들을 풀기 위해 계속해서 연구되고 있습니다. CNN을 공부하기에 앞서 이를 알고 가면 좋을거 같아 정리하여 남깁니다. ========================================================== 1. Classification (분류) : image를 보고 해당 image의 object가 무엇인지 예측하는 문제 ex) 강아지 i..