라인 검색을 수행 할 수없는 경우 적응 형 그라디언트 하강 단계 크기


9

목적 함수가 있습니다 E 가치에 의존 ϕ(x,t=1.0), 어디 ϕ(x,t)PDE에 대한 솔루션입니다. 최적화 중입니다EPDE 의 초기 상태 에서 구배 하강에 의한 것 :ϕ(x,t=0.0). 즉, 나는 업데이트ϕ(x,t=0.0)그런 다음 PDE를 통합하여 잔차를 계산해야합니다. 즉, 그래디언트 디센트 단계 크기에 대한 라인 검색을 수행하려면α)의 모든 잠재 가치에 대해 α PDE를 다시 통합해야했습니다.

제 경우에는 엄청나게 비쌀 것입니다. 적응 적 경사 하강 단계 크기에 대한 다른 옵션이 있습니까?

나는 여기서 수학적으로 원리 화 된 계획을 찾고있을뿐만 아니라 (물론 존재하는 경우 더 낫지 만) 일반적으로 정적 단계 크기보다 나은 것에 만족할 것입니다.

감사!


필자는 PDE를 통합하는 방식을 수정하고 싶지 않다고 생각합니다. 또한 PDE가 까다로운 것은 아닙니다. 매우 높은 수치 정확도가 필요하기 때문에 시공간에서 매우 밀도가 높은 그리드에서 PDE를 해결해야하기 때문입니다.
NLi10Me

반면에, BB 방법 (내가 익숙하지 않은)은 꽤 좋아 보인다. 이전 반복의 상태와 그라디언트를 추적하고 2 차 근사치를 얻습니다. 매우 훌륭해 보입니다. 그러나 파생은 볼록 이차를 가정하며 내 문제는 거의 확실하지 않습니다. 그러나 나는 또한 전 세계 최소보다 지역을 찾고 행복합니다. BB가 매우 높은 차원의 문제에서 얼마나 잘 수행했는지 알고 있습니까?
NLi10Me

로컬 최소값에 대한 의미는 로컬 최소값 근처에서 거의 2 차 함수가 아닌 것입니다. 내 초기 상태라고 생각합니다ϕ(0)(x,t=0.0)많은 경우 정적 단계 크기로도 부드러운 수렴을 얻으므로 최소에 충분히 가깝습니다. 따라서 차원이 매우 높지만 일반적으로 전체 검색 공간을 고려할 때 문제가 볼록하지 않거나 이차적이지 않다면 BB가 여전히 행 검색없이 좋은 선택이 될 수 있습니까?
NLi10Me

다른 "성분" E 실험적인 이미지 데이터입니다. ϕ(x,t=1.0)한 이미지를 다른 이미지와 "일치"시키도록 왜곡하려고 시도합니다 (복셀에 통합 된 L2 규범과 같은 일부 일치하는 기능으로 측정). 일부 이미지 쌍의 경우 정적 단계 크기 (현재 선택한)와 부드러운 수렴을 얻습니다. 다른 이미지 쌍의 경우 진동이 많이 발생합니다. 시스템은 완전히 자동화되어야하므로 번거로운 이미지 쌍의 단계 크기로 돌아가서 수동으로 편집 할 수 없습니다.
NLi10Me

그라디언트를 얻으려면 인접 시스템을 해결해야합니다 (나스 티어 시스템이며 더 오래 걸립니다). 좋아, 나는 역 추적 라인 검색으로 BB를 시도 할 것이라고 생각한다. 주셔서 감사합니다 매우 조언 훨씬; 내 고문은 종종 파악하기가 어려우며 많은 사람들이 모델만큼 구현에 관심이 없습니다. 수치 방법이 모델이 처음에 좋은지 아닌지를 보여주는 데 중요한 요소라는 것을 알았습니다. 그래서 다시 한 번 감사드립니다.
NLi10Me

답변:


15

나는 일반적인 말로 시작할 것입니다 : 1 차 정보 (즉, 경사를 인코딩하는 그라디언트 만 사용)는 방향 정보 만 제공 할 수 있습니다 : 함수 값이 검색 방향으로 감소하지만 얼마나 오래 지속되는지는 알 수 없습니다 . 검색 방향을 따라가는 거리를 결정하려면 추가 정보 가 필요 합니다 (볼록 이차 문제에서도 일정한 스텝 길이의 그라데이션 하강은 실패 할 수 있음). 이를 위해 기본적으로 두 가지 선택이 있습니다.

  1. 예를 들어 그라데이션 하강 대신 Newton의 방법을 사용하여 (곡률을 인코딩하는) 2 차 정보를 사용 하십시오 (항상 단계 길이를 사용할 수 있음)1 최소화기에 충분히 가깝습니다).
  2. 시행 착오 (물론 Armijo와 같은 적절한 라인 검색을 사용하는 것을 의미합니다 ).

글을 쓸 때 2 차 미분에 접근 할 수없고 obejctive 함수를 평가하는 것이 매우 비싸다면, 당신의 유일한 희망은 타협하는 것입니다. 검색 만 필요 O(1) 평가 (즉, 기울기를 평가하는 데 필요한 노력의 최대 (작은) 상수 배수).

한 가지 가능성은 Barzilai--Borwein 단계 길이 를 사용하는 것입니다 (예 : Fletcher : Barzilai-Borwein 방법 참조 . 응용 프로그램을 사용한 최적화 및 제어, 235–256, Appl. Optim., 96, Springer, New York, 2005 ). 아이디어는 탐색 방향을 따라 곡률의 유한 차분 근사를 사용하여 단계 크기의 추정치를 얻는 것입니다. 구체적으로,α0>0 임의의 세트 g0:=f(x0) 그리고 k=0,...:

  1. 세트 sk=αk1gkxk+1=xk+sk
  2. 평가 gk+1=f(xk+1) 그리고 설정 yk=gk+1gk
  3. 세트 αk+1=(yk)Tyk(yk)Tsk

이 선택은 2 차 함수에 대해 (실제로 매우 빠르게) 수렴하는 것으로 표시 될 수 있지만 수렴은 모노톤 이 아닙니다 (예 : 함수 값).f(xk+1) 보다 클 수있다 f(xk)그러나 단 한 번만; Fletcher 논문에서 10 페이지의 도표를 참조하십시오. 2 차 함수가 아닌 경우에는이를 라인 검색과 결합해야하며, 이는 비단 조성을 처리하기 위해 수정해야합니다. 하나의 가능성은 선택하는 것입니다σk(0,αk1) (예 : 역 추적)

f(xkσkgk)maxmax(kM,1)jkf(xj)γσk(gk)Tgk,
어디 γ(0,1) 일반적인 Armijo 매개 변수이며 M 단조의 정도를 제어합니다 (예 : M=10). 함수 값 대신 그라디언트 값을 사용하는 변형도 있지만 귀하의 경우 그라디언트가 함수보다 평가하는 데 훨씬 비싸므로 여기에서는 의미가 없습니다. (참고 : 물론 BB 스텝 길이를 맹목적으로 받아들이고 행운을 믿으려고 시도 할 수 있지만 의견에 적었을 때 견고성이 필요하다면 정말 나쁜 생각입니다.)

대안 (그리고 내 의견으로는 훨씬 더 나은) 접근법은 탐색 방향을 계산할 때 이미이 유한 차분 근사를 사용하는 것입니다. 이를 준 뉴턴 방법 이라고합니다 . 아이디어는 점진적으로 Hessian의 근사치를 작성하는 것입니다.2f(xk)그라디언트의 차이를 사용하여. 예를 들어H0=Id (정체성 매트릭스) k=0, 풀다

(1)Hksk=gk,
그리고 설정
Hk+1=Hk+(ykHksk)T(sk)T(sk)Tsk
yk 위와 같이 xk+1=xk+sk. (이를 Broyden 업데이트 라고 하며 실제로는 거의 사용되지 않습니다. 더 낫지 만 약간 더 복잡한 업데이트는 BFGS 업데이트입니다 . 자세한 내용은 Nocedal and Wright의 저서 Numerical Optimization을 참조하십시오 .) ) 이것은 각 단계에서 선형 시스템을 해결해야하지만 (귀하의 경우 초기 조건 인 알 수없는 크기의 크기이므로 그래디언트를 얻기 위해 PDE를 해결하여 노력을 지배해야합니다. 또한 업데이트 규칙이 있습니다. 역행 Hessian의 근사치 : 단일 행렬-벡터 곱만 계산하면됩니다.) b) 수렴을 보장하기 위해 여전히 라인 검색이 필요합니다.

운 좋게도 이러한 맥락에서 모든 기능 평가를 사용하는 대체 방법이 있습니다. 아이디어는Hk 대칭 및 양의 정한 (BFGS 업데이트에서 보장됨), 해결 (1) 이차 모형을 최소화하는 것과 같습니다

qk(s)=12sTHks+sTgk.
A의 신뢰 영역 방법 , 당신은 추가 제약 그것과 그렇게 할 것sΔk, 어디 Δk 적절하게 선택된 신뢰 영역 반경 (단계 길이의 역할을 함) σk). 핵심 아이디어는 이제 계산 된 단계에 따라이 반경을 적응 적으로 선택하는 것입니다. 구체적으로, 당신은 비율을 보면
ρk:=f(xk)f(xk+sk)f(xk)qk(sk)
함수 값의 실제 및 예측 된 감소. 만약ρk 아주 작고 모델이 나빴고 버렸습니다 sk 그리고 다시 시도하십시오 Δk+1<Δk. 만약ρk ~에 가깝다 1, 모델이 양호하고 설정했습니다. xk+1=xk+sk 그리고 증가 Δk+1>Δk. 그렇지 않으면 당신은 방금 설정xk+1=xk+sk 그리고 떠나 Δk혼자. 실제 최소화기를 계산하려면skminsΔkqk(s)완전한 제한 최적화 문제를 해결하지 않아도되는 몇 가지 전략이있다. 내가 가장 좋아하는 것은 Steihaug의 잘린 CG 방법 입니다. 자세한 내용은 다시 Nocedal and Wright를 참조하십시오.

나는 지금 이것을 다시보고 있고, 나는 질문이 있다는 것을 깨닫는다. BB 방법에 대한 3 단계에서αk+1=(yk)Tyk(yk)Tsk; 어디yk=gk+1gksk=αk1gk. 식에서 분자와 분모αk+1내부 제품처럼 보입니다. 나의 경우에는,gkV, 어디 V 사소한 Riemannian 메트릭이있는 벡터 공간 : K. gk,gkV=gk,KgkL2. 그 정의에 영향을 줍니까αk+1?
NLi10Me

그렇습니다. 사소한 벡터 공간 구조가 있다면 알고리즘에서이를 존중해야합니다. 특히 동일한 공간에서 두 기능의 내부 제품을 구별해야합니다 (예 :ykyk) 및 공간 기능과 이중 공간 기능 사이의 이중성 제품 (예 : skyk)-후자의 경우 먼저 내부 제품으로 변환하려면 Riesz 매핑을 포함해야합니다. (이것은 전제 조건으로 해석 될 수 있습니다.)
Christian Clason

Clason 박사, 나는 이소 형 이미지 등록 작업을 위해 BB + 라인 검색 방법을 사용하여 수행 한 몇 가지 실험에 대해 자세히 설명하는 논문을 ISBI 2017에 제출할 것입니다. 원고의 저자로 포함 하시겠습니까? 아직 작성하지는 않았지만 대부분의 실험이 완료되었거나 진행 중입니다. 알려주세요.
NLi10Me

@ NLi10Me 친절한 제안에 감사하지만, 공동 저작을 할만한 가치가있는 일은하지 않았습니다. 제가 쓴 모든 것은 표준 교과서 자료입니다. 당신이 그것에 대해 강하게 느끼면, "(도움이 무엇이든간에)에 대한 도움이되는 말"에 대해 감사 할 수 있지만, 그것이 필요한 것은 아닙니다. 내가 쓴 것이 도움이되었다는 것을 아는 것으로 충분합니다!
Christian Clason

1
죄송합니다. 맞습니다. 오타입니다. (아르미 호 조건은 종종f(x+σs)f(x)γf(x)T(σs), 어디 s 음의 기울기가 아니라 검색 방향입니다. σ무슨 일이 일어나고 있는지 명확를해야 단계 크기).
기독교 Clason
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.