แม้ความเรียบง่ายจะมีข้อดี แต่เสียดายที่ความซับซ้อนยังขายได้ดีกว่า
ทำไมความซับซ้อนจึงขายได้ดีกว่า
- ความซับซ้อนหมายถึงความพยายาม
- บทความที่มีแนวคิดยากและมีรายละเอียดเชิงเทคนิคมักทำให้นึกถึงการใช้แรงกายแรงใจ เหมือนมีเหงื่อและน้ำตา
- ระบบที่มีองค์ประกอบและฟังก์ชันมากกว่าจะดูเหมือนต้องใช้ความพยายามมากกว่าระบบที่มีน้อยกว่า
- ผลลัพธ์ที่ซับซ้อนมักถูกมองว่าต้องใช้ความพยายามมาก จึงถูกมองว่าเป็นสิ่งที่ยากและมีคุณค่ามากกว่า
- เนื่องจากความพยายามที่มากขึ้นที่มากับความซับซ้อน มักถูกตีความว่าเป็นคุณภาพที่สูงขึ้น
- ความซับซ้อนหมายถึงความชำนาญ
- ระบบที่มีชิ้นส่วนเคลื่อนไหวจำนวนมากแสดงให้เห็นว่าผู้สร้างเชี่ยวชาญแต่ละชิ้นส่วนและการบูรณาการชิ้นส่วนเหล่านั้นได้เป็นอย่างดี
- บทความที่เต็มไปด้วยคำศัพท์เฉพาะและการพิสูจน์ที่เข้าใจยากบ่งชี้ความเชี่ยวชาญในสาขานั้น
- หากคนทั่วไปเข้าใจแนวคิดหรือระบบที่ซับซ้อนได้ยาก ผู้ที่คิดค้นน่าจะเป็นผู้เชี่ยวชาญ
- ความซับซ้อนหมายถึงนวัตกรรม
- บทความที่คิดค้นสถาปัตยกรรมโมเดลใหม่โดยสิ้นเชิงได้รับการยอมรับว่ามีความใหม่มากกว่าบทความที่นำเครือข่ายเดิมมาประยุกต์ใช้
- ระบบที่มีองค์ประกอบที่สร้างขึ้นใหม่ทั้งหมดมักถูกมองว่ามีความคิดสร้างสรรค์กว่าระบบที่ใช้ชิ้นส่วนเดิมซ้ำอีกครั้ง
- งานที่อิงกับงานก่อนหน้า หรือนำงานเดิมกลับมาใช้ซ้ำ มักไม่ถูกมองว่าเป็นนวัตกรรมมากนัก
- ความซับซ้อนหมายถึงฟังก์ชันที่มากขึ้น
- ระบบที่มีชิ้นส่วนซึ่งสามารถผสมผสานและประสานกันได้ชี้ว่าระบบสามารถรองรับฐานงานได้หลากหลาย
- ระบบที่ซับซ้อนมีชิ้นส่วนมากกว่าระบบที่เรียบง่าย จึงถูกมองว่าปรับตัวได้ดีและรับมือการเปลี่ยนแปลงได้ดีขึ้น
เหตุผลที่ความเรียบง่ายเป็นข้อดี
- แนวคิดและฟังก์ชันที่เรียบง่ายเข้าใจและใช้งานง่าย
- ทำให้โอกาสในการยอมรับสูงขึ้น และช่วยสร้างอิทธิพลได้มากขึ้น
- การสื่อสารและรับข้อเสนอแนะก็ทำได้ง่ายขึ้น
- ในทางตรงกันข้าม ระบบที่ซับซ้อนอธิบายและจัดการยาก ทำให้ผู้ใช้ไม่ทราบว่าควรทำอะไรและทำอย่างไร
- ระบบที่เรียบง่ายง่ายต่อการสร้างและการขยาย
- ยิ่งมีองค์ประกอบน้อย การนำระบบไปใช้งานจริงยิ่งทำได้ง่ายขึ้น
- หากใช้เทคโนโลยีสำเร็จรูปที่เป็นมาตรฐาน ก็หาบุคลากรที่มีความสามารถในการพัฒนาขึ้นและบำรุงรักษาได้ง่ายขึ้น
- ระบบที่เรียบง่ายมีความซับซ้อน โค้ด และการโต้ตอบภายในระบบน้อยกว่า จึงเข้าใจและทดสอบได้ง่ายกว่า
- ในทางกลับกัน ระบบที่ซับซ้อนเกินจำเป็นต้องใช้เวลาและทรัพยากรมากกว่า ส่งผลให้เกิดความไม่มีประสิทธิภาพและความสูญเปล่า
- ระบบที่เรียบง่ายมีต้นทุนการดำเนินงานต่ำ
- การ deploy ระบบไม่ใช่เส้นชัย แต่เป็นเส้นเริ่มต้น
- ส่วนใหญ่ความพยายามถูกใช้เมื่อระบบอยู่ในสภาพแวดล้อม production การรักษาความเรียบง่ายช่วยลดต้นทุนการบำรุงรักษาและยืดอายุระบบได้
- ใน Machine Learning วิธีที่เรียบง่ายมักมี performance ไม่แพ้เทคนิคร่วมสมัยที่ซับซ้อน
- Tree-based model ทำได้ดีกว่า deep neural network กับข้อมูลตารางขนาดกลาง
- Greedy algorithm ทำได้ดีกว่า Graph Neural Network ในปัญหา combinatorial graph
- การเฉลี่ยแบบง่ายให้ผลลัพธ์ในงาน multi-task learning เท่ากันหรือดีกว่า optimizer ที่ซับซ้อน
- ใน 32 บทความวิจัย ความแม่นยำในการพยากรณ์ของวิธีที่เรียบง่ายชนะวิธีที่ซับซ้อน
- ในระบบแนะนำและการค้นหา dot product ทำได้ดีกว่า neural collaborative filtering
ปัญหาของการให้รางวัลต่อความซับซ้อน
- ทำให้ผู้คนถูกชี้นำให้ทำให้ระบบซับซ้อนมากขึ้น
- การเลือกวิธีง่ายๆ หรือระบบที่เรียบง่ายดูเหมือนง่ายเกินไป จึงมักถูกประเมินว่าค่าไม่สูง
- สุดท้ายแล้วคนจึงปรับสิ่งต่างๆ เพื่อรับรางวัลมากขึ้น และโซลูชันที่เรียบง่ายที่สุดจึงไม่จำเป็นต้องเป็นตัวเลือกที่ชัดเจนอีกต่อไป
- กระตุ้นแนวคิด "ไม่คิดค้นที่นี่" (Not Invented Here)
- แม้สามารถประหยัดเวลาและความพยายามได้ด้วยการ reuse ชิ้นส่วนเดิม คนกลับหลีกเลี่ยงและเลือกสร้างจากศูนย์
- ทำให้เสียเวลาและทรัพยากร โดยมักนำไปสู่ผลลัพธ์ที่ด้อยลง
ควรคิดอย่างไรกับความซับซ้อน
- เป้าหมายควรเป็นการแก้ปัญหาที่ซับซ้อนให้ได้ด้วยโซลูชันที่เรียบง่ายที่สุดเท่าที่จะทำได้
- แทนที่จะมุ่งความซับซ้อนของโซลูชัน ควรมุ่งความซับซ้อนของปัญหา
- โซลูชันที่เรียบง่ายแสดงถึงความเข้าใจเชิงลึกของปัญหา และความสามารถในการหลีกเลี่ยงโซลูชันที่ซับซ้อนและแพงกว่า
- แทนทางแก้ที่ซับซ้อนตัวเดียวที่อ้างว่าแก้ได้ทุกอย่าง ควรพิจารณาทางแก้หลายตัวแบบจุดเน้นสูง
- โซลูชันแบบทั้งหมดใช้งานได้ไม่สูงเท่าที่คาดหวังทั้งด้านความยืดหยุ่นและการนำกลับมาใช้ซ้ำ
- เพราะระบบดังกล่าวรองรับหลาย use case และผู้มีส่วนได้ส่วนเสีย จึงมักมีความผูกพันกันแน่นและต้องการการปรับประสานมากขึ้นในแผนและการย้ายระบบ
- ในทางกลับกัน การรันและยกเลิกระบบเพื่อวัตถุประสงค์เดียวกันทำได้ง่ายกว่า
ความคิดเห็นของ GN⁺
- บทความชิ้นนี้อธิบายได้อย่างน่าเชื่อว่าทำไมความซับซ้อนถึงเป็นที่ต้องการ และข้อดีของความเรียบง่ายคืออะไร จุดที่น่าสนใจคือการชี้ให้เห็นว่าความซับซ้อนสื่อถึงทักษะ นวัตกรรม และฟังก์ชัน
- แต่ก็ยังไม่ควรมองว่าทุกกรณีโซลูชันที่เรียบง่ายย่อมดีกว่า ปัญหาแต่ละประเภทอาจต้องการความซับซ้อนในระดับหนึ่ง การหาสมดุลระหว่างความเรียบง่ายกับความซับซ้อนจึงสำคัญ
- กรณีใน Machine Learning ที่โมเดลเรียบง่ายทำผลงานดีกว่านั้นน่าสนใจมาก ควรเปรียบเทียบกับวิธีง่ายๆ เดิมๆ ที่มีอยู่เสมอเมื่อพัฒนาระบบใหม่
- ในการประเมินผลการทำงานขององค์กร ควรระวังไม่ให้ยกย่องความซับซ้อนมากเกินไป ควรมุ่งที่ความยากของปัญหาและความมีประสิทธิภาพของการแก้ปัญหาแทน
- เมื่อออกแบบสถาปัตยกรรม พิจารณาใช้ระบบเรียบง่ายหลายระบบเฉพาะเป้าหมาย อาจเป็นแนวทางที่ดีแทนระบบซับซ้อนแบบ all-in-one ที่พยายามแก้ทุกอย่าง
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
สรุป: