일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 딥러닝
- 디미터법칙
- 논문리뷰
- NLP
- 알고리즘
- 다익스트라
- GPT
- cs231n
- 백준 1339 자바
- 1107번
- 백준
- 3745
- 1261
- 머신러닝
- 백준9095
- 자바
- 알렉스넷
- 논문
- 짝지어제거하기
- 클린코드
- 백준 1339
- deeplearning
- 논문구현
- 1916
- Alexnet
- Java
- dijkstra
- 관심사분리
- 백준 1916 자바
- MachineLearning
- Today
- Total
목록deeplearning (9)
산 넘어 산 개발일지
서론 1. 배경 Convolutional networks(ConvNets)는 대용량 이미지 및 영상 인식에서 큰 발전을 이룩하였는데, 이는 ImageNet과 같은 대용량 공공 이미지 데이터셋이 가능해지고, GPU와 같은 고성능 컴퓨팅 시스템이 등장했으며, ImageNet Large-Scale Visual Recognition Challenge(ILSVRC)와 같은 대회가 있었기 때문에 가능했다. ConvNets이 사람들에게서 자주 사용됨에 따라, 기존의 큰 성공을 거두었던 AlexNet에서 이를 더 발전시키기 위한 여러 시도들이 나타났다. 그 시도들에서 성공한 케이스들 중 하나는, 첫 번째 convolutional layer에서의 작은 receptive window 와 작은 stride를 사용했다. 또 ..
Optimization 가중치를 최적화하는 방법, 혹은 가중치를 업데이트하는 방법을 말한다. Optimization에도 여러가지가 있다. 각 Optimization은 이전 기법의 단점을 보완하는 형태로 등장했고, 최근에는 어느 한 가지가 좋다!라는 느낌보다는 상황에 따라서 골라서 사용하는 추세이다. SGD 가장 초기에 사용된 optimizer이다. 기존의 Gradient Descent의 경우 한 번 학습할 때 모든 데이터를 봐야 하는데 이 때문에 속도가 너무 느려서 고안되었다. SGD는 전체 데이터에서 mini-batch라는 소규모 그룹을 뽑아서 이들을 가지고 loss를 계산한 뒤 가중치를 갱신하는 것이다. 그러나 다음과 같은 상황에서 문제가 발생한다. 이렇게 최적점을 찾아가는데 진동 현상이 있을 수 있..
논문에 대한 자세한 내용은 여기에 정리해놨다. 2021.08.05 - [논문 리뷰/CV] - [논문 리뷰] AlexNet(2012) 요약 및 리뷰 [논문 리뷰] AlexNet(2012) 요약 및 리뷰 서론 배경 객체탐지를 위해서는 많은 데이터셋, 더 강력한 모델, overfitting을 피하기 위한 발달된 기법이 필요하다. 이 중 데이터셋의 경우 기존에는 적은 양의 데이터셋에만 접근이 가능했지만(2 mountain96.tistory.com 1. Dataset Keras를 사용하여 CIFAR-10 데이터셋을 불러온다. 이후, 이를 validation 과 train set으로 각각 분리해주고, Tensorflow에 사용하기 용이한 tf.dataDataset으로 바꿔준다. => tf.data.Dataset.f..
서론 배경 객체탐지를 위해서는 많은 데이터셋, 더 강력한 모델, overfitting을 피하기 위한 발달된 기법이 필요하다. 이 중 데이터셋의 경우 기존에는 적은 양의 데이터셋에만 접근이 가능했지만(2012 기준)했다. 그 중에서도 CIFAR, MNIST와 같은 데이터셋은 현재 인간 수준의 정확성을 달성했지만, 이정도의 사이즈는 현실 세계에서 볼 수 있는 변동성 있는 풍경에 적용하기는 힘들다. 그러나 최근에는 LabelMe, ImageNet과 같은 방대한 데이터셋이 제공되었다. 또한, 강력한 GPU가 등장하면서 CNN을 이미지에 사용하는 것이 가능해졌다. CNN의 사용 그러나 수천 수만 가지의 객체들을 이미지들로부터 배우기 위해서는 객체탐지에서 비롯되는 엄청난 복잡성을 해결해야 하는데, 이를 위해서는 방..
Weight Initialization(가중치 초기화) 방법 1. 모두 0으로 초기화 이 경우 W가 모두 같으므로, 모든 뉴런이 같은 일만 하게 되는 문제점이 있다. 또한 모든 W가 모두 같기 때문에 업데이트도 항상 같은 값으로 업데이트된다. 방법 2. 작은 수로 초기화 이런 식으로 무작위으 작은 수로 초기화하는 방법도 생각해볼 수 있다. 그러나 이경우 얕은 네트워크에서는 작동하지만, 네트워크가 깊어질수록 작동하지 않는다. 정상적으로 작동하지 않는 첫 번째 이유는, 모든 W가 작기 때문에 layer가 거듭될수록 출력되는 activation 이 점점 작아지기 때문이다. 이는 곧 0으로 수렴하게 된다. 두 번째 이유는 역전파에 있다. 역전파 시 계산하는 Gradient는 위에서 내려온 미분값 * 현재 미분 ..
Activation Functions Activation function은 한 뉴런(혹은 레이어)에서 값을 출력할 때 사용되는 함수이다. 즉 가장 최종적인 연산이라고 생각하면 된다. 이 Activation function에도 여러 종류가 있다. 가장 최초로 나온 것은 Sigmoid이며, 이에 대한 보완책으로 여러 함수들이 개발되었다. 이 함수들에 대해서 각각 어떤 문제점을 보완했는지, 단점은 무엇이 남아있는지를 공부하고자 한다. Sigmoid 함수는 일정한 범위 내에서(약 [-4, 4])는 선형적인 모습을 보이지만, 이를 벗어나면 비선형적인 모습을 보인다. 이는 뉴런의 "firing rate"를 적절히 해석했다는 점에서 장점이 있지만, 3가지 단점이 있다. 첫 번째는 saturate 되는 부분, 즉 뉴런..
Fully Connected Layer (FC layer) Fully Connect Layer(이하 FC layer)는 보통 CNN 모델들의 마지막 분류기에서 사용된다. 보통 W라는 가중치에서 한 줄의 원소들이 모두 input 원소들과 곱해져 하나의 activation 노드를 형성하기 때문에 Fully-Connected(모두 연결된)이라는 용어를 쓰는 것 같다. W라는 가중치는 input -> output으로 만들어주므로 당연히 그 사이즈는 (inputSize x outputSize) 이다. 이를 통해, activation 노드 하나는 W의 특정한 가중치를 통해 input 전체를 본다고 할 수 있겠다. Convolution Layer Convolution Layer는 한 이미지를 필터들을 통해 연산을 하..
Backpropagation 기본 원리 위 그래프에서 초록색 숫자는 forward feed 시에 계산되는 숫자들이다. 그리고 Backpropagation을 위해 맨 마지막 노드인 f에서부터 시작을 한다. 맨 처음 받는 값은 df/df이므로 1이다. f노드에 해당하는 식은 q*z 이므로 q에대한 f의 미분은 z이고, z에 대한 f의 미분은 q이다. 따라서 아래와 같은 결과값들을 얻을 수 있다. 이 때, "A에 대한 B의 미분" 이라 함은 "B에 대한 A의 영향력" 이라고 해석할 수 있다. 즉 A가 바뀌는 정도에 따라서 B가 얼만큼 바뀌는지를 정의한 식이다. q에 대한 f의 미분을 알았으니, 다음으로는 x, y 에 대한 f의 미분(f에 대한 x, y의 영향력)을 구해야 한다. 이를 구하기 위해서 "Chain..
Loss Functions 1. Multiclass SVM loss 설명 Multiclass SVM loss는 정답 score와 비정답 score 간의 차이로 손실함수를 계산하는 방식이다. 이 때 중요한 점은 score의 정확한 값보다는 정답 scroe와 비정답 score간의 상대적인 차이에 집중한다는 점이다. 시그마에서 j = yi를 빼는 이유는 Loss의 이론적 최소 값을 0으로 맞추기 위함이다. 만약 j = yi가 식에 포함된다면, Sj - Syi + 1 = 1이 되므로 Loss의 최소 값이 0이 될 수 없다. 디버깅 초기 W의 설정은 주로 0과 비슷한 작은 값으로 설정한다. 즉 Sj 와 Syi가 매우 흡사해지므로, 초기 W가 잘 설정되어 있다면 Total loss = (Class 개수) - 1 이..