let us not love with words or tongue but actions and truth.
728x90

IT 159

2차 미분을 이용한 최적화

SGD와 같이 1차 미분을 통한 최저점을 찾는 방법에 대해서는 성능이 느리다는 단점이 있습니다. 지그재그로 경사를 내려가며 최저점을 찾기 때문에, 매우 속도가 느린 것이지요. 그 것의 대안으로 2차 미분을 이용한 최적화 방법이 있습니다. 2차 미분은 아래 그림의 빨간선과같이 더 빠른 최저점을 찾아갈 수 있는 대안을 제시합니다. 2차 미분을 활용하여, 매개변수를 업데이트 하는 수식은 아래와 같지요. 여기서 H(Hessian)은 2번 미분한 값입니다. 2차 미분의 가장 큰 단점은 아래와 같습니다. 1. 과다한 계산량 필요 2. 2차 미분이 불가능한 수식들이 존재 이 문제점을 해결하기 위해, 켤레그레디언트 방법과 유사뉴턴 방법이 등장했습니다. 왼쪽 그림은 SGD방법이고 오른쪽은 켤레그레디언트 방법입니다. SG..

규제 기법2 - Augmentation, Dropout, 앙상블

오늘은 규제기법 중에, Data Augmentation, Dropout, 앙상블 기법에 대해서 정리해보고자 한다. 여기서 Dropout은 지난번에 잠깐 언급한 분류에 의하면 명시적 기법에 속하며, Augmentation과 앙상블은 암시적 기법에 속한다. 규제 분류를 참고하려면 아래 내용에서 확인이 가능합니다. https://sarah0518.tistory.com/107 규제 기법 - Ridge & Lasso 규제 기법에는 크게 아래와 같은 2가지 종류가 있다. 1. 명시적 규제: 가중치 감쇠나 Dropout처럼 목적함수나 신경망 구조를 직접 수정하는 방식 2. 암시적 규제: 조기멈춤, 데이터 증대, 잡음 추가, sarah0518.tistory.com 그럼 다시 다양한 규제기법들에 대해 소개를 해보자. 1..

규제 기법 - Ridge & Lasso

규제 기법에는 크게 아래와 같은 2가지 종류가 있다. 1. 명시적 규제: 가중치 감쇠나 Dropout처럼 목적함수나 신경망 구조를 직접 수정하는 방식 2. 암시적 규제: 조기멈춤, 데이터 증대, 잡음 추가, 앙상블 등 이번에는 명시적 규제의 가중치 감쇠기법의 2가지인 Ridge와 Lasso에 대해 정리해보고자 한다. 아, 참고로 그전에 규제항이라는 것에 대해 간단히 살펴보자. 위 그림에서는 가중치를 업데이트 하는 공식에서 규제항을 더해줌으로써 큰 가중치값을 억제하는 효과를 가져온다. 단, 규제항은 weight에만 적용되며 절편에는 적용이 하지 않는다. 예를 들어, y=wx+b라고 하면 weight인 w에만 규제항을 추가하고, b에는 추가 하지 않는 것이다. 왜냐하면 weight는 노드의 상호작용을 표현하..

배치 정규화

오늘은 배치정규화와 배치정규화를 함으로써 얻을 수 있는 장점 3가지를 정리하고자 한다. 목적: 우선 배치 정규화란 은닉층을 거쳐 나온 값들의 분포가 적당히 골고루 분포되게 강제화 해주는 것이다. (가중치 초기화의 목적과 같다.) 이유: 배치정규화를 통해 vanishing gradient문제를 해결 할 수 있다. 예를 들어, 아래와 같은 sigmoid 함수를 보면 sigmoid를 미분한 값은 점선의 곡선처럼 나타나는데, 이는 양 끝단에서, vanishing gradient가 발생할 수 있다는 걸 알수있다. 이 해결책으로 제시된 것이 아래와 같은 그림의 batch normalization이다. 위의 그림이 보여주는 것은 activation의 input 즉, wx+b의 많은 값들을 sigmoid함수에서 기울기..

가중치 초기값- He, Xavier initialization

가중치 초기값 이번에는 가중치 초기값의 2가지 규칙과 초기화 기법 2가지 방법을 알아보겠습니다. 가중치 초기값에서는 아래의 2개의 규칙만 기억해주면 됩니다. 1. 가능하면 작은 값의 가중치를 사용 (단, 가중치 값들이 동일한 값을 갖으면 안됨) 2. 각 층의 활성화 함수를 거쳐 나온 값들은 적당히 골고루 분포되어있어야 함 2번 규칙을 조금 더 자세히 알아보도록 하죠. 아래 그림은 w값이 평균 0, 표준편차 1인 정규분포에서 초기화 시킨 후, sigmoid 활성화 함수를 거쳐 나온 값입니다. 결론을 말하면 위의 출력값들은 좋지 못한 값을 가지고 있습니다. 왜냐하면, sigmoid출력값이 0과 1에 치우쳐져 있기 때문에, back propagation을 진행하게 되면 아래 그림과 같이 sigmoid함수에서 ..

6가지의 activation function과 7가지의 optimizer

1. 5가지의 activation function에 대한 정리 a. Step Function 이제는 거의 사용하지 않음 b. Sigmoid Function Gradient Descent가 발생할 수 있음 c. tanh function sigmoid는 0~1값을 갖지만, tanh는 -1~1의 값을 가지므로 변화폭이 더 큼 그러므로 sigmoid 함수보다는 기울기 소실이 적은 편임 d. ReLU f(x) = max(0, x) tanh과 같이 연산이 필요한 것이 아니라, 단순 임계값이므로 연산속도가 빠름 e. Leaky ReLU f(x) = max(ax, x) a는 일반적으로 0.01값을 가짐 f. softmax function 2. 7가지의 Optimizer 방법 optimizer의 전체 흐름은 아래 표에 ..

로그우도 목적 함수와 multi-class classification

지난번 정리 내용에서는 binary-class classification일 때 사용하는 cross-entroypy 목적함수를 설명했었다. 이번에는 multi-classification에서 사용하는 목적함수인 로그우도 목적함수와 softmax 활성함수(역시 multi-class classification에서 사용)에 대해 정리해보려고 한다. 우선 softmax 활성함수부터 설명해보자. 그림으로 설명하면 더 쉬울 것 같다. 이 그림을 설명해 보면 출력층에서 S1=2, S2=1.2, S3=4 라는 값이 나왔을 때 이것을 확률값으로 변경해주는 것을 생각해보자. 예를 들어, max에 표시된 것처럼 S1=0, S2=0, S3=1로 출력층의 값을 변화시켜 주면 총합은 1이 되며, 출력층을 통해 나온 결과는 가장 마지..

교차엔트로피 목점함수와 Binary classification

오늘은 교차엔트로피 목적함수와 베르누이 확률분포를 통한 유도방법을 정리해보고자 한다. 우선 교차엔트로피 목점함수는 아래와 같다. 교차엔트로피 목적함수를 유도하기 위해서는 베르누이 확률분포를 먼저 이해하면 좋다. 베르누이 확률분포에 대한 설명이다. 베르누이 확률분포는 실험결과가 두 가지 중에 하나로 나오는 시행으로 예를 들어 성공 vs. 실패 와 같은 예시를 들 수 있다. 이걸 식으로 표현 해보면, P(x=1) = p, P(x=0) = 1-p 이다. 위의 식이 뜻하는 것은 성공할 확률(x=1)을 p라고 하면 실패할(x=0) 확률은 1-p이다. 그러므로 그에 따른 확률분포는 아래와 같다. 다시 한번 예시로 설명해보자면, x=1을 대입하면 아래와 같은 값이 나오고, x=0을 대입하면 아래와 같이 1-p가 되어..

728x90