ความหมายของ Hidden Layer ที่หลายคนไม่ทราบ
สำหรับคำถามที่ว่าควรมีจำนวน hidden layer กี่ชั้น สามารถอ่านได้ที่ Neural Network ควรมีกี่ชั้น? แต่มีใครเคยสงสัยไหมคะว่า ทำไมจึงต้องออกแบบให้โมเดลมี hidden layer?
ในโพสนี้จะมาวิเคราะห์ความหมายของ hidden layer ค่ะ ซึ่งจะหมายถึงความหมายที่เชื่อมโยงกับโลกความเป็นจริง เพื่อให้เห็นว่า ความจริงแล้วโมเดลหรือคณิตรศาสตร์ต่างๆ สามารถตีความให้เข้าใจได้ และเมื่อมีความเข้าใจตรงนี้ ก็จะเป็นพื้นฐานในการออกแบบโมเดลด้วยตัวเองให้เข้ากับปัญหาของตัวเองได้ต่อไปค่ะ
สมมติว่า ถ้าเราอยากจะมีโมเดลเพื่อทำนายราคาของบ้าน เรื่องจะต้องเริ่มต้นจากว่า อะไร เป็นปัจจัยให้ราคาบ้านเปลี่ยนแปลงไป? ปกติแล้ว ราคาของสินค้าจะขึ้นอยู่กับอะไร?
ความรู้สึก…
ใช่ค่ะ แท้จริงแล้วนั้น ราคาของสินค้าจะขึ้นอยู่กับความรู้สึกของผู้ซื้อ ส่วนเรื่องฟังก์ชั่นการใช้งานความจริงแล้วเป็นส่วนเสริม และช่วยให้คนซื้อ’รู้สึก’ว่าสินค้านี้สามารถนำไปใช้ได้ตามที่ผู้ซื้อต้องการ ยกตัวอย่างเช่นสินค้าของ apple เอาจริงๆ หลายคนซื้อเพราะฟังก์ชั่นของ apple ถ้าไม่อย่างนั้น สินค้าประเภทเดียวกันคงมีราคาเท่ากันไม่ว่าจะยี่ห้ออะไร แต่เพราะผู้ซื้อมีความรู้สึกกับสินค้ายี่ห้อนี้ที่แตกต่างไป และความรู้สึกก็มีหลายมิติ เช่น รู้สึกว่าสินค้าหรู รู้สึกว่าสินค้าใช้งานสะดวก เหล่านี้รวมกันจนกลายเป็นราคาที่ผู้ซื้อสามารถยินดีจ่าย
แต่… ความรู้สึกชั่งวัดตวงเป็นตัวเลขไม่ได้
แล้วจะทำอย่างไรดี?
เราสามารถอนุมานได้ความ ความรู้สึกต่างๆ มีปัจจัยจากสิ่งที่เป็นรูปธรรมจับต้องได้ ดังเช่นตัวอย่างโมเดลทำนายราคาของบ้าน ดังรูปข้างล่างนี้
จากรูป เรากำหนดให้ราคาบ้านขึ้นอยู่กับความรู้สึก 3 อย่าง นั่นคือ ความรู้สึกสบาย, ความรู้สึกน่าเชื่อถือ, และความรู้สึกหรูหรา
และความรู้สึกเหล่านี้ก็จะขึ้นอยู่กับสิ่งที่เราสามารถวัดได้ในโลกความเป็นจริง เช่น ความสบายจะขึ้นอยู่กับทำเลที่ทางและขนาดของบ้าน เพราะหากบ้านขนาดใหญ่ก็จะทำให้รู้สึกอยู่แล้วสบาย และทำเลที่ดี ก็จะทำให้การอยู่อาศัยมีความสะดวกให้ความรู้สึกสบายมากขึ้น เช่นเดียวกับความรู้สึกน่าเชื่อถือ ที่จะขึ้นอยู่กับแบรนด์ที่สร้างบ้านและทำเล หรือความรู้สึกหรูหราก็จะขึ้นอยู่กับแบรนด์ที่สร้างบ้านและขนาดของบ้าน
จะเห็นว่า โมเดลของเราต้องมี hidden layer ก็เพราะหากจะคำนวณจากสิ่งที่วัดได้อย่างเป็นรูปธรรมเลยก็ดูที่จะไม่ได้สอดคล้องกับความจริงของราคาบ้านที่เรารับรู้ การมี hidden layer จึงทำให้โมเดลดูสอดคล้องกว่ามาก นั่นคือ ราคามีความรู้สึกเป็นเหตุปัจจัย และความรู้สึกก็มีสิ่งที่เราวัดได้ต่างๆเป็นเหตุปัจจัยอีกทีหนึ่ง
และค่า weight ต่างๆในภาพ ก็หมายถึงสัดส่วนของแต่ละเหตุปัจจัย จากรูปขอยกตัวอย่างเช่น
Comfortable = w₁₁*Location + w₃₁*Size
ค่า w₁₁ และค่า w₃₁ จะหมายถึงสัดส่วนของ Location หรือทำเล และ Size หรือขนาดของบ้าน และค่าเหล่านี้ที่เราจะได้จากกระบวนการเทรนโมเดล โมเดลจะไปเรียนรู้จากข้อมูลมาอีกทีหนึ่ง ซึ่งข้อมูลจะเป็นตัวสะท้อนว่าผู้ซื้อเน้นทำเลหรือขนาดของบ้านมากกว่ากัน หลังจากที่เทรนโมเดลเสร็จ
ค่ะ และนี่ก็คือความหมายของ hidden layer ที่แต่ละ layer ก็เป็นเหตุปัจจัยต่อกันไปเรื่อยๆ ซึ่งจะมีกี่ชั้นก็ได้ และจะมีจำนวนกี่ node ก็ได้
คำถามคือ แล้วเราต้องมานั่งกำหนดเหตุปัจจัยทุกอย่างเพื่อสร้างเป็นโมเดลขึ้นมาไหม คำตอบคือไม่ต้องค่ะ และนี่ก็คือความสะดวกของ machine learning ที่เราสามารถกำหนดอย่างคร่าวๆได้ เพราะไม่มีใครสามารถรู้เหตุปัจจัยของทุกอย่างได้เป๊ะๆ และเราก็ให้โมเดลปรับเอาจากข้อมูล และหาก node ใดไม่ได้ใช้ โมเดลก็แค่เรียนรู้ให้ค่า weight ของ node นั้นเป็น 0 เท่านั้นเอง แต่สิ่งที่เราจะต้องคำนึงก็คือเรื่องของ overfitting ซึ่งก็สามารถอ่านเพิ่มเติมได้ที่ Neural Network ควรมีกี่ชั้น?
ไม่ว่าจะมีกี่ทฤษฎี หรือกี่สมการ หรือสามารถพิสูจน์ยาวเป็นกี่ร้อยหน้า ก็อย่าลืมเชื่อมโยงเข้ากับโลกความเป็นจริง เพราะสมการที่ใช้งานในโลกจริงได้ ก็ต้องเป็นสมการที่สามารถอธิบายโลกความเป็นจริงได้ และนี่คือสิ่งที่นักวิจัยชั้นแนวหน้าทำกัน เวลาออกแบบ solution เค้าจะหยิบเอาทฤษฎีที่เกี่ยวข้องมาร้อยเรียง ซึ่งแน่นอนว่าพวกเขาเหล่านั้นก็ต้องสามารถที่จะเชื่อมโยงทฤษฎีสมการคณิตศาสตร์ต่างๆเข้ากับโลกความเป็นจริงได้
และนี่… เป็นหนทางเดียวที่จะสามารถนำเอาความรู้มาใช้งาน
ไม่ใช่ท่องจำและทิ้งเอาไว้หลังสอบเสร็จค่ะ
สำหรับตอนนี้ก็จบแล้ว พบกันใหม่ตอนหน้าค่ะ
สามารถติดตามกันได้ที่
Facebook: AI แบบเคลียร์ ตีแผ่ทุกไอเดียเบื้องหลังสมการ
Tiktok: ai.beeying
Youtube: AI แบบเคลียร์ๆ