이론적 인 기계 학습을 위해 볼록 최적화를 연구해야하는 이유는 무엇입니까?


27

저는 박사 학위를 위해 이론적 머신 러닝 (전이 학습, 구체적으로)을 연구하고 있습니다.

  • 호기심으로 볼록 최적화 과정을 수강해야하는 이유는 무엇입니까?

  • 이론적 인 머신 러닝에 대한 연구에서 볼록 최적화를 통해 얻을 수있는 것은 무엇입니까?


2
볼록한 부분, 최적화 부분 또는 둘 다에 반대하는지 확실하지 않습니다.
Mehrdad

당신이 받아 들인 대답은 명백히 틀 렸습니다. 어쩌면이 질문을 다시보고 훨씬 더 이해하기 쉬운 대답을 선택할 수 있습니다.
xji

Convex Optimization 및 Math Optimization은 모델을 빌드하기위한 도구입니다.이 기술은 이해하기 어려운 표현형의 모델 / 제어 / 찾기 매개 변수를 일부 비인증까지 구성하는 데 사용됩니다.
bruziuz

머신 러닝은 카 운싱 방법과 같은 기능 근사를 작성하는 것과 손실을 최소화하는 개념 선택 기능 (비 볼록 또는 최악의 지표 변수 포함) 중 하나를 알고있는 한 ML은 볼록하지 않은 최적화로 훌륭하게 작동합니다.
bruziuz

참고로 "볼록 최적화는 딥 러닝에 사용할 수 없습니다-S.Boyd" -youtu.be/uF3htLwUHn0?t=2810
bruziuz

답변:


59

기계 학습 알고리즘은 항상 최적화를 사용합니다. 우리는 손실 또는 오류를 최소화하거나 어떤 종류의 점수 함수를 최대화합니다. 그라디언트 디센트 는 아마도 모든 기계 학습 과정에서 다루는 "hello world"최적화 알고리즘입니다. 회귀 또는 분류 모델의 경우 분명하지만 클러스터링과 같은 작업에서도 데이터에 최적으로 맞는 솔루션을 찾고 있습니다 (예 : k- 평균은 클러스터 내 제곱합을 최소화 ). 따라서 머신 러닝 알고리즘의 작동 방식을 이해하려면 최적화에 대해 더 많이 배우면 도움이됩니다. 또한 하이퍼 파라미터 튜닝과 같은 작업을 수행해야하는 경우 직접 최적화를 사용하고 있습니다.

볼록 최적화는 볼록 함수 를 다루는 대신에 머신 러닝에서 그렇게 흥미롭지 않아야한다고 주장 할 수있다. 볼록 과는 거리 아래와 같은 손실 표면이 종종 나타난다 .

실제 비 볼록 손실 조경의 예.

(출처 : https://www.cs.umd.edu/~tomg/projects/landscapes/ and arXiv : 1712.09913 )

그럼에도 불구하고 다른 답변에서 언급했듯이 볼록 최적화는 더 빠르고 간단하며 계산 집약도가 낮으므로 문제를 "볼록하게"(볼록 최적화하기 쉽게) 한 다음 볼록하지 않은 최적화를 사용하는 것이 더 쉽습니다. 예를 들어 그라디언트 디센트 및 유사 알고리즘 은 머신 러닝, 특히 신경망에서 일반적으로 사용됩니다. "작동", 확장 및 다양한 소프트웨어로 광범위하게 구현 되기는하지만 그럼에도 불구하고 우리가 함정을 얻을 수있는 최선의 방법은 아닙니다. NIPS 2017에서 알리 라 히미의 이야기에서 논의한 바와 같이 .

다른 한편으로는, 이러한 진화 알고리즘과 같은 비 볼록 최적화 알고리즘은 예를 들어, ML 사회에서 점점 더 많은 인식을 확보하여 신경망을 훈련하는 것 neuroevolution는 최근의 연구 주제 (도 볼 것 같다 : 1712.07897 arXiv을 ).


5
이 답변은 "볼록한"문제를 해결하지 못하는 것 같습니다.
Haitao Du

@ hxd1011에 댓글을 달았습니다.

좋은 답변입니다! ML에 대한 최적화가 얼마나 중요한지, 그래디언트 디센트와 함께 작동하는 볼록한 근사법을 사용하여 ML을 단순화하는 방법을 실제로 설명합니다.
ChuckCottrill

이것이 정답입니다.
Jan Kukacka

11

여기에 두 가지 질문이 있다고 생각합니다.

  • 왜 연구 최적화
  • 볼록 최적화가 필요한 이유

@Tim은 왜 최적화에 대한 좋은 대답이라고 생각합니다. 머신 러닝에 관심이있는 사람은 지속적인 최적화를 마스터 할 것을 강력히 동의하며 권장합니다. 최적화 과정은 시간이 지남에 따라 더 나은 솔루션을 찾는 것이므로 컴퓨터 학습 과정입니다.

볼록 함수에 관심이있는 이유에 대해 더 이야기하고 싶습니다. 이유는 간단합니다. 볼록한 최적화는 "해결하기 더 쉬워지고"해결해야 할 알고리즘이 많이 있습니다.

그러나 세계는 볼록합니까? 아니요. 왜 볼록함에 집착합니까? 이 은유를 확인하십시오

경찰관이 취한 사람이 가로등 아래에서 무언가를 찾는 것을보고 술에 취한 것이 무엇인지 묻습니다. 그는 열쇠를 잃어 버렸으며 둘 다 가로등 아래를 함께 봅니다. 몇 분 후 경찰관은 그가 여기에서 잃어버린 것이 확실한지 묻고 취한 사람은 대답하지 않습니다. 경찰관은 왜 여기에서 수색을하는지 묻고 취한 사람은 "이 곳은 빛이있는 곳"이라고 대답합니다.


2
그러나 은유 적으로, 당신이 손전등을 얻는 이유입니다. 어둠 속에서 열쇠를 찾는 것은 불가능하기 때문에 문제를 해결하는 방법으로 문제를 적응시킵니다. 볼록하지 않은 알고리즘으로 문제를 해결하고 3 백만 달러의 비용이 드는 솔루션을 생각해 냈을 때 볼록 최적화와 비슷한 문제를 겪고 답을 얻고 비용이 2 인 비 볼록 문제에 대한 해결책을 찾으십시오. 백만 달러라면 더 나은 답을 찾았습니다.
prosfilaes

이 답변은 많은 수준에서 결함이 있습니다. 받는 볼록 분석을 비교 가로등 효과 것은 그냥 잘못 . 이 주제에 대해 더 배우려면 Boyd와 Vandenberghe 의 소개 교과서 Convex Optimization 을 참조하십시오 .
Digio

2

가장 중요한 테이크 아웃은 머신 러닝이 최적의 솔루션이없는 문제에 적용된다는 것입니다. 당신이 할 수있는 최선의 방법은 좋은 근사치를 찾는 것입니다.

반대로, 최적화 문제가있는 경우 최적의 솔루션이 있지만 일반적으로 적절한 시간이나 적절한 처리 능력으로 찾을 수 없습니다.

사용하는 도구와 알고리즘은 근본적으로 다릅니다. 따라서 최적화 클래스를 복용하면 즉각적인 이점이 없다고 말하지만 관련 필드에 대해 조금 아는 것이 좋습니다. 최적화 문제를 인식 할 수 있다면 기계 학습 알고리즘이 아니라 최적화 알고리즘을 사용하여 해결해야한다는 것을 알게 될 것입니다. 그것만으로도 내가 말할 가치가 있습니다.


33
예, 머신 러닝에서 우리는 최고의 근사치를 찾고 있습니다. 그러나 두 가지가 "기본적으로 다르다"고 말하면 틀린 것입니다. ML 알고리즘은 최적화를 사용하여 손실 함수를 최소화하고 데이터와 목표가 주어진 최적의 매개 변수를 찾습니다. 하이퍼 파라미터를 조정할 때 최적의 조합을 찾고 있습니다. 각각의 경우에 목표를 달성하기 위해 무언가를 최대화하거나 최소화하고 있으므로 일종의 최적화를 사용하고 있습니다.

@Tim : 사실, 나는 다르게 표현 했어야했다.
Toby

17
당신이 동의한다면, 아마도 그것을 바꿔야 할 것입니다.

19
이 답변은 특허 적으로 잘못되었습니다. 상당수의 기계 학습 문제가 최적화 문제로 귀결됩니다.
복원 Monica Monica

2
"최적화 문제에서 일반적으로 최적의 솔루션을 찾을 수 없습니다"라는 주장이 잘못되었습니다. 특히 볼록 최적화 (OP가 요구하는 것)와 관련 하여 최적의 솔루션을 쉽게 찾을 수 있습니다 (예 : 학습 속도가 감소하는 경사 하강 은 볼록 함수의 최적으로 수렴하도록 보장됨 ). 가장 큰 문제는 머신 러닝의 많은 문제가 볼록하지 않다는 것입니다 .
Jan Kukacka

2

hxd1011이 말했듯이, 볼록한 문제는 이론적으로나 (일반적으로) 실제로 해결하기가 더 쉽습니다. 따라서 볼록하지 않은 문제의 경우에도 많은 최적화 알고리즘은 "1 단계로 문제를 볼록한 것으로 줄이기"로 시작합니다 (아마 while 루프 내부에서).

비선형 루트 찾기에서도 비슷한 일이 발생합니다. 보통 (예를 들어, 뉴턴의 방법으로) 해결책은 "1 단계입니다. 우리는 그 문제를 해결하는 방법을 알고 있기 때문에 선형 문제로 줄이십시오".


1

딥 러닝 (신경망에서 실제로 사용되는 전이 학습을 언급) 응용 프로그램에 적용되는 (볼록한) 최적화에 관심이 있다면 http의 8 장 (딥 뉴럴 네트워크 훈련을위한 최적화)을 읽는 것이 좋습니다. : //www.deeplearningbook.org/

볼록 최적화와 심층 신경망을 적용했을 때 아직 성공하지 못한 이유에 대한 논의가 있습니다. 물론, 현재 컨센서스를 바꿀이 분야에 대한 연구를 할 수있을 것입니다!


0

기계 학습에서 개발 된 Jerome H. Friedman 방법은 실제로 기계 학습 커뮤니티에 속하지 않습니다.

내 관점에서 Machine Learning은 다른 분야의 다양한 방법을 모은 것과 같습니다.

통계 학습의 관점에서 회귀 및 분류에 대한 세 가지 주요 질문은 다음과 같습니다.

  1. 근사기를 당기는 함수 계열이란 무엇입니까?

  2. 함수를 당기는 기준은 무엇입니까

  3. 최고의 기능을 찾는 방법은 무엇입니까


(1)에서 건설적인 방법으로 작동하려면-수학 최적화를 사용하는 것이 어떻게 도움이되는지 분명하지 않습니다.

(2)에서 건설적인 방식으로 운영하려면 목표가 목표라는 것이 분명합니다. 수학 최적화가 도움이 될 수 있습니다.

(3)에서 건설적인 방식으로 작동하려면 수학 최적화가 필요합니다.


수학 최적화에는 여러 부분이 있습니다.

  1. 볼록 최적화 / 볼록 분석-매우 멋진 수학 영역. 비 차별성은 문제가되지 않습니다. 그리고 응용 측면에서 더 유용한 두 가지가 쿼시 콘 벡스와 로그-오목 인 볼록 함수의 50 가지 일반화가 있습니다.

또한 어떤 방법으로 "확률 론적"을 다루는 방법이 있습니다. "아무도 확률 론적 볼록 최적화를 해결하는 방법을 모릅니다"

  1. NonConvex Optimization-보통 사람들은 지속적인 목표이지만 곡률은 다를 수 있습니다. 이 지구의 사람들은 그것을 정확하게 해결하는 방법을 모른다. 실제로 모든 mehtod는 (1)

  2. 조합 최적화-마이너스 연산자를 적용 할 수없는 매개 변수의 경우 (2)보다 더 거칠습니다. 한 예로 Decision Trees의 "regions"가 있습니다. a) 문제를 볼록 화하고 (1)의 방법을 사용하십시오. 많은 수의 매개 변수에는 작동하지 않습니다. c) 무례한 힘을 주지만 탐욕스러운 단계를 밟는다. CART가하는 일입니다.


적어도 나는 당신에게 다음과 같은 것을 찬성한다고 생각합니다.

I) 볼록 최적화는 대부분의 최적화 문제의 핵심입니다.

II) "01:15 최적화는 실제로 ML 또는 AI보다 더 큰 주제이지만 실제로는 더 큰 주제입니다." ( https://www.youtube.com/watch?v=uF3htLwUHn0&t=992s )


이것은이 사이트의 표준에 의한 답으로 약간 간단합니다. 확장 할 수 있다고 생각하십니까? 그렇지 않으면 주석으로 가장 적합 할 수 있습니다.
실버 피쉬

승인. 나는 확장 할 것이지만 실제로는 다양한 분야와의 연결에 관한 기사를 쓸 수 있습니다. 사실 나는 Stephen P. Boyd에게 사람들이 이전과 언제, youtu.be/XV1E-Jnc4SU?t=242에 대해 생각했던 것과 관련된 질문에 대해 물었습니다 . 그는 요즘 세계가 골절되었다고 말했다.
bruziuz

1
@ Silverfish 내가 업데이트 한 문장 대신 긴 텍스트입니다.
bruziuz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.