Download presentation
Presentation is loading. Please wait.
1
5장. 딥러닝 최적화
2
PREVIEW 과학과 공학에서 최적화 기계 학습의 최적화는 훨씬 복잡함 기계 학습의 최적화가 어려운 이유
예) 웨이퍼에 최대 집적하는 반도체공학, 목적지까지 최단 경로 찾기 등 목적함수를 정의하고 최적해를 구하면 됨 기계 학습의 최적화는 훨씬 복잡함 훈련집합으로 학습을 마친 후, 현장에서 발생하는 새로운 샘플을 잘 예측해야 함. 즉 일반 화 능력이 뛰어나야 함 훈련집합이 테스트집합의 대리자 역할을 한다고 말할 수 있음 또한 MSE, 로그우도와 같은 목적함수가 궁극 목표인 정확률의 대리자 역할을 함 기계 학습의 최적화가 어려운 이유 대리자 관계 목적함수의 비볼록 성질, 고차원 특징 공간, 데이터의 희소성 등 긴 시간 소요 (예, GPU 4대 장착한 컴퓨터에서 VGGNet을 훈련하는데 2~3주 소요) 5장은 이런 어려움을 극복하는 여러 가지 효과적인 방안을 제시함
4
5.1 목적함수: 교차 엔트로피와 로그우도 5.1.1 평균제곱 오차를 다시 생각하기 5.1.2 교차 엔트로피 목적함수
5.1.3 softmax 활성함수와 로그우도 목적함수
5
5.1.1 평균제곱 오차 다시 생각하기 평균제곱 오차(MSE) 목적함수 하지만 큰 허점
오차가 클수록 𝑒값이 크므로 벌점으로 훌륭함 하지만 큰 허점 왼쪽 상황은 𝑒=0.2815, 오른쪽 상황은 𝑒=0.4971이므로 오른쪽이 더 큰 벌점을 받아야 마땅함
6
5.1.1 평균제곱 오차 다시 생각하기 큰 허점 이유 식 (5.3)의 그레이디언트가 벌점에 해당
그레이디언트를 계산해보면 왼쪽 상황의 그레이디언트가 더 큼 더 많은 오류를 범한 상황이 더 낮은 벌점을 받은 꼴 학습이 더딘 부정적 효과 이유 𝑤𝑥+𝑏(아래 그래프의 가로축에 해당)가 커지면 그레이디언트가 작아짐
7
5.1.2 교차 엔트로피 목적함수 교차 엔트로피 레이블에 해당하는 𝑦가 확률변수 (부류가 2개라고 가정하면 𝑦∈ 0,1 )
확률 분포: 𝑃는 정답 레이블, 𝑄는 신경망 출력 확률분포를 통일된 수식으로 쓰면, 교차 엔트로피 식은 𝐻 𝑃,𝑄 =− 𝑦∈ 0,1 𝑃 𝑦 log 2 𝑄 𝑦
8
5.1.2 교차 엔트로피 목적함수 교차 엔트로피 목적함수 제구실 하는지 확인
𝑦가 1, 𝑜가 0.98일 때 (예측이 잘된 경우) 오류 𝑒=− 1 log −1 log 2 1− =0.0291로서 낮은 값 𝑦가 1, 𝑜가 일 때 (예측이 엉터리인 경우) 오류 𝑒=− 1 log −1 log 2 1− = 로서 높은 값
9
5.1.2 교차 엔트로피 목적함수 공정한 벌점을 부여하는지 확인 (MSE의 느린 학습 문제를 해결하나?) 도함수를 구하면,
그레이디언트를 계산해 보면, 오류가 더 큰 오른쪽에 더 큰 벌점(그레이디언트) 부과
10
5.1.2 교차 엔트로피 목적함수 식 (5.4)를 c개의 출력 노드를 가진 경우로 확장
출력 벡터 𝐨= 𝑜 1 , 𝑜 2 ,⋯, 𝑜 𝑐 T 인 상황으로 확장 ([그림 4-3]의 DMLP)
11
5.1.3 softmax 활성함수와 로그우도 목적함수
동작 예시 softmax는 max를 모방(출력 노드의 중간 계산 결과 𝑠 𝑖 𝐿 에서 최댓값은 더욱 활성화하고 작은 값은 억제 모두 더하면 1이 되어 확률 모방
12
5.1.3 softmax 활성함수와 로그우도 목적함수
모든 출력 노드값을 사용하는 MSE나 교차 엔트로피와 달리 𝑜 𝑦 라는 하나의 노드만 사용 𝑜 𝑦 는 샘플의 레이블에 해당하는 노드의 출력값 동작 예시1) [그림 5-5]에서 현재 샘플이 두 번째 부류라면 𝑜 𝑦 는 𝑜 2 𝑒= − log = 잘못 분류한 셈이므로 목적함수값이 큼 동작 예시2) [그림 5-5]에서 현재 샘플이 세 번째 부류라면 𝑜 𝑦 는 𝑜 3 𝑒= − log = 제대로 분류한 셈이므로 목적함수값이 작음 Softmax와 로그우도 Softmax는 최댓값이 아닌 값을 억제하여 0에 가깝게 만든다는 의도 내포 학습 샘플이 알려주는 부류에 해당하는 노드만 보겠다는 로그우도와 잘 어울림 따라서 둘을 결합하여 사용하는 경우가 많음
13
5.2 성능 향상을 위한 요령 5.2.1 데이터 전처리 5.2.2 가중치 초기화 5.2.3 모멘텀 5.2.4 적응적 학습률
5.2.5 활성함수 5.2.6 배치 정규화
14
5.2 성능 향상을 위한 요령 여러 기관이 연구결과를 공유 5.2절의 내용은 경험규칙
『Neural Networks: Tricks of the Trade』는 연구결과를 한데 묶은 대표적인 책(1998년에 1 판, 2012년에 2판) 5.2절의 내용은 경험규칙 주어진 데이터에 잘 들어맞을지는 실험을 통해 신중히 확인해야 함 Bengio의 권고 [Bengio2012]
15
5.2.1 데이터 전처리 규모 문제 예) 건강에 관련된 데이터 키(m),몸무게(kg),혈압 T
1.885m와 1.525m는 33cm나 차이가 나지만 특징값 차이는 불과 0.33 65.5kg과 45.0kg은 20.5라는 차이 첫 번째와 두 번째 특징은 대략 100배의 규모 차이 − 𝛿 𝑗 𝑧 𝑖 가 그레이디언트이기 때문에 첫 번째 특징에 연결된 가중치는 두 번째 특징에 연결 된 가중치에 비해 100여 배 느리게 학습됨 느린 학습의 요인
16
5.2.1 데이터 전처리 모든 특징이 양수인 경우의 문제 [그림 5-6]의 경우 ↑ 표시된 가중치는 모두 증가, ↓ 표시된 가중치는 모두 감소 이처럼 뭉치로 증가 또는 감소하면 최저점을 찾아가는 경로가 갈팡질팡하여 느린 수렴
17
5.2.1 데이터 전처리 식 (5.9)의 정규화는 규모 문제와 양수 문제를 해결해줌 특징별로 독립적으로 적용
18
5.2.1 데이터 전처리 명칭값을norminal value 원핫one-hot 코드로 변환
예) 성별의 남(1)과 여(2), 체질의 태양인(1), 태음인(2), 소양인(3), 소음인(4) 명칭값은 거리 개념이 없음 원핫 코드는 값의 개수만큼 비트를 부여 성별은 2비트, 체질은 4비트 부여 예) 키 1.755m, 몸무게 65.5kg, 혈압 122, 남자, 소양인 샘플
19
5.2.2 가중치 초기화 대칭적 가중치 문제 [그림 5-8]의 대칭적 가중치에서는 𝑧 1 𝑙−1 과 𝑧 2 𝑙−1 가 같은 값이 됨. − 𝛿 𝑗 𝑧 𝑖 가 그레이디언트기 때문에 𝑢 11 𝑙 과 𝑢 12 𝑙 이 같은 값으로 갱신됨 두 노드가 같은 일을 하는 중복성 발생 난수로 초기화함으로써 대칭 파괴
20
5.2.2 가중치 초기화 난수로 가중치 초기화 가우시언 분포 또는 균일 분포에서 난수 추출. 두 분포는 성능 차이 거의 없음 난수 범위는 무척 중요함 식 (5.10) 또는 식 (5.11)로 r을 결정한 후 [-r,r] 사이에서 난수 발생 바이어스는 보통 0으로 초기화 사례 AlexNet [Krizhevsky2012]: 평균 0, 표준편차 0.001인 가우시언에서 난수 생성 ResNet [He2016a]: 평균 0, 표준편차 𝑛 𝑖𝑛 인 가우시언에서 난수 생성
21
5.2.2 가중치 초기화 또 다른 방법들 [Saxe2014]: 가중치 벡터가 수직이 되도록 설정
[Sussillo2014]: 임의 행로random walk 활용하여 설정 [Sutskever2013]: 가중치 초기화와 모멘텀을 동시에 최적화 [Mishkin2016]: 가중치 분포가 아니라 노드의 출력값 분포가 일정하도록 강제화
22
5.2.3 모멘텀 그레이디언트의 잡음 현상 모멘텀을 적용한 가중치 갱신 수식
기계 학습은 훈련집합을 이용하여 그레이디언트를 추정하므로 잡음 가능성 높음 모멘텀은 그레이디언트에 스무딩을 가하여 잡음 효과 줄임 수렴 속도 향상 모멘텀을 적용한 가중치 갱신 수식 속도 벡터 𝐯는 이전 그레이디언트를 누적한 것에 해당함(처음에는 𝐯=0로 출발) 𝛼의 효과 𝛼=0이면 모멘텀이 적용 안 된 이전 공식과 같음 𝛼가 1에 가까울수록 이전 그레이디언트 정보에 큰 가중치를 주는 셈 𝚯가 그리는 궤적이 매끄러움 보통 0.5, 0.9, 또는 0.99 사용 (또는 0.5로 시작하여 세대가 지남에 따라 점점 키워 0.99에 도 달하는 방법)
23
5.2.3 모멘텀 모멘텀의 효과 네스테로프 모멘텀 오버슈팅 현상 누그러뜨림
현재 𝐯 값으로 다음 이동할 곳 𝚯 를 예견한 후, 예견한 곳의 그레이디언트 𝜕𝐽 𝜕𝚯 𝚯 를 사용
24
5.2.3 모멘텀 일반적인 경사 하강 알고리즘 네스테로프 모멘텀을 적용한 경사 하강 알고리즘
25
5.2.4 적응적 학습률 적응적 학습률 학습률 𝜌의 중요성 너무 크면 오버슈팅에 따른 진자 현상, 너무 작으면 수렴이 느림
그레이디언트에 학습률 𝜌를 곱하면, 𝜌 𝜕𝐽 𝜕𝚯 = 𝜌 𝜕𝐽 𝜕 𝜃 1 ,𝜌 𝜕𝐽 𝜕 𝜃 2 ,⋯,𝜌 𝜕𝐽 𝜕 𝜃 𝑘 T . 즉 모든 매개변수가 같 은 크기의 학습률을 사용하는 셈 적응적 학습률은 매개변수마다 자신의 상황에 따라 학습률을 조절해 사용
26
5.2.4 적응적 학습률 AdaGrad 라인 5~7을 자세히 쓰면 𝐫은 이전 그레이디언트를 누적한 벡터
𝑟 𝑖 가 크면 Δ 𝜃 𝑖 는 작아서 조금만 이동 𝑟 𝑖 가 작으면 Δ 𝜃 𝑖 는 커서 많이 이동 예) [그림 5-10]에서 𝜃 1 은 𝜃 2 보다 보폭이 큼 라인 6의 𝜌 𝜖+ 𝑟 𝑖 는 상황에 따라 보폭을 정해주는 적응적 학습률로 볼 수 있음
27
5.2.4 적응적 학습률 RMSProp AdaGrad의 단점 [알고리즘 5-3]의 라인 5는 단순히 제곱을 더함
[알고리즘 5-3]의 라인 5는 단순히 제곱을 더함 따라서 오래된 그레이디언트와 최근 그레 이디언트는 같은 비중의 역할 𝐫이 점점 커져 수렴 방해할 가능성 RMSProp은 가중 이동 평균 기법 적용 𝛼가 작을수록 최근 것에 비중을 둠 보통 𝛼로 0.9, 0.99, 0.999를 사용
28
5.2.4 적응적 학습률 Adam RMSProp에 식 (5-12)의 모멘텀을 추가로 적용한 알고리즘
29
5.2.4 적응적 학습률 동작 예시 [그림 5-13(a)]는 중앙으로 급강하하는 절벽 지형 [그림 5-13(b)]는 중앙 부근에 안장점이saddle point 있는 지형 실시간 애니메이션
30
5.2.5 활성 함수 활성값 z를 계산하고 활성함수 𝜏를 적용하는 과정 시대별 활성함수
tanh는 활성값이 커지면 포화 상태가 되고 그레이디언트는 0에 가까워짐 매개변수 갱 신(학습)이 매우 느린 요인
31
5.2.5 활성 함수 ReLU의 변형 ReLU(Rectified Linear Unit) 활성함수 포화 문제 해소
Leaky ReLU (보통 𝛼=0.01을 사용) PReLU (𝛼를 학습으로 알아냄)
32
5.2.6 배치 정규화 공변량 시프트covariate shift 현상
학습이 진행되면서 층1의 매개변수가 바뀜에 따라 𝕏 (1) 이 따라 바뀜 층2 입장에서 보면 자신에게 입력되는 데이터의 분포가 수시로 바뀌는 셈 층2, 층3, …으로 깊어짐에 따라 더욱 심각 학습을 방해하는 요인으로 작용
33
5.2.6 배치 정규화 배치 정규화 공변량 시프트 현상을 누그러뜨리기 위해 식 (5.9)의 정규화를 모든 층에 적용하는 기법
정규화를 적용하는 곳이 중요 식 (5.15)의 연산 과정 중 식 (5.9)를 어디에 적용하나? 입력 𝐱 또는 중간 결과 𝑧 중 어느 것에 적용? 𝑧에 적용하는 것이 유리 훈련집합 전체 또는 미니배치 중 어느 것에 적용? 미니배치에 적용하는 것이 유리
34
5.2.6 배치 정규화 정규화 변환을 수행하는 코드 미니배치 𝕏 𝐵 = 𝐱 1 , 𝐱 2 ,⋯, 𝐱 𝑚 에 식 (5.15)를 적용하여 𝕏 𝐵 = 𝑧 1 , 𝑧 2 ,⋯, 𝑧 𝑚 를 얻은 후, 𝕏 𝐵 를 가지고 코드 1을 수행 노드마다 독립적으로 코드 1을 수행 𝛼와 𝛽는 노드마다 고유한 매개변수로서 학습으로 알아냄
35
5.2.6 배치 정규화 예측 단계 최적화를 마친 후 추가적인 후처리 작업 필요
각 노드는 전체 훈련집합을 가지고 독립적으로 코드2를 수행 예측 단계 각 노드는 독립적으로 식 (5.18)을 적용(코드 1의 마지막 두 라인을 수행하는 셈)
36
5.2.6 배치 정규화 배치 정규화의 긍정적 효과를 측정한 실험사례[Ioffe2015] 배치 정규화는 규제 효과를 제공
CNN에서는 노드 단위가 아니라 특징 맵 단위로 코드 1과 코드 2를 적용 배치 정규화의 긍정적 효과를 측정한 실험사례[Ioffe2015] 가중치 초기화에 덜 민감함 학습률을 크게 하여 수렴 속도 향상 가능 시그모이드를 활성함수로 사용하는 깊은 신경망도 학습이 이루어짐 배치 정규화는 규제 효과를 제공 드롭아웃이라는 규제 기법을 적용하지 않아도 높은 성능
37
5.3 규제의 필요성과 원리 5.3.1 과잉적합에 빠지는 이유와 과잉적합을 피하는 전략 5.3.2 규제의 정의
규제가 중요하기 때문에 1장에서 미리 소개한 내용 1.5절의 과소적합과 과잉적합, 바이어스와 분산([그림 1-13], [그림 1-14]) 1.6절의 데이터 확대와 가중치 감쇠
38
5.3.1 과잉적합에 빠지는 이유와 과잉적합을 피하는 전략
학습 모델의 용량에 따른 일반화 능력 대부분 가지고 있는 데이터에 비해 훨씬 큰 용량의 모델을 사용 예) VGGNet은 분류층에 1억 2천 1백만 개의 매개변수 훈련집합을 단순히 ‘암기’하는 과잉적합에 주의를 기울여야 함 현대 기계 학습의 전략 충분히 큰 용량의 모델을 설계한 다음, 학습 과정에서 여러 규제 기법을 적용
39
5.3.2 규제의 정의 규제는 오래 전부터 수학과 통계학에서 연구해온 주제
모델 용량에 비해 데이터가 부족한 경우의 불량 문제를ill-posed problem 푸는 데 사용 적절한 가정을 투입하여 문제를 품 입력과 출력 사이의 매핑은 매끄럽다는 사전 지식 티호노프의 규제 기법는 매끄러움 가정에 기반을 둔 식 (5.19)를 사용
40
5.3.2 규제의 정의 현대 기계 학습도 매끄러움 가정을 널리 사용함 『Deep Learning』 책의 정의
5.4.1절의 가중치 감쇠 기법 모델의 구조적 용량을 충분히 크게 하고, ‘수치적 용량’을 제한하는 규제 기법 6장의 비지도 학습 등 『Deep Learning』 책의 정의 “…any modification we make to a learning algorithm that is intended to reduce its generalization error … 일반화 오류를 줄이려는 의도를 가지고 학습 알고리즘을 수정하는 방법 모두”
41
5.4 규제 기법 5.4.1 가중치 벌칙 5.4.2 조기 멈춤 5.4.3 데이터 확대 5.4.4 드롭아웃
5.4.5 앙상블 기법 명시적 규제와 암시적 규제 명시적 규제: 가중치 감쇠나 드롭아웃처럼 목적함수나 신경망 구조를 직접 수정하는 방식 암시적 규제: 조기 멈춤, 데이터 증대, 잡음 추가, 앙상블처럼 간접적으로 영향을 미치는 방 식
42
5.4.1 가중치 벌칙 식 (5.19)를 관련 변수가 드러나도록 다시 쓰면, 규제항 𝑅(Θ)로 무엇을 사용할 것인가?
규제항은 훈련집합과 무관하며, 데이터 생성 과정에 내재한 사전 지식에 해당 규제항은 매개변수를 작은 값으로 유지하므로 모델의 용량을 제한하는 역할(수치적 용량 을 제한함) 규제항 𝑅(Θ)로 무엇을 사용할 것인가? 큰 가중치에 벌칙을 가해 작은 가중치를 유지하려고 주로 L2 놈이나 L1 놈을 사용
43
5.4.1 가중치 벌칙 L2 놈 규제 항 𝑅로 L2 놈을 사용하는 규제 기법을 ‘가중치 감쇠’라weight decay 부름 식 (5.21) 식 (5.21)의 그레이디언트 계산
44
5.4.1 가중치 벌칙 식 (5.22)를 이용하여 매개변수를 갱신하는 수식
𝜆=0으로 두면 규제를 적용하지 않은 원래 식 𝚯=𝚯−𝜌𝛻𝐽가 됨 가중치 감쇠는 단지 𝚯에 1−2𝜌𝜆 를 곱해주는 셈 예를 들어, 𝜌=0.01, 𝜆=2.0이라면 1−2𝜌𝜆 =0.96 최종해를 원점 가까이 당기는 효과 (즉 가중치를 작게 유지함)
45
5.4.1 가중치 벌칙 선형 회귀에 적용 선형 회귀는 훈련집합 𝕏= 𝐱 1 , 𝐱 2 ,⋯, 𝐱 𝑛 , 𝕐= 𝑦 1 , 𝑦 2 ,⋯, 𝑦 𝑛 이 주어지면, 식 (5.24)를 풀어 𝐰= 𝑤 1 , 𝑤 2 ,⋯, 𝑤 𝑑 T 를 구하는 문제. 이때 𝐱 𝒊 = 𝑥 𝑖1 , 𝑥 𝑖2 ,⋯, 𝑥 𝑖𝑑 T 식 (5.24)를 행렬식으로 바꿔 쓰면, 가중치 감쇠를 적용한 목적함수
46
5.4.1 가중치 벌칙 식 (5.27)을 미분하여 0으로 놓으면, 식 (5.28)을 정리하면,
공분산 행렬 𝐗 T 𝐗의 대각 요소가 2𝜆만큼씩 증가 역행렬을 곱하므로 가중치를 축소하 여 원점으로 당기는 효과 ([그림 5-21]) 예측 단계에서는.
47
5.4.1 가중치 벌칙
48
5.4.1 가중치 벌칙 MLP와 DMLP에 적용 식 (3.21)에 식 (5.23)의 가중치 감쇠라는 규제 기법을 적용하면,
[알고리즘 3-4]에 적용하면,
49
5.4.1 가중치 벌칙 [알고리즘 3-6](미니배치 버전)에 적용하면, DMLP를 위한 [알고리즘 4-1]에 적용하면,
50
5.4.1 가중치 벌칙 L1 놈 규제 항으로 L1 놈을 적용하면, (L1 놈은 𝚯 1 = 𝜃 1 + 𝜃 2 +⋯)
식 (5.32)를 미분하면, 매개변수를 갱신하는 식에 대입하면,
51
5.4.1 가중치 벌칙 매개변수를 갱신하는 식 식 (5.34)의 가중치 감쇠 효과
L1 놈의 희소성 효과(0이 되는 매개변수가 많음) 선형 회귀에 적용하면 특징 선택 효과
52
5.4.2 조기 멈춤 학습 시간에 따른 일반화 능력 [그림 5-23(a)] 조기 멈춤이라는 규제 기법
일정 시간( 𝑡 𝑜𝑝𝑡 )이 지나면 과잉적합 현상이 나타남 일반화 능력 저하 즉 훈련 데이터를 단순히 암기하기 시작 조기 멈춤이라는 규제 기법 검증집합의 오류가 최저인 점 𝑡 𝑜𝑝𝑡 에서 학습을 멈춤
53
5.4.2 조기 멈춤 [알고리즘 5-6]은 현실을 제대로 반영하지 않은 순진한 버전 [그림 5-23(a)] 상황에서 동작
54
5.4.2 조기 멈춤 실제 세계는 [그림 5-23(b)]와 같은 상황 순진한 버전을 적용하면 𝑡 1 에서 멈추므로 설익은 수렴
순진한 버전을 적용하면 𝑡 1 에서 멈추므로 설익은 수렴 이에 대처하는 여러 가지 방안 중에서 [알고리즘 5-7]은 참을성을 반영한 버전
55
5.4.3 데이터 확대 과잉적합 방지하는 가장 확실한 방법은 큰 훈련집합 사용 데이터 확대라는 규제 기법
하지만 데이터 수집은 비용이 많이 드는 작업 데이터 확대라는 규제 기법 데이터를 인위적으로 변형하여 확대함 자연계에서 벌어지는 잠재적인 변형을 프로그램으로 흉내 내는 셈
56
5.4.3 데이터 확대 예) MNIST에 어파인 변환(이동, 회전, 크기)을 적용 한계 수작업 변형
모든 부류가 같은 변형 사용
57
5.4.3 데이터 확대 예) 모핑을 이용한 변형 [Hauberg2016]
비선형 변환으로서 어파인 변환에 비해 훨씬 다양한 형태의 확대 학습 기반: 데이터에 맞는 ‘비선형 변환 규칙을 학습’하는 셈
58
5.4.3 데이터 확대 예) 자연영상 확대 [Krizhevsky2012] 예) 잡음을 섞어 확대하는 기법
256*256 영상에서 224*224 영상을 1024장 잘라내어 이동 효과. 좌우 반전까지 시도하여 2048배로 확대 PCA를 이용한 색상 변환으로 추가 확대 예측 단계에서는 [그림 5-26]과 같이 5장 잘라내고 좌우 반전하여 10장을 만든 다음 앙상 블 적용 예) 잡음을 섞어 확대하는 기법 입력 데이터에 잡음을 섞는 기법 은닉 노드에 잡음을 섞는 기법 (고급 특징 수준에서 데이터를 확대하는 셈)
59
5.4.4 드롭아웃 드롭아웃 규제 기법 입력층과 은닉층의 노드 중 일정 비율을 임의로 선택하여 제거 남은 부분 신경망을 학습
많은 부분 신경망을 만들고, 예측 단계에서 앙상블 결합하는 기법으로 볼 수 있음 많은 부분 신경망을 학습하고, 저장하고, 앙상블 결합하는 데 따른 계산 시간과 메모리 공 간 측면의 부담
60
5.4.4 드롭아웃 실제로는 가중치 공유 사용 하나의 신경망(하나의 가중치 집합)에 드롭아웃을 적용함([알고리즘 5-8])
61
5.4.4 드롭아웃 라인 6의 전방 계산 불린 배열 𝛑에 노드 제거 여부를 표시
𝛑는 샘플마다 독립적으로 정하는데, 난수로 설정함 보통 입력층 제거 비율 𝑃 𝑖𝑛𝑝𝑢𝑡 =0.2, 은닉층 제거 비율 𝑃 ℎ𝑖𝑑𝑑𝑒𝑛 =0.5로 설정
62
5.4.4 드롭아웃 예측 단계 메모리와 계산 효율 앙상블 효과 모방
가중치에 생존 비율 (1-드롭아웃 비율)을 곱하여 전방 계산 학습 과정에서 가중치가 (1-드롭아웃 비율)만큼만 참여했기 때문 메모리와 계산 효율 추가 메모리는 불린 배열 𝛑, 추가 계산은 작음 실제 부담은 신경망의 크기에서 옴: 보통 은닉 노드 수를 1 𝑃 ℎ𝑖𝑑𝑑𝑒𝑛 만큼 늘림
63
5.4.5 앙상블 기법 앙상블 서로 다른 여러 개의 모델을 결합하여 일반화 오류를 줄이는 기법 현대 기계 학습은 앙상블도 규제로 여김 두 가지 일 서로 다른 예측기를 학습하는 일 예, 서로 다른 구조의 신경망 여러 개를 학습 또는 같은 구조를 사용하되 서로 다른 초깃 값과 하이퍼 매개변수를 설정하고 학습 예, 배깅(훈련집합을 여러 번 샘플링하여 서로 다른 훈련집합을 구성) 예, 부스팅(i번째 예측기가 틀린 샘플을 i+1번째 예측기가 잘 인식하도록 연계성을 고려) 학습된 예측기를 결합하는 일 주로 투표 방식을 사용 자세한 내용은 12장
64
5.5 하이퍼 매개변수 최적화 학습 모델에는 두 종류의 매개변수가 있음 내부 매개변수
신경망의 경우 에지 가중치로서 이 책은 𝚯로 표기 (예, 식 (4.1)의 가중치 행렬 𝐔 𝑙 ) 학습 알고리즘이 최적화함 하이퍼 매개변수 모델의 외부에서 모델의 동작을 조정함 예, 은닉층의 개수, CNN 마스크 크기와 보폭, 학습률, 모멘텀과 관련된 매개변수 등
65
5.5 하이퍼 매개변수 최적화 하이퍼 매개변수 선택 표준 문헌이 제시하는 기본값을 사용하면 됨
보통 여러 후보 값 또는 범위를 제시 후보 값 중에서 주어진 데이터에 최적인 값 선택 하이퍼 매개변수 최적화 라인 3을 구현하는 방법에 따라 수동 탐색, 격자 탐색, 임의 탐색
66
5.5 하이퍼 매개변수 최적화 격자 탐색과 임의 탐색 로그 규모 간격 임의 탐색은 난수로 매개변수 조합을 생성함
어떤 매개변수는 로그 규모를 사용해야 함 예, 학습률 범위가 [0.0001~0.1]일 때 등간격은 , , , …, , 로 총 1000개 값을 조사 로그 규모는 2배씩 증가시킴. 즉 , , , , …, , , …를 조사함
67
5.5 하이퍼 매개변수 최적화 차원의 저주 문제 발생 임의 탐색이 우월함
매개변수가 m개이고 각각이 q개 구간이라면 qm개의 점을 조사해야 함 임의 탐색이 우월함 [Bergstra2012]의 실험 (32개의 매개변수) 임의 탐색이 유리함 [그림 5-30]은 임의 탐색이 유리한 이유를 설명
68
5.6 2차 미분을 이용한 방법 5.6.1 뉴턴 방법 5.6.2 켤레 그레이디언트 방법 5.6.3 유사 뉴턴 방법
그레이디언트(1차 미분)를 사용하는 경사 하강법 현재 기계 학습의 주류 알고리즘 두 가지 방향의 개선책 [Bottou2017] 그레이디언트의 잡음을 줄임 (예, 미니배치 사용 등) 2차 미분 정보를 활용 5.6절의 주제
69
5.6 2차 미분을 이용한 최적화 경사 하강법 다시 보기
70
5.6 2차 미분을 이용한 최적화 경사 하강법을 더 빠르게 할 수 있나
[그림 5-31]에서 파란 경로는 경사 하강법이 해를 찾아가는 과정 1차 미분 정보로는 빨간 경로를 알 수 없음 1차 미분은 현재 위치에서 지역적인 기울기 정보만 알려주기 때문 뉴턴 방법은 2차 미분 정보를 활용하여 빨간 경로를 알아냄
71
5.6.1 뉴턴 방법 테일러 급수를 적용하면, 식 (5.37)은 변수가 여러 개일 때 (𝐇는 헤시언 행렬) 𝛿로 미분하면,
[그림 5-32]처럼 𝑤+𝛿를 최소점이라 가정하면,
72
5.6.1 뉴턴 방법 식을 조금 정리하면, 변수가 여러 개인 경우로 확장하면,
73
5.6.1 뉴턴 방법
74
5.6.1 뉴턴 방법 뉴턴 방법의 적용 [예제 5.3]은 2차 함수에 뉴턴 방법을 적용했으므로, 3차 항 이상을 무시한 식 (5.36)을 사 용했음에도 최적 경우 제시 기계 학습이 사용하는 목적함수는 2차 함수보다 복잡한 함수이므로 한 번에 최적해에 도 달 불가능 [알고리즘 5-10]과 같이 반복하는 뉴턴 방법을 사용해야 함 라인 3에서 헤시언 H를 구해야 함 매개변수의 개수를 m이라 할 때 𝑂( 𝑚 3 )이라는 과다 한 계산량 켤레 그레이디언트 방법이 대안 제시
75
5.6.2 켤레 그레이디언트 방법 직선 탐색line search
𝐠 2 로 직선 탐색할 때 직전에 사용한 𝐠 1 정보를 전혀 고려하지 않음 [그림 5-33(b)]의 켤레 그레이디언트는 직전 정보를 사용하여 해에 빨리 접근
76
5.6.2 켤레 그레이디언트 방법 켤레 그레이디언트 직전에 사용한 직선이 𝐩 𝑡−1 이라면 다음 순간에는 식 (5.40)을 만족하는 𝐩 𝑡 를 사용( 𝐩 𝑡−1 과 𝐩 𝑡 를 켤레라 부름). 그런데 식 (5.40)은 여전히 헤시언 행렬을 포함 켤레 그레이디언트 방법에서는 식 (5.41)로 대치하여 계산 𝐠 𝑡−1 과 𝐠 𝑡 는 그레이디언트로서, 그레이디언트를 이용하여 2차 미분 정보를 근사하는 셈
77
5.6.2 켤레 그레이디언트 방법 식 (5.42)와 식 (5.43)은 2차 함수를 가정하고 유도한 식임.
라인 6은 이 때문에 발생하는 오차를 보정하는 역할
78
5.6.3 유사 뉴턴 방법 유사 뉴턴 방법의 기본 아이디어 기계 학습에서 2차 미분 정보의 활용
헤시언 H의 역행렬을 근사하는 행렬 M을 사용 처음에 단위 행렬 I로 시작하여 그레이디언트 정보를 이용하여 점점 개선 LFGS가 많이 사용됨 기계 학습에서는 M을 저장하는 메모리를 적게 쓰는 L-BFGS를 주로 사용함 기계 학습에서 2차 미분 정보의 활용 현재 널리 활용되지는 않지만 연구 계속되고 있음
Similar presentations