볼록한 문제의 경우 SG (Stochastic Gradient Descent)의 그래디언트가 항상 전역 극단 값을 가리 킵니까?


25

볼록한 비용 함수가 주어지면 최적화를 위해 SGD를 사용하여 최적화 프로세스 중에 특정 지점에서 그라디언트 (벡터)를 갖게됩니다.

내 질문은 볼록한 점을 감안할 때 그라디언트가 함수가 가장 빠르게 증가 / 감소하는 방향만을 가리 키거나 그라디언트는 항상 비용 함수의 최적 / 극한 점을 가리 킵 니까?

전자는 지역 개념이고, 후자는 글로벌 개념입니다.

SGD는 결국 비용 함수의 극단적 인 가치로 수렴 될 수 있습니다. 볼록에 임의의 점이 주어진 그라디언트 방향과 전역 극단 값을 가리키는 방향의 차이에 대해 궁금합니다.

그래디언트의 방향은 해당 지점에서 함수가 가장 빠르게 증가 / 감소하는 방향이어야합니다.


6
산등성이에서 내리막 길을 똑바로 걸어 가서 다른 방향으로 내리막 길을 유지하는 계곡에서 자신을 찾으십시오 . 문제는 볼록한 지형으로 그러한 상황을 상상하는 것입니다. 융기 부분이 가장 가파른 칼날을 생각하십시오.
whuber

4
아니요. 구배 하강이 아닌 확률 구배 하강이기 때문입니다. SGD의 요점은 계산 효율성을 높이기 위해 일부 그라디언트 정보를 버리는 것입니다. 그러나 일부 그라디언트 정보를 버리는 경우 더 이상 원래 그라디언트의 방향을 가지지 않습니다. 이것은 이미 최적의 하강 방향으로 규칙적인 그라디언트 점의 문제를 무시하고 있지만, 규칙적인 그라디언트 하강이 그랬더라도 확률 적 그라디언트 하강을 기대할 이유가 없습니다 .
Chill2Macht

3
@ 타일러, 왜 확률 론적 하강 에 대한 질문입니까? 표준 그라디언트 디센트와 비교하여 어떻게 든 다른 것을 상상하십니까?
Sextus Empiricus

2
그래디언트와 벡터 사이의 각도가 최적의 각도가 π 보다 작다는 점에서 그래디언트는 항상 최적을 향합니다. , 그라디언트의 방향으로 걷는 것은 무한한 양이 최적에 가깝게 할 것이다. π2
Reinstate Monica

5
그래디언트가 글로벌 최소화 프로그램을 직접 가리키면 볼록 최적화가 매우 쉬워집니다. 1 차원 라인 검색만으로 글로벌 최소화 프로그램을 찾을 수 있기 때문입니다. 이것은 너무 희망적입니다.
littleO

답변:


36

그들은 이미지가 천 단어 이상의 가치가 있다고 말합니다. 다음 예 (아마추어 및 전문 통계 전문가를위한 편리한 도구 인 MS Paint 제공)에서는 볼록한 기능 표면과 가장 가파른 하강 방향이 방향과 최적 방향을 명확하게 다른 지점을 볼 수 있습니다.

가파른 하강 방향이 전체 최적 방향과 동일하지 않음을 나타내는 길쭉한 볼록 함수 및 화살표 이미지

참고 사항 :이 스레드에는 공감대를 가질만한 탁월한 답변이 있습니다.


27
그리고 오늘의 반례는 ... 아보카도입니다!
JDL

11
아보카도를 자르는 동안 씨앗과 부상 을 피하기 위해 가장 가파른 하강 방향으로 자르십시오 .
Jan Kukacka

28
  • 그라디언트 디센트 방법 은 표면 의 기울기 를 사용합니다 .
  • 이 것 없는 극단적 인 지점을 향해 직접적으로 반드시 (또는 가장 가능성이되지 않음) 점.

직관적 인 관점은 곡선 경로 인 하강 경로를 상상하는 것입니다. 예를 들어 아래 예를 참조하십시오.

비유로서 : 내가 당신을 눈가리개로 걷다가 극한 (낮은) 지점으로 되돌아가는 임무를 수행하여 산 어딘가에 있다고 상상해보십시오. 만있는 경우 언덕에서 지역 정보를, 당신은되어 있지 호수의 바닥이 될 것입니다 어느 방향 알고.

볼록성을 가정 할 수 있다면

  • 그렇다면 당신은 단 하나의 극단 점이 있다는 것을 알고 있습니다.
  • 그런 다음 아래쪽으로 이동하는 한 확실히 극한 지점에 도달 할 것임을 알고 있습니다.
  • 그리고 당신은 또한 가장 가파른 하강 방향과 최적 방향 사이의 각도π/2 가 주석에서 언급했듯이 솔로 모노 프의 비밀 이 항상 최대 π / 2 라는 것을 알고 있습니다.

볼록한

볼록 함이없는

  • 각도가 π/2 초과 할 수 있습니다 . 아래 이미지에서 최종 솔루션이 하강 방향에 수직 인 선 뒤에 있는 특정 지점에 대해 하강 방향의 화살표를 그려 강조합니다 .

    볼록한 문제에서는 불가능합니다. 문제가 볼록한 경우 모두 같은 방향으로 곡률을 갖는 비용 함수에 대한 등가 선과 관련 될 수 있습니다.

볼록하지 않은

확률 적 그라데이션 하강

  • 단일 지점에 대해 가장 가파른 방향을 따르고 다른 지점에 대해 반복적으로 단계를 수행합니다. 이 예에서 문제는 볼록하지만 이상의 솔루션 이있을 수 있습니다 . 이 예에서는 극단 값이 단일 점 대신 선상에 있으며이 특정 관점에서 가장 가파른 하강 방향이 "최적화"를 직접 가리킬 수 있다고 말할 있습니다. 특정 교육 샘플 포인트의

싱글 포인트

아래는 4 개의 데이터 포인트에 대한 또 다른보기입니다 . 4 개의 이미지 각각은 다른 단일 지점의 표면을 보여줍니다. 각 단계마다 그라디언트가 계산되는 다른 점이 선택됩니다. 이렇게하면 단계가 수행되는 방향이 4 개 뿐이지 만 솔루션에 가까워지면 단계 화가 줄어 듭니다.

확률 적 경사 하강



위 이미지는 함수에 의해 생성 된 4 개의 데이터 포인트에 대한 것입니다.

yi=e0.4xie0.8xi+ϵi

x = 0      2      4      6           
y = 0.006  0.249  0.153  0.098

결과 :

  • S(a,b)=i=1(yi(eaxiebxi))2
    S(a,b)=[i=12xieaxi(yieaxiebxi)i=12xiebxi(yieaxiebxi)]

  • S(a,b)=i=1(yi(ae0.4xibe0.8xi))2
    S(a,b)=[i=12e0.4xi(yiae0.4xibe0.8xi)i=12e0.8xi(yiae0.4xibe0.8xi)]

  • i

    S(a,b)=(yi(ae0.4bxibe0.8xi))2
    S(a,b)=[2e0.4xi(yiae0.4xibe0.8xi)2e0.8xi(yiae0.4xibe0.8xi)]
    abS=0


StackExchangeStrike에 의해 작성



17

목적 함수가 볼록한 경우에도 가장 가파른 하강은 비효율적 일 수 있습니다 .

평범한 경사 하강

함수가 강하게 볼록하거나 이차적 임에도 불구하고 가장 가파른 하강은 최적에서 멀어지게 진동하는 단계를 취할 수 있다는 의미에서 "비효율적"을 의미합니다.

f(x)=x12+25x22x=[0,0]

f(x)=[2x150x2]

α=0.035x(0)=[0.5,0.5],

x(1)=x(0)αf(x(0))

이것은 최소한으로 향한이 진동하는 진전을 보여줍니다.

여기에 이미지 설명을 입력하십시오

θ(x(i),x)(x(i),x(i+1))

여기에 이미지 설명을 입력하십시오

x2x12f(x)

최소 방향으로의 직접적인 경로는 수직 진동에 의해 지배되는 이러한 방식 대신 "대각선"으로 이동하는 것입니다. 그러나, 경사 하강은 국부적 가파른 정도에 대한 정보 만 가지고 있기 때문에 전략이 더 효율적일 것이라는 것을 "모르지 못하고", 다른 스케일에서 고유 값을 갖는 헤 시안의 미묘한 영향을 받는다.

확률 적 경사 하강

SGD는 업데이트시 노이즈가 발생한다는 점을 제외하고 동일한 속성을 갖습니다. 즉, 형상 표면이 반복마다 다르게 보이므로 그라디언트도 다릅니다. 이것은 그래디언트 단계의 방향과 최적 사이의 각도에도 노이즈가 있음을 의미합니다. 지터가있는 동일한 플롯을 상상해보십시오.

더 많은 정보 :


이 답변은이 예와 그림을 신경망 설계 (제 2 판) 9 장, Martin T. Hagan, Howard B. Demuth, Mark Hudson Beale, Orlando De Jesús가 작성했습니다.


13

국부적으로 가장 가파른 방향은 전체 최적 방향과 동일하지 않습니다. 그렇다면 기울기 방향이 바뀌지 않습니다. 항상 최적을 향하면 방향 벡터가 항상 최적을 가리 키기 때문입니다. 그러나 그렇지 않습니다. 그렇다면, 반복마다 그라디언트를 계산하는 것이 왜 귀찮습니까?


3

다른 답변은 GD / SGD에 대한 성가신 수렴 속도 문제를 강조하지만, "SGD는 결국 수렴 할 수 있습니다 ..."라는 의견이 항상 정확하지는 않습니다. "의지").

SGD로 반례를 찾는 좋은 방법은 모든 데이터 요소가 동일 할 경우 비용 함수가 결정적이라는 점을 알아 두는 것입니다. 하나의 데이터 포인트 매우 병적 인 예를 상상해보십시오.

(x0,y0)=(1,0)
α
f(x,α)=α2αx.

(f(x0,α)y0)2=α2α,
β
αn+1=αnβ(2αn1)=αn(2αn1)=1αn.
α=12p=12p1p

볼록성이 일반적인 SGD에 존재하는 더 나쁜 행동을 깨뜨리기에 충분한 지 확신 할 수 없지만, 비용 함수에 대해 큐브처럼 복잡한 기능을 허용하는 경우 SGD는 도메인의 밀도가 높은 서브 세트에서 튀어 나와서 어디에서나 수렴 할 수 없습니다 또는 모든 사이클에 접근하십시오.

±

전체 상황에서 흥미로운 점 중 하나는 임의의 볼록 함수를 입력으로 사용하고 항상 글로벌 최소값 (있는 경우)으로 빠르게 수렴하는 업데이트 규칙을 출력하는 SGD와 같은 수많은 함수가 존재한다는 것입니다. 개념적으로 많은 것들이 있지만 볼록 최적화에 대한 최선의 시도는 모두 병리학적인 반례를 가지고 있습니다. 어쨌든 단순 / 직관적 / 성능적인 업데이트 규칙에 대한 아이디어는 올바른 업데이트 규칙에 대한 아이디어와 상반됩니다.


1
β=1

1
SGD 수렴 증명은 감소하는 스텝 크기를 가정합니다.
Jan Kukacka

@MartijnWeterings 좋은 관찰. 내 예제가 실제로 올바른 방향을 가리키고 있다고 생각합니다. 올바른 방향을 가리키고 분기하지 않는 2D 예제로 업데이트해야합니까?
Hans Musgrave

β=1β>0βf(x,α)=α2αxβ.

fβ

2

이 질문에 대한 답변은 빠른 업데이트가 필요할 수 있습니다. 볼록하지 않은 경우에도 SGD가 세계 최소값을 산출하는 것처럼 보입니다 (볼록한 것은 특별한 경우입니다).

ICLR 2019에서 Star-Convex Path, Anonymous authors , Paper 를 통한 딥 러닝에서 SGD가 세계 최소 수준으로 수렴

https://openreview.net/pdf?id=BylIciRcYQ

저자는 신경망 훈련에서 일반적으로 발생하는 비 볼록 최적화 문제에 대해 SGD의 수렴을 전체 최소값으로 설정합니다. 이 주장은 다음 두 가지 중요한 특성을 이용합니다. 1) 훈련 손실은 거의 제로 값을 달성 할 수 있습니다. 2) SGD는 별 볼록한 경로를 따릅니다. 이러한 맥락에서, SGD는 오랫동안 무작위 알고리즘으로 간주되어 왔지만, 본 논문은 이것이 본질적으로 결정론적인 방식으로 전체적으로 최소 수준으로 수렴 함을 밝힌다.

이것은 소금 한 알과 함께 가져와야합니다. 논문은 아직 검토 중입니다.

별-볼록 경로의 개념은 그라디언트가 각 반복에서 가리키는 위치에 대한 힌트를 제공합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.