비용 함수 평가가 느린 경우 최적화


59

그라디언트 디센트 및 기타 여러 방법은 비용 함수에서 국소 최소값을 찾는 데 유용합니다. 수치 적이든 분석적 으로든 각 시점에서 비용 함수를 신속하게 평가할 수있을 때 효율적입니다.

이상한 상황 인 것 같습니다. 내 비용 함수의 각 평가는 비싸다. 지상 진실 표면에 대해 3D 표면을 최소화하는 일련의 매개 변수를 찾으려고합니다. 매개 변수를 변경할 때마다 전체 샘플 코호트에 대해 알고리즘을 실행하여 효과를 측정해야합니다. 그래디언트를 계산하려면 15 개의 매개 변수를 모두 독립적으로 변경해야합니다. 즉, 모든 표면을 재생성하고 그래디언트 당 너무 많은 시간을 샘플 코호트 방식과 비교해야하며 최적화 과정에서 너무 많은 시간을 거쳐야합니다.

이 문제를 피할 수있는 방법을 개발하여 현재 평가하고 있지만, 고가의 비용 함수 평가에 관한 문헌에서 많이 발견하지 못한 것에 놀랐습니다. 이것은 내가 문제를보다 어렵게 만들고 있는지, 이미 더 나은 방법이 있는지 궁금합니다.

그래서 내 질문은 기본적으로 이것입니다 : 평가가 느린 경우 비용 함수를 볼록하거나 최적화하지 않는 방법을 아는 사람이 있습니까? 아니면 알고리즘을 다시 실행하고 샘플 코호트와 여러 번 비교하여 처음부터 어리석은 일을하고 있습니까?


5
확률 적 경사 하강에 대해 들어 보셨습니까? 큰 훈련 세트에 적용 깊은 신경 네트워크의 당신은 유사한 문제를 가지고 (수 있지만 평가의 분석적 그라데이션) 표준 솔루션은 전체 코호트 대 한 샘플 (확률) (배치)에만 기반으로 그라데이션 하강하는 것입니다
seanv507

3
나는 그 영역에 대해 막연하게 익숙하기 때문에 이것은 답변이 아닌 의견입니다. 그러나 당신이 논의 하는 것은 종종 엔지니어들이 직면하는 불확실성 정량화 주제와 비슷하게 들립니다 . 목표 함수에 대한 단일 평가는 평가하는 데 몇 주가 걸렸습니다 (적어도 엔지니어링 엔지니어가 직면 한 문제에서). 이것이 어떻게 처리되는지에 대한 나의 매우 제한적인 이해는 과거의 평가와 더 간단한 엔지니어링 모델을 기반으로 평가하기가 훨씬 쉬운 대리 근사를 만든 다음이 대리 모델을 사용하여 다음 평가를 선택하는 것입니다.
Cliff AB

2
... 더 비싼 타겟 기능. 나는 그것을 말하기는 싫지만, 지금은 그 주제에 대해 더 이상 모른다. 엔지니어들과 연구 주제를 논의하는 동안 나는 그것에 대해 간략하게 들었습니다. 흥미롭게도, 그것은 매우 어려운 연구 분야 인 것 같습니다. 좋은 모델은 물리 통계를 잘 이해해야한다고 생각 합니다.
Cliff AB

1
@ seanv507 예, 고맙지 만 비슷한 이유로 피했습니다. 하나의 샘플을 실행하는 데 약 30 초에서 1 분이 걸립니다. 15 개의 매개 변수가 있으면 하나의 샘플 만 사용하더라도 그라디언트 계산 당 거의 8 분을보고 있습니다. 공간이 크면 시간이 오래 걸릴 수 있습니다. 다른 아이디어를 염두에두고 있으면 정정 해주세요.
Jared Becksfort

5
"비정상적인 상황 인 것 같습니다. 비용 기능을 평가할 때마다 비용이 많이 듭니다." 이것은 일반적으로 특별한 상황이 아닙니다. 예를 들어 비용 함수가 시뮬레이션을 실행하여 올 때마다 여기에 표시됩니다 (예 : 백서 : white.ucc.asn.au/publications/White2015PsoTransistorSizing.pdf SPICE에서 10 초가 걸리는 회로를 시뮬레이션합니다). 보다 과학적으로 실험 과학에서는 평가에 오랜 시간이 걸릴 수 있습니다. 내 친구 Masters 프로젝트 중 하나는 기본적으로 DNA를 삽입하는 가장 좋은 방법을 찾기 위해 5 개의 매개 변수를 최적화하는 것입니다. 각 평가에는 24 시간이 걸립니다.
Lyndon White

답변:


59

TL; DR

LIPO를 사용하는 것이 좋습니다. 순수한 무작위 검색 (PRS)보다 정확하고 아마 더 낫습니다. 또한 구현이 매우 간단하고 하이퍼 파라미터가 없습니다. LIPO를 BO와 비교하는 분석을 수행하지는 않았지만 LIPO의 단순성과 효율성은 BO가 성능을 능가 할 것임을 암시합니다.

(또한 베이지안 하이퍼 파라미터 최적화의 단점은 무엇입니까? )

베이지안 최적화

베이지안 최적화 유형 방법은 가우스 프로세스 대리 모델을 작성하여 매개 변수 공간을 탐색합니다. 주요 아이디어는 서로 더 가까운 매개 변수 튜플의 기능 값이 비슷하므로 점 사이의 공분산 구조를 가정하면 알고리즘이 다음에 시도 할 가장 좋은 매개 변수 튜플에 대한 교육 된 추측을 할 수 있다는 것입니다. 이 전략은 기능 평가 횟수를 줄이는 데 도움이됩니다. 실제로 BO 방법의 동기는 기능 평가의 수를 가능한 한 낮게 유지하면서 "버팔로 전체를 사용하여"다음에 어떤 점을 테스트해야하는지에 대한 좋은 추측을하는 것입니다. 다음 방문 점을 비교하는 데 사용되는 장점 (예상 개선, 예상 수량 개선, 개선 가능성 ...)의 여러 수치가 있습니다.

이 기능을 그리드 검색과 비교하면 이전 기능 평가의 정보를 사용하여 다음에 어디로 가야하는지 알 수 없습니다.

또한 이것은 강력한 글로벌 최적화 기술이기도하므로 표면의 볼록도에 대한 가정은 없습니다. 또한 함수가 확률 적 (예 : 평가에 고유 한 랜덤 노이즈가있는 경우) 인 경우 GP 모델에서 직접 설명 할 수 있습니다.

반면에, 매번 반복 할 때마다 하나 이상의 GP (또는 여러 개의 "최상의"선택 또는 대안에 대한 평균화 또는 완전한 베이지안 방법)를 충족해야합니다. 그런 다음이 모델은 일반적으로 멀티 스타트 로컬 최적화 형태로 (아마도 수천 개의) 예측을 수행하는 데 사용되며, 최적화중인 함수보다 GP 예측 함수를 평가하는 것이 훨씬 저렴하다는 관찰과 함께 이루어집니다. 그러나이 계산 오버 헤드가 있어도 볼록하지 않은 함수도 비교적 적은 수의 함수 호출로 최적화 할 수 있습니다.

이 주제에 대해 널리 인용 된 논문은 Jones et al , "고비용 블랙 박스 기능의 효율적인 글로벌 최적화"입니다. 그러나이 아이디어에는 많은 변형이 있습니다.

무작위 검색

=0.95=0.95100×(1)=5=0.9510.95. 모두 합치면

1로그(1)로그()

우리의 특정한 경우에 산출 합니다.59

=60=60

결과가 얼마나 좋은지에 대한 확률 적 보장이 있기 때문에 더 많은 실험을 수행 할 필요가 없음을 상사에게 설득 할 수있는 설득력있는 도구가 될 수 있습니다.

LIPO와 그 변형

이것은 새로운 것이 아니라면 나에게 새로운 흥미로운 도착입니다 . 함수에 정보 바운드를 배치하는 것과 최상의 바운드에서 샘플링을 이차 근사를 사용하여 번갈아 진행됩니다. 나는 여전히 모든 세부 사항을 연구하고 있지만 이것이 매우 유망하다고 생각합니다. 이 글은 멋진 블로그 글 이며, 논문은 Cédric Malherbe와 Nicolas Vayatis " Lipschitz 기능의 글로벌 최적화 "입니다.


1
이것은 반응 표면 방법의 현대적인 변형처럼 보입니다!
kjetil b halvorsen

1
실제로 임의 검색은 매우 잘 작동 할 수 있습니다. argmin.net/2016/06/20/hypertuning
Tim

1
@Tim 예, 요점을 잘 알고 있습니다. BO에 본질적으로 끝없는 순열이 있기 때문에이 게시물에서 더 나은 문제를 "결정"하고 싶지 않았습니다. 각각 "최고의"블랙 박스 최적화 프로그램이라고 주장하기 때문에 결정하기가 불가능합니다. 나는 무작위 검색이 잘 작동한다는 데 동의하지만 실제로 PRS보다 LIPO를 권장합니다. LIPO는 모든 실험에서 PRS (평균)보다 정확하고 성능이 뛰어납니다. 또한 LIPO는 추정 비용이 최소화됩니다. QP를 최소화 할 수 있으면 LIPO를 사용할 수 있으며 LIPO에는 0과 비교하여 하이퍼 파라미터가 없습니다 (BO와 대조).
복원 Monica Monica

이 질문을 다시 확인하게되어 기쁩니다. LIPO가 좋아 보인다.
Jared Becksfort

LIPO는 훌륭합니다. 잠시 후 LIPO를 더 잘 설명 할 수 있도록 답변을 확장하겠습니다.
Monica Monica

40

에프(엑스)엑스

나는 (매우) 값 비싼 블랙 박스 기능을 평가하기위한 현재의 금 표준은 (전역) 베이지안 최적화 (BO) 라고 말합니다 . Sycorax는 이미 BO의 일부 기능을 설명 했으므로 유용한 정보를 추가하고 있습니다.

시작점으로이 개요 용지 를 읽으십시오 1 . 더 최근의 것도있다 [2].

Bayesian 최적화는 최근 몇 년간 기계 학습에 매우 실용적인 응용 프로그램이 있기 때문에 일련의 전용 워크샵 (예 : BayesOpt 및 BO의 Sheffield 워크샵에서 이러한 비디오 를 확인)과 함께 필드로 꾸준히 성장하고 있습니다. ML 알고리즘의 하이퍼 파라미터 최적화에 대해서는 이 백서 [3] 및 관련 도구 상자 인 SpearMint를 참조하십시오 . 다양한 종류의 베이지안 최적화 알고리즘을 구현하는 다양한 언어의 다른 패키지가 많이 있습니다.

앞서 언급했듯이 기본 요구 사항은 각 함수 평가에 비용이 많이 들기 때문에 BO 관련 계산에 무시할 수있는 오버 헤드가 추가되어야한다는 것입니다. 야구장을 제공하기 위해 BO는 함수가 몇 분 이상의 시간에 평가되면 확실히 도움이 될 수 있습니다. 더 빠른 계산 (예 : 수십 초)에도 적용 할 수 있지만 사용하는 알고리즘에 따라 다양한 근사치를 채택해야 할 수도 있습니다. 함수가 초 단위 의 시간 척도로 평가되면 현재 연구의 경계에 도달하고 아마도 다른 방법이 더 유용 할 것으로 생각합니다. 또한, 나는 BO 정말 거의 블랙 박스없는, 말을 당신은 종종 알고리즘, 때로는 조정할 필요가 많은 이 특정 실제 문제와 잠재력에 작동하도록.

BO 외에 일반적인 미분없는 최적화 방법을 검토 하려면 이 검토를 검토하고 [4] 빠른 수렴 특성이 좋은 알고리즘을 확인할 수 있습니다. 예를 들어 MCS (Multi-level Coordinate Search)는 일반적으로 최소값 (물론 항상 최소값은 아님)으로 매우 빠르게 수렴됩니다. MCS는 전역 최적화를 위해 고안되었지만 적절한 바운드 제약 조건을 설정하여 로컬로 만들 수 있습니다.

마지막으로, 비용이 많이 들고 시끄러운 대상 함수에 대한 BO에 관심 있습니다. 이 질문에 대한 나의 답변을 참조하십시오 .


참고 문헌 :

1 Brochu et al., "활동적인 사용자 모델링 및 계층 적 강화 학습에 적용되는 고가의 비용 함수의 베이지안 최적화에 대한 자습서"(2010).

[2] Shahriari et al., "사람을 루프에서 꺼내기 : 베이지안 최적화 검토"(2015).

Snoek et al., "기계 학습 알고리즘의 실용적 베이지안 최적화", NIPS (2012).

[4] Rios and Sahinidis, "미분없는 최적화 : 알고리즘 검토 및 소프트웨어 구현 비교", Journal of Global Optimization (2013).


4
+1 이것은 훌륭한 답변입니다. 특히이 논문들은이 글에 크게 추가되었습니다. 실제로, 내가 설명 한 일반적인 방법이 Bayesian Optimization이라는 것을 몰랐습니다. 그러나 시간이 지남에 따라 링크가 제대로 작동하지 않을까 걱정됩니다. 미래의 사용자가이 논문에 액세스 할 수 있도록보다 완전한 인용 정보를 추가 하시겠습니까?
Monica Reinstate Monica

베이지안 최적화 논문은 매우 도움이됩니다. 답변 주셔서 감사합니다.
Jared Becksfort

1
@ user777 : 좋은 지적입니다. 논문을 복구하기에 충분한 명시적인 참조 목록을 끝에 추가했습니다.
lacerbi 2019

6

나는 알고리즘 나 자신을 모르는,하지만 난 당신이 찾고있는 최적화 알고리즘의 종류는 생각 파생 상품 무료 최적화 , 목적이 비용이나 잡음이 때 사용된다 .

예를 들어, 한 번 봐 가지고 종이 (비요 르크 만, M. & 홈 스트롬을, K. "레이디 얼 기초 기능을 사용하여 값 비싼 비 볼록 함수의 글로벌 최적화."최적화 및 엔지니어링 (2000) 1 : 373 도이 : 10.1023 / A : 1011584207202) 그의 초록은 이것이 당신이 원하는 것임을 정확하게 나타내는 것 같습니다 :

이 백서는 비용이 많이 드는 객관적인 기능의 전역 최적화, 즉 여러 개의 로컬 최소값이 있고 각 기능 값이 계산하는 데 상당한 CPU 시간이 걸리는 경우 전역 최소값을 찾는 문제를 고려합니다. 이러한 문제는 종종 산업 및 금융 응용 프로그램에서 발생하며, 기능 값은 시간이 많이 걸리는 컴퓨터 시뮬레이션 또는 최적화의 결과 일 수 있습니다. 파생물은 구하기 어려운 경우가 많으며 제시된 알고리즘은 그러한 정보를 사용하지 않습니다.


2
링크 된 논문 및 기타 리소스에 대한 전체 인용 정보를 포함하십시오. 우리는 정보의 내구성있는 저장소를 구축하려고하며 시간이지나면서 링크가 나빠지는 경향이 있습니다.
Monica Monica 복원

Björkman, M. & Holmström, K. "방사형 기저 함수를 사용한 고가의 비 볼록 함수의 전역 최적화." Optimization and Engineering (2000) 1 : 373. doi : 10.1023 / A : 1011584207202
jkdev

4

당신은 혼자가 아닙니다.

고가의 평가 시스템은 유한 요소법 (FEM) 모델 및 전산 유체 역학 (CFD) 모델과 같은 엔지니어링에서 매우 일반적입니다. 이 계산 알고리즘은 값 비싼 모델을 최적화하는 것이 매우 필요하고 도전적입니다. 다행히이 문제를 해결하는 데 사용할 수있는 많은 방법 (알고리즘)이 있습니다. 내가 아는 한 대부분은 대리 모델 (메타 모델)을 기반으로합니다. 일부는 아래에 나열되어 있습니다.

  • 효율적인 글로벌 최적화 (EGO) [1]. EGO 알고리즘은 위에서 언급되었으며 가장 유명한 대리 기반 최적화 알고리즘 일 수 있습니다. Kriging 모델과 예상 개선 기능 (EI)이라는 충전 기준을 기반으로합니다. EGO 알고리즘을 포함한 R 패키지는 DiceOptim 및 DiceKriging입니다.
  • MPS (mode-pursuing sampling) 방법 [2]. MPS 알고리즘은 RBF 모델을 기반으로하며 적절한 샘플링 전략을 사용하여 후보 포인트를 선택합니다. MATLAB 코드는 http://www.sfu.ca/~gwa5/software.html 의 저자가 게시합니다 . MPS 알고리즘은 최적의 결과를 얻기 위해 더 많은 평가가 필요할 수 있지만 개인적인 경험으로 EGO 알고리즘보다 더 복잡한 프로브를 처리 할 수 ​​있습니다.
  • 앙상블은 줄리앙 Julian 러 (Juliane Müller)의 모형을 대리한다. 그녀는 검색 능력을 향상시키기 위해 여러 대리자를 사용했습니다. MATLAB 툴박스 MATSuMoTo는 https://github.com/Piiloblondie/MATSuMoTo에서 사용 가능 합니다.

여름철에 이러한 대리 기반 최적화 알고리즘은 가능한 한 적은 평가를 사용하여 문제의 전체 최적을 찾으려고합니다. 이는 서로 게이트 (대리인)가 제공하는 정보를 최대한 활용함으로써 달성됩니다. 계산적으로 비싼 문제의 최적화에 대한 리뷰는 [4-6]에 있습니다.


참고:

  1. Jones Jones, M. Schonlau 및 WJ Welch, "고가의 블랙 박스 기능을 효율적으로 글로벌 최적화", Journal of Global Optimization, vol. 13, pp. 455-492, 1998.
  2. L. Wang, S. Shan 및 GG Wang, "고가의 블랙 박스 기능에 대한 글로벌 최적화를위한 모드 추구 샘플링 방법", Engineering Optimization, vol. 36, 419-438, 2004 쪽.
  3. Tampere University of Technology, 2012. J. Müller, "계산적으로 비싼 블랙 박스 글로벌 최적화 문제를위한 대리 모델 알고리즘"
  4. GG Wang과 S. Shan, "엔지니어링 설계 최적화를 지원하는 메타 모델링 기술 검토", Journal of Mechanical Design, vol. 129, 370-380, 2007 쪽.
  5. AI Forrester와 AJ Keane, "대리 기반 최적화의 최근 발전", 항공 우주 과학의 발전, vol. 45, pp. 50-79, 2009.
  6. FAC Viana, TW Simpson, V. Balabanov 및 V. Toropov, "다 분야 설계 최적화의 메타 모델링 : 우리는 얼마나 멀리 왔습니까?"AIAA Journal, vol. 52, 670-690, 2014/04/01 2014 쪽.

3

과거에 성공적으로 사용한 두 가지 간단한 전략은 다음과 같습니다.

  1. 가능하면 전체 비용 함수 평가와 유사한 간단한 대리 함수 (모의를 대체하는 분석 모델)를 찾으십시오. 이 간단한 기능을 최적화하십시오. 그런 다음 정확한 비용 함수로 결과 솔루션을 검증하고 미세 조정하십시오.
  2. 가능하면 정확한 "델타 비용"함수 를 평가할 수있는 방법을 찾으십시오 . 그래디언트를 사용한 것과는 다릅니다. 즉, 전체 비용을 평가 한 초기 15 차원 지점에서 현재 지점의 15 개 구성 요소 중 하나 (또는 ​​여러 개)를 약간 변경하여 비용이 어떻게 변하는 지 알아낼 수있는 방법을 찾으십시오. 특정한 경우에 작은 섭동 의 현지화 속성을 활용해야하며 그 과정에서 내부 상태 변수 를 정의, 캐시 및 업데이트해야 할 수도 있습니다.

이러한 전략은 매우 구체적이며, 귀하의 경우에 적용 할 수 있는지 여부는 알 수 없습니다. 그렇지 않은 경우 죄송합니다. 둘 다 적용 할 수 있습니다 (사용 사례에서와 같이). "델타 비용"전략을보다 간단한 분석 모델에 적용하면 성능이 몇 배나 향상 될 수 있습니다.

또 다른 전략은 일반적으로 반복 횟수를 줄이는 경향이있는 2 차 방법을 사용하는 것입니다 (그러나 각 반복은 더 복잡합니다) – 예를 들어 Levenberg–Marquardt 알고리즘 . 그러나 그라디언트를 직접적이고 효율적으로 평가할 수있는 방법이없는 것 같으면이 경우에는 실행 가능한 옵션이 아닐 수 있습니다.


3

다른 사람들이 언급했듯이 대리 모델 (응답 표면이라고도 함)은 강력한 접근 방식입니다. 제 생각에는 사람들이 잊어 버린 한 가지 중요한 점은 멀티 코어 CPU를 사용하는 경우 여러 기능 평가 를 병렬로 수행 할 수 있다는 것 입니다.

이 코드를 살펴보면 간단한 응답 모델을 사용하지만 멀티 코어 CPU에서 확장되므로 사용되는 코어 양과 동일한 속도를 제공합니다. 본 백서 에는이 방법의 수학이 설명되어 있습니다.


나는 당신이 논문의 첫 번째 저자라고 가정합니다-아마도 그것이 사실이라면 언급해야합니다. 이 논문은 베이지안 최적화 또는 다른 대리 방법과 같은 최첨단 방법과 비교할 수 없습니다 (실제로 벤치 마크를 전혀 제공하지 않습니다). 좀 더 말해 줄래?
lacerbi 2016 년

나는 거기에 사용 된 모델이 더 좋다고 말하는 것이 아닙니다. 나는 사람들이 모델의 질에 대해 너무 걱정하고 때로는 병렬 처리를 잊어 버린다고 말하고 있습니다. 이것은 많은 코어가 관련 될 때 큰 문제가 될 수 있습니다.
Paul

링크 된 논문 및 기타 리소스에 대한 전체 인용 정보를 포함하십시오. 우리는 정보의 내구성있는 저장소를 구축하려고하며 시간이지나면서 링크가 나빠지는 경향이 있습니다.
Monica Monica 복원

2
커뮤니티에 따라 용어가 얼마나 다른지 잘 모르겠지만 여기에서 일반적으로 "다항식 대리 모델"(일반적으로 2 차)의 동의어로 사용되는 반응 표면 입니다. 따라서 대리 모델링을 반응 표면 모델링의 상위 집합으로 생각하는 경향이 있습니다. (그러나 이것은 틀릴 수도 있습니다.)
GeoMatt22

0

확률 적 그라디언트 디센트에는 객관적인 함수 평가에도 적용될 수있는 많은 트릭이 있습니다. 전반적인 아이디어는 데이터의 하위 집합을 사용하여 목적 함수 근사 .

이 두 게시물에 대한 저의 대답은 확률 론적 경사 하강이 작동하는 이유를 설명합니다. 그 직관은 데이터의 하위 집합을 사용하여 경사를 근사화하는 것입니다.

확률 적 경사 하강은 어떻게 표준 경사 하강에 비해 시간을 절약 할 수 있습니까?

빅 데이터 설정을 위해 병렬 / 분산 방식으로 선형 회귀를 실행하는 방법은 무엇입니까?

목적 함수에도 동일한 트릭이 적용됩니다.

에이엑스2에이에이

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