Loading...
2024. 1. 12. 00:05

딥러닝 시대의 train, validation, test set에 대한 고찰(70:30으로 나눠야하는가? train과 test가 서로 다른 분포? validation vs test는 무슨 차이인가?)

1. train set, validation set, test set 가지고 있는 모든 학습 데이터(training data)에서 전통적으로, 그 일부를 training set으로 사용하고 일부를 hold out cross validation set(development set)으로 쓰고 그 나머지는 test set으로 쓴다. training set에서 어떤 모델의 training algorithm을 수행하고, validation set은 후보로 고른 모델들의 성능을 평가하는데 사용한다. 위 과정을 충분히 반복하고 나서, 최종적으로 고른 모델이 얼마나 잘 편향없이 추론하는지(unbiased estimate) 평가하기 위해 test set을 이용하여 평가를 한다. 2. 70:30으로 데이터를 나누는 것이 ..

2023. 5. 9. 02:16

computer vision의 한 획을 그은 ResNet의 아이디어 복습하기

1. introduction 최초로 100개 이상 layer를 쌓으면서도 성능이 더 좋아진다는 것을 보임 ImageNet에서 처음으로 인간 level의 성능을 뛰어넘고 1등 classification뿐만 아니라 localization, object detection, segmentation 전부 1등 CVPR best paper 수상 layer의 depth가 성능에 대단히 중요하다는 것을 보였다. 많은 연구자들이 좌절한 부분이었는데 도대체 이것이 어떻게 가능했을까 2. degradation problem 기존 network에서 20 layer와 56 layer의 학습 성능을 비교함 기존에는 layer가 증가하면 model parameter가 증가하여 overfitting에 취약할 것이라고 생각했다 무슨 ..

2023. 5. 5. 01:19

앙상블(ensemble) 기본 개념 제대로 이해하기

0. bias와 variance 1) overfitting model이 학습을 너무 해버리면 모델의 차원이나 복잡도가 증가 데이터의 세세한 부분까지 fitting하는 overfitting 현상 발생 모든 데이터는 noise가 존재하는데 overfitting하면 데이터의 noise까지 세세하게 fitting하게 되는 경향성을 가짐 다양한 데이터가 나올 가능성이 높다. 넓은 범위에서 데이터가 나올 가능성이 높아서 high variance라고도 부른다 2) underfitting 반면 학습을 너무 하지 않으면 너무 데이터를 고려하지 않게 된다 데이터를 많이 fitting하지 못한다 일부분에만 fitting되어 일부분에만 편향된다고 하여 high bias라고도 부른다 data set을 만드는 과정에서 일반화를 ..

2022. 11. 9. 15:31

pruning 기본 알고리즘, regularization과의 연관성 알아보기

1. iterative pruning network가 존재하면 neuron weight들의 중요도를 계산함 중요도가 적은 weight는 적절하게 제거함 이후 데이터를 다시 넣어 fine-tuning을 수행하면서 weight를 업데이트 pruning을 계속하고 싶으면 weight의 중요도를 다시 계산하여 위 과정을 반복 pruning을 중단하고 싶으면 그대로 사용.. 단 1번만 할 수는 있지만 보통 여러번 반복 pruning을 수행함 2. pruning의 알고리즘 N이 pruning의 반복수이고 X가 훈련데이터(fine-tuning에도 사용) 먼저 weight를 초기화하고 network를 training하여 weight를 convergence시킴 weight의 차원과 크기가 동일한 1로 가득찬 mask 행..

2021. 12. 24. 01:13

모델의 일반화능력(generalization performance)

모델에 학습을 계속 시켜서 train data에 대해 error를 0으로 만드는 것이 최적인가? 많은 경우 우리는 ‘generalization performance’가 좋은, train data가 아닌 다른 test data에 대해 잘 동작하는 모델을 만들고자 함 iteration이 커질 수록 train error는 계속 줄어들지만 test error는 어느 순간 커진다는 것이 알려짐 generalization performance가 좋다는 것은 이 모델의 train data의 성능이 다른 test data에서의 성능과 비슷하게 나온다는 것임 generalization performance가 좋은 모델이 반드시 좋은 모델인가? 사실 그렇지도 않다. generalization performance가 좋다고..

2021. 12. 17. 21:41

L1(Lasso)과 L2 regularization(Ridge)에 대한 고찰

1) L1(절댓값 함수)과 L2(제곱 함수) regularization 항을 그래프로 그려보면 weight parameter중 하나가 0으로 가까이 가면 L2 regularization은 나머지 하나도 0으로 가까이 가는 듯 하지만 0은 아닌데 L1 regularization은 확실하게 0으로 가려고 한다 결론은 L1 regularization은 많은 weight를 0으로 만들어낼 수있는데 L2 regularization은 0에 가까운 weight들을 만들어낸다. 2) 이 사실을 다른 그림을 통해 직관적으로 살펴보면 2개의 paramete $W _{1},W _{2}$가 있다고 가정하고 2가지 regularization에 대하여 regularization 항이 최소한 $s$이내에 있어야한다고 하면 $$\l..