Tại sao nghiên cứu tối ưu hóa lồi cho máy học lý thuyết?


27

Tôi đang làm việc về học máy lý thuyết - về học chuyển, cụ thể - cho bằng tiến sĩ của tôi.

  • Vì tò mò, tại sao tôi nên tham gia một khóa học về tối ưu hóa lồi?

  • Tôi có thể sử dụng phương pháp nào từ tối ưu hóa lồi trong nghiên cứu về học máy lý thuyết?


2
Không rõ bạn đang phản đối phần lồi, phần tối ưu hóa hay cả hai.
Mehrdad

Lưu ý rằng câu trả lời bạn chấp nhận là hoàn toàn sai. Có lẽ bạn có thể xem lại câu hỏi này và chọn một câu trả lời có ý nghĩa hơn nhiều.
xji

Tối ưu hóa lồi và tối ưu hóa toán học là một công cụ để xây dựng các mô hình - kỹ thuật này được sử dụng để xây dựng các mô hình / thực hiện kiểm soát / tìm các tham số của các hiện tượng dễ hiểu đến mức không chắc chắn.
bruziuz

Machine Learning liên quan đến việc xây dựng xấp xỉ chức năng như các phương thức ghép, và theo như bạn đã biết một trong các hàm chọn khái niệm giúp giảm thiểu tổn thất (không phải là lồi hoặc thậm chí tệ nhất bao gồm các biến chỉ báo), vì vậy ML chơi tốt với tối ưu hóa không lồi.
bruziuz

FYI "Tối ưu hóa lồi không thể được sử dụng cho học tập sâu - S.Boyd" - youtu.be/uF3htLwUHn0?t=2810
bruziuz

Câu trả lời:


59

Các thuật toán học máy sử dụng tối ưu hóa mọi lúc. Chúng tôi giảm thiểu tổn thất, hoặc lỗi hoặc tối đa hóa một số loại chức năng điểm số. Gradient descent là thuật toán tối ưu hóa "hello world" có trong bất kỳ khóa học máy nào. Rõ ràng trong trường hợp hồi quy hoặc mô hình phân loại, nhưng ngay cả với các tác vụ như phân cụm, chúng tôi đang tìm kiếm một giải pháp phù hợp tối ưu với dữ liệu của chúng tôi (ví dụ: k-nghĩa là tối thiểu hóa tổng bình phương trong cụm). Vì vậy, nếu bạn muốn hiểu làm thế nào các thuật toán học máy hoạt động, tìm hiểu thêm về tối ưu hóa giúp. Hơn nữa, nếu bạn cần làm những việc như điều chỉnh siêu tham số, thì bạn cũng trực tiếp sử dụng tối ưu hóa.

Người ta có thể lập luận rằng tối ưu hóa lồi không nên thú vị cho việc học máy vì thay vì xử lý các chức năng lồi , chúng ta thường gặp các bề mặt mất như bên dưới, cách xa lồi .

Ví dụ về cảnh quan mất đời thực, không lồi.

(nguồn: https://www.cs.umd.edu/~tomg/projects/landscapes/arXiv: 1712.09913 )

Tuy nhiên, như đã đề cập trong các câu trả lời khác, tối ưu hóa lồi nhanh hơn, đơn giản hơn và ít tính toán hơn, do đó thường dễ dàng "lồi lõm" một vấn đề (làm cho nó tối ưu hóa lồi), sau đó sử dụng tối ưu hóa không lồi. Ví dụ, thuật toán gốc và độ dốc giống nhau thường được sử dụng trong học máy, đặc biệt là đối với các mạng thần kinh, vì chúng "hoạt động", chia tỷ lệ và được triển khai rộng rãi trong các phần mềm khác nhau, dù sao chúng không phải là thứ tốt nhất mà chúng ta có thể có và gặp phải những cạm bẫy của chúng , như thảo luận trong buổi nói chuyện của Ali Rahimi tại NIPS 2017 .

Mặt khác, các thuật toán tối ưu hóa không lồi như thuật toán tiến hóa dường như ngày càng được công nhận nhiều hơn trong cộng đồng ML, ví dụ, đào tạo mạng lưới thần kinh bằng cách giải mã thần kinh dường như là chủ đề nghiên cứu gần đây (xem thêm arXiv: 1712,07897 ).


5
câu trả lời này dường như không đề cập đến "lồi"
Haitao Du

@ hxd1011 Tôi nhận xét về nó.
Tim

Câu trả lời chính xác! Thực sự giải quyết mức độ tối ưu hóa quan trọng đối với ML và cách ML đơn giản hóa bằng cách sử dụng các xấp xỉ lồi hoạt động với độ dốc gốc.
ChuckCottrill

Đây phải là câu trả lời được chấp nhận.
Jan Kukacka

11

Tôi nghĩ rằng có hai câu hỏi ở đây.

  • Tại sao học tối ưu hóa
  • Tại sao tối ưu hóa lồi

Tôi nghĩ rằng @Tim có một câu trả lời tốt về lý do tối ưu hóa. Tôi hoàn toàn đồng ý và sẽ khuyên mọi người quan tâm đến việc học máy để thành thạo tối ưu hóa liên tục. Bởi vì quá trình tối ưu hóa / tìm giải pháp tốt hơn theo thời gian, là quá trình học tập cho máy tính.

Tôi muốn nói thêm về lý do tại sao chúng ta quan tâm đến các hàm lồi. Lý do rất đơn giản: tối ưu hóa lồi là "dễ giải quyết hơn" và chúng tôi có rất nhiều thuật toán đáng tin cậy để giải quyết.

Nhưng thế giới có lồi không? Không. Tại sao bị ám ảnh bởi sự lồi lõm? Kiểm tra phép ẩn dụ này

Một cảnh sát nhìn thấy một người đàn ông say rượu đang tìm kiếm thứ gì đó dưới ánh đèn đường và hỏi người say đã mất gì. Anh ta nói rằng anh ta bị mất chìa khóa và cả hai cùng nhìn dưới ánh đèn đường. Sau vài phút, cảnh sát hỏi anh ta có chắc là anh ta bị mất chúng ở đây không, và những câu trả lời say xỉn, không, và rằng anh ta đã mất chúng trong công viên. Người cảnh sát hỏi tại sao anh ta tìm kiếm ở đây, và người say trả lời, "đây là nơi ánh sáng".


2
Nhưng theo nghĩa bóng, đó là lý do tại sao bạn có được đèn pin. Tìm kiếm các phím trong bóng tối là điều khó thực hiện, vì vậy bạn điều chỉnh vấn đề thành một vấn đề mà bạn biết cách giải quyết. Nếu bạn làm việc với một vấn đề với các thuật toán không lồi và đưa ra một giải pháp có giá 3 triệu đô la, và tôi làm việc với một vấn đề tương tự với tối ưu hóa lồi và đưa ra câu trả lời của tôi và tìm giải pháp cho vấn đề không lồi có giá 2 triệu đô la, tôi đã tìm thấy một câu trả lời tốt hơn.
prosfilaes

Câu trả lời này là thiếu sót trên nhiều cấp độ. So sánh phân tích lồi với hiệu ứng đèn đườngsai . Tôi khuyên bạn nên tham khảo sách giáo khoa giới thiệu Tối ưu hóa lồi của Boyd và Vandenberghe để tìm hiểu thêm về chủ đề này.
Digio

2

Điểm quan trọng nhất là học máy được áp dụng cho các vấn đề không có giải pháp tối ưu. Điều tốt nhất bạn có thể làm là tìm một xấp xỉ tốt.

Ngược lại, khi bạn gặp vấn đề tối ưu hóa, có một giải pháp tối ưu, nhưng thường không thể tìm thấy nó trong thời gian hợp lý hoặc với khả năng xử lý hợp lý.

Các công cụ và thuật toán bạn sử dụng khác nhau về cơ bản. Vì vậy, trong khi tôi sẽ nói rằng không có lợi ích ngay lập tức khi tham gia một lớp tối ưu hóa, thì thật tốt khi biết một chút về các lĩnh vực liên quan. Nếu bạn có thể nhận ra một vấn đề tối ưu hóa, bạn sẽ biết rằng bạn không nên giải quyết nó bằng thuật toán học máy mà thay vào đó là thuật toán tối ưu hóa. Điều đó một mình đáng giá rất nhiều tôi muốn nói.


33
Vâng, trong học máy chúng tôi đang tìm kiếm các xấp xỉ tốt nhất. Nhưng bạn đã sai khi nói rằng cả hai điều này "khác nhau về cơ bản". Các thuật toán ML sử dụng tối ưu hóa để giảm thiểu các hàm mất mát và tìm các tham số tối ưu được cung cấp cho dữ liệu và mục tiêu. Khi bạn đang điều chỉnh siêu âm của mình, bạn đang tìm kiếm sự kết hợp tối ưu của chúng. Trong mỗi trường hợp bạn đang tối đa hóa hoặc tối thiểu hóa một cái gì đó để đạt được mục tiêu của mình, vì vậy bạn đang sử dụng một số loại tối ưu hóa.
Tim

@Tim: Đúng vậy, tôi nên nói theo cách khác.
Toby

17
nếu bạn đồng ý, thì có lẽ bạn nên viết lại nó.
Tim

19
Câu trả lời này là sai một cách rõ ràng. Một số lượng đáng kể các vấn đề về máy học có thể giải quyết được các vấn đề tối ưu hóa.
Phục hồi Monica

2
Khiếu nại rằng trong "các vấn đề tối ưu hóa, giải pháp tối ưu thường không thể tìm thấy" là không chính xác. Đặc biệt là trong bối cảnh tối ưu hóa lồi (đó là những gì OP đang hỏi về), có thể dễ dàng tìm thấy giải pháp tối ưu (ví dụ: giảm độ dốc với tốc độ học phân rã được đảm bảo để hội tụ đến mức tối ưu của hàm lồi). Vấn đề lớn là nhiều vấn đề trong máy học là không lồi .
Jan Kukacka

2

Như hxd1011 đã nói, các vấn đề lồi dễ giải quyết hơn, cả về lý thuyết và (thông thường) trong thực tế. Vì vậy, ngay cả đối với các vấn đề không lồi, nhiều thuật toán tối ưu hóa bắt đầu bằng "bước 1. giảm vấn đề thành vấn đề lồi" (có thể bên trong vòng lặp while).

Một điều tương tự xảy ra với rootfinding phi tuyến. Thông thường, giải pháp (ví dụ, với phương pháp của Newton) đi "bước 1. Giảm xuống thành vấn đề tuyến tính, bởi vì chúng tôi biết cách giải quyết những vấn đề đó".


1

Nếu sở thích của bạn nằm ở tối ưu hóa (lồi) được áp dụng cho học sâu (bạn đề cập đến học chuyển, được sử dụng rộng rãi trong thực tế với các mạng thần kinh), tôi khuyến khích bạn xem xét việc đọc chương 8 (tối ưu hóa để đào tạo mạng lưới thần kinh sâu) của http : //www.deeplearningbook.org/

Có một cuộc thảo luận về tối ưu hóa lồi và tại sao nó vẫn chưa thành công khi áp dụng các mạng lưới thần kinh sâu. Tất nhiên, có lẽ bạn có thể thực hiện nghiên cứu trong lĩnh vực này sẽ thay đổi sự đồng thuận hiện tại!


0

Như tôi đã nghe từ Jerome H. Friedman, các phương pháp được phát triển trong Machine Learning thực tế không thuộc về cộng đồng Machine Learning.

Theo quan điểm của tôi, Machine Learning giống như một bộ sưu tập các phương pháp khác nhau từ các lĩnh vực khác.

Từ quan điểm của Học thống kê, ba câu hỏi chính cho hồi quy và phân loại là:

  1. Họ chức năng là gì từ đó bạn kéo xấp xỉ

  2. Tiêu chí làm thế nào bạn kéo một chức năng

  3. Phương pháp nào để tìm hàm tốt nhất


Để vận hành theo một cách xây dựng nào đó trên (1) - không rõ ràng bằng cách sử dụng tối ưu hóa toán học có thể giúp ích như thế nào

Để vận hành theo cách xây dựng nào đó trên (2) - rõ ràng mục tiêu là mục tiêu. Và tối ưu hóa toán học có thể giúp đỡ về nó.

Để vận hành theo cách xây dựng nào đó trên (3) - bạn cần tối ưu hóa toán học.


Có một số phần tối ưu hóa toán học:

  1. Tối ưu hóa lồi / Phân tích lồi - lĩnh vực toán học rất tuyệt vời. Không khác biệt không phải là một vấn đề. Và có 50 khái quát về các hàm lồi từ đó có thêm hai hàm hữu dụng về mặt ứng dụng là quasiconvex và log-lõm.

Ngoài ra, có một số cách để đối phó với "stochasticity" theo một cách nào đó, thậm chí "Không ai biết cách giải quyết tối ưu hóa lồi ngẫu nhiên"

  1. Tối ưu hóa NonConvex - thường là những người có nghĩa là một cái gì đó là mục tiêu liên tục, nhưng độ cong có thể khác nhau. Mọi người trên hành tinh này không biết cách giải quyết nó một cách chính xác. Và trên thực tế, tất cả các mehtod đều tận dụng thành (1)

  2. Tối ưu hóa kết hợp - thậm chí còn hoang dã hơn (2), bây giờ đối với các tham số mà bạn thấy bạn thậm chí không thể áp dụng toán tử trừ. Một ví dụ là "vùng" trong Cây quyết định. Vì vậy, có hai cách để đối phó với nó: a) Giải quyết vấn đề và sử dụng các phương pháp từ (1) b) Tạo lực lượng vũ phu. Không hoạt động cho số lượng lớn các tham số. c) Tạo ra sức mạnh vũ phu nhưng với một số bước tham lam. Đó là điều mà GIỎI làm.


Vì vậy, ít nhất tôi nghĩ rằng tôi thuyết phục bạn rằng:

I) Tối ưu hóa lồi là điều trung tâm cho hầu hết các vấn đề tối ưu hóa.

II) "Tối ưu hóa 01:15 thực tế là chủ đề lớn hơn ML hoặc AI, nhưng thực tế nó là chủ đề lớn hơn." ( https://www.youtube.com/watch?v=uF3htLwUHn0&t=992s )


Đây là một chút ngắn gọn bởi các tiêu chuẩn của trang web này như là một câu trả lời - bạn có nghĩ rằng bạn có thể mở rộng trên nó? Nếu không, nó có thể phù hợp nhất như là một bình luận.
Cá bạc

Được. Tôi sẽ mở rộng, nhưng trên thực tế có thể viết một bài viết về kết nối với các lĩnh vực khác nhau. Trong thực tế, tôi đã hỏi Stephen P. Boyd về câu hỏi liên quan đến việc mọi người nghĩ về điều gì trước đây và khi nào - youtu.be/XV1E-Jnc4SU?t=242 . Ông nói rằng ngày nay thế giới đã bị rạn nứt.
bruziuz

1
@Silverfish Tôi đã cập nhật, bây giờ là văn bản dài thay vì một câu.
bruziuz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.