본문 바로가기

Computer Science 254

[네트워크 성능] Dataset Machine Learning & Dataset 네트워크가 좋은 성능을 내기 위해서는 데이터셋의 구성이 잘 되어야 한다. 데이터셋을 잘 선택하고 구성하면 네트워크의 성능과 training 속도를 매우 높일 수 있다. Dataset 종류 training set development set = validation set test set Issue disjoint (no overlap) 구성할 때 주의할 점은 training/development, test set 간에 중복되는 set(sample)이 존재해서는 안된다. 중복되는 sample이 있을 경우 overfitting이 발생할 수 있다. mismatched train/test distribution training set과 dev/test의 distri.. 2022. 4. 20.
네트워크의 성능 네트워크의 성능 개선 네트워크의 성능을 높이기 위해서 hyperparameter, dataset 등의 여러가지 요소들이 중요하다. 값, 데이터셋 등을 어떻게 구성하는지에 따라 성능이 달라지기 때문이다. Machine Learning : Iterative Process 네트워크의 성능을 높이기 위해서는 hyperparameter의 값을 조작하면서 테스트해봐야 한다. 그런데 hyperparameter의 수는 무수히 많고, hyperparameter 간에는 dependency가 존재하기 때문에 하나의 값이 바뀌면 다른 값도 바뀌어야 한다. 하나씩 테스트해볼 수 없고 여러 개의 조합을 통해 테스트해봐야 하는 것이다. 이러한 점 때문에 machine learning은 idea → code → experiment의.. 2022. 4. 20.
Deep Neural Network의 Propagation Deep Neural Network의 Propagation Shallow network와 동일하게 forward/backward propagation을 통해 예측/update를 할 수 있다. Caching Backward propagation을 통해 gradient를 구할 때에는 a와 z 값을 caching 해놓는 것이 좋다. Forward propagtion을 쭉 다 한 후 backward propagation을 수행하게 되는데, forward에서 사용된 a와 z 값이 backward에서 그대로 사용되기 때문이다. 따라서 forward에서 구한 $a^{[l]}, z^{[l]}$의 값들을 버리지말고 저장해놨다가 backward에서 사용하는 것이 연산 시간을 줄일 수 있다. Backward Propagat.. 2022. 4. 20.
Neural Network에서 Layer 수 vs. Unit 수 Layer 수 vs. Unit 수 깊은 네트워크와 얕지만 unit이 많은 네트워크 중 깊은 네트워크가 더 좋다. 네트워크가 깊을 수록 같은 연산을 수행할 때 필요한 unit의 수가 더 적어지기 때문이다. 즉, 네트워크가 깊을 수록 훨씬 적은 unit으로 복잡한 function을 구현할 수 있다. 단순히 unit의 수가 많다고 좋은 결과를 보장할 수 없다. 때문에 unit이 많은 네트워크 보다는 깊은 네트워크가 더 낫다. 다만, 네트워크가 깊어질 수록 gradient를 계산하는 것이 더 복잡해지고 오래걸릴 수 있다. 예시 아래와 같이 $y= x_1 \; XOR\; x_2 XOR\; ...\; XOR\; x_n$의 연산을 수행하기 위해 필요한 unit의 수는 다음과 같다. 깊은 네트워크 : $O(logn)$.. 2022. 4. 20.
Deep Neural Network의 Vectorization Vectorization Layer가 몇개이든 동일한 방식으로 처리하면 된다. 아래와 같이 각 layer의 값들을 하나의 matrix로 표현하여 vectorization을 할 수 있다. Vectorization을 지원하는 메소드/함수를 사용하면 연산 속도가 월등히 빨라질 수 있다. Shape Vectorization을 했을 때 forward propagation에서의 matrix shape은 backward propagation의 matirx shape과 동일하다. $W^{[l]}$, $dW^{[l]}$ : $(n^{[l]}, n^{[l-1]})$ $b^{[l]}$, $b^{[l]}$ : $(n^{[l]}, 1)$ $Z^{[l]}$, $dZ^{[l]}$ : $(n^{[l]}, 1)$ $A^{[l]}$, .. 2022. 4. 20.