목록분류 전체보기 (96)
JLOG
MxNet 만들어진 FaceDetector code를 리뷰하다가 xxx.pkl 파일을 load 하는 것을 확인했다. pkl 파일 형식은 처음 보아서 어떨 때 쓰이는 지 찾아보았다. +참고 : pkl를 사용하는 예시 코드 def gt_roidb(self): cache_file = os.path.join( self.cache_path, '{}_{}_gt_roidb.pkl'.format(self.name, self._split)) if os.path.exists(cache_file): with open(cache_file, 'rb') as fid: roidb = pickle.load(fid) print('{} gt roidb loaded from {}'.format(self.name, cache_file)) ..
PAPER DeepLabV2 DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution,and Fully Connected CRFs Abstract 일반적인 convolution model은 연산량을 줄이기 위해 작은 사이즈(3x3, 5x5)의 커널을 사용한다. 네트워크가 충분히 깊지 않으면 covered receptive field가 좁아 커다란 object를 다 cover하지 못할 수 있다. DeepLabV2는 VGG16, ResNet101에 일반적인 convolution을 ASPP(Atrous spatial pyramid pooling)으로 대체해 연산량은 적지만 큰 범위의 receptive field를 ..
PAPER Unet Abstract FCN 구조를 응용한 구조를 사용함으로서 segmentation map을 출력했다. Overlap-tile를 이용해 input image의 resolution이 GPU memory에 구애 받지 않고 사용할 수 있다. data argumentation을 이용해 few labeled data를 가지고도 적절한 학습이 가능하다. Introduction CNN이 classificaiton 분야의 큰 발전을 가져왔다. biomedical image processing을 위해 localization 정보를 얻기 위해 sliding-window 방법을 사용했다. 출처 : https://m.blog.naver.com/PostView.nhn?blogId=worb1605&logNo=22..
PAPER 요약 CNN은 image recognition에 큰 발전을 가지고 왔다. semantic segmentation에도 CNN Deep learning model을 사용하기 위한 방법으로 FCN의 방법을 제시했다. Network for Classification 일반적으로 Conv와 Pool을 통해 입력 이미지는 작아지고 FC를 통해 하나의 입력 이미지에 따른 예측 label을 출력한다. Network for Segmentation 이 때, classfier의 FC 부분을 1x1 CNN으로 변경함으로서, 공간 정보를 가진 activation map을 출력으로 가질 수 있다. FC를 사용하면, 고정된 크기의 input을 받아야 하지만 모두 CNN을 사용하면 이미지 크기에 상관 없이 모두 입력으로 받..
zsh에서 pip을 사용하면 zsh : command not found 에러가 발생했다.zsh에서 pip을 설치해주어야 한다. 에러 스크린샷 pip을 설치하기 위한 root 계정 전환>>> sudo apt-get update >>> su root # root 계정 log-in >>> exit # root 계정 log-out 만약 root 계정 비밀번호가 설정이 안되있다면>>> sudo passwd root로 초기 비밀번호를 설정해주면 된다. >>> apt-get install python-pip # for python2.x version >>> apt-get install python3-pip # for python3.x versionroot 계정으로 전환해준 후 위의 라인을 쳐서 python 버전에 맞..
손실 함수란? 학습을 통해 최적 가중치 매개변수(W)를 결정하기 위한 지표로 손실함수(loss function)을 사용한다. 오차(loss, cost) 값을 작게 만드는 것이 신경망 학습의 목표이다. Gradient Descent loss function의 gradient(기울기)를 이용하여 loss가 최소화 되는 방향으로 학습시키는 것 위와 같이 loss function의 기울기가 -라면 loss 값이 최소가 되는 방향인 +방향으로 이동하고, loss function의 기울기가 +라면 loss 값이 최소가 되는 방향인 -방향으로 이동할 것이다. 평균 제곱 오차(mean square error, MSE) yk : 신경망 출력 tk : 정답 레이블(one-hot encoding 형식) n : 데이터의 개수..
Momentum(탄력, 가속도) 학습 방향을 유지하려는 성질모멘텀을 사용하면 학습 방향이 바로 바뀌지 않고, 일정한 방향을 유지하며 움직인다.같은 방향의 학습이 진행된다면 가속을 가지며 더 빠른 학습을 기대할 수 있다.m−는 직전의 모멘텀을 의미하고 초기화 값은 0이다.α는 가속도 값을 의미하는 hyperparameter (0.9와 같은 1 이하의 값을 가짐)\overset{-}m\text\\\textm−는 직전의 모멘텀을 의미하고 초기화 값은 0이다.α는 가속도 값을 의미하는 hyperparameter (0.9와 같은 1 이하의 값을 가짐) 학습에 따른 모멘텀 계산하기전에 모멘텀 값이 연속적으로 적용 된다. gradient descentgradient descent + momentumw(2)의 값을 비..
np.dot 참고 사이트 : https://numpy.org/devdocs/reference/generated/numpy.dot.html 1D의 경우 내적 2D의 경우 행렬 곱 (np.matmul 사용을 권장) nD의 경우 첫번째 행렬의 마지막 axis와, 두번째 행렬의 뒤에서 2번째 axis과의 내적으로 계산된다. dot(a, b)[i,j,k,m] = np.sum(a[i,j,:] * b[k,:,m]) np.matmul 참고 사이트 : https://numpy.org/doc/stable/reference/generated/numpy.matmul.html 2D의 경우 기존 행렬 곱 두 인수 중 하나가 nD의 경우(n>2), 마지막 두개의 축으로 이루어진 행렬을 나머지 축에 따라 쌓아 놓은 것이라고 생각한다..
아래 블로그의 정리글을 참고해 작성되었습니다. 꿈 많은 사람의 이야기 cs231n 강의를 들으면서 공부 기록용으로 작성된 글입니다. Neural Networks를 학습시키는 것에 대해 Part1(6강), Part2(7강)로 나누어서 수업을 진행할 것이다. Activation Functions Activation Function은 Wx에 대해서 input이 들어오면, 다음 노드로 보낼 때 어떻게 보낼지를 결정해주는 역할을 한다. 여기서 중요한 점은 Activation function은 필수적이 요소이고, 비선형 형태여야지 Network를 깊게 쌓을 수 있다는 것이다. -Activation이 없는 경우 -Activation이 선형인 경우 위와 같이 똑같은 형태로 WX+B인 형태가 나옴으로 선형인 경우 Net..
아래 블로그의 정리글을 참고해 작성되었습니다. 꿈 많은 사람의 이야기 cs231n 강의를 들으면서 공부 기록용으로 작성된 글입니다. CNN(Convolution Nerual Network)에 대해서 알아볼 것이다. CNN은 이미지 인식에서 가장 많이 사용하는 구조이다. 고양이 이미지 실험과 같이 어떤 것을 볼 때마다 활성화 되는 부분들을 분석해 적용시킨 것이 CNN의 시초라고 볼 수 있다. LeCun이 소개한 lenet에서 cnn이 제대로 적용되게 된다. CNN은 큰 영역부터 섬세한 영역까지 모두 다룬다. 이후 발전된 형태의 AlexNet도 CNN의 구조이며, ImageNet에서 높은 정확도를 보여주었다. 이런 CNN 구조는 Classification(판별), Retrieval(검색), Detection..