Optimasi kebijakan proksimal (PPO) adalah algoritma pembelajaran penguatan mendalam untuk meningkatkan kinerja model dengan menggunakan pembelajaran penguatan. Kebijakan dalam PPO menunjukkan bagaimana agen—seperti robot atau program—telah belajar untuk bertindak di dunia. Pendekatan ini membantu merevolusi pembelajaran dan merupakan bagian penting dari cara agen dan sistem dapat belajar saat berinteraksi dengan pengguna dan dunia. Model bahasa besar modern (seperti turunan dari OpenAI ChatGPT) menggunakan PPO untuk pembelajaran penguatan dari masukan manusia (RLHF). PPO juga merupakan salah satu algoritma yang paling umum digunakan untuk melatih agen dalam video game, otomatisasi proses robot, dan mobil self-driving.
PPO pertama kali diperkenalkan oleh John Schulman, Filip Wolski, dkk1 dalam makalah berjudul Proximal Policy Optimization Algorithms. Untuk memahami cara kerja PPO dan mengapa metode ini penting, kita harus mulai dengan pembelajaran penguatan (RL). Proses RL menggunakan machine learning untuk membantu sistem memilih tindakan berdasarkan lingkungan dan tujuannya. Manusia membuat keputusan seperti ini sepanjang waktu. Misalnya, dalam permainan blackjack, kita memutuskan apakah akan “hit” (mendapatkan kartu baru) atau “stay” (mempertahankan kartu yang sudah kita miliki). Pembelajaran penguatan memiliki empat elemen dasar: agen, lingkungan, tindakan, dan imbalan. Dalam contoh bermain blackjack, kita memiliki:
Agen: manusia yang memainkan permainan.
Lingkungan: kartu apa yang dimiliki pemain dan kartu apa yang dapat mereka lihat yang dimiliki dealer.
Tindakan: apakah akan “memukul” (mendapatkan kartu baru) atau “tinggal” (simpan kartu saat ini).
Hadiah: apakah pengguna menang atau kalah tangan.
Kebijakan adalah strategi atau seperangkat aturan yang diikuti agen, seperti robot atau program perangkat lunak, untuk memilih tindakan diskrit berdasarkan lingkungannya. Kebijakan ini memetakan lingkungan ke kemungkinan tindakan yang dapat diambil agen. Kebijakan dapat bersifat sederhana, dengan tindakan tetap untuk setiap keadaan, atau kompleks, dengan menggabungkan estimasi atau perhitungan untuk memilih tindakan dan mempelajari mekanisme yang menentukan tindakan optimal. Tujuannya adalah menemukan kebijakan yang memaksimalkan imbalan kumulatif yang diterima agen dari waktu ke waktu. Anda dapat membayangkan kebijakan sederhana untuk blackjack seperti, “hit jika kartu Anda di bawah 17, tetap jika kartu Anda lebih dari 18.” Agen akan membandingkan keadaan lingkungan dengan kebijakan dan memilih tindakan berdasarkan kebijakan tersebut.
RL adalah cara untuk membantu agen mempelajari kebijakan yang membantunya memutuskan tindakan mana yang harus diambil untuk memaksimalkan imbalan. PPO adalah teknik yang ampuh untuk membantu agen belajar secara lebih efektif. Teknik ini telah digunakan dalam berbagai aplikasi, mulai dari membangun robot hingga meningkatkan kemampuan model bahasa besar (LLM) dalam melakukan penalaran dan merespons prompt. PPO merupakan salah satu komponen mendasar dalam pembelajaran penguatan menggunakan masukan manusia (RLHF) yang digunakan untuk melatih LLM. Metode RLHF inilah yang telah mendorong banyak riset terbaru tentang RL.
Ada dua kelompok besar metode RL. Yang pertama adalah metode berbasis nilai, yang mengevaluasi lingkungan dan menentukan tindakan terbaik berdasarkan imbalan yang diharapkan. Semua tindakan yang mungkin dievaluasi, kemudian agen memilih tindakan dengan imbalan tertinggi yang diharapkan. Untuk menentukan tindakan terbaik, agen berfokus pada pembelajaran fungsi nilai yang memperkirakan imbalan kumulatif (pengembalian) yang diharapkan dari setiap lingkungan atau pasangan lingkungan-tindakan. Kebijakan diturunkan secara tidak langsung dengan memilih tindakan yang memaksimalkan nilai estimasi. Idenya adalah menemukan fungsi nilai optimal untuk setiap tindakan yang mungkin, yang pada akhirnya akan menghasilkan kebijakan optimal. Ketika terdapat pasangan tindakan dan lingkungan yang terbatas untuk dieksplorasi, pendekatan ini dapat sangat efektif. Agen akan menghitung imbalan yang diharapkan untuk setiap tindakan dan memilih tindakan berdasarkan perkiraan tersebut. Namun, dengan ruang aksi yang besar, ketika jumlah tindakan yang mungkin sangat tinggi, menjadi sulit untuk memperkirakan pengembalian untuk setiap tindakan. Robot yang harus menentukan cara menggerakkan lengan dengan banyak sendi dalam ruang 3D dapat menghadapi ribuan keputusan yang mungkin, terlalu banyak untuk menghitung fungsi bagi setiap kombinasi posisi sendi yang mungkin. Hal ini juga membatasi agen pada tindakan yang telah ditentukan sebelumnya, sehingga agen tidak dapat menghasilkan strategi baru atau inovatif.
Ini mengarah pada pendekatan kedua: metode berbasis kebijakan. Kebijakan adalah strategi atau seperangkat aturan yang diikuti agen, seperti robot atau program perangkat lunak, untuk membuat keputusan berdasarkan lingkungannya. Kebijakan ini memberikan pemetaan dari lingkungan ke kemungkinan tindakan yang dapat diambil agen. Kebijakan dapat bersifat sederhana, dengan tindakan tetap untuk setiap keadaan, atau kompleks, dengan menggabungkan perkiraan keuntungan dan perhitungan untuk memilih tindakan serta mempelajari mekanisme yang menentukan tindakan optimal. Tujuannya adalah menemukan kebijakan yang memaksimalkan imbalan kumulatif yang diterima agen dari waktu ke waktu. Bayangkan model yang mencoba memutuskan kapan harus membeli, menjual, atau mempertahankan saham tertentu. Sebuah kebijakan akan menentukan kapan agen harus mempertimbangkan untuk membeli atau menjual saham berdasarkan tren saham atau perilaku pasar saham secara keseluruhan.
Metode pembelajaran berbasis kebijakan mempelajari tindakan mana yang lebih disukai untuk keadaan tertentu tanpa memperkirakan hasil yang diharapkan secara langsung. Pendekatan ini memungkinkan agen mempelajari lebih banyak tindakan yang mungkin dilakukan untuk setiap keadaan dan tidak perlu memperkirakan fungsi nilai untuk masing-masing tindakan. Agen mengoptimalkan kebijakan dengan menyesuaikan kemungkinan pemilihan tindakan untuk memaksimalkan pengembalian yang diharapkan tanpa memperkirakan fungsi keuntungan untuk setiap tindakan. Proses ini membutuhkan lebih banyak data dan arsitektur pembelajaran yang lebih kompleks karena jumlah tindakan yang mungkin dilakukan untuk suatu keadaan secara teoritis tidak terbatas. Gradien kebijakan merupakan bagian dari kategori kedua.
Dengan pembelajaran kebijakan, terdapat dua pendekatan mendasar untuk mempelajari kebijakan bagi agen. Metode berbasis kebijakan hanya menggunakan tindakan saat ini untuk mendorong pembelajaran—belajar dari apa yang Anda lakukan. Bayangkan mobil self-driving yang mencoba menemukan rute optimal ke tujuan selama beberapa perjalanan. Dalam pembelajaran kebijakan, mobil hanya akan belajar dari rute yang dijalaninya.
Kebijakan ini mengarahkan tindakan agen di setiap lingkungan, termasuk proses pengambilan keputusan saat belajar. Agen mengevaluasi hasil dari tindakannya saat ini dan menyempurnakan strateginya secara bertahap. Metode ini memungkinkan agen untuk beradaptasi dan meningkatkan pengambilan keputusannya dengan berinteraksi langsung dengan lingkungan dan belajar dari interaksi waktu nyata itu sendiri.
Metode di luar kebijakan akan membuat mobil mengamati rute yang diambil oleh mobil self-driving lainnya untuk belajar dari tindakan mereka. Mobil tidak harus mengikuti kebijakan yang sama dengan mobil yang diamati, tetapi dapat mengamati imbalan yang mereka terima dari tindakan tersebut dan memperbarui kebijakannya sendiri berdasarkan informasi itu. Hal ini melibatkan pembelajaran nilai kebijakan optimal secara independen dari tindakan agen. Metode ini memungkinkan agen untuk belajar dari pengamatan terhadap kebijakan optimal, bahkan ketika agen tidak mengikutinya. Metode ini berguna untuk belajar dari kumpulan data tetap atau kebijakan pengajaran.
Gradien kebijakan adalah pendekatan berbasis kebijakan untuk membuat kebijakan yang secara langsung mengoptimalkan kebijakan itu sendiri dengan mengikuti gradien pengembalian yang diharapkan terhadap parameter kebijakan. Secara konseptual, metode ini mirip dengan penurunan gradien stokastik (SGD), yang berupaya meminimalkan kesalahan prediksi menggunakan fungsi kerugian. Namun, terdapat perbedaan utama: SGD biasanya memperkirakan parameter untuk meminimalkan kerugian. Gradien kebijakan berupaya memperkirakan parameter distribusi kebijakan untuk memprioritaskan tindakan yang memaksimalkan imbalan. Tujuannya adalah menciptakan distribusi probabilitas untuk semua tindakan yang mungkin, sehingga tindakan yang memberikan imbalan lebih besar menjadi lebih mungkin dipilih, sedangkan tindakan yang memberikan imbalan lebih rendah menjadi lebih kecil kemungkinannya.
Gradien kebijakan adalah metode yang disebut aktor–kritikus. Aktor merupakan jaringan kebijakan yang memilih tindakan, sedangkan kritikus memperkirakan seberapa baik kebijakan tersebut dalam mencocokkan tindakan dengan keadaan tertentu untuk memperoleh imbalan.
Jika kebijakan Anda adalah (distribusi probabilitas atas tindakan), dan tujuan agen adalah untuk memaksimalkan pengembalian yang diharapkan yang dilambangkan dengan maka akan diperlukan langkah-langkah pendakian bertahap yang didefinisikan sebagai:
Dalam hal ini adalah vektor parameter kebijakan yang menentukan distribusi probabilitas tindakan. Kebijakan lama diperbarui, , dengan kebijakan sebelumnya ditambah tingkat pembelajaran kali gradien kebijakan. Gradien kebijakan adalah gradien sehubungan dengan dikalikan fungsi objektif yang mewakili pengembalian yang diharapkan dari kebijakan.
Gradien kebijakan belajar dengan menerapkan kebijakan saat ini, memilih tindakan, mengevaluasi imbalan, kemudian menghitung gradien fungsi tujuan. Algoritma kemudian menerapkan pembaruan kebijakan untuk iterasi berikutnya, sehingga dapat mengambil tindakan dan mengamati keuntungan yang diperoleh dari pembaruan tersebut.
Inti dari pendekatan gradien kebijakan adalah teorema gradien kebijakan, yang menunjukkan bagaimana suatu kebijakan dapat dioptimalkan. Gradien hanyalah seberapa besar probabilitas suatu tindakan ditingkatkan atau dikurangi oleh kebijakan, dikalikan dengan imbalan yang direalisasikan oleh tindakan tersebut. Persamaan untuk teorema gradien kebijakan diberikan sebagai:
Persamaan ini menyatakan bahwa gradien kebijakan tertentu untuk parameter dapat diatur ke sebuah ekspektasi . Harapan itu adalah fungsi skor dikalikan log-probabilitas dari tindakan yang dipilih dan , imbalan yang diperoleh dari tindakan yang dilakukan oleh agen dalam keadaan .
Gradien kebijakan memungkinkan agen mengeksplorasi berbagai variasi dan menghitung dengan cepat dan efisien variasi mana yang akan menghasilkan imbalan terbesar. Teknik ini bukannya tanpa kekurangan. Misalnya, metode gradien kebijakan sering kali akan menyatu ke maksimum lokal alih-alih optimum global. Menghitung gradien kebijakan juga dapat membutuhkan waktu pelatihan yang lebih lama dibandingkan jenis metode kebijakan lainnya. Gradien kebijakan itu sendiri dapat menghasilkan varians yang tinggi, yang berarti estimasi gradien menjadi sangat tidak akurat. Hal ini dapat menyebabkan proses salah memperkirakan lintasan gradien dan seberapa besar perubahan kebijakan memengaruhinya.
Contoh klasik dari algoritma gradien kebijakan adalah Trust Region Policy Optimization (TRPO)2. Algoritma ini merupakan terobosan besar ketika pertama kali diperkenalkan, tetapi memiliki beberapa masalah yang sudah dikenal luas sehingga sulit digunakan dalam praktik.
PPO merupakan pengembangan dari penggunaan gradien kebijakan untuk pembelajaran. Pada dasarnya, tujuannya adalah menemukan cara untuk mengambil langkah perbaikan terbesar yang mungkin pada suatu kebijakan dengan menggunakan data yang tersedia, tanpa melakukan pembaruan kebijakan yang terlalu besar sehingga menyebabkan kinerja menurun drastis. Dalam metode gradien kebijakan, kebijakan ditingkatkan dengan mengarahkan parameternya ke arah yang meningkatkan imbalan yang diharapkan. Namun, pembaruan yang besar dapat menurunkan kinerja, dan satu langkah gradien yang terlalu agresif dapat mengubah perilaku agen secara drastis serta mengganggu proses pembelajaran. Algoritma sebelumnya (seperti TRPO) mengatasi masalah ini dengan memberlakukan batasan mengenai seberapa jauh kebijakan baru dapat menyimpang dari kebijakan lama, tetapi pendekatan tersebut secara matematis lebih rumit.
PPO menjaga pembaruan kebijakan tetap dekat dengan kebijakan sebelumnya sambil menghindari kebutuhan akan kendala yang kompleks. Alih-alih memilih pembaruan berikutnya secara stokastik, PPO menggunakan apa yang disebut tujuan pengganti terpotong yang mencegah kebijakan membuat lompatan besar. Kebijakan tersebut akan tetap membaik—yaitu melalui gradien imbalan saat agen menerapkannya dan mengamati hasilnya, tetapi hal itu akan terjadi dengan aman.
Dengan gradien kebijakan, setiap iterasi mengambil langkah kenaikan gradien pada fungsi tujuan kebijakan. Ukuran langkah ini menghadirkan tantangan. Jika langkahnya terlalu kecil, proses pelatihan akan berjalan lambat, tetapi jika terlalu besar, akan ada terlalu banyak variabilitas dalam kebijakan sehingga agen kesulitan menemukan solusi optimal.
Di PPO, idenya adalah membatasi pembaruan kebijakan menggunakan fungsi tujuan pengganti yang terpotong, yang membatasi perubahan kebijakan pada rentang tertentu. Fungsi ini diberikan sebagai:
Untuk memecah rumus ini, bagian pertama adalah fungsi rasio: . Fungsi rasio tersebut adalah:
Ini adalah probabilitas untuk mengambil tindakan dinegara bagian dalam kebijakan saat ini dibagi dengan yang sebelumnya. Ini menghitung rasio probabilitas kebijakan saat ini dan lama. Jika , lalu aksi dalam keadaan lebih mungkin dalam kebijakan saat ini daripada kebijakan lama. Jika rasionya kurang dari 1, maka tindakannya kurang seperti dalam kebijakan saat ini daripada yang lama.
Bagian ini menunjukkan bagaimana PPO memotong fungsi dengan menggunakan batasan pengganti untuk menghukum perubahan yang menyebabkan rasio menjauh dari 1. Langkah ini menunjukkan bahwa saat algoritma mencoba melakukan perubahan pada kebijakan, perubahan tersebut dijaga tetap kecil oleh nilai epsilon .
Keunggulan utama dari pendekatan pengganti terpotong ini adalah menghasilkan perubahan yang kecil dan efisien secara komputasi. Metode lama seperti TRPO menggunakan divergensi KL setelah menghitung fungsi objektif untuk membatasi pembaruan kebijakan. Pendekatan tersebut efektif dalam membatasi pembaruan, tetapi membutuhkan implementasi yang kompleks dan waktu komputasi yang lebih lama. PPO mengimplementasikan rasio probabilitas terpotong tersebut langsung dalam fungsi objektif sehingga mempercepat setiap epoch pelatihan.
Keuntungan lain yang dimiliki PPO dibandingkan banyak pendekatan lainnya adalah efisiensi sampel yang lebih tinggi, yaitu setiap interaksi dengan lingkungan menghasilkan peningkatan kebijakan yang lebih besar. PPO mencapai efisiensi ini dengan membuat minibatch dari data peluncuran yang memungkinkan data interaksi yang sama digunakan dalam beberapa pembaruan. Pendekatan lain seperti Deep Q-Networks mungkin lebih efisien, tetapi lebih intensif secara komputasi sehingga kurang disukai ketika tersedia data yang memadai.
Bagian penting dalam memperbarui kebijakan adalah memperkirakan seberapa besar keuntungan yang diperoleh kebijakan dibandingkan dengan iterasi sebelumnya. Langkah ini lebih kompleks secara komputasi daripada sekadar menghitung perbedaan imbalan antara dua kebijakan pada langkah tertentu. Agen perlu mempelajari seberapa besar distribusi probabilitas tindakan selama beberapa langkah. Bahkan dalam permainan blackjack yang relatif sederhana, dampak dari tindakan yang dilakukan aktor mungkin baru terlihat beberapa putaran permainan kemudian. Metode ini menjadi semakin penting dalam permainan seperti catur atau skenario yang melibatkan navigasi robot.
Untuk mempelajari pembaruan ini, PPO menggunakan apa yang disebut strategi estimasi keuntungan umum iteratif (GAE). Langkah ini membantu menentukan seberapa baik kebijakan bekerja dan seberapa jauh kebijakan tersebut perlu diubah dari kebijakan saat ini agar dapat diperbaiki. GAE menghitung keuntungan dengan memberikan bobot eksponensial pada kesalahan di masa depan, sehingga memberikan PPO sinyal pembelajaran dengan varians rendah dan bias rendah yang membuat pembaruan kebijakan lebih stabil dan hemat sampel.
Berhenti terlalu dini dalam mengumpulkan imbalan aktual menimbulkan bias yang tinggi karena hanya sebagian kecil dari pengembalian sebenarnya yang dipertimbangkan bersama imbalan aktual yang minimal. Mengumpulkan terlalu banyak imbalan menyebabkan varians yang tinggi karena mengandalkan jumlah sampel nyata yang lebih besar dapat membuat perkiraan menjadi tidak stabil.
Perpustakaan seperti Stable-Baselines3 dan RLlib menyediakan implementasi PPO berfitur lengkap yang dapat diterapkan pada berbagai domain dan masalah. Ada juga implementasi yang lebih ringan seperti CleanRL yang menyertakan tutorial untuk belajar mandiri yang ditulis dalam PyTorch dan TensorFlow yang dapat ditemukan di GitHub.
Perpustakaan seperti transformer reinforcement learning (TRL) dari HuggingFace dioptimalkan secara khusus untuk membantu melatih model bahasa berbasis transformer menggunakan algoritma RL seperti PPO. Dalam konteks ini, PPO membantu memastikan bahwa model belajar memilih respons yang lebih selaras dengan tujuan pembuat model dan masukan manusia.
Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.
Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.
Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.
1. Schulman, J., Wolski, F., Dhariwal, P., Radford, A., & Klimov, O. (2017). Algoritma optimasi kebijakan proksimal. arXiv preprint arXiv:1707.06347.
2. Schulman, J., Levine, S., Abbeel, P., Jordan, M., & Moritz, P. (2015, Juni). Optimalisasi kebijakan wilayah kepercayaan. Dalam konferensi tentang machine learning (hlm. Tahun 1889-1897). PMLR.