딥러닝
-
[역전파법(backpropagation)]전공공부/Deep Learning 2021. 8. 17. 23:00
안녕하세요 개알못입니다~ 저번 SGD 시리즈에 이어 이번에는 역전파법에 관하여 이야기 하겠습니다 :) SGD 시리즈에서 나와 있다시피, 앞먹임 신경망(feedforward neural network)에서는 weight와 bias에 대한 오차함수의 미분을 계산해야합니다. 역전파법(backpropagation)은 이러한 미분을 효율적으로 계산하는 방법입니다. 앞으로 역전파법과 계산식 유도에 대해 알아보겠습니다. 1. 역전파법을 왜 사용하는가? 예를 들어 샘플 Xn에 대한 제곱오차를 (식 1)라 할 때, (식1)를 l번째 층의 가중치 W(l)의 한 성분인 Wji로 미분하겠습니다. En을 편미분 하면 (식 2)이 나옵니다. 여기서 우변의 두번째 항은 미분형태 이므로 다시 한번 구해야됩니다. 그러기 위해 y(x)..
-
[확률적 경사 하강법(SGD)] 5. 과적합 완화(학습을 위한 트릭)전공공부/Deep Learning 2021. 8. 3. 23:00
안녕하세요. 개알못입니다~~ 갑자기 장마가 시작 되었네요 허허 오늘은 저번 시간에 이어 과적합을 완화시켜주는 법에 대해 알아보겠습니다 :) 이번 5번째 글을 마지막으로 SGD를 마무리하겠습니다!! 저번 시간에는 규제화를 통해 과적합을 완화시켜주었습니다. 규제화를 크게 3가지로, 가중치감쇠 / 가중치 상한 / 드롭아웃이 있습니다. 그중에서 드롭아웃+가중치 상한을 함께 사용하는 것이 효과가 높음을 보았습니다. 이번 시간에는 학습 시에 적용하는 것만으로도 일반화 성능을 향상시키거나, 학습을 빨리 진행할 수 있게 하는 여러 방법에 대해 알아보겠습니다. 1. 전처리 훈련 데이터에 어떠한 경향이 포함될 때, 이러한 경향이 학습에 방해를 줄 수 있습니다. 이를 제거하기 위해 진처리(Preprocessing) 과정을 ..
-
[확률적 경사 하강법(SGD)] 4. 과적합 완화(규제화)전공공부/Deep Learning 2021. 8. 2. 23:00
안녕하세요. 개알못입니다~ 어느덧 8월입니다...허허 시간 참 빠릅니다 :) 오늘은 저번시간에 배운 과적합을 줄이는 방법에 대해 알아보겠습니다. 1. 규제화 저번 시간에 살펴본 '과적합'은 학습 시 오차함수 값이 local minimum에 갇힌 상황이라고 볼 수 있습니다. 주로 가중치의 수가 많고, 신경망의 자유도가 높을 수록 그럴 확률이 높습니다. 고로 가중치의 자유도를 제약하는 규제화(Regularization)에 의해 과적합을 안화시킬 수 있습니다. 앞으로 '가중치 감쇠', '가중치 상한', '드롭아웃'이라는 3가지 규제화 방법에 대해 알아보겠습니다. 2. 가중치 감쇠 3가지 방법 중 가장 간단한 것이 바로 '가중치 감쇠'입니다. 가중치 감쇠란, 이름 그대로 가중치에 어떠한 제약을 가하는 것입니다...
-
[확률적 경사 하강법(SGD)] 3. 미치배치, 일반화 오차전공공부/Deep Learning 2021. 7. 27. 23:00
안녕하세요~ 날씨가 많이 덥네요!! 이어서 계속 설명하겠습니다 :) 1. 미니배치(minibatch) 큰 규모의 신경망 학습은 계산비용이 대규모로 발생합니다. 그러기에 효율적인 수치 계산을 하기 위해서는 행렬 계산 자원이 꼭 필요합니다. 즉, 샘플 한개 단위가 아니라 여러 개의 샘플을 하나의 작은 집합으로 묶어서 집합 단위로 가중치를 업데이트를 해줍니다. 이러한 작은 집합을 미니배치(minibatch)라고 합니다. 위에 식에서 Dt는 몇 개의 샘플 집합을 지니고 있는 미니배치입니다. 첨자로 써져있는 n E Dt의 의미는 t번째 마다 샘플 집합의 변화입니다. 그리고 미니배치가 포함하는 모든 샘플에 대한 오차를 계산한뒤, 그 기울기 방향으로 파라미터를 갱신합니다. Nt는 해당 미니개수가 가지고 있는 샘플의 ..
-
[확률적 경사 하강법(SGD)] 2. 확률적 경사 하강법전공공부/Deep Learning 2021. 7. 25. 23:00
안녕하세요. 개알못입니다~ 저번에 이어 확률적 경사 하강법에 대하여 이야기 해보겠습니다. 1. 배치 학습 (batch learning) 저번 시간에 모든 훈련 샘플(n =1~N)에 관하여 오차함수 E(w)를 최적화하는 법을 배웠습니다. 이때 회귀문제와 다클래스 분류 문제 모두 E(w)는 각 샘플 한개에 대해서만 계산된 오차 En의 합으로 주어집니다. 즉, 이러한 방법을 배치 학습(batch learning)이라고 부릅니다. 또다른 말로는 epach learning 이라고도 부릅니다. 저번 시간에 살펴본 식 에서는 E(w)의 기울기를 사용합니다. 2. 확률적 경사 하강법 (stochastic gradient descent) 배치 학습과 대조적으로, 샘플의 일부 혹은 샘플 하나만을 사용하여 파라미터를 업데이..
-
[확률적 경사 하강법(SGD)] 1. 경사 하강법전공공부/Deep Learning 2021. 7. 22. 23:00
안녕하세요. 개알못입니다~~ 이번 시간에는 딥러닝에서 자주 쓰이는 확률적 경사 하강법에 대하여 이야기 하겠습니다. 총 6~7번의 포스팅으로 마무리 될 것으로 예상됩니다. 1. 앞먹임 신경망의 사전 지식 1.1 앞먹임 신경망 경사 하강법에 들어가기 앞서, 앞먹임 신경망의 대한 사전 지식일 필요합니다. 간단히 설명하면, 앞먹임 신경망 학습 : 주어진 다음의 훈련 데이터로부터 계산되는 오차함수 E(w)를 신경망의 파라미터 w에 대하여 최소화하는 과정 1.2 훈련 데이터 하나의 입력 x에 대한 출력을 d 일때, 이러한 입출력이 쌍으로 있는 경우 아래 처럼 표현합니다. 각 입출력 쌍 (x, d)를 훈련 샘플(training samples)이라, 전체 집합 D를 훈련 데이터(training data)라고 부릅니다...