ในที่จะทำโมเดล Deep Learning (ดีพ เลินนิ่ง) หรือ Machine Learning (แมชชีน เลินนิ่ง) มันขาด Optimizer ไม่ได้เลย ต้องมีในการ Train โมเดลตลอด ในบทความนี้ก็จะมาอธิบายว่า Optimizer คืออะไร มันมีประโยชน์ยังไง ทำไมต้องมี และมันมี Optimizer อะไรบ้าง แต่เป็น Overview ไม่ได้ลงลึก ในบทความจะเอา Optimizer มาจาก Keras

รูปตัวอย่างหน้าเว็บ Keras ในหมวด Optimizers
รูปตัวอย่างหน้าเว็บ Keras ในหมวด Optimizers

Optimizer คืออะไร

Optimizer เป็น ฟังก์ชันทางคณิตศาสตร์ซึ่งขึ้นอยู่กับพารามิเตอร์ที่เรียนรู้ได้ของโมเดล เช่น Weight และ Bias เครื่องมือเพิ่มประสิทธิภาพช่วยให้ทราบวิธีการเปลี่ยน Weight และ Learning Rate ของ Neural Network เพื่อลดค่า Loss หรือ Error


Optimizer ทำหน้าที่อะไร?

Optimizer เป็น Algorithm หรือ Method ที่ใช้สำหรับ ลด Error หรือ ทำให้โมเดลมีประสิทธิภาพที่ดีขึ้น

Optimizer มีแบบไหนบ้าง ใน Keras?

  • SGD Gradient descent (ด้วย momentum) optimizer
  • Ftrl
  • Nadam
  • Adamax
  • Adagrad
  • Adadelta
  • Adam เป็นวิธีการสุ่มเกรเดียนท์ที่อิงจากการประมาณค่าแบบปรับตัว(adaptive estimation)ของช่วงเวลาอันดับที่หนึ่งและอันดับสอง
  • RMSprop รักษาค่าเฉลี่ยของ gradients ยกกำลัง2 และ หารด้วย root ของค่าเฉลี่ย

 

สรุป

แม้ว่า Optimizer ใน Keras จะมีให้ใช้แบบสำเร็จรูปก็ตาม เราก็ต้องมีการทดลองปรับเปลี่ยนแล้วดูว่า Optimizer อันไหนเหมาะกับงานของเรา ซึ่งเวลาที่ใช้ในการรอผลลัพธ์มันค่อนข้างนาน (10 นาที++) ส่งผลให้เวลาที่ใช้ในการพัฒนา Deep Learning (ดีพ เลินนิ่ง) เพิ่มตามไปด้วย ต้องใช้เวลาและความอดทนรอ

 

อ้างอิง

"Optimizer' type in Keras" .[ออนไลน์] เข้าถึงได้ที่ https://keras.io/api/optimizers/

"What's an Optimizer" .[ออนไลน์] เข้าถึงได้ที่ https://medium.com/mlearning-ai/optimizers-in-deep-learning-7bf81fed78a0

"Why we need an Optimizer" .[ออนไลน์] เข้าถึงได้ที่ https://medium.com/@chameleontk/%E0%B8%97%E0%B8%B3%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B9%80%E0%B8%82%E0%B9%89%E0%B8%B2%E0%B9%83%E0%B8%88-optimizer-a44455615c32

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การทำ natural language processing ด้วยภาษา python
โดย wightfall พ 24 เม.ย. 2024 12:54 pm บอร์ด Python Knowledge
0
2
พ 24 เม.ย. 2024 12:54 pm โดย wightfall View Topic การทำ natural language processing ด้วยภาษา python
การเขียนโปรแกรมเชิงวัตถุด้วยภาษา python
โดย wightfall อ 23 เม.ย. 2024 4:13 pm บอร์ด Python Knowledge
0
22
อ 23 เม.ย. 2024 4:13 pm โดย wightfall View Topic การเขียนโปรแกรมเชิงวัตถุด้วยภาษา python
แนะนำการเดินทางและสถานที่ท่องเที่ยวในจังหวัดตรังและการเดินทางไปกรุงเทพ
โดย wightfall จ 22 เม.ย. 2024 3:41 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
33
จ 22 เม.ย. 2024 3:41 pm โดย wightfall View Topic แนะนำการเดินทางและสถานที่ท่องเที่ยวในจังหวัดตรังและการเดินทางไปกรุงเทพ
ติดตั้ง ESXi ใหม่ จำเป็นต้อง Format Harddisk ก่อนติดตั้งไหมครับ
โดย จิ๊กโก๋ ส 20 เม.ย. 2024 2:29 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
158
อ 23 เม.ย. 2024 2:24 pm โดย mindphp View Topic ติดตั้ง ESXi ใหม่ จำเป็นต้อง Format Harddisk ก่อนติดตั้งไหมครับ
แจ้งปัญหาโพสบทความลงในเว็บบอร์ดส่วนตัวไม่ได้
โดย internTk21 ศ 19 เม.ย. 2024 11:56 am บอร์ด MindPHP News & Feedback
1
51
ศ 19 เม.ย. 2024 12:15 pm โดย internTk21 View Topic แจ้งปัญหาโพสบทความลงในเว็บบอร์ดส่วนตัวไม่ได้
สอบถาม Google Structure ที่เหมาะกับคอร์สเรียนควรใช้แบบไหนดีค่ะ
โดย eange08 ศ 19 เม.ย. 2024 9:56 am บอร์ด Programming - PHP
1
98
ศ 19 เม.ย. 2024 10:28 am โดย mindphp View Topic สอบถาม Google Structure ที่เหมาะกับคอร์สเรียนควรใช้แบบไหนดีค่ะ
คำสั่งรวมไฟล์ และ บีบอัดในคำสั่งเดียว tar, zip
โดย mindphp พ 17 เม.ย. 2024 7:42 pm บอร์ด Linux - Web Server
0
134
พ 17 เม.ย. 2024 7:42 pm โดย mindphp View Topic คำสั่งรวมไฟล์ และ บีบอัดในคำสั่งเดียว  tar, zip
เช็คขนาดพื้นที่ฐานข้อมูล แต่ละก้อน แต่ละฐานข้อมูลว่าใช้พื้นที่ไปเท่าไหร่ ด้วย Comamnd Line
โดย mindphp จ 15 เม.ย. 2024 11:10 pm บอร์ด PostgreSQL
1
305
จ 15 เม.ย. 2024 11:14 pm โดย mindphp View Topic เช็คขนาดพื้นที่ฐานข้อมูล แต่ละก้อน แต่ละฐานข้อมูลว่าใช้พื้นที่ไปเท่าไหร่ ด้วย Comamnd Line