심층학습 최적화
선형 연산 결과인 활성값 에 비선형 활성함수 를 적용하는 과정
sigmoid함수는 활성값이 커지면 포화상태가 되고 경사도가 0에 가까운 값을 출력한다.
👉 학습이 매우 느린 요인
경사도 포화 문제를 해소할 수 있다.
ReLU의 변형은 값이 0보다 작을 때 0을 주는 것이 아니라 어느 정도의 기울기값이라도 주어서 작은 탐색이라도 하게 한다.
(기존의 ReLU는 0보다 작은 값이 나오면 0을 반환하면서 탐색이 안되기 때문에)
즉, 최근의 활성 함수들은 다음의 문제들을 해결하고자 한다.
어느 정도 이런 문제를 해결한 함수를 사용하는것이 좋다고 한다..
Q. 정규화 왜 사용할까?
1. Scale 문제 해결
2. 부호의 양극단 문제 해결
아무리 데이터를 깔끔하게 정규화 시켰어도, 층이 거듭되면 곱셈을하거나 확률분포가 민감하게 변화할 것이다.
즉, 데이터의 분포가 수시로 바뀌는 셈이다.
이것은 학습을 방해하는 요인으로 작용하므로 배치 정규화가 필요한 이유이다.
배치 정규화는
층마다 확률분포가 가변적으로 변화하는 현상인 공변량 시프트 현상을 누그러뜨리기 위해서 정규화를 층 단위로 적용하는 기법이다.
정규화를 적용하는 곳이 중요하다!
1. 에 적용하는 것이 유리
2. 미니배치에 적용하는 것이 유리
Q. 과잉적합에 빠지는 이유는?
매개변수가 많아진다면 자유도가 높아지면서 용량이 커진다 -> 과잉적합 주의
이를 피하기위해서 학습과정에서 여러 규제 기법을 적용해주고 있다.
규제는 모델 용량에 비해 데이터가 부족한 경우의 부족조건문제를 푸는 접근법
'입력과 출력 사이의 변환은 매끄럽다'라는 사전지식을 가지고 적절한 가정을 투입하여 문제를 푼다.
대표적인 기법으로 티호노프의 규제가 있으며, 매끄러움 가정에 기반을 둔 식을 사용한다.
규제를 적용한 목적함수 = 목적함수 + 규제 항
목적함수나 신경망 구조를 직접 수정하는 방식의 명시적 규제: 가중치 감쇠, 드롭아웃
간접적으로 영향을 미치는 방식의 암시적 규제: 조기멈춤, 데이터증대, 잡음추가, 앙상블
규제항 은 매개변수를 작은 값으로 유지하므로 모델의 용량을 제한하는 역할.
주로 L2놈이나 L1놈을 사용한다.
규제항 로 L2놈을 사용하는 규제 기법을 가중치 감쇠 라고 부른다.
매개 변수를 갱신하는 수식
원래 가 가지고 있던 해보다 값이 만큼 전체적으로 줄어든다.
가중치 감쇠는 최종해를 원점 가까이에 당기는 효과를 얻을 수 있다.
즉, 가중치를 작게 유지한다.
L1놈을 사용하는 것은 희소성 효과 라고 한다.
선형 회귀에 적용하면 특징 선택 효과 를 얻을 수 있다.
정리하면,
L2놈은 전체적으로 크기를 다 줄인다.
L1놈은 어떤 하나에 값을 몰아주고 나머지 값은 0으로 만들어서 전체적으로 낮아지게 만든다.
이러한 규제의 효과는
일정 시간이 지나면 과잉적합 현상이 나타나는데 그 직전, 적절한 시점에 멈춘다.
즉, 검증 집합의 오류가 최저인 점에서 학습을 멈춤
과잉 적합을 방지하기 위한 가장 확실한 방법은 많은 데이터를 사용하는 것이다.
그러나 데이터 수집은 비용이 많이 드는 작업이다.
그렇기 때문에 데이터를 인위적으로 변형하여 데이터를 확대시킨다.
(인위적으로 변경하되 원래 가지고 있는 특징들이 보존될 수 있게 해야한다)
완전연결층의 노드 중 일정 비율을 임의로 선택하여 제거하고 남은 부분을 학습시킨다.
(완전연결층의 문제는 w값들이 비슷해진다는 것에 있다. 이렇게 동기화가 되어버리면, 출력값이 비슷해지기 때문이다.)
많은 부분 신경망을 만든다는 점에서 앙상블 결합하는 기법으로 볼수도 있다.
(요즘엔 드롭아웃보다는 batch normalization을 더 많이 사용한다고 한다.)
드롭아웃은 훈련할때만 적용하며, 최종적으로 테스트할 때에는 다 살려서 진행한다.
서로 다른 여러개의 모델을 결합하여 일반화 오류를 줄이는 기법이다.
이 두 가지 일이 진행된다.
학습 모델에는 두 가지의 매개변수가 있다.
내부 매개변수의 경우 데이터로부터 결정되지만, 하이퍼 매개변수는 사람에 의해서 결정된다는 점에서 차이가 있다.
하이퍼 매개변수의 탐색에는 격자 탐색과 임의 탐색이 있다.
(임의 탐색이 우월하다)
그러나 차원의 저주 문제가 발생할 수 있다.
차원의 저주: 차원이 많으면 많을수록(고차원일수록) 그 안에서 의미있는 값을 얻기위해서는 더 많은 데이터가 필요함
이외에도 아직 많이 사용되고있지는 않지만 2차 미분을 이용하는 방법이 있다.
가능성이 높기 때문에 연구는 활발히 진행중.
2차 미분을 이용한 방법
규제 방법이 참 많구나...
현재는 배치 정규화를 더 많이 사용한다고 하니 배치 정규화도 제대로 배워둬야지