Mari kita lihat masa depan sekitar 30 tahun dari sekarang. Mari kita optimis dan berasumsi bahwa bidang yang terkait dengan pembelajaran mesin terus berkembang secepat apa yang telah kita lihat dalam 10 tahun terakhir. Itu akan bagus, tetapi kemudian apa yang akan menjadi peran algoritma tradisional di masa depan?
Di sini oleh "algoritme tradisional" Saya merujuk pada proses yang biasa kita ikuti di TCS: memformalkan masalah komputasi yang terdefinisi dengan baik , merancang algoritma untuk memecahkan masalah, dan membuktikan jaminan kinerja formal .
Sekarang apa bidang aplikasi di mana kita harus menggunakan desain dan analisis algoritma tradisional juga di masa depan, dan sangat tidak mungkin bahwa setiap kemajuan pembelajaran mesin akan membuat algoritma tradisional sebagian besar tidak relevan?
Pada awalnya ini mungkin tampak seperti pertanyaan konyol: Tentu saja kita harus dapat melakukan penyortiran, pencarian, pengindeksan, dll juga di masa depan! Tentu saja kita harus dapat melakukan transformasi Fourier secara efisien, melipatgandakan matriks besar, menemukan jalur terpendek, menyelesaikan masalah optimasi linear!
Tetapi sekali lagi, setelah Anda mulai melihat lebih dalam pada aplikasi di mana kami secara tradisional menggunakan algoritma yang kami desain, sama sekali tidak jelas bahwa desain dan analisis algoritma tradisional adalah jawaban yang tepat untuk masalah-masalah seperti: Dalam aplikasi yang terkait dengan pencarian , biasanya kami tertarik untuk menemukan sesuatu yang cocok untuk manusia dalam arti yang tidak jelas (mis. kesamaan semantik), bukan sesuatu yang optimal dalam beberapa pengertian matematika (misalnya jarak edit minimum). Dalam aplikasi yang berkaitan dengan perencanaan rute, biasanya kami tertarik untuk menemukan rute yang baik berdasarkan contoh (mis. orang lain lebih suka), bukan rute yang optimal dalam beberapa pengertian matematis (misalnya jarak terdekat atau harga termurah). Dan begitu Anda memiliki beberapa komponen manusia yang samar-samar dan tidak jelas dalam gambar, mungkin kita lebih baik mencoba mengajarkan komputer untuk menghasilkan jawaban yang baik berdasarkan contoh, daripada mencoba membiarkan peneliti TCS muncul. dengan masalah komputasi formal yang dapat kita atasi melalui desain dan analisis algoritma tradisional.
Jadi apa saja area aplikasi (lebih disukai aplikasi industri nyata dan langsung) di mana sangat jelas bahwa apa yang telah kita lakukan dalam algoritmik di masa lalu juga akan menjadi cara yang benar (dan satu-satunya cara yang mungkin) untuk membuat kemajuan dalam masa depan?
Algoritma yang digunakan sebagai subrutin dalam teknik pembelajaran mesin terlihat seperti kandidat yang terbukti nyata di masa depan, tetapi ini sangat bergantung pada teknik pembelajaran mesin tertentu yang kami gunakan, dan seperti yang telah kita lihat dalam sepuluh tahun terakhir ini, ini dapat dengan cepat berubah .
sumber
Jawaban:
Ini adalah pertanyaan yang telah menghantui saya baru-baru ini, jadi saya senang Anda menanyakannya.
Namun, saya kurang tertarik dalam mengklasifikasikan area aplikasi yang pembelajaran mesin akan mendominasi pendekatan komputasi daripada saya dalam dampak pada kemajuan dalam bidang algoritma (tradisional). Riset "algoritma buatan manusia" seperti apa yang masih menarik bagi kita, dalam 30 tahun? Harus diakui, ini adalah pertanyaan yang paling sulit dijawab secara umum, karena itu adalah aplikasi yang menentukan kualitas hasil apa yang diperlukan.
Saya pikir algoritma enumerasi akan berjumlah di antara para penyintas. Akan terus ada kebutuhan untuk menguji semua input ke sebuah chip, atau melakukan pencarian lengkap. Perhatian khusus objek, desain yang disetel halus diperlukan untuk menghasilkan setiap instance objek secara tepat (atau setidaknya) satu kali; dan penguatan waktu berjalan dari setiap upaya yang sia-sia (mungkin ada sejumlah contoh eksponensial, sebagai fungsi dari deskripsi objek) - faktor-faktor ini membuat saya skeptis bahwa proses pembelajaran otomatis tujuan umum dapat cocok dengan orang pintar, solusi yang dirancang khusus di bidang ini.
sumber
Masalah dengan solusi pembelajaran mesin adalah bahwa tidak ada cara untuk diketahui jika mereka benar-benar menghitung apa yang Anda inginkan.
Saya berharap mereka mengambil alih di semua domain di mana hasil yang salah tidak berbahaya (yaitu di mana-mana saat ini kami menggunakan heuristik) atau hasilnya dapat dengan mudah diperiksa (masalah pencarian yang Anda tahu solusinya ada (karena memeriksa "ada" ada solusi "bisa jadi sulit)).
Untuk domain yang tersisa, saya berharap algoritma akan dibuktikan secara formal (misalnya menggunakan Coq / Gallina) lebih sering. Mudah-mudahan, pembelajaran mesin pada akhirnya akan membuat membuktikan hal-hal dalam sistem semudah di atas kertas (atau bahkan lebih mudah). Bahkan bisa sampai pada titik di mana manusia hanya menulis spesifikasi dan algoritma dan bukti kebenarannya ditemukan menggunakan pembelajaran mesin. (Perhatikan bahwa algoritma itu sendiri tidak menggunakan pembelajaran mesin, tetapi itu dan bukti kebenarannya ditemukan menggunakan pembelajaran mesin)
Jadi kita mungkin menemukan diri kita menulis hanya asisten bukti, spesifikasi program dan algoritma pembelajaran mesin.
sumber