Mean Absolute Error (MAE), Mean Squared Error (MSE), Root Mean Squared Error (RMSE) คืออะไร – Loss Function ep.1

จาก ep ก่อนที่เราสอนเรื่อง Regression มีการพูดถึง MSE Loss Fuction ใน ep นี้เราจะมาเจาะลึกกันเรื่อง Loss ที่นิยมใช้ใน งาน Regression มีอะไรบ้าง แล้วข้อดีข้อเสียของแต่ละตัวเป็นอย่างไร เราควรเลือกใช้ตัวไหนเมื่อไร

Continue reading “Mean Absolute Error (MAE), Mean Squared Error (MSE), Root Mean Squared Error (RMSE) คืออะไร – Loss Function ep.1”

One Hot Encoding คืออะไร ประโยชน์ ข้อดี ข้อเสีย ของ One Hot Encoding ทำไมต้องใช้ One Hot Encoding ใน Machine Learning

ในการศึกษา Machine Learning เราจะพบคำว่า One Hot Encoding อยู่เสมอ ๆ ใน ep นี้เราจะมาเรียนรู้กันว่า One Hot Encoding คืออะไร One Hot Encoding มีประโยชน์อย่างไร ช่วยแก้ปัญหาอะไร ทำไม Machine Learning ต้องใช้ One Hot Encoding

Continue reading “One Hot Encoding คืออะไร ประโยชน์ ข้อดี ข้อเสีย ของ One Hot Encoding ทำไมต้องใช้ One Hot Encoding ใน Machine Learning”

การใส่สูตรคณิตศาสตร์ Mathematical Formula ในเว็บไซต์ WordPress Website ด้วย Mathjax-Latex Plug-in

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

Continue reading “การใส่สูตรคณิตศาสตร์ Mathematical Formula ในเว็บไซต์ WordPress Website ด้วย Mathjax-Latex Plug-in”

Softmax Function คืออะไร เราจะใช้งาน Softmax Function อย่างไร ประโยชน์ของ Softmax

Softmax Function หรือ SoftArgMax Function หรือ Normalized Exponential Function คือ ฟังก์ชันที่รับ Input เป็น Vector ของ Logit จำนวนจริง แล้ว Normalize ออกมาเป็นความน่าจะเป็น Probability ที่ผลรวมเท่ากับ 1

หรือเข้าใจง่าย ๆ ว่า Softmax รับตัวเลขเข้าไป แล้วแปลงออกมาเป็น Probability เรามาดูตัวอย่างกันจะเข้าใจง่ายขึ้น

Continue reading “Softmax Function คืออะไร เราจะใช้งาน Softmax Function อย่างไร ประโยชน์ของ Softmax”

ตัวอย่าง Vanishing Gradient Problem และ วิธีแก้ Vanishing Gradient Problem ด้วย Kaiming Initialization – Neural Network ep.3

ใน ep ที่แล้วเราได้เรียนรู้ถึงปัญหา Vanishing Gradient Problem และวิธีแก้ไขกันไปแล้ว ใน ep นี้เราจะเจาะลึกลงไปถึงสาเหตุ ดูตัวอย่างของ Neural Network ว่าเมื่อเกิดปัญหา Vanishing Gradient Problem และ Exploding Gradient Problem จะมีอาการอย่างไร และเราจะแก้ไขอย่างไรให้โมเดลสามารถเทรนได้ต่อ

Continue reading “ตัวอย่าง Vanishing Gradient Problem และ วิธีแก้ Vanishing Gradient Problem ด้วย Kaiming Initialization – Neural Network ep.3”

Vanishing Gradient Problem คืออะไร แก้ Vanishing Gradient Problem ด้วย Xavier Initialization และ Kaiming Initialization – Neural Network ep.2

ใน Machine Learning เราจะพบปัญหา Vangishing Gradient ในการเทรน Artificial Neural Network ด้วยอัลกอริทึม Gradient Descent และ Backpropagation ในระหว่างการเทรนโมเดลจะถูกอัพเดท Weight และ Bias จาก Partial Derivative ของ Loss Function ขึ้นกับ Weight, Bias นั้น ๆ ในทุก ๆ รอบการเทรน

Vanishing Gradient Problem คือ ปัญหาที่เกิดในบางเคส เราพบว่าในระหว่างการเทรน Gradient มีขนาดเล็กลงเรื่อย ๆ จนเท่ากับ 0 ทำให้ Weight ไม่ถูกอัพเดทอีกต่อไป ทำให้โมเดลเทรนต่อไม่ได้ แล้วเราจะแก้ปัญหานี้อย่างไรดี

Continue reading “Vanishing Gradient Problem คืออะไร แก้ Vanishing Gradient Problem ด้วย Xavier Initialization และ Kaiming Initialization – Neural Network ep.2”

Neural Network คืออะไร Artificial Neural Network ทำงานอย่างไร สอนสร้าง Deep Neural Network แบบเข้าใจง่าย – Neural Network ep.1

Neural Network หรือ Artificial Neural Network คือ โครงข่ายประสาทเทียม เป็นสาขาหนึ่งของปัญญาประดิษฐ์ Artificial Intelligence (AI) เป็นแนวคิดที่ออกแบบระบบโครงข่ายคอมพิวเตอร์ ให้เลียนแบบการทำงานของสมองมนุษย์

ใน ep นี้เราจะมาดูกันว่า ภายใน Neural Network นั้นทำงานอย่างไร และเราจะมาสร้าง 2 Layers Deep Neural Network กันตั้งแต่ Tensor, Matrix และฟังก์ชันคณิตศาสตร์พื้นฐาน บวก ลบ คูณ หาร แบบเข้าใจง่าย ๆ ไปทีละขั้นด้วยกัน

Continue reading “Neural Network คืออะไร Artificial Neural Network ทำงานอย่างไร สอนสร้าง Deep Neural Network แบบเข้าใจง่าย – Neural Network ep.1”

สอน PyTorch reshape, squeeze, unsqueeze, flatten จัดการ Shape ของ Tensor หลายมิติ – Tensor ep.2

ใน ep ที่แล้วเราได้เรียนรู้คุณสมบัติพิเศษของ Tensor ที่มีประโยชน์ในการทำ Operation คณิตศาสตร์ ซึ่งเป็นการกระทำกับข้อมูลใน Tensor

แต่ใน ep นี้เราจะมาเจาะลึกลงไปถึงเรื่องการจัดการ รูปร่าง (Shape) หรือ มิติ (Dimension) ของ Tensor โดยที่ข้อมูลภายใน Tensor ทั้งหมดยังเหมือนเดิม จำนวน Element ใน Tensor ยังเท่าเดิม ไม่มีการแก้ไขข้อมูลใด ๆ

Continue reading “สอน PyTorch reshape, squeeze, unsqueeze, flatten จัดการ Shape ของ Tensor หลายมิติ – Tensor ep.2”

เปรียบเทียบความเร็ว การคูณเมตริกซ์ Matrix Multiplication (Dot Product) ของอัลกอริทึมต่าง ๆ และ PyTorch API – Tensor ep.3

จาก ep ที่แล้ว ที่เราเรียนรู้ถึงคุณสมบัติพิเศษ ของ Tensor ที่จะมาช่วยในการคำนวนต่าง ๆ เมื่อเรามองเจาะลึกเข้าไปภายในของ Deep Neural Network เราจะพบว่าในขณะที่เราเทรน หรือขณะใช้งานโมเดลก็ตาม Mathematical Operations การดำเนินการทางคณิตศาสตร์ส่วนใหญ่ที่เกิดขึ้นก็คือ การคูณเมตริกซ์ โดยเฉพาะการคูณเมตริกซ์ (Matrix Multiplication) แบบ Dot Product

การคูณเมตริกซ์ที่รวดเร็วแม่นยำ มีผลต่อการทำงานของ Neural Network เป็นอย่างมาก

Continue reading “เปรียบเทียบความเร็ว การคูณเมตริกซ์ Matrix Multiplication (Dot Product) ของอัลกอริทึมต่าง ๆ และ PyTorch API – Tensor ep.3”

Colab คืออะไร วิธีเปิด Jupyter Notebook ที่อยู่ใน GitHub บน Google Colab วิธีสร้างปุ่ม Open In Colab – Colab ep.1

Google Colab ชื่อเต็มคือ Google Colaboratory เป็นบริการ Software as a Service (Saas) โฮสต์โปรแกรม Jupyter Notebook บน Cloud จาก Google ที่ให้เราสร้าง Notebook ได้ฟรี ๆ และแถมยังมี GPU, TPU ให้เราได้ใช้ฟรีอีก แต่ถ้า Jupyter Notebook ซอร์สโค้ดของเราเก็บอยู่ GitHub แล้วอยากไปเปิดแก้ไขไปรันบน Google Colab จะทำอย่างไรดี

Continue reading “Colab คืออะไร วิธีเปิด Jupyter Notebook ที่อยู่ใน GitHub บน Google Colab วิธีสร้างปุ่ม Open In Colab – Colab ep.1”