유한메모리 BFGS
Limited-memory BFGS유한메모리 BFGS(Limited Memory BFGS, L-BFGS 또는 LM-BFGS)는 유사 뉴턴 방법군의 최적화 알고리즘으로 브로이든-에 근접한 것이다.Fletcher-Goldfarb-Shanno 알고리즘(BFGS)은 제한된 양의 컴퓨터 메모리를 사용한다.기계학습에서 매개 변수 추정을 위한 인기 알고리즘이다.[1][2]알고리즘의 대상 문제는 x{\ {\displaystyle 의 제한되지 않은 값에 대해 ) displaystyle f}을를) 최소화하는 것이다. 여기서 은 서로 다른 스칼라 함수다.
Like the original BFGS, L-BFGS uses an estimate of the inverse Hessian matrix to steer its search through variable space, but where BFGS stores a dense approximation to the inverse Hessian (n being the number of variables in the problem), L-BFGS stores only a few vectors that represent the approximation impli특히 L-BFGS 방법은 선형 메모리 요구 사항으로 인해 변수가 많은 최적화 문제에 적합하다.Hessian H 역 대신에k L-BFGS는 위치 x와 구배 gradientf(x)의 과거 m 업데이트의 기록을 유지하며, 여기서 일반적으로 m의 히스토리 크기는 작을 수 있다( m m}이러한 업데이트는 H-벡터k 제품이 필요한 작업을 암묵적으로 수행하는 데 사용된다.
알고리즘.
알고리즘은 최적값의 초기 인 0{\에서 시작하여 더 나은 , x ,… x로 그 추정치를 반복적으로 세분화한다 : ) 는 알고리즘의 핵심 드라이버로 사용되며, 가장 가파른 하강 방향을 식별하고, ){\ f의 헤시안 행렬(두 번째 파생)의 추정치를 형성하기도 한다
L-BFGS shares many features with other quasi-Newton algorithms, but is very different in how the matrix-vector multiplication is carried out, where is the approximate Newton's direction, is the current gradient, 그리고 는 헤시안 행렬의 역행이다.이 방향 벡터를 형성하기 위해 업데이트 이력을 사용하는 여러 가지 게시된 접근방식이 있다.여기서 우리는 공통적인 접근법, 이른바 "두 개의 루프 재귀"[3][4]를 제시한다.
x k-th 반복의 위치 및 g ( k) 를 취하며, 여기서 는 최소화되고 있는 함수로서 모든 벡터가 컬럼 벡터다.또한 양식의 마지막 m 업데이트를 저장했다고 가정한다.
- = + -
= k s k{\{1}{k}^{k을 정의하고, 0{\은(으)의 역행으로 시작하는 헤시안 근사량이 될 것이다.
알고리즘은 다음과 같이 헤시안 역의 BFGS 재귀에 기초한다.
For a fixed k we define a sequence of vectors as and .그런 다음 + 에서 i {\ q_{i를 계산하기 위한 재귀 알고리즘은 i i s i+ and . We also define another sequence of vectors as . k - m= k - m 를 정의하는 또 다른 벡터 계산 알고리즘이 있다을(를) 재귀적으로 정의한 후 := i z i += +( - i ) k{\의 값이 우리의 상승 방향이다.
따라서 다음과 같이 하강 방향을 계산할 수 있다.
이 공식은 =- k k }g_{k와 같이 최소화 문제에 대한 검색 방향을 제시한다초기 헤시안 H 의 반비례 행렬은 수치적으로 효율적이므로 대각 행렬 또는 ID 행렬의 배수로 선택된다.
초기 매트릭스 스케일링 }}은(는) 검색 방향이 잘 스케일링되도록 보장하므로 대부분의 반복에서 단위 스텝 길이가 허용된다.Wolfe 라인 검색은 곡률 조건이 충족되고 BFGS 업데이트가 안정적인지 확인하기 위해 사용된다.일부 소프트웨어 구현에서는 라인 을 사용하지만, 이 조건을 충족하기 위해 k 곡률 조건의 을 선택한 단계별로 보장할 수는 없다는 점에 유의하십시오. 구현에서는 y }}}{k이(가) 음수이거나 0에 너무 가까울 때 BFGS 업데이트를 건너뛰어 이를 해결하지만, Hessian 근사치 k 를 캡처할 수 없도록 업데이트를 너무 자주 건너뛸 수 있으므로 일반적으로 권장되지 않는다.소변 정보
이 두 개의 루프 업데이트는 역 헤시안에만 적용된다.Hesian B 에 직접 근사치를 사용한 L-BFGS 구현 접근법도 개발되었다.[5] Hesian의 역행렬 B_{k}.
적용들
L-BFGS는 }} -정규화로 로그-선형(MaxEnt) 모델과 조건부 무작위 필드를 적합시키기 위해 "선택의 알고리즘"으로 불려왔다.[1][2]
변형
BFGS(따라서 L-BFGS)는 제약 없이 부드러운 기능을 최소화하도록 설계되었으므로 L-BFGS 알고리즘을 수정하여 차별화 불가능한 구성요소나 제약조건을 포함하는 기능을 다루어야 한다.일반적으로 사용되는 수정 클래스를 활성 집합의 개념에 기초하여 활성 집합 방법이라고 한다.현재의 반복의 작은 동네로 제한했을 때 기능과 제약이 단순화될 수 있다는 생각이다.
L-BFGS-B
L-BFGS-B 알고리즘은 변수에 대한 단순한 상자 제약 조건(일명 바운드 제약 조건)을 처리하도록 L-BFGS를 확장한다. 즉, l과iii u가ii 각각 변수 당 상수 하한과 상한인 경우(각i x에 대해, 또는 둘 다 생략할 수 있다).[6][7]매 단계(단순 구배법을 사용하여)마다 고정변수와 자유변수를 식별한 다음 자유변수에 대한 L-BFGS 방법을 사용하여 정확도를 높인 다음 과정을 반복하는 방식으로 작동한다.
올빼미-QN
Orthant-wise 제한 메모리 준뉴턴(OWL-QN)은 } 정규화된 모델을 장착하기 위한 L-BFGS 변형으로, 이러한 모델의 내재된 첨탑성을 활용한다.[2]폼의 기능을 최소화한다.
여기서 은(는) 다른 볼록 손실 기능이다.이 방법은 활성 집합형 방법이다. 각 반복마다 변수의 각 성분의 부호를 추정하며, 후속 단계를 동일한 부호를 가지도록 제한한다.기호가 고정되면 인 x→ 항은 L-BFGS가 처리할 수 있는 부드러운 선형 용어가 된다.L-BFGS 단계 후 이 방법을 사용하면 일부 변수가 부호를 변경하고 프로세스를 반복할 수 있다.
O-LBFGS
Schraudolph 등은 BFGS와 L-BFGS에 대한 온라인 근사치를 제시한다.[8]확률적 구배 강하와 유사하게, 이것은 각 반복에서 전체 데이터 집합의 임의로 그려진 부분 집합에서 오류 기능과 구배를 평가함으로써 계산 복잡성을 줄이는 데 사용될 수 있다.O-LBFGS는 거의 확실한 글로벌 컨버전스를 가지고 있는 반면, BFGS(O-BFGS)의 온라인 근사치가 반드시 컨버전스를 이루고 있는 것은 아닌 것으로 나타났다.[10]
변형 구현
L-BFGS-B 변종도 ACM TOMS 알고리즘 778로 존재한다.[7][11]2011년 2월, 원본 L-BFGS-B 코드의 작성자 중 일부가 주요 업데이트(버전 3.0)를 게시했다.
참조 구현은 Fortran 77(Fortran 90 인터페이스 포함)에서 이용할 수 있다.[12][13]이 버전뿐만 아니라 이전 버전도 많은 다른 언어로 변환되었다.
OWL-QN 구현은 설계자에 의한 C++ 구현으로 이용할 수 있다.[2][14]
인용된 작품
- ^ a b Malouf, Robert (2002). "A comparison of algorithms for maximum entropy parameter estimation". Proceedings of the Sixth Conference on Natural Language Learning (CoNLL-2002). pp. 49–55. doi:10.3115/1118853.1118871.
- ^ a b c d Andrew, Galen; Gao, Jianfeng (2007). "Scalable training of L₁-regularized log-linear models". Proceedings of the 24th International Conference on Machine Learning. doi:10.1145/1273496.1273501. ISBN 9781595937933. S2CID 5853259.
- ^ Matthies, H.; Strang, G. (1979). "The solution of non linear finite element equations". International Journal for Numerical Methods in Engineering. 14 (11): 1613–1626. Bibcode:1979IJNME..14.1613M. doi:10.1002/nme.1620141104.
- ^ Nocedal, J. (1980). "Updating Quasi-Newton Matrices with Limited Storage". Mathematics of Computation. 35 (151): 773–782. doi:10.1090/S0025-5718-1980-0572855-7.
- ^ Byrd, R. H.; Nocedal, J.; Schnabel, R. B. (1994). "Representations of Quasi-Newton Matrices and their use in Limited Memory Methods". Mathematical Programming. 63 (4): 129–156. doi:10.1007/BF01582063. S2CID 5581219.
- ^ Byrd, R. H.; Lu, P.; Nocedal, J.; Zhu, C. (1995). "A Limited Memory Algorithm for Bound Constrained Optimization". SIAM J. Sci. Comput. 16 (5): 1190–1208. doi:10.1137/0916069.
- ^ a b Zhu, C.; Byrd, Richard H.; Lu, Peihuang; Nocedal, Jorge (1997). "L-BFGS-B: Algorithm 778: L-BFGS-B, FORTRAN routines for large scale bound constrained optimization". ACM Transactions on Mathematical Software. 23 (4): 550–560. doi:10.1145/279232.279236. S2CID 207228122.
- ^ Schraudolph, N.; Yu, J.; Günter, S. (2007). A stochastic quasi-Newton method for online convex optimization. AISTATS.
- ^ Mokhtari, A.; Ribeiro, A. (2015). "Global convergence of online limited memory BFGS" (PDF). Journal of Machine Learning Research. 16: 3151–3181. arXiv:1409.2045.
- ^ Mokhtari, A.; Ribeiro, A. (2014). "RES: Regularized Stochastic BFGS Algorithm". IEEE Transactions on Signal Processing. 62 (23): 6089–6104. arXiv:1401.7625. Bibcode:2014ITSP...62.6089M. CiteSeerX 10.1.1.756.3003. doi:10.1109/TSP.2014.2357775. S2CID 15214938.
- ^ "TOMS Home". toms.acm.org.
- ^ Morales, J. L.; Nocedal, J. (2011). "Remark on "algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound constrained optimization"". ACM Transactions on Mathematical Software. 38: 1–4. doi:10.1145/2049662.2049669. S2CID 16742561.
- ^ "L-BFGS-B Nonlinear Optimization Code". users.iems.northwestern.edu.
- ^ "Orthant-Wise Limited-memory Quasi-Newton Optimizer for L1-regularized Objectives". Microsoft Download Center.
추가 읽기
- Liu, D. C.; Nocedal, J. (1989). "On the Limited Memory Method for Large Scale Optimization". Mathematical Programming B. 45 (3): 503–528. CiteSeerX 10.1.1.110.6443. doi:10.1007/BF01589116. S2CID 5681609.
- Haghighi, Aria (2 Dec 2014). "Numerical Optimization: Understanding L-BFGS".
- Pytlak, Radoslaw (2009). "Limited Memory Quasi-Newton Algorithms". Conjugate Gradient Algorithms in Nonconvex Optimization. Springer. pp. 159–190. ISBN 978-3-540-85633-7.