저는 박사 학위를 위해 이론적 머신 러닝 (전이 학습, 구체적으로)을 연구하고 있습니다.
호기심으로 볼록 최적화 과정을 수강해야하는 이유는 무엇입니까?
이론적 인 머신 러닝에 대한 연구에서 볼록 최적화를 통해 얻을 수있는 것은 무엇입니까?
저는 박사 학위를 위해 이론적 머신 러닝 (전이 학습, 구체적으로)을 연구하고 있습니다.
호기심으로 볼록 최적화 과정을 수강해야하는 이유는 무엇입니까?
이론적 인 머신 러닝에 대한 연구에서 볼록 최적화를 통해 얻을 수있는 것은 무엇입니까?
답변:
기계 학습 알고리즘은 항상 최적화를 사용합니다. 우리는 손실 또는 오류를 최소화하거나 어떤 종류의 점수 함수를 최대화합니다. 그라디언트 디센트 는 아마도 모든 기계 학습 과정에서 다루는 "hello world"최적화 알고리즘입니다. 회귀 또는 분류 모델의 경우 분명하지만 클러스터링과 같은 작업에서도 데이터에 최적으로 맞는 솔루션을 찾고 있습니다 (예 : k- 평균은 클러스터 내 제곱합을 최소화 함 ). 따라서 머신 러닝 알고리즘의 작동 방식을 이해하려면 최적화에 대해 더 많이 배우면 도움이됩니다. 또한 하이퍼 파라미터 튜닝과 같은 작업을 수행해야하는 경우 직접 최적화를 사용하고 있습니다.
볼록 최적화는 볼록 함수 를 다루는 대신에 머신 러닝에서 그렇게 흥미롭지 않아야한다고 주장 할 수있다. 볼록 과는 거리 가 먼 아래와 같은 손실 표면이 종종 나타난다 .
(출처 : https://www.cs.umd.edu/~tomg/projects/landscapes/ and arXiv : 1712.09913 )
그럼에도 불구하고 다른 답변에서 언급했듯이 볼록 최적화는 더 빠르고 간단하며 계산 집약도가 낮으므로 문제를 "볼록하게"(볼록 최적화하기 쉽게) 한 다음 볼록하지 않은 최적화를 사용하는 것이 더 쉽습니다. 예를 들어 그라디언트 디센트 및 유사 알고리즘 은 머신 러닝, 특히 신경망에서 일반적으로 사용됩니다. "작동", 확장 및 다양한 소프트웨어로 광범위하게 구현 되기는하지만 그럼에도 불구하고 우리가 함정을 얻을 수있는 최선의 방법은 아닙니다. NIPS 2017에서 알리 라 히미의 이야기에서 논의한 바와 같이 .
다른 한편으로는, 이러한 진화 알고리즘과 같은 비 볼록 최적화 알고리즘은 예를 들어, ML 사회에서 점점 더 많은 인식을 확보하여 신경망을 훈련하는 것 neuroevolution는 최근의 연구 주제 (도 볼 것 같다 : 1712.07897 arXiv을 ).
여기에 두 가지 질문이 있다고 생각합니다.
@Tim은 왜 최적화에 대한 좋은 대답이라고 생각합니다. 머신 러닝에 관심이있는 사람은 지속적인 최적화를 마스터 할 것을 강력히 동의하며 권장합니다. 최적화 과정은 시간이 지남에 따라 더 나은 솔루션을 찾는 것이므로 컴퓨터 학습 과정입니다.
볼록 함수에 관심이있는 이유에 대해 더 이야기하고 싶습니다. 이유는 간단합니다. 볼록한 최적화는 "해결하기 더 쉬워지고"해결해야 할 알고리즘이 많이 있습니다.
그러나 세계는 볼록합니까? 아니요. 왜 볼록함에 집착합니까? 이 은유를 확인하십시오
경찰관이 취한 사람이 가로등 아래에서 무언가를 찾는 것을보고 술에 취한 것이 무엇인지 묻습니다. 그는 열쇠를 잃어 버렸으며 둘 다 가로등 아래를 함께 봅니다. 몇 분 후 경찰관은 그가 여기에서 잃어버린 것이 확실한지 묻고 취한 사람은 대답하지 않습니다. 경찰관은 왜 여기에서 수색을하는지 묻고 취한 사람은 "이 곳은 빛이있는 곳"이라고 대답합니다.
가장 중요한 테이크 아웃은 머신 러닝이 최적의 솔루션이없는 문제에 적용된다는 것입니다. 당신이 할 수있는 최선의 방법은 좋은 근사치를 찾는 것입니다.
반대로, 최적화 문제가있는 경우 최적의 솔루션이 있지만 일반적으로 적절한 시간이나 적절한 처리 능력으로 찾을 수 없습니다.
사용하는 도구와 알고리즘은 근본적으로 다릅니다. 따라서 최적화 클래스를 복용하면 즉각적인 이점이 없다고 말하지만 관련 필드에 대해 조금 아는 것이 좋습니다. 최적화 문제를 인식 할 수 있다면 기계 학습 알고리즘이 아니라 최적화 알고리즘을 사용하여 해결해야한다는 것을 알게 될 것입니다. 그것만으로도 내가 말할 가치가 있습니다.
딥 러닝 (신경망에서 실제로 사용되는 전이 학습을 언급) 응용 프로그램에 적용되는 (볼록한) 최적화에 관심이 있다면 http의 8 장 (딥 뉴럴 네트워크 훈련을위한 최적화)을 읽는 것이 좋습니다. : //www.deeplearningbook.org/
볼록 최적화와 심층 신경망을 적용했을 때 아직 성공하지 못한 이유에 대한 논의가 있습니다. 물론, 현재 컨센서스를 바꿀이 분야에 대한 연구를 할 수있을 것입니다!
기계 학습에서 개발 된 Jerome H. Friedman 방법은 실제로 기계 학습 커뮤니티에 속하지 않습니다.
내 관점에서 Machine Learning은 다른 분야의 다양한 방법을 모은 것과 같습니다.
통계 학습의 관점에서 회귀 및 분류에 대한 세 가지 주요 질문은 다음과 같습니다.
근사기를 당기는 함수 계열이란 무엇입니까?
함수를 당기는 기준은 무엇입니까
최고의 기능을 찾는 방법은 무엇입니까
(1)에서 건설적인 방법으로 작동하려면-수학 최적화를 사용하는 것이 어떻게 도움이되는지 분명하지 않습니다.
(2)에서 건설적인 방식으로 운영하려면 목표가 목표라는 것이 분명합니다. 수학 최적화가 도움이 될 수 있습니다.
(3)에서 건설적인 방식으로 작동하려면 수학 최적화가 필요합니다.
수학 최적화에는 여러 부분이 있습니다.
또한 어떤 방법으로 "확률 론적"을 다루는 방법이 있습니다. "아무도 확률 론적 볼록 최적화를 해결하는 방법을 모릅니다"
NonConvex Optimization-보통 사람들은 지속적인 목표이지만 곡률은 다를 수 있습니다. 이 지구의 사람들은 그것을 정확하게 해결하는 방법을 모른다. 실제로 모든 mehtod는 (1)
조합 최적화-마이너스 연산자를 적용 할 수없는 매개 변수의 경우 (2)보다 더 거칠습니다. 한 예로 Decision Trees의 "regions"가 있습니다. a) 문제를 볼록 화하고 (1)의 방법을 사용하십시오. 많은 수의 매개 변수에는 작동하지 않습니다. c) 무례한 힘을 주지만 탐욕스러운 단계를 밟는다. CART가하는 일입니다.
적어도 나는 당신에게 다음과 같은 것을 찬성한다고 생각합니다.
I) 볼록 최적화는 대부분의 최적화 문제의 핵심입니다.
II) "01:15 최적화는 실제로 ML 또는 AI보다 더 큰 주제이지만 실제로는 더 큰 주제입니다." ( https://www.youtube.com/watch?v=uF3htLwUHn0&t=992s )