Mengapa tidak cembung menjadi masalah dalam optimasi?


20

Saya sangat terkejut ketika saya mulai membaca sesuatu tentang optimasi non-cembung secara umum dan saya melihat pernyataan seperti ini:

Banyak masalah praktis yang penting adalah non-cembung, dan sebagian besar masalah non-cembung sulit (jika bukan tidak mungkin) untuk dipecahkan secara tepat dalam waktu yang wajar. ( sumber )

atau

Secara umum itu NP-sulit untuk menemukan minimum lokal dan banyak algoritma mungkin macet pada titik pelana. ( sumber )

Saya melakukan semacam optimasi non-cembung setiap hari - yaitu relaksasi geometri molekul. Saya tidak pernah menganggapnya sebagai sesuatu yang rumit, lambat dan mungkin macet. Dalam konteks ini, kami memiliki permukaan non-cembung yang jelas banyak dimensi (> 1000 derajat kebebasan). Kami menggunakan sebagian besar teknik tingkat pertama yang diturunkan dari penurunan paling curam dan pendinginan dinamis seperti FIRE , yang konvergen dalam beberapa ratus langkah ke minimum lokal (kurang dari jumlah DOF). Saya berharap bahwa dengan penambahan kebisingan stokastik itu harus kuat sekali. (Optimalisasi global adalah cerita yang berbeda)

Saya entah bagaimana tidak bisa membayangkan bagaimana permukaan energi potensial akan terlihat, untuk membuat metode optimasi ini macet atau perlahan-lahan bertemu. Misalnya PES yang sangat patologis (tetapi bukan karena ketidakcocokan) adalah spiral ini , namun ini bukan masalah besar.Bisakah Anda memberikan contoh ilustratif PES non-cembung patologis?

Jadi saya tidak ingin berdebat dengan kutipan di atas. Sebaliknya, saya merasa bahwa saya kehilangan sesuatu di sini. Mungkin konteksnya.


4
Kata kuncinya di sini adalah "secara umum" - Anda dapat membangun fungsionalitas yang sewenang-wenang tidak menyenangkan, terutama dalam dimensi yang sangat tinggi yang pada dasarnya adalah "semua poin pelana". Spesifik kelas functionals nonconvex, di sisi lain, bisa sangat baik berperilaku, terutama jika Anda menggunakan strategi globalisasi yang tepat.
Christian Clason

2
Saya pikir teori kontrol yang optimal dan aplikasi penelitian teknik / operasi memberikan sedikit penekanan pada kebenaran / ketahanan, sedangkan Anda berpikir bahwa mendapatkan suatu tempat "cukup baik" cukup baik. Mungkin ada batas kinerja (konvergensi harus dijamin, sehingga lintasan robot dihitung dalam waktu), atau batas kebenaran (jika Anda sedikit mengubah parameter masalah, Anda tidak mendapatkan hasil yang sama sekali berbeda). Jadi itu tidak cukup untuk mendapatkan beberapa poin optimal, juga perlu bagi mereka untuk memiliki beberapa properti yang ditentukan.
Kirill

Jawaban:


23

Kesalahpahaman terletak pada apa yang merupakan "pemecahan" masalah optimasi, misalnya . Untuk ahli matematika, masalahnya hanya dianggap "terpecahkan" begitu kita memiliki:argminf(x)

  1. Solusi kandidat: Pilihan tertentu dari variabel keputusan dan nilai objektif yang sesuai f ( x ) , DANxf(x)
  2. Bukti optimalitas: Bukti matematis bahwa pilihan adalah optimal secara global, yaitu bahwa f ( x ) f ( x ) berlaku untuk setiap pilihan x .xf(x)f(x)x

Ketika adalah cembung, kedua bahan tersebut mudah didapat. Gradient descent menempatkan solusi kandidat x yang membuat gradien menghilang f ( x ) = 0 . Bukti optimalitas mengikuti dari fakta sederhana yang diajarkan dalam MATH101 bahwa, jika f adalah cembung, dan gradiennya f menghilang pada x , maka x fxf(x)=0ffxx adalah solusi global.

Ketika adalah nonconvex, solusi kandidat mungkin masih mudah ditemukan, tetapi bukti optimalitas menjadi sangat sulit. Sebagai contoh, kita dapat menjalankan gradient descent dan menemukan titik f ( x ) = 0 . Tetapi ketika f adalah nonconvex, kondisi f ( x ) = 0 diperlukan tetapi tidak lagi cukup untuk optimalitas global. Memang, itu bahkan tidak cukup untuk optimalitas lokal , yaitu kita bahkan tidak dapat menjamin bahwa x ff(x)=0ff(x)=0xadalah minimum lokal berdasarkan pada informasi gradiennya saja. Salah satu pendekatan adalah untuk menghitung semua poin yang memenuhi , dan ini bisa menjadi tugas yang berat bahkan lebih dari satu atau dua dimensi saja.f(x)=0

Ketika ahli matematika mengatakan bahwa sebagian besar masalah tidak mungkin diselesaikan, mereka benar-benar mengatakan bahwa bukti optimalitas (bahkan lokal) tidak mungkin dibangun . Tetapi di dunia nyata, kita sering hanya tertarik untuk menghitung solusi "cukup baik", dan ini dapat ditemukan dalam banyak cara. Untuk banyak masalah yang sangat non-konveks, intuisi kita memberi tahu kita bahwa solusi "cukup-baik" sebenarnya optimal secara global, bahkan jika kita sama sekali tidak dapat membuktikannya!


optimalitas global vs lokal adalah masalah yang sama sekali berbeda. Tetapi sisanya masuk akal. Dapat mengatakan lebih banyak tentang "bahkan tidak dapat menjamin bahwa x adalah minimum lokal berdasarkan informasi gradiennya saja" atau lebih baik menggambarkan itu?
Prokop Hapala

Misalkan kita memiliki fungsi dan g ( x ) = x 4 sebagai kotak hitam (yaitu kita hanya dapat mengevaluasi, tetapi kita tidak bisa melihat bentuknya). Titik x = 0 membuat kedua gradien menghilang, yaitu f ( x ) = 0 dan g ( x ) = 0f(x)=x3g(x)=x4x=0f(x)=0g(x)=0 , tetapi intinya hanya minimum lokal untuk g. Sebenarnya, turunan kedua mereka juga nol pada titik ini, sehingga dua skenario identik dari dua turunan pertama saja!
Richard Zhang

aha, OK, saya selalu secara otomatis mengasumsikan inersia => bahwa algoritma tidak akan cenderung konvergen ke titik dalam g ( x ) = x 3 sama sekali. Tapi tentu saja, di sana kami menggunakan informasi tambahan (inersia) dari langkah sebelumnya, bukan hanya gradien dalam satu titik. x=0g(x)=x3
Prokop Hapala

Saya mengerti maksud Anda. Dan mungkin itulah alasan mengapa secara matematis optimasi non-cembung dianggap sulit. Tapi, masih saya lebih tertarik pada aplikasi praktis, di mana heuristik (yang saya anggap sebagai bagian alami dari algoritma) akan gagal total.
Prokop Hapala

Bagaimana dengan quasiconvexity? Dengan logika ini (( sudah cukup), bukankah masalah quasiconvex akan mudah dioptimalkan seperti masalah cembung?. Pemahaman saya adalah bahwa yang terakhir itu tidak benar (masalah cembung masih lebih mudah)f(x)=0
Amelio Vazquez-Reina

6

Contoh masalah dimensi rendah yang rumit dapat berupa:

masukkan deskripsi gambar di sini

Mengingat Anda menekan minimum lokal, bagaimana Anda bisa yakin itu mendekati sebaik global minimum? Bagaimana Anda tahu jika hasil Anda adalah solusi optimal yang unik, mengingat itu adalah optimal secara global? Bagaimana Anda bisa membuat algoritma yang kuat untuk semua bukit dan lembah sehingga tidak terjebak di suatu tempat?

Contoh seperti ini adalah di mana segala sesuatunya menjadi sulit. Jelas, tidak semua masalah seperti ini, tetapi beberapa ada. Yang lebih buruk adalah, dalam pengaturan dalam industri, fungsi biaya mungkin memakan waktu untuk menghitung DAN memiliki permukaan yang bermasalah seperti yang di atas.

Contoh Masalah Nyata

Contoh yang bisa saya tangani di tempat kerja adalah melakukan optimasi untuk algoritma panduan rudal yang bisa kuat di banyak kondisi peluncuran. Dengan menggunakan cluster kami, saya bisa mendapatkan pengukuran kinerja yang saya butuhkan dalam waktu sekitar 10 menit untuk satu kondisi. Sekarang untuk menilai ketahanan secara memadai, kami ingin setidaknya beberapa contoh kondisi untuk dihakimi. Jadi katakanlah kita menjalankan enam kondisi, membuat evaluasi fungsi biaya ini memakan waktu satu jam.

Dinamika rudal nonlinear, dinamika atmosfer, proses waktu diskrit, dll menghasilkan reaksi nonlinier yang cukup terhadap perubahan dalam algoritma panduan, membuat optimasi sulit untuk diselesaikan. Fakta bahwa fungsi biaya ini menjadi non-cembung membuat fakta bahwa memakan waktu untuk mengevaluasi masalah besar. Contoh seperti ini adalah di mana kita akan berusaha untuk mendapatkan yang terbaik yang kita bisa pada saat kita diberikan.


1
OK, saya pikir ini adalah masalah yang berbeda ... masalah optimasi global, yang jelas sulit, dan tidak dapat diselesaikan dalam sebagian besar situasi. Tapi itu bukan apa yang orang-orang rujuk sehubungan dengan optimasi non-cembung, di mana mereka mengatakan bahwa NP-sulit untuk menemukan minimum lokal dan banyak algoritma mungkin macet pada titik pelana.
Prokop Hapala

1
@ ProkopHapala Komentar saya lebih mengacu pada kutipan. Banyak masalah praktis yang penting adalah non-cembung, dan sebagian besar masalah non-cembung sulit (jika bukan tidak mungkin) untuk diselesaikan tepat dalam waktu yang wajar , terutama karena OP berbicara tentang betapa sederhana bagi mereka untuk mengatasi masalah non-cembung dalam penelitian. Memecahkan tepatnya , bagi saya, adalah berjuang untuk solusi optimal global (atau sesuatu yang dekat). Jadi saya ingin melukiskan gambaran tantangan dunia nyata yang terkait dengan komentar ini.
spektr

Saya mengerti. Sebenarnya Anda benar, tetapi saya pikir itu tidak membahas apa yang saya maksudkan ... mungkin saya harus merumuskannya dengan lebih baik.
Prokop Hapala

5

Masalahnya adalah poin sadel, yang dibahas di pos yang Anda tautkan. Dari abstrak salah satu artikel yang ditautkan :

Namun, secara umum sulit untuk menjamin bahwa algoritma tersebut bahkan menyatu ke minimum lokal, karena adanya struktur sadel yang rumit dalam dimensi tinggi. Banyak fungsi memiliki titik sadel yang merosot sehingga turunan orde pertama dan kedua tidak dapat membedakannya dengan optima lokal . Dalam makalah ini kami menggunakan turunan orde tinggi untuk menghindari titik sadel ini: kami merancang algoritma efisien pertama yang dijamin akan menyatu ke urutan lokal optimal ketiga (sementara teknik yang ada paling banyak urutan kedua). Kami juga menunjukkan bahwa NP-sulit untuk memperluas ini lebih jauh untuk menemukan optima lokal urutan keempat.

Pada dasarnya Anda dapat memiliki fungsi di mana Anda memiliki titik pelana yang tidak dapat dibedakan dari minima lokal ketika melihat turunan 1, 2 dan 3. Anda dapat menyelesaikan ini dengan membuka pengoptimal pesanan yang lebih tinggi, tetapi mereka menunjukkan bahwa menemukan minimum lokal urutan ke-4 adalah NP sulit.

x2y+y2 memiliki titik sebesar (0,0).

Anda bisa menggunakan sejumlah heuristik untuk menghindari poin-poin seperti itu, yang mungkin bekerja untuk banyak (kebanyakan?) Contoh dunia nyata, tetapi tidak dapat dibuktikan untuk selalu bekerja.
Dalam posting blog yang Anda tautkan mereka juga membahas kondisi di mana Anda dapat melarikan diri dari poin pelana seperti itu dalam waktu polinomial.


ya, jelas bahwa dari nilai dan gradien dalam satu titik Anda tidak dapat membedakan ini. Tapi entah bagaimana saya tidak melihat mengapa heuristik umum (seperti keturunan gradien stokastik atau KEBAKARAN) harus gagal dalam situasi seperti itu. Saya cukup yakin bahwa itu akan berhasilx2y+y2. Jadi saya mencoba membayangkan beberapa fungsi patologis kalau itu tidak akan berhasil.
Prokop Hapala

2
Anda harus melihatnya dengan cara lain. Bukannya kita tahu bahwa penurunan gradien stokastik akan gagal, itu karena kita tidak tahu bahwa itu akan berhasil. Untuk masalah mainan, ini tidak mungkin terjadi dalam praktek, tetapi mungkin terjadi untuk masalah dimensi yang lebih tinggi. Taruhan saya adalah bahwa untuk masalah kimia Anda, ini tidak akan pernah terjadi, tetapi saya akan sulit sekali membuktikannya.
LKlevin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.