Federated Learning คืออะไร ทำไมมันปกป้องความเป็นส่วนตัวได้
By Arnon Puitrakul - 27 เมษายน 2025
AI Model มันจะเก่งขึ้น ได้ด้วยข้อมูล ปัญหาคือ ข้อมูลบางอย่างมันเป็นเป็นเรื่องส่วนตัว ไม่สามารถเผยแพร่เพื่อให้ผู้ผลิตสามารถนำมาใช้เทรนข้อมูลได้ Federated Learning จึงเข้ามาช่วยเราในเรื่องนี้ เขาทำยังไง ทำอะไรบ้าง วันนี้เราจะมาเล่า Concept ของมันให้อ่านในบทความนี้กัน
ปกติเราทำกันยังไง ?
ก่อนเราจะเข้าใจหลักการของการทำ Federated Learning เราจะต้องทำความเข้าใจที่มาของมันกันก่อน โดยปกติ เวลาเราจะสร้าง Model สักตัวนึง นอกจากที่เราจะต้อง Design Model Architecture ว่ามันจะมีโครงสร้างอย่างไร ใช้งานกี่ Layer มีขนาด Hyperparameter เท่าไหร่ เราจะต้องมีสิ่งที่สำคัญที่สุดคือ ข้อมูล (Data) สำหรับการ Train ด้วย โดยที่ข้อมูลนี้ เราอาจจะได้มาจากการไปซื้อมาอีกที, สร้างเอง หรือ ดูดจากที่อื่นเข้ามา แล้วแต่วิธีการที่เราทำ
เมื่อเรา Publish Model ออกไปให้ผู้ใช้ไปแล้ว เท่ากับว่า เหมือนกับเรา Freeze Model นี้เอาไว้แล้วเลย มันจะไม่เก่งขึ้น และ ไม่ Personalise ให้กับผู้ใช้ได้เลย ทำให้ มันเกิดวิธีการใหม่ขึ้นมา คือ เราทำ Model ตัวนึงขึ้นมา แล้วนำไปใช้ในเครื่องปลายทาง โดยเราจะโปรแกรมให้มันเรียนรู้ไปด้วย เพื่อทำให้ Model มันเก่งขึ้น และเข้ากับผู้ใช้มากขึ้นเมื่อผู้ใช้มีการใช้งานไปเรื่อย ๆ ทุกอย่างดูจะเป็นเรื่องดี และจบแล้วใช่มั้ย
ไม่ครับ เราไม่หยุดกันแค่นี้ เราไปกันต่อ มันเก่งแค่ในเครื่องของผู้ใช้แต่ละเครื่อง ถ้าเกิดเราเอามันมารวมกันได้มันน่าจะดีมากเลยนะ วิธีการแรกนั้นง่ายมากคือ งั้นเราก็เอา ข้อมูลของผู้ใช้ดึงเข้ามาใน Dataset สำหรับ Train กับผู้สร้างซะเลยสิ นั่นแปลว่า ข้อมูลก็จะถูก Centralised เข้าไปที่ผู้ผลิตทั้งหมดเลย นั่นนำมาสู่ความกังวลในเรื่อง Privacy หรือ ความเป็นส่วนตัว โดยเฉพาะ ข้อมูลที่มีความอ่อนไหว และมีความเป็นส่วนตัวสูงมาก หรือ บางเคส ข้อมูลมันมีขนาดใหญ่มาก ๆ ทำให้เกิดไอเดียของ Federated Learning ขึ้นมานั่นเอง
Federated Learning คืออะไร ?
ในเมื่อเราส่งข้อมูลตรง ๆ กลับไปไม่ได้ ไม่ว่าจะเป็นเรื่องความเป็นส่วนตัว หรือ ขนาดของมัน งั้นเราก็ให้เครื่องปลายทางแต่ละเครื่อง Train จากข้อมูลที่ตัวเองมี แล้วส่งแค่ Model กลับมา แล้วเราค่อย เอาแต่ละตัวที่ได้รับกลับมา มาทำให้ Model ตัวหลัก แข็งแกร่ง ขึ้นก็ได้นิ เท่านี้ เราก็จะไม่จำเป็นต้องส่ง ข้อมูลดิบไปวิ่งไปมาให้ปวดหัวแล้ว นี่แหละ คือ หลักการของ Federated Learning
โดยมันจะมี 3 ขั้นตอนการทำงานใหญ่ ๆ เริ่มจาก Initalisation Phase คือ การที่เราจะต้องทำการสร้าง และ Train Model ตัวแรกออกมาจากชุดข้อมูลที่เราหาได้มาก่อน จากนั้น เราค่อยกระจาย Model ตัวนั้นเข้าไปที่เครื่องปลายทางแต่ละตัว (Edge System)
จากนั้น ฝั่ง Edge จะทำ Model ที่ได้รับออกไปใช้งาน และมีการรับข้อมูลชุดใหม่ ๆ เข้ามาจากผู้ใช้ ทำการ Train ออกมาเป็น Model ก้อนใหม่ จากนั้น Model นี้จะถูกเทียบกับ Model ตัวก่อนหน้าที่อยู่บนตัวหลัก เพื่อทำการส่งเฉพาะส่วนที่มีการเปลี่ยนแปลงกลับไปที่เครื่องหลัก ซึ่งทุก ๆ Edge ก็จะทำลักษณะนี้เหมือนกันหมด เมื่อได้ Model จาก Edge ทั้งหมด เครื่องหลักจะทำการ รวมข้อมูลของ Model เข้ากันด้วยวิธีการบางอย่าง ทำให้ได้ Model หลักอันใหม่ที่เก่งมากขึ้นกว่าเดิม เราเรียกขั้นตอนนี้ว่า Aggregation Phase
และ Model ที่พึ่งรวมเข้าด้วยกันนี้ ก็จะถูกส่งกลับไปที่ Edge แต่ละเครื่องอีกครั้ง เราเรียกว่า Update Phase จากนั้นมันก็วนแบบนี้ไปเรื่อย ๆ เป็นวงเวียนต่อไป ในทางทฤษฏี มันก็จะทำให้เมื่อเวลาผ่านไป Model ของเราก็จะเก่งมากขึ้นเรื่อย ๆ จากข้อมูลของเรา และคนอื่น ๆ ที่ใช้งาน โดยไม่ต้องส่งข้อมูลจริงไปแม้แต่นิดเดียวเลย
ปัจจุบันเราเอา Federated Learning มาใช้อะไรกัน ?
ปัจจุบัน มีการนำ Federated Learning มาใช้กันเยอะมากขึ้นเรื่อย ๆ แต่ส่วนที่เราเห็นได้ว่าเป็นกลุ่มแรก ๆ ในการนำมาใช้คือ AI ที่เราใช้งานทางการแพทย์ เช่น Model สำหรับการวินิจฉัยภาพทางคลินิคต่าง ๆ อย่าง X-Ray และ MRI เป็นต้น เพราะข้อมูลเหล่านี้มีความเป็นส่วนตัวสูงมาก ๆ ไม่ควรมีการส่งข้ามไปมาที่เสี่ยงทำให้เกิดการหลุดลอดออกไปได้
อีกเคสที่เป็นตัวอย่างที่ดีคือ Model สำหรับการทำ Object Recognition จากพวกกล้องวงจรปิดต่าง ๆ เพราะหากเราส่ง Video Stream กลับไปที่ Server หลัก นอกจากจะมีปัญหาเรื่องความเป็นส่วนตัวแล้ว ยังมีปัญหาเรื่อง Bandwidth ที่จำเป็นต้องใช้มหาศาลมาก ๆ เช่นกล้อง 4K 1 ตัวอาจจะต้องใช้ 500 Kb/s ในการส่ง นั่นแปลว่าหากเราเป็นผู้ให้บริการ มีกล้อง 1,000 ตัว แปลว่า อย่างน้อย Bandwidth ที่ต้องใช้แค่จะรับภาพกลับมาก็ราว ๆ 0.5 Gb/s กันไปแล้ว ซึ่งนั่นยังไม่นับเรื่อง Data Store ขนาดใหญ่อีก และพวกการ Train Model ที่รับรูปภาพจำนวนมาก ๆ อีก บอกได้เลยว่า กินเงิน ค่าใช้จ่ายมหาศาลมาก ๆ เลยทีเดียว ทำให้ Federated Learning เข้ามาช่วยแก้ปัญหาเรื่องนี้ได้ดีมาก ๆ ทั้งในประเด็น Privacy และ ความคุ้มทุน
สรุป
Federated Learning เป็นวิธีการนึง ที่ทำให้เราสามารถ นำความฉลาดของ Model หลังจากเราใช้งานไปเรื่อย ๆ โดยที่ไม่จำเป็นต้องส่งข้อมูลกลับมาเพื่อนำมา Train ใหม่ ทำให้สามารถแก้ปัญหาเรื่องความเป็นส่วนตัวของข้อมูลได้เป็นอย่างดี ทำให้มันถูกนำมาใช้งานในหลาย ๆ ด้านไม่ว่าจะเป็นการแพทย์, IoT และ อื่น ๆ อีกมากมาย



