Back

การเตรียมจัด Hackathon Online ผ่าน Kaggle

          ฝ่ายบริการวิชาการ มีภารกิจหลักรับผิดชอบในด้านบริการจัดฝึกอบรม บริการห้องประชุม ห้องสัมมนาและ ห้องปฏิบัติการ งานประชาสัมพันธ์ ตลอดจนให้บริการวิชาการโดยเป็นที่ปรึกษาด้านการพัฒนาระบบสารสนเทศ ระบบเครือข่าย และการพัฒนาสื่อการเรียนการสอนอิเล็กทรอนิกส์ โดยการดำเนินงานของฝ่ายมีวัตถุประสงค์เพื่อเป็นหน่วยงานเผยแพร่ความรู้ทางวิชาการด้านไอซีที และพัฒนาศักยภาพด้านไอซีทีสำหรับนิสิต บุคลากร ผู้บริหารและหน่วยงานภายนอก โดยในช่วงที่ผ่านมาสำนักคอมพิวเตอร์ดำเนินการโครงการบริการวิชาการโดยเป็นศูนย์ประสานงานภูมิภาคภาคตะวันออก โครงการเสริมสร้างศักยภาพด้านปัญญาประดิษฐ์และวิทยาการหุ่นยนต์สำหรับทุกคน หรือ AI / Robotics for All หรือโครงการ Super AI Engineer ซึ่งได้ดำเนินการมาอย่างต่อเนื่องเป็นเวลา 3 ปี แล้ว ซึ่งในการดำเนินงานนั้นมีวัตถุประสงค์ในการสร้างบุคลากรทางด้านปัญญาประดิษฐ์ และเน้นการสร้างบุคลากร สาขาอาชีพ ดังนี้ นวัตกร, วิศวกร, นักวิจัย, วิทยากร และกลุ่มวิสาหกิจเริ่มต้นหรือ Start up โดยเน้นความเชี่ยวชาญในสาขา AI จำนวน ๕ ด้าน ได้แก่ Intelligent Control & Robotics, Image Processing, Signal Processing, Big Data Analysis และ Natural Language Processing/Understanding โดยศูนย์ประสานงานมีหน้าที่ในการประชาสัมพันธ์โครงการ จัดบุคลากร วิทยากร ผู้เชี่ยวชาญในสาขาต่าง ๆ ด้านปัญญาประดิษฐ์เพื่ออบรมให้ความรู้ด้านปัญญาประดิษฐ์ จัดกิจกรรม Hackathon เก็บคะแนนกิจกรรมของผู้อบรมฯ รวมทั้งเป็นกรรมการในการพิจารณาคัดเลือกผู้เข้าอบรมเข้าสู่ Level 2 โดยการจัดกิจกรรม Hackathon นั้นเป็นการแข่งขันในรูปแบบออนไลน์ โดยมีการให้โจทย์ dataset และแข่งขันผ่าน Kaggle

          Kaggle เป็นแพลตฟอร์มสำหรับ Predictive Modelling และการแข่งขันด้าน Analytics เพื่อหา Model ที่ดีที่สุดสำหรับ Dataset จากบริษัทและบุคคลทั่วไป โดยโครงการ Super AI Engineer ได้นำ Kaggle มาใช้ในการจัดกิจกรรม Hackathon ในรูปแบบออนไลน์ ให้แก่ผู้เข้าร่วมโครงการ โดยแต่ละศูนย์ประสานงานจะต้องจัดกิจกรรม Hackathon อย่างน้อย 5 ครั้ง โดยใช้ชุดข้อมูลหรือ Dataset จากที่ส่วนกลางมีให้หรือทางศูนย์จัดหามาเพื่อแข่งขัน ซึ่งในช่วงเริ่มต้นทางส่วนกลางของโครงการได้แนะนำให้ความรู้เกี่ยวกับ Kaggle และการเตรียมโจทย์ dataset สำหรับการแข่งขัน

          โดยในการแข่งขัน Hackathon แต่ละครั้งของศูนย์ประสานงานภาคตะวันออกได้พบปัญหา และสิ่งที่ต้องปรับปรุงและแก้ไข ซึ่งเกิดจากการขาดความรู้และความเข้าใจเกี่ยวกับ Kaggle โดยจะได้แนวทางในการดำเนินงานเพื่อเตรียมการจัดการแข่งขันในครั้งต่อ ๆ ไป และสามารถสรุปแนวทางการดำเนินงานได้ดังนี้

  1. การสมัครสมาชิก Kaggle

          การสมัครสมาชิก Kaggle สามารถ Register ด้วยอีเมลของ Google หรืออีเมลอื่นได้ โดยต้องรอการ verified account ก่อนจึงจะสามารถ Join เข้าร่วมการแข่งขันได้

  1. การสร้าง Competitions

          ในการสร้าง Competitions ศูนย์ประสานงานจะเป็น Host ของการแข่งขัน โดยเลือกการสร้าง Competitions แล้วเลือกที่ Host a Competitions

          จากนั้นเลือกที่ Community Competitions ซึ่งจะไม่มีค่าใช้จ่าย จากนั้นคลิกที่ Get Starts

          จะเข้าสู่หน้าจอการสร้าง Competition โดยให้ระบุชื่อของ Competitions และรายละเอียดดังนี้

  1. Title: ชื่อ Competition
  2. Description: คำอธิบาย Competition
  3. URL: URL ของ Competition
  4. Visibility: การมองเห็น Competition
  5. Who can join: กำหนดให้ใครบ้างที่มีสิทธิ์เข้าร่วม Competition ในการจัด hackathon ของโครงการนี้จะเลือกเป็น Only people with a link

          เมื่อกรอกข้อมูลเรียบร้อยแล้ว กดยอมรับเงื่อนไข แล้วกดสร้าง Competition จะได้หน้าจอเพื่อเข้าไปกำหนดการตั้งค่าการแข่งขัน

  1. การตั้งค่าที่จำเป็นสำหรับการแข่งขัน

          ในการตั้งค่า Competition นั้น เราจะเข้าไปแก้ไขข้อมูล ที่ 4 เมนู ได้แก่

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

          จำนวนสมาชิกในทีมขึ้นอยู่กับความยากง่ายของโจทย์การแข่งขัน สามารถเปลี่ยนแปลงได้ โดยการส่งผลการแข่งขันปกติจะให้ส่งผลได้ 4 ครั้งต่อวัน โดยเมื่อตั้งค่าทุกอย่างเรียบร้อยแล้วให้กดปุ่ม Save Changes เพื่อบันทึกการตั้งค่า

  • Image เป็นการกำหนดรูปของ Header Image และ Competition Listing Image โดยสามารถเปลี่ยนรูปตามที่ต้องการได้ แต่ในการจัดโครงการนี้ จะใช้รูปแบบที่มีการกำหนดไว้ให้

  • Manage Hosts สามารถเพิ่มผู้ที่ร่วมเป็น Host ของการแข่งขันเพื่อแก้ไข Competitions ร่วมกันได้ โดยใช้ user Kaggle ในการเพิ่ม

  • Evaluation เป็นการกำหนดรูปแบบการประเมินผล ซึ่งต้องกำหนด
    • Scoring Metric เช่น Accuracy, F-Score (Macro), Mean Squared Error ซึ่งต้องเลือกให้เหมาะสมกับโจทย์และ dataset ของการแข่งขัน
    • Solution File คือ ไฟล์ CSV ที่เป็น ground truth data หรือเฉลยคำตอบที่ถูกต้องที่ใช้ในการให้คะแนนผลงานที่ส่ง โดยในส่วนนี้ระบบจะแบ่ง Testset ออกเป็น 2 ส่วน ได้แก่
      • ข้อมูล test ส่วนแรกจะวัดผลใน Public Leaderboard ซึ่งผู้เข้าแข่งขันสามารถตรวจสอบคะแนนได้ตลอดเวลา
      • ข้อมูล test ส่วนที่ 2 จะวัดผลใน Private Leaderboard ซึ่งนำมาใช้คิดคะแนนเพื่อตัดสินผลการแข่งขัน โดยจะแสดงผลหลังจากแข่งขันจบลง
      • ซึ่งหากต้องการกำหนดสัดส่วนของ Public Leaderboard และ Private Leaderboard เองสามารถกำหนดคอลัมน์เพิ่มเพิ่มใน Solution File ชื่อคอลัมน์ Usage แล้วระบุ Private และ Public ที่ข้อมูล

  • Launch Checklist เป็นการเปิดให้เริ่มการแข่งขัน โดยสามารถกำหนดวันในการเริ่มการแข่งขันได้ ข้อควรระวัง เมื่อกด Launch Competition แล้วจะไม่สามารถปิดได้
    • Set Future Launch Date ต้องกำหนดวันก่อน จากนั้นค่อยกด Set Future Launch Date ไม่เช่นนั้นจะเป็นการเปิดการแข่งขันทันที
    • Launch Competition Now จะเป็นการเปิดการแข่งขันทันที
    • เวลาจะเป็นเวลาในรูปแบบ UTC ดังนั้น การกำหนดเวลาจะต้อง +7 เพื่อให้เป็นเวลาประเทศไทย

  • Overview เป็นการแสดงรายละเอียดและคำอธิบายเกี่ยวกับโจทย์การแข่งขัน และรายละเอียดที่ผู้แข่งขันจำเป็นต้องทราบ โดยปกติจะแจ้งตารางเวลาการแข่งขัน รูปแบบทีมและการตั้งชื่อทีม การส่งผลต่อวัน Evaluation Metric การแชร์ไอเดีย รางวัลการแข่งขัน

  • Data เป็นการอธิบายชุดข้อมูลสำหรับการแข่งขัน และไฟล์ต่าง ๆ สำหรับการแข่งขัน

          โดยไฟล์ dataset ต่าง ๆ สามารถแก้ไขได้ถึงแม้ว่าจะเริ่มการแข่งขันแล้ว แต่การอัปโหลดไฟล์ที่เกี่ยวข้องมีข้อควรระวังดังนี้

  • ตรวจสอบไฟล์ตัวอย่างการส่งผล ระวังการอัปโหลดไฟล์เฉลยขึ้นไป
  • ไฟล์ที่เป็น csv ควรตรวจสอบให้เป็น UTF-8
  • ระวังการอัปโหลดไฟล์เดียวกันแต่ชื่อไฟล์ต่างกัน อาจจะทำให้เกิดการสับสนได้
  • ตัวอย่างไฟล์การส่งผล ควรมีตัวอย่างเฉลยอย่างน้อย 3 แถว
    • Rules เป็นการอธิกายกฎ หรือกติกาการแข่งขัน สามารถพิมพ์รายละเอียดเข้าไปที่ Rules ได้เลย

  1. การเตรียมข้อมูล dataset

          ในการเตรียม dataset การแข่งขันนั้น โดยปกติจะประสานงานกับอาจารย์ที่เป็นเจ้าของโจทย์เพื่อเตรียมข้อมูล โดยประกอบด้วย

  • train – ชุดข้อมูลสำหรับการ Train
  • test – ชุดข้อมูลสำหรับการ Test
  • csv – ไฟล์ CSV ที่เป็น ground truth data หรือเฉลยคำตอบที่ถูกต้อง
  • csv – ไฟล์ CSV การส่งและตรวจสอบให้แน่ใจว่าได้คะแนนตามที่คาดไว้ หรือเป็นเกณฑ์ของการแข่งขัน
  • csv – ตัวอย่างไฟล์ที่ใช้ส่ง (พร้อมเฉลย 3 แถวแรก)
  1. การดูรายงานข้อมูล

          เมื่อเสร็จสิ้นการแข่งขัน จะสามารถดูผลการแข่งขันได้ที่เมนู Leaderboard ซึ่งจะสามารถดูได้ทั้ง Public Leaderboard และ Private Leaderboard โดยสามารถคลิกที่ปุ่ม  เพื่อดาวน์โหลดไฟล์สรุปข้อมูล (.csv file)