3 คะแนน โดย GN⁺ 2024-05-06 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

แม้ความเรียบง่ายจะมีข้อดี แต่เสียดายที่ความซับซ้อนยังขายได้ดีกว่า

ทำไมความซับซ้อนจึงขายได้ดีกว่า

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

เหตุผลที่ความเรียบง่ายเป็นข้อดี

  • แนวคิดและฟังก์ชันที่เรียบง่ายเข้าใจและใช้งานง่าย
    • ทำให้โอกาสในการยอมรับสูงขึ้น และช่วยสร้างอิทธิพลได้มากขึ้น
    • การสื่อสารและรับข้อเสนอแนะก็ทำได้ง่ายขึ้น
    • ในทางตรงกันข้าม ระบบที่ซับซ้อนอธิบายและจัดการยาก ทำให้ผู้ใช้ไม่ทราบว่าควรทำอะไรและทำอย่างไร
  • ระบบที่เรียบง่ายง่ายต่อการสร้างและการขยาย
    • ยิ่งมีองค์ประกอบน้อย การนำระบบไปใช้งานจริงยิ่งทำได้ง่ายขึ้น
    • หากใช้เทคโนโลยีสำเร็จรูปที่เป็นมาตรฐาน ก็หาบุคลากรที่มีความสามารถในการพัฒนาขึ้นและบำรุงรักษาได้ง่ายขึ้น
    • ระบบที่เรียบง่ายมีความซับซ้อน โค้ด และการโต้ตอบภายในระบบน้อยกว่า จึงเข้าใจและทดสอบได้ง่ายกว่า
    • ในทางกลับกัน ระบบที่ซับซ้อนเกินจำเป็นต้องใช้เวลาและทรัพยากรมากกว่า ส่งผลให้เกิดความไม่มีประสิทธิภาพและความสูญเปล่า
  • ระบบที่เรียบง่ายมีต้นทุนการดำเนินงานต่ำ
    • การ 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 ความคิดเห็น

 
GN⁺ 2024-05-06
ความคิดเห็นจาก Hacker News

สรุป:

  • การสร้าง MVP (ผลิตภัณฑ์ฟังก์ชันขั้นต่ำ) แบบเพิ่มขึ้นเรื่อยๆ อาจกลายเป็นสาเหตุของความซับซ้อนได้
  • ระบบที่ให้รางวัลสูงขึ้นเมื่อแก้ปัญหาที่ซับซ้อนมากขึ้น กลับสามารถสร้างความซับซ้อนที่ไม่จำเป็นได้
  • ความแตกต่างระหว่างผู้ใช้ระดับสูงกับผู้ใช้ที่ใฝ่ฝัน ทำให้บริษัทมักเลือกตอบสนองความต้องการของกลุ่มที่ใฝ่ฝันเป็นทางเลือกที่มีเหตุผล
  • ซอฟต์แวร์ที่ซับซ้อนและมีบั๊กจำนวนมากกลับได้รับความนิยม เพราะมันช่วยให้สามารถหลบตัวเองไว้เบื้องหลังได้
  • ตั้งแต่ยังเด็ก เราถูกหล่อหลอมให้เชื่อว่าความคิดเรื่อง 'ยิ่งมากยิ่งดี' คือเรื่องปกติ
  • ในฐานะวิศวกร เรามีแนวโน้มที่จะหลงใหลสิ่งที่ท้าทายมากกว่าการแก้ปัญหาแบบเรียบง่าย
  • มีความขัดแย้งทางจิตวิทยาที่ชอบความเรียบง่าย แต่ขณะเดียวกันก็หลีกเลี่ยงสิ่งที่ดูเรียบง่าย
  • การวิจารณ์วิธีแก้ปัญหาที่ซับซ้อนย้อนหลังทำได้ง่าย แต่การวิจารณ์โดยไม่รู้ข้อจำกัดและความต้องการในเวลานั้นกลับไร้ความหมาย
  • หลักการ 'ทำให้เรียบง่ายที่สุดเท่าที่จะเป็นไปได้ แต่ไม่เรียบง่ายเกินไป' นั้นถูกต้องเสมอ แต่การปฏิบัติกลับไม่ง่าย
  • ถึงแม้โครงการบางอย่างจะเริ่มต้นอย่างเรียบง่าย แต่เมื่อข้อกำหนดเพิ่มขึ้น มันมักกลายเป็นความซับซ้อนอย่างหลีกเลี่ยงไม่ได้