การหาจุดสูงสุดต่ำสุดของฟังก์ชั่นโดยวิธีลงไปทางที่ชันที่สุด Method of steepest descent สมัยนี้เรียก Gradient Descent



ในงานแยกแยะภาพ0-9 เราใช้ Neural Network เพื่อที่คุณจะเข้าใจ นิวรอลเน็ตเวิร์ค คุณต้องเข้าใจวิธีการหาจุดสูงสุดต่ำสุดเสียก่อน วิธีนี้เรียกว่าวิธีการหาจุดสูงสุดต่ำสุดด้วยทางที่ชันที่สุด ในปัญหาแยกแยะภาพ0-9นั้น การหาจุดสูงสุดต่ำสุดเป็นปัญหาการหาจุดสูงสุดของfunctionที่ทำแผนที่จาก 1024 (\mathbb{R}^{1024}) มิติสู่1มิติ(\mathbb{R}^1) ซึ่งคนเราจินตนาการหรือเห็นพื้นผิวของฟังก์ชั่นใน1024 มิติไม่ได้ ดังนั้นจึุงต้องใช้วิธีการหาทางคณิตศาสตร์  และวิธีลงทางชันที่สุดเป็นหนึ่งในหลายวิธีเหล่านั้น

สมมุติว่าเรามี function f(\mathbf{x}) ของเรา ซึ่งสร้างแผนที่จาก \mathbb{R}^2 \rightarrow \mathbb{R}^1 ซึ่งแผนที่ที่ได้มีลักษณะเป็นโค้งพาราโบล่าดังรูป 




ถ้าเราต้องการหาจุดสูงสุดต่ำสุดของ function z=f(\mathbf{x})ของเรา จะทำได้อย่างไร
สังเกตุตัวหนาหมายถึงตัวแปรใน \mathbb{R}^2 ตัวบางแสดงถึงตัวแปรใน\mathbb{R}^1


 สมมุติว่าจุดศูนย์กลางการหมุนที่แตะกับพาราโบล่าเป็นจุด \mathbf{x_0} = [x_0,y_0] การที่เราหา
\frac{\partial f}{\partial \mathbf{x}} = [\frac{\partial f}{\partial x},\frac{\partial f}{\partial y}] คำนวนที่ \mathbf{x_0}
 เราจะได้เส้นผ่านจุด \mathbf{x_0}    โปรดสังเกตุเส้นด้านล่างในรูปที่เขียนว่า grad f นั่นคือ \partial f / \partial \mathbf{x} นั่นคือtangent ที่จะเคลื่อนที่ไปหาจุดสูงสุดคือtangent ที่ชันที่สุด   การหาค่า \partial f / \partial \mathbf{x}ทำให้เราได้ทิศทางใน \mathbb{R}^2 ที่ทำให้การเคลื่อนลงหรือขึ้นไปอย่างชันที่สุด










จากนั้นเราก็แค่เคลื่อนลงในกรณีหาจุดต่ำสุด เราเรียกว่า Gradient Descent

\begin{equation} do\\  \mathbf{x_0}^{next} = \mathbf{x_0} - a\frac{\partial f }{\partial \mathbf{x}}\biggr\rvert_{\mathbf{x_0}}\\ until \lbrace f(\mathbf{x_0}^{next}) - f(\mathbf{x_0}) \le \epsilon \rbrace \end{equation}

โดยที่ a เป็นค่าคงที่จำนวนจริงบวก  เราเรียก a ว่า Learning rate
หรือเคลื่อนขี้นในกรณีหาจุดสูงสุด เราเียกว่า Gradient Ascent

\mathbf{x_0}^{next} = \mathbf{x_0} +a \frac{\partial f }{\partial \mathbf{x}}\biggr\rvert_{\mathbf{x_0}}

นี่คือพื้นฐานที่สุดของ Neural Network นิวรอล เน็ตเวิร์ค   ถ้าฟังก์ชั่นของคุณเป็น convex function แล้ว วิธีการนี้การันตี Global Optimum

ผลของการลงไปทางที่ชันที่สุด   จุดสีแดงแสดงค่า f(\mathbf{x_0}) ในแต่ละรอบ

ความคิดเห็น

บทความที่ได้รับความนิยม