프레임 워크는 SGD / AdaGrad / 아담의 유사점과 차이점 최적화를 이해하는

아담 너무 좋아, 왜 SGD에 대한 집착 (1) - 프레임 워크 이해 최적화 알고리즘

 

기계 학습 연금술 교사의 그룹은 그들의 일상이다 :

 

가져 허브 (데이터), 다음 구운 불멸을 기다리고 야자수 잎 팬을 흔들며, 가십로 (모델), 리우 웨이 정말 화재 (최적화) 조명을 설정합니다.

 

오버 요리사가 알고있는 때, 같은 음식, 같은 요리법,하지만 열은 동일하지 않습니다,하지만 맛은 밖으로 매우 다양합니다. 작은 화재가 반 반 붙여 넣기 화재 요철 잘 붙여 쉽게 할, 요리.

 

기계 학습은 동일 모델의 최적화 알고리즘을 직접 최종 모델의 성능과 관련이 선택합니다. 때로는 효과가 반드시 문제 또는 특성 모델 설계를 발행, 좋지 않아, 가능한 최적화 알고리즘이다.

 

최적화 알고리즘의 말하기, 엔트리 레벨은 SGD에서 배울 것, 오래된 드라이버 AdaGrad / AdaDelta, 아니 뇌 직접 아담과 더 나은 있다는 것을 당신에게 말할 것이다. 그러나 최근의 학술 논문을보고, 하나님의 큰 회중이 여전히 엔트리 레벨 SGD를 사용 아담에 대해도 종종 순간 또는 네 스테 로프에 어두운까지 추가 발견. 예를 들어, UC 버클리는 결론에 종이에 쓴 :

 

우리의 실험적인 증거가 적응 방법은 기계 학습에 유리하지 않은 것을 증명한다는 사실에도 불구하고, 아담 알고리즘은 매우 인기가 남아있다. 우리는 정확히 이유에 대해 확실하지 않은 ......

 

좌절과 괴로움은 만져서 알 수 있었다.

 

이유는 무엇입니까? 흥미로운 것은 사실입니다합니까?


프레임 워크의 최적화 알고리즘의 검토

 

먼저 우리가 최적화 알고리즘의 여러 유형을 살펴 보자.

 

> SGDM - -> NAG -> AdaGrad -> AdaDelta -> 아담 -> 개발 등 Nadam 깊이 학습 최적화 알고리즘은 SGD을 겪고있다. 구글은 이러한 알고리즘을 단계별로 진화하는 방법을 방법에 기사, 구체적으로 당신에게 많이 볼 수있는. 여기, 우리는 최적화 알고리즘을 모두 분류하는 프레임 워크로, 생각을 변경할 더 원시의 비교를.

 

우선 정의 파라미터를 최적화 할 :  [공식] 대물 기능 :  [공식] 초기 학습 속도  [공식].

그런 다음, 반복 최적화를 시작합니다. 각 에포크에서  [공식] :

  1. 목적 함수의 구배 현재 파라미터 계산된다 : [공식]
  2. 기록 구배 일차 운동량의 2 차 모멘트를 계산하는 단계 : [공식],
  3. 현재 시간 하강 기울기를 계산 : [공식]
  4. 업데이트 된 하강 기울기 : [공식]

이 프레임 워크를 마스터, 당신은 쉽게 자신의 최적화 알고리즘을 디자인 할 수 있습니다.

 

우리는 신비한 정체 불확실한 최적화 알고리즘의 다양한 사진에 따르면,이 프레임 워크를 들고 있습니다. 각 알고리즘의 단계 3 및 4는 동일하며, 주된 차이점은도 1 및도 2에 반영된다.

 

SGD

SGD에서 첫 모습. SGD 모멘텀의 개념, 즉 없습니다 :

[공식]

단계 3을 대입하면, 하강 기울기가 가장 간단 참조

[공식]

하락의 가장 큰 단점의 SGD 속도가 느리고 로컬 최적에 갇혀 협곡의 양쪽에 휘발성 남아있을 가능성이 높습니다.

 

기세와 SGD

SGD 충격을 억제하기 위해, SGDM는 기울기 하강 프로세스가 관성에 가입 할 수 있습니다 생각합니다. 가파른 것으로 확인하면 다운 힐은 다음 빠른 실행 관성을 사용합니다. SGDM 모멘텀, SGD에 기초하여 첫 번째 순서의 도입에 모멘텀 SGD를 의미합니다 :

[공식]

모멘텀 지수 매번 평균 경사 이동 방향 일차이고, 최근 대략 동일한  [공식] 기울기 벡터 및 시간의 평균값.

 

즉, 시간 t에서의 방향을 낮추는 것이 아니라 현재의 기울기 방향의 포인트에 의해 결정되며, 이전의 방향으로 누적 감소에 의해 결정된다. [공식] 누적 이전 디센트 방향의 주 방향으로 감소하고, 현재의 시간 방향으로 약간 감소하는 경향이 있다는 것을 의미 0.9 경험 값. 약간 앞으로 고속에서 바이어스 고속도로,하지만 사고에 날카로운 차례에 차를 돌려 상상해보십시오.

 

네 스테 로프 가속와 SGD

SGD 또 다른 문제는 협곡 내부 로컬 최적의 충격에 갇혀있다. 당신이 약간 높은 언덕으로 둘러싸인 분지에 갔다 상상해, 당신은 내리막 방향을 느끼지 않는다, 그것은 단지 여기에있을 것입니다. 당신이 높은 곳을 오르는 경우에, 당신은 외부 세계는 여전히 매우 넓다 찾을 수 있습니다. 따라서, 우리는 미래의 방향을 관찰하기 위해 현재의 위치에있을 수없고, 더 찾을 조금 더를보고, 앞으로 단계.

 

NAG 전체 스테 로프 구배 가속, SGD에 추가의 개선이며, 그 공정 1에서의 개선에 대한 SGD-M. 우리는 시간 t의 방향의 주요 하락은 누적 모멘텀에 의해 결정된다는 것을 알고, 자신의 기울기 방향은 현재의 경사 방향이, 마치 누적 모멘텀을보고 있는지, 너무하지 말라고 그 시간을 다시 얻는 방법, 수행하는 단계를 거쳤던 . 따라서, NAG는 1 그라데이션 단계의 방향의 현재 위치를 계산하지만, 그 시간에 상하 방향을 고려하는 단계를 누적 운동량 계산한다면있어서 여부 :

[공식]

이어서 운동량 축적 이력과 함께 경사 방향의 다음의 포인트는, 운동량 2 단계 산출 금회 축적.

 

AdaGrad

이전에, 우리는 2 차 모멘텀을 사용하지 않았다. 2 차 모멘텀의 출현은, "적응 학습 속도"시대의 최적화 알고리즘을 의미한다. SGD와 각 매개 변수 만 신경 네트워크의 깊이가 종종 항상 가져 오는 데 사용되지 않는 매개 변수의 큰 숫자를 포함 동일한 학습 속도 업데이트에서의 변종 (대량 삽입을 생각한다). 자주 업데이트되는 파라미터를 들어, 우리는 하나의 샘플 내가 느린 속도를 배울 수 있도록 노력하겠습니다 많은 영향을 미칠 싶지 않아, 그것에 대해 많은 지식을 축적, 가끔 업데이트에 대한 매개 변수, 우리는 너무 적은 정보를 알고,이 모든 기회가 될 것입니다 그 큰 학습 속도의 일부 내용은 나타나있는 샘플.

 

어떻게의 역사를 측정하는 주파수를 업데이트? 즉, 2 차 모멘텀입니다 - 치수, 날짜 기울기 값과 모든 사각형 :

[공식]

우리가 하강 기울기의 3 단계를 기억하자

[공식]

볼 수 있듯이, 이번에는 상당한 학습 속도  [공식] 가된다  [공식] . 일반 분모를 방지하기 위해이 0이고, 그것은 분모에 작은 평활 용어를 추가합니다. 그래서 [공식] Hengda의 0, 더 자주 파라미터 업데이트, 2 차의 큰 모멘텀, 작은 학습 속도.

 

이 방법에서 스파 스 데이터 시나리오는 매우 잘했다. 그러나 몇 가지 문제가 있습니다 :로 [공식] 증가 단조하다, 학습 속도가 일정하게 0으로 감소 할 것입니다 훈련 과정을 추적 데이터가 필요한 지식을 습득 할 수있는 경우에도 조기에 종료 할 수 있습니다.

 

AdaDelta / RMSProp

 

AdaGrad 단조 너무 급진적 인 학습 속도의 변화를 감소하기 때문에, 우리는 2 차 변화 전략 모멘텀 계산 방법을 고려 : 모든 축적 된 역사 그라데이션, 시간 창 기간 동안 그라데이션 떨어지는 것에 만 관심을. 이 AdaDelta 이름 델타 기원합니다.

 

아이디어는 수정하기가 매우 간단합니다. 앞서 우리는 지난 기간 지수 이동 평균의 평균에 대해, 이야기, 그래서 우리는 2 차의 누적 운동량을 계산하기 위해이 방법을 사용 :

[공식]

이는 2 차 모멘텀을 앞두고 훈련 과정의 마지막의 문제로 이어지는 축적을 계속 방지 할 수 있습니다.

 

아담

 

이 시점에서, 아담과 Nadam 매우 자연스럽게 나타납니다 - 그들은 상기 방법의 마스터입니다. 우리는 SGD-M은 1 차 SGD 기준에 탄력을 증가 참조 AdaGrad 및 AdaDelta은 SGD 2 차 기준에 모멘텀 증가했다. 1 차 및 2 차 동력의 기세가 사용되고, 아담은 --Adaptive + 모멘텀이다.

 

SGD 첫 수주 모멘텀 :

[공식]

게다가 2 차 AdaDelta 모멘텀 :

[공식]

 

두 수퍼 파라미터 가장 일반적인 최적화 알고리즘은  [공식] , 모두 여기에 2 차 동력을 제어하는 전자 일차 운동량 제어이었다.

 

기대

 

마지막으로 Nadam. 우리는 아담이 마스터라고 말하지만, 실제로는도 할 수있다, 네 스테 로프를 놓친? NAG 1의 절차에 따라 추가 할 필요가있다 :

[공식]

이 네 스테 로프 + 아담 = Nadam의 업입니다.

 

J는 종종 아담 / Nadam 가장 주류, 최적화 알고리즘을 최대한 활용했다되었습니다 여기 왜, 당신은 아마 이해할 수있다. 초보자는 제 효과가 떨어진다 활용하는 시도 수렴 속도 바람 방울을 가져왔다.

 

왜 아담 또한 학계 식사에 의해 멸시 세 흑인 남자를 모집? 그것은 그냥 물을 종이를 보낼 수 있습니까?

 

읽기 :

아담 너무 좋아, 왜 SGD에 대한 집착 (2) -이 아담의 죄

최적화 알고리즘 선택 및 사용 정책 - 아담 너무 좋아, 왜 (3)을 결코 잊지 않을 SGD에

 

--------------------

주 : 지수 이동 평균 편차 보정

 

앞서 먼저 차 운동량의 2 차 모멘트가 지수 이동 평균에 의해 계산된다 언급 :

[공식]

[공식]

프로세스의 실제 사용은 매개 변수의 경험 값은

[공식]

초기화 :

[공식]

우리가 초기에, 볼이 시간  [공식] 제로에 가까운 것,이 추정치는 문제가있다. 따라서 우리는 종종 다음 식에 따라 에러 정정 :

[공식]

[공식]

 

--------------------

선 그를 가르치는 것처럼, 소박한 추한 단어를 아무 것도 배우고, 선물 말을 찾습니다.

나는 마이크로 채널 공용 수 줄리어스-AI에 관심을 환영합니다

추천

출처www.cnblogs.com/jfdwd/p/11129149.html