fbpx
Blogs 9 December 2022

มัดรวม 16 คำศัพท์สาย Artificial Intelligence – AI ที่คนสายเทคไม่ควรพลาด ep. 2: Deep Learning – DL

เมื่อเทคโนโลยี DL ได้แทรกเข้ามาอยู่ในชีวิตประจำวันของเรามากขึ้น ทั้งแบบรู้ตัว – ไม่รู้ว่า และทำให้รู้สึก ว้าว! บ่อยครั้งเมื่อ DL ก้าวข้ามขีดความสามารถบางอย่างของตัวเองได้ อย่างกรณีที่ DL ของ AlphaGo สามารถเอาชนะการแข่งขันหมากล้อมกับแชมป์โลก ลีเซดอล แบบขาดลอยถึง 4:1 จึงไม่น่าแปลกใจว่า DL อยู่ภายใต้สปอร์ตไลท์ของความสนใจทั้งในและนอกแวดวงเทคโนโลยีอยู่เสมอ

ด้วยเหตุนี้ บลูบิค จึงได้ทำการรวบรวมคำศัพท์พื้นฐาน DL เป็นอีกหนึ่งในกลุ่มของเทคโนโลยี AI ที่กำลังมาแรงที่สุด เพื่อให้คุณรู้จักและเข้าใจ DL มากขึ้น เพราะนี่เป็นเทคโนโลยีที่จะทำให้ AI ฉลาดขึ้นเรื่อย ๆ ด้วยการจำลองรูปแบบการประมวลผลของสมองมนุษย์เมื่อได้รับข้อมูลมาจะมีการกลั่นกรองข้อมูลเป็นชั้นๆ แล้วสรุปออกมาเป็น output ที่ผ่านการตรวจสอบ และสามารถเรียนรู้และปรับปรุงการประมวลผลจากคาดการณ์ที่ผิดพลาด ซึ่งเทคโนโลยีนี้มีความสำคัญต่ออนาคตของการทำธุรกิจในทุกอุตสาหกรรมรวมถึงชีวิตประจำวันของเราทุกคน 

Deep Learning – DL

องค์ความรู้ หรือ ศาสตร์ในสาขาหนึ่งของ AI เป็น Subset ของ Machine learning ที่ว่าด้วยการพยายามทำให้คอมพิวเตอร์สามารถรับรู้ เรียนรู้ และแปรผลจากข้อมูล โดยถอดกระบวนการทำงานจากระบบเซลล์ประสาทของมนุษย์ มาในรูปแบบของสมการทางคณิตศาสตร์ที่คอมพิวเตอร์สามารถคำนวณได้

Perceptron / Neuron

หน่วยโครงสร้างหลักของ DL มีลักษณะที่ถอดแบบมาจากเซลล์ประสาทของมนุษย์ ที่ปกติจะมีกระบวนการทำงานโดยรับข้อมูลผ่าน Dendrite นำข้อมูลนั้นมาประมวลผลภายในเซลล์ และส่งต่อข้อมูลที่ประมวลผลแล้วไปยังเซลล์ประสาทอื่นผ่าน Axon โดย Neuron ก็มีกระบวนการรับ Input และคำนวณทางคณิตศาสตร์ก่อนจะส่งผลออกเป็น Output เช่นกัน

Weight

คือ Parameter ที่แทนค่าความสำคัญของ Input แต่ละตัวที่เข้ามาใน Neuron โดยปกติแล้ว Input หลายๆ ตัวที่ถูกนำมาคำนวณจะส่งผลต่อ Output มากน้อยแตกต่างกันออกไป จึงจำเป็นต้องนำ Input ที่ได้มาคูณ Weight ก่อนเพื่อเป็นการให้น้ำหนักว่า Input ไหนมีความสำคัญต่อ Output เท่าไร

Bias

คือ Parameter ที่ถูกบวกเพิ่มเข้ามาในขั้นตอนหลังจากการคูณ Weight กับ Input ทำให้ลักษณะการคำนวณใน Neuron ขั้นแรกคือ สมการเส้นตรง y = wx + b (w =  weight , x = input , b = bias ) สาเหตุที่ต้องมีการเพิ่ม Bias เข้ามาเพราะว่า Bias ในสมการเส้นตรงแทนถึงจุดตัดแกน y การที่มี Bias จะทำให้สามารถสร้างเส้นตรง เลื่อนขึ้นลงผ่านแกน y ได้ หรือหมายถึงการสร้างเส้นตรงให้เหมาะสมกับข้อมูลได้หลากหลายมากขึ้น หากไม่มี Bias สมการเส้นตรงนั้นจะต้องผ่านจุด (0,0 → bias=0) อย่างเดียวเท่านั้นทำให้ไม่สามารถสร้างเส้นตรงที่เหมาะสมกับข้อมูลได้ในหลายกรณี

Activation Function

ฟังก์ชันทางคณิตศาสตร์ที่ทำหน้าที่แปลงข้อมูลหลังจากการ คูณ Input ด้วย Weight บวก Bias เป็น Output ที่เหมาะสมในแต่ละสถานการณ์ มี Activation function มากมายหลายประเภททั้ง Linear และ Non-linear ที่นิยมใช้ได้แก่ Sigmoid, Tanh, Relu, Softmax เป็นต้น

Artificial Neural Network (ANN)/Multilayer Perceptron (MLP)

โครงสร้าง Algorithm หรือ Model ใน DL ที่เกิดจากการนำ Neuron มาต่อกันหลายตัวเป็นชั้น เรียกว่า Layer มี Layer 3 ประเภทได้แก่ Input layer สำหรับป้อนข้อมูล, Hidden layer สำหรับการคำนวณ สกัดและวิเคราะห์ข้อมูล และ Output layer โดย ANN model จะทำการเรียนรู้จากข้อมูลโดยการปรับ Parameter weight และ Bias ให้เหมาะสมกับข้อมูลที่ป้อนเข้าไป หรือในอีกความหมายนึง คือการปรับ Parameter ที่ทำให้ Loss function ต่ำที่สุดหรือยอมรับได้

Cost / Loss / Error Function

ฟังก์ชันทางคณิตศาสตร์ที่ใช้วัดประสิทธิภาพของ Model ว่าทำนายได้ห่างหรือใกล้กับค่าจริงที่ต้องการมากน้อยแค่ไหน (Error measurement) Loss function ที่นิยมใช้ได้ Mean Square Error (MSE) ในงานประเภท Regression และ Cross-entropy ในงานประเภท Classification

FeedForward

เป็นชื่อเรียกรวมขั้นตอนหนึ่งของกระบวนการเรียนรู้เพื่อปรับ Parameter ใน Model ทาง DL ให้เหมาะสมกับข้อมูลที่มีลักษณะกระทำไปข้างหน้าไล่ไปในแต่ละ layer ประกอบไปด้วยขั้นตอน การรับ Input มาใน Input layer, ทำการคูณ Weight บวก Bias เข้า Activation function ไปเรื่อย ๆ ใน Hidden layer และส่ง Output ออกมาจาก Output layer ไปคำนวณ Error ใน Loss function

Gradient Descent

ขั้นตอนในการ Optimize ปรับ Parameter ของ Model เพื่อพยายามให้ค่า Error จาก Loss function ที่คำนวณในขั้นตอน FeedForward มีค่าต่ำที่สุดหรือยอมรับได้ โดยมีหลักการเหมือนกับการที่เราอยู่บนจุดสูงสุดของภูเขา (Error สูง) แล้วต้องการเดินลงมาจากเขา (Error ต่ำ) โดยการมองหาทิศทางที่ต้องการเดิน (Gradient) ว่าควรเดินไปทางทิศไหนดี ใช้หลักการเรื่อง Slope หรือการดิฟมาค้นหาทิศทางและหาจำนวนก้าวที่ต้องเดินไปยังทิศทางนั้นว่าก้าวเยอะก้าวน้อยก้าวสั้นก้าวยาวแค่ไหน (Learning rate) เพื่อเดินไปยังจุดต่ำสุดให้ได้

Learning Rate

คือ Parameter ที่ใช้บอกขนาดในการปรับ Parameter weight และ Bias จาก Gradient descent  ถ้า Learning rate มาก Model จะใช้เวลาเรียนรู้ไวแต่อาจเลยหรือไม่เข้าใกล้จุดที่ Error ต่ำสุดได้ ในทางกลับกันถ้า Learning rate น้อย Model จะใช้เวลาเรียนรู้นาน ควรปรับ Learning rate ให้พอดีในแต่ละงาน

Backpropagation

เป็นชื่อเรียกรวมขั้นตอนหนึ่งของกระบวนการเรียนรู้เพื่อปรับ Parameter ใน Model ทาง DL ให้เหมาะสมกับข้อมูลที่มีลักษณะกระทำย้อนกลับจาก Layer ด้านหลังไปข้างหน้า โดยการนำ Error ที่ได้จาก FeedForward ไปหา Gradient จากขั้นตอน Gradient descent คูณกับ Learning rate แล้วนำไปปรับ Parameter weight กับ Bias ในแต่ละ Layer ไล่ๆ ไป ทำวนขั้นตอน FeedForward และ Backpropagation ไปเรื่อยๆ จนกว่าค่า Error จะต่ำที่สุดหรือยอมรับได้

Underfitting

ปัญหาประเภทหนึ่งที่เจอหลังจากการสร้าง Model แล้ว Model ทำงานได้ไม่ดีตั้งแต่ใน Training set ที่สอนไป สามารถป้องกันและลดปัญหา Underfitting ได้หลากหลายวิธี เช่น เพิ่มตัวแปร, ปรับ Parameter และ ประเภทของ Model ให้เหมาะสม เป็นต้น

Overfitting

ปัญหาประเภทหนึ่งที่เจอหลังจากการสร้าง Model แล้ว Model ทำงานได้ดีกับเฉพาะใน Training set แต่พอไปทดสอบกับ Test set หรือนำไปใช้งานจริงแล้วประสิทธิภาพลดลงมาก สามารถป้องกันและลดปัญหา Overfitting ได้หลากหลายวิธี เช่น Regularization, Dropout, และเพิ่ม Data เป็นต้น

Batch Size

จำนวนข้อมูล (Sub-samples) ที่ใช้ Train model ในแต่ละรอบ สาเหตุที่ต้องแบ่งข้อมูล Train เป็นรอบๆ เนื่องจากในการ Model DL โดยทั่วไปต้องใช้ข้อมูลปริมาณมากเพื่อให้ Model เรียนรู้และมีประสิทธิภาพดี ซึ่งการ Train ข้อมูลปริมาณมากในทีเดียว ต้องการพื้นที่หน่วยความจำของคอมพิวเตอร์จำนวนมากตามไปด้วย จึงมีการแบ่งข้อมูลให้มีขนาดเล็กลงแล้วค่อย Train เป็นรอบๆ เพื่อประหยัดพื้นที่หน่วยความจำ นิยมใช้ Batch size ที่ขนาด 32, 64, 128, 256 ตามลำดับ

Iterations

จำนวนรอบที่ใช้ในการ Train model จนใช้ Data ครบทั้งหมด สัมพันธ์กับ Batch size เช่น มีข้อมูล 3200 แถว ใช้ Batch size รอบละ 32 แถว ต้อง Train ทั้งหมด 100 รอบ (Iteration) ถึงจะใช้ข้อมูลครบทั้งหมด

Epoch

จำนวนครั้งที่ใช้ Data ทั้งหมดในการ Train เช่น มีข้อมูล 1000 แถว Train ไป 10 Epoch หมายถึงใช้ข้อมูลเดิม Train ครบไป 10 รอบ หรือ 10000 แถวนั่นเอง

สามารถอ่านบทความ มัดรวม 12 คำศัพท์สาย Artificial Intelligence – AI ที่คนสายเทคไม่ควรพลาด ep.1: Computer Vision ได้ที่ https://bluebik.com/blogs/6304