Pengoptimum ialah algoritma pengoptimuman yang digunakan untuk mencari nilai parameter yang meminimumkan ralat untuk meningkatkan ketepatan model. Dalam pembelajaran mesin, pengoptimum mencari penyelesaian terbaik untuk masalah tertentu dengan meminimumkan atau memaksimumkan fungsi kos.
Dalam model algoritma yang berbeza, terdapat banyak jenis pengoptimum yang berbeza, masing-masing mempunyai kelebihan dan keburukan tersendiri. Pengoptimum yang paling biasa ialah keturunan kecerunan, keturunan kecerunan stokastik, keturunan kecerunan stokastik dengan momentum, keturunan kecerunan suai dan kuasa dua purata akar. Setiap pengoptimum mempunyai beberapa tetapan parameter boleh laras yang boleh dilaraskan untuk meningkatkan prestasi.
Gradient Descent (GD)
Gradient Descent ialah algoritma pengoptimuman tertib pertama asas yang bergantung pada terbitan tertib pertama bagi fungsi kehilangan. Ia mencari nilai fungsi kos minimum dengan mengemas kini pemberat algoritma pembelajaran dan mencari nilai parameter yang paling sesuai sepadan dengan minimum global. Melalui perambatan balik, kehilangan dipindahkan dari satu lapisan ke lapisan yang lain, dan parameter model diselaraskan mengikut kehilangan untuk meminimumkan fungsi kehilangan.
Ini adalah salah satu pengoptimum tertua dan paling biasa digunakan dalam rangkaian saraf dan paling sesuai untuk situasi di mana data disusun dalam cara yang mempunyai masalah pengoptimuman cembung.
Algoritma keturunan kecerunan sangat mudah untuk dilaksanakan, tetapi terdapat risiko tersekat dalam minimum tempatan, iaitu, ia tidak akan menumpu kepada minimum.
Stochastic Gradient Descent (SGD)
Sebagai lanjutan daripada algoritma gradient descent, stochastic gradient descent mengatasi beberapa kelemahan algoritma gradient descent. Dalam turunan kecerunan stokastik, bukannya mendapatkan keseluruhan set data setiap lelaran, kelompok data dipilih secara rawak, yang bermaksud bahawa hanya sebilangan kecil sampel diambil daripada set data.
Oleh itu, algoritma penurunan kecerunan stokastik memerlukan lebih banyak lelaran untuk mencapai minimum setempat. Apabila bilangan lelaran bertambah, masa pengiraan keseluruhan meningkat. Tetapi walaupun selepas meningkatkan bilangan lelaran, kos pengiraan masih lebih rendah daripada pengoptimum keturunan kecerunan.
Penurunan Kecerunan Stokastik dengan Momentum
Daripada perkara di atas kita tahu bahawa laluan yang dilalui oleh keturunan kecerunan stokastik akan lebih bising daripada penurunan kecerunan, dan masa pengiraan akan lebih lama. Untuk mengatasi masalah ini, kami menggunakan keturunan kecerunan stokastik dengan algoritma momentum.
Peranan momentum adalah untuk membantu fungsi kehilangan berkumpul lebih cepat. Walau bagaimanapun, anda harus ingat apabila menggunakan algoritma ini bahawa kadar pembelajaran berkurangan dengan momentum yang tinggi.
Keturunan Kecerunan Suai (Adagrad)
Algoritma keturunan kecerunan suai berbeza sedikit daripada algoritma keturunan kecerunan yang lain. Ini kerana algoritma menggunakan kadar pembelajaran yang berbeza setiap lelaran. Kadar pembelajaran berubah bergantung pada perbezaan parameter semasa latihan. Semakin besar perubahan parameter, semakin kecil perubahan kadar pembelajaran.
Faedah menggunakan keturunan kecerunan suai ialah ia menghapuskan keperluan untuk mengubah suai kadar pembelajaran secara manual, akan mencapai penumpuan lebih cepat dan keturunan kecerunan suai akan lebih dipercayai daripada algoritma keturunan kecerunan dan variannya.
Tetapi pengoptimum turunan kecerunan suai akan mengurangkan kadar pembelajaran secara monoton, menyebabkan kadar pembelajaran menjadi sangat kecil. Oleh kerana kadar pembelajaran yang kecil, model tidak dapat memperoleh lebih banyak penambahbaikan, yang akhirnya menjejaskan ketepatan model.
Root Mean Square (RMS Prop) Optimizer
RMS Prop ialah salah satu pengoptimum popular dalam kalangan peminat pembelajaran mendalam. Walaupun belum dikeluarkan secara rasmi, ia masih dikenali di kalangan masyarakat. Purata purata akar juga dianggap sebagai penambahbaikan berbanding pengoptimum keturunan kecerunan suai kerana ia mengurangkan kadar pembelajaran yang menurun secara monoton.
Algoritma kuasa dua min punca terutamanya memfokuskan pada mempercepatkan proses pengoptimuman dengan mengurangkan bilangan penilaian fungsi untuk mencapai minimum setempat. Algoritma ini mengekalkan purata bergerak bagi kecerunan kuasa dua untuk setiap berat dan membahagikan kecerunan dengan punca kuasa dua bagi purata kuasa dua.
Berbanding dengan algoritma penurunan kecerunan, algoritma ini menumpu dengan cepat dan memerlukan lebih sedikit pelarasan. Masalah dengan pengoptimum purata kuasa dua akar ialah kadar pembelajaran mesti ditakrifkan secara manual, dan nilai yang disyorkannya tidak digunakan untuk semua aplikasi.
Adam pengoptimum
Nama Adam berasal daripada anggaran momen penyesuaian. Algoritma pengoptimuman ini adalah lanjutan lanjutan daripada keturunan kecerunan stokastik dan digunakan untuk mengemas kini berat rangkaian semasa latihan. Daripada mengekalkan kadar pembelajaran tunggal melalui latihan penurunan kecerunan stokastik, pengoptimum Adam mengemas kini kadar pembelajaran setiap berat rangkaian secara individu.
Pengoptimum Adam mewarisi ciri-ciri turunan kecerunan suai dan algoritma kuasa dua min akar. Algoritma ini mudah dilaksanakan, mempunyai masa jalan yang lebih pantas, mempunyai keperluan memori yang rendah dan memerlukan pelarasan yang lebih sedikit daripada algoritma pengoptimuman yang lain.
Di atas ialah beberapa pengoptimum yang digunakan secara meluas dalam tugasan pembelajaran mesin Setiap pengoptimum mempunyai kelebihan dan kekurangannya, jadi memahami keperluan tugasan dan jenis data yang perlu diproses adalah penting untuk memilih pengoptimum dan mencapainya. keputusan cemerlang.
Atas ialah kandungan terperinci Pengenalan kepada pengoptimum pembelajaran mesin - perbincangan tentang jenis dan aplikasi pengoptimum biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!