Improving Deep Neural Networks

1. Hyperparameter tuning, Batch Normalization, Programming Frameworks hyperparameters의 숫자가 적으면 grid search를 해도 될까? 아니다. hyperparameter 숫자가 적다고 하더라도 특정 parameter가 다른 parameter에 비해 지배적인 영향력을 줄 수 있기 때문이다. 우선순위가 높은 hyperparameter 두 개를 고르시오 learning rate alpha, momentum의 beta(학습 속도에 영향을 주게 됨) hyperparameter search를 baby sit(판다 버전) 스타일로 할 것인가? 여러 모델을 parallel(캐비어 버전)하게 돌릴 것인가? 가지고 있는 자원(컴퓨터)에 달린 문제! 최..
1. Deep Learning Frameworks 이 강의가 제작되던 시기에도 이미 딥러닝 분야에서 활용할 수 있는 다양한 프레임워크들이 존재했다. 어떤 프레임워크를 사용할 것인지는 사용자의 선호에 따라 달라질 수 있다. 하지만 현재 오픈 소스인 것이 이후에는 어떤 이유에 의해서든지 아니게 될 수가 있으므로 장기적으로는(개인의 관점은 아닌듯하다) 어떤 프레임워크를 선택할 것인지에 대해 보다 신중한 판단이 요구된다. 2. TensorFlow Motivating problem Cost Function이 위와 같다고 했을 때 TensorFlow를 사용하면 W와 b를 간편하게 구할 수 있다. import numpy as np import tensorflow as tf w = tf.Variable(0, dtype..
1. Softmax Regression Recognizing cats, dogs, and baby chicks 이전에 다룬 내용은 두 개의 class로 분류하는 것이었습니다. 이를 테면 고양이인지 아닌지를 구분하는 binary classification이라고 할 수 있습니다. 이번에는 두 개의 class가 아닌 여러 개의 class로 구분하는 상황을 가정해보겠습니다. 위 예시에서는 cat, dog, chick, others로 구분합니다. 따라서 neural network의 output layer는 [4,1]의 shape을 갖게 되고 이 벡터는 입력 x가 주어졌을 때 각 class에 해당될 확률을 뜻하게 됩니다. Softmax layer 여러 개의 class가 존재할 때 이를 분류하는 학습을 하는 netw..
1. Normalizing Activation in a Network Normalizing inputs to speed up learning gradient descent 과정에서 빠르게 local minima에 도달하는데 normalization이 도움이 된다는 것은 이전에 배웠다. 그렇다면 neural network에서, 즉 hidden layer가 여러 개인 경우에는 normalization을 언제언제 적용해야 할까? 다시 말하자면 input만 normalization을 해야할까? 아니면 activation function을 통해 나온 결과값에도 적용을 해야할까? 교수님은 둘 다 하는 것을 default로 생각하라고 하셨다. activation function의 결과가 어떻게 나올지는 확실히 예측할..
1. Tuning Process Hyperparameters 모델을 학습할 때 정해야 하는 여러 가지 hyperparameter가 존재한다. 교수님이 이 중 가장 중요하게 생각하는 것은 learning rate(alpha)이고, 나머지는 사용하는 optimizer 등에 따라 달라진다. 그렇다면 이 hyperparameters를 어떤 값으로 tuning하는 것이 좋은 방법일까? Try random values : Don't use a grid 예를 들어 두 개의 hyperparameter가 존재하는 경우 이를 격자처럼 딱딱 정해진 값으로 테스트 해보는 것은 바람직하지 않다. 위 그림에서 만약 hyperparameter 1이 hyperparameter 2에 비해 지배적인 영향력을 가지고 있다고 가정한다면, ..
1. Optimization Algorithms (Quiz) minibatch, layer, example에 대한 notation 각각 { }, [ ], ( ) 기호를 사용한다. vectorization Batch gradient descent는 한꺼번에 모든 데이터를 묶어 학습하겠다는 것이다. 따라서 memory의 문제만 없다면 vectorization을 가장 많이 수행하는 학습법일 것이다. 그러나 batch gradient descent는 progress를 진행하기 전에 전체 training set을 처리해야 한다는 문제점이 있다. 한편 stochastic gradient descent는 여러 example을 vectorization 할 수 없다는 단점이 있다. iteration - cost(J) g..
chanmuzi
'Improving Deep Neural Networks' 카테고리의 글 목록