Loading...
2024. 1. 12. 01:59

딥러닝 모델 training의 기본 법칙

1. 모델이 high bias인가? >> training set에 대한 성능이 좋은가? 안좋은가? training set에 대한 성능이 좋지 않다면, 더 깊은 network를 쓰거나 hidden layer, hidden unit을 많이 쓴다든지, epoch을 늘려 더 오래 training을 하거나 더 개선된 optimization 알고리즘을 사용하거나 더 좋은, 깊은 network를 사용하는 것은 거의 항상 도움이 되는 반면에 더 오래 training하는 것은 도움이 안되는 경우도 많지만, 시도해보는건 나쁠건 없다 ---------------------------------------------------------------------------------- 중요한건 최소한 high bias를 제거하는..

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으로 데이터를 나누는 것이 ..

2024. 1. 11. 01:11

2일차 activation, gradient descent, random initialization, deep neural network, hyperparameter 간단하게

1. non-linear activation z1 = W1x + b1 a1 = g1(z1) z2 = W2a1 + b2 a2 = g2(z2) 만약, g1 = px+q, g2 = rx+s의 선형함수라고 한다면, z2 = W2W1(px+q) + W2b1+b2이고, W2W1 = W3, W2b1+b2 = b3라고 한다면, z2 = W3(px+q)+b3이다. 따라서 몇개의 layer를 연결하더라도, activation이 linear라면, 하나의 layer로 만들어진다. 그래서 함수의 표현력이 떨어져서 hidden layer에서 linear activation은 사용하지 않는다. output layer에서 linear activation을 사용할 수 있으며, 그렇다면 hidden layer은 non-linear ac..

2024. 1. 10. 00:34

1일차 neural network, supervised learning, activation 간단하게

1. neural network And so given these input features, the job of the neural network will be to predict the price y. And notice also that each of these circles, these are called hidden units in the neural network, that each of them takes its inputs all four input features. So for example, rather than saying this first node represents family size and family size depends only on the features X1 and ..

reproducibility를 위한 random seed

1. 필요성 모델의 재현성 cross validation의 경우 실행할 때마다 매번 다르게 sampling되어 model의 성능이 매번 다르다 반복해서 실행했을 때 동일한 조건에서 동일하게 sampling되어야 정확하게 model 성능 측정이 가능함 머신러닝 모델도 random하게 작동하므로 작업 복원을 위해서라도 반드시 필요함 어떤 가설을 설정하고, 그것이 맞는지 실험할려고 하는데 재현이 안된다면 가설에 의한 변화 때문에 성능이 바뀐건지, 다른 원인이 있는건지 파악할 수 없음 2. seed 모델의 랜덤성 때문에 풀고자 하는 문제에 대하여 데이터가 매번 바뀌면 모델 성능 측정시 내가 만든 feature나 전처리 방식이 효과적인지 확인이 어렵다 랜덤성을 제거하기 위한 seed를 고정 feature engi..

2023. 9. 13. 04:06

구현하면서 배우는 weight initialization(가중치 초기화) 중요성

가중치 초기화(weight initialization)은 모델을 만들고 훈련하기 전에 한번 수행을 한다 좋은 가중치 초기화는 모델이 optimal point에 더 빠르게 다가갈 수 있게 한다 1. 상수 가중치(all zero or one) occam's razor(경제성의 원리)에 따르면 모든 가중치 값을 동일한 상수로 가정하는게 최적의 솔루션일 수 있다 모든 weight가 동일하다면, 각 layer의 뉴런이 동일한 output을 내놓기 때문에 모델이 어떤 weight를 바꿔야 최적해를 찾는지 결정하기 어려워서 training을 어렵게 한다 FashionMNIST 데이터셋에 동일한 MLP 모델을 training하는데 가중치를 모두 0으로 초기화하는거랑 1로 초기화하면... 2. random weight ..