การค้นหาแบบสุ่ม

หน่วยนี้จะมุ่งเน้นไปที่การค้นหาแบบเทียบเคียง

เหตุใดจึงใช้การค้นหาแบบ quasi-random

การค้นหาแบบสุ่ม (อิงตามลำดับความคลาดเคลื่อนต่ำ) เป็นการค้นหาที่เราชอบมากกว่าเครื่องมือเพิ่มประสิทธิภาพกล่องดำที่สวยกว่าเมื่อใช้เป็นส่วนหนึ่งของกระบวนการปรับแต่งแบบวนซ้ำที่มีวัตถุประสงค์เพื่อเพิ่มข้อมูลเชิงลึกถึงปัญหาการปรับแต่งให้ได้มากที่สุด (เราเรียก "ขั้นตอนการสำรวจ") การเพิ่มประสิทธิภาพแบบ Bayes และเครื่องมือที่คล้ายกัน เหมาะกับขั้นตอนการแสวงหาประโยชน์มากกว่า การค้นหาแบบกึ่งแบบสุ่มโดยอิงตามลำดับความคลาดเคลื่อนต่ำที่เปลี่ยนไปแบบสุ่มอาจมองได้ว่าเป็น "การค้นหาแบบเส้นกระตุก สับเปลี่ยน" เนื่องจากมีลักษณะสม่ำเสมอ แต่จะเป็นการสุ่มสำรวจพื้นที่ในการค้นหาหนึ่งๆ และกระจายประเด็นค้นหามากกว่าการค้นหาแบบสุ่ม

ข้อดีของการค้นหาแบบเทียบเคียงเสมือนเหนือเครื่องมือเพิ่มประสิทธิภาพ Blackbox ที่ซับซ้อนมากขึ้น (เช่น การเพิ่มประสิทธิภาพแบบ Bayesian และอัลกอริทึมเชิงวิวัฒนาการ) ได้แก่

  • การสุ่มตัวอย่างพื้นที่ในการค้นหาแบบไม่สามารถปรับเปลี่ยนได้ช่วยให้เปลี่ยนวัตถุประสงค์ของการปรับแต่งในการวิเคราะห์หลังกิจได้โดยไม่ต้องทำการทดสอบซ้ำ ตัวอย่างเช่น โดยปกติเราต้องการค้นหาการทดลองที่ดีที่สุดในแง่ของข้อผิดพลาดในการตรวจสอบความถูกต้องที่ทำได้ขณะฝึก อย่างไรก็ตาม ลักษณะการค้นหาแบบเทียบเคียงไม่ได้ซึ่งปรับไม่ได้ช่วยให้พบการทดลองที่ดีที่สุดโดยอิงตามข้อผิดพลาดในการตรวจสอบความถูกต้องสุดท้าย ข้อผิดพลาดในการฝึก หรือเมตริกการประเมินอื่นๆ โดยไม่ต้องทำการทดสอบซ้ำ
  • การค้นหาแบบกึ่งแบบสุ่มทำงานด้วยวิธีที่สอดคล้องกันและทำให้เกิดซ้ำทางสถิติได้ การศึกษาควรทำซ้ำจากเมื่อ 6 เดือนที่ผ่านมาได้แม้ว่าการใช้งานอัลกอริทึมการค้นหาจะเปลี่ยนไป ตราบใดที่ยังคงรักษาคุณสมบัติที่เป็นเอกภาพไว้เหมือนเดิม หากใช้ซอฟต์แวร์เพิ่มประสิทธิภาพแบบ Bayesian ขั้นสูง การใช้งานอาจเปลี่ยนแปลงไปในระหว่างเวอร์ชันต่างๆ ซึ่งทำให้สร้างการค้นหาเก่าซ้ำได้ยากขึ้นมาก คุณย้อนกลับไปยังการติดตั้งใช้งานแบบเดิมไม่ได้เสมอไป (เช่น ในกรณีที่เครื่องมือเพิ่มประสิทธิภาพทำงานแบบบริการ)
  • การสำรวจพื้นที่ในการค้นหาที่เป็นแบบเดียวกันนี้ช่วยให้หาเหตุผลของผลการค้นหาและสิ่งที่ผู้ใช้แนะนำเกี่ยวกับพื้นที่ในการค้นหาได้ง่ายขึ้น เช่น หากจุดที่ดีที่สุดในการสำรวจแบบเทียบเคียงของการค้นหาแบบเทียบเคียงอยู่ตรงขอบเขตของพื้นที่การค้นหา นี่ก็เป็นสัญญาณที่ดี (แต่ไม่มั่นใจได้) ว่าควรเปลี่ยนขอบเขตของพื้นที่การค้นหา อย่างไรก็ตาม อัลกอริทึมการเพิ่มประสิทธิภาพแบล็กบ็อกซ์แบบปรับเปลี่ยนได้อาจมองข้ามจุดกลางของการค้นหาไปเนื่องจากการทดลองใช้ช่วงแรกๆ ที่โชคร้าย แม้ว่าจะมีประเด็นที่ดีพอๆ กันก็ตาม เพราะความไม่สม่ำเสมอนี้ต้องอาศัยอัลกอริทึมการเพิ่มประสิทธิภาพที่ดีเพื่อทำให้การค้นหาเร็วขึ้น
  • การเรียกใช้การทดลองจำนวนที่แตกต่างกันพร้อมๆ กันเทียบกับแบบเป็นลำดับจะไม่ให้ผลลัพธ์ที่แตกต่างกันทางสถิติเมื่อใช้การค้นหาแบบ quasi-random (หรืออัลกอริทึมการค้นหาอื่นๆ ที่ไม่มีการปรับเปลี่ยน) ซึ่งต่างจากอัลกอริทึมแบบปรับเปลี่ยนได้
  • อัลกอริทึมการค้นหาที่มีความซับซ้อนมากขึ้นอาจไม่สามารถจัดการกับจุดที่ไม่สามารถป้องกันได้ได้อย่างถูกต้องเสมอไป โดยเฉพาะอย่างยิ่งหากไม่ได้ออกแบบโดยคำนึงถึงการปรับแต่งไฮเปอร์พารามิเตอร์ของโครงข่ายระบบประสาทเทียม
  • การค้นหาแบบสุ่มเสมือนนั้นทำได้ง่ายและทำงานได้ดีเป็นพิเศษเมื่อการทดลองใช้การปรับแต่งหลายๆ อย่างทำงานพร้อมกัน ส่วนตัว1 อัลกอริทึมแบบปรับเปลี่ยนได้นั้นยากมากที่อัลกอริทึมแบบปรับเปลี่ยนได้จะเอาชนะการค้นหาแบบกึ่งเสมือนที่ใช้งบประมาณได้ถึง 2 เท่า โดยเฉพาะเมื่อการทดลองจำนวนมากต้องทำพร้อมกัน (ดังนั้นจึงมีโอกาสน้อยมากที่จะได้ใช้ผลการทดลองก่อนหน้านี้เมื่อเปิดตัวการทดลองใหม่) หากไม่มีความเชี่ยวชาญในการเพิ่มประสิทธิภาพแบบ Bayesian และวิธีการเพิ่มประสิทธิภาพแบบ Blackbox ขั้นสูงอื่นๆ คุณอาจไม่ได้รับประโยชน์ตามหลักการแล้ว การเปรียบเทียบอัลกอริทึมการเพิ่มประสิทธิภาพ กล่องดำขั้นสูงในเงื่อนไขการปรับแต่งการเรียนรู้เชิงลึก ที่สมจริงนั้นเป็นเรื่องยาก ซึ่งเป็นส่วนที่มีบทบาทสำคัญในการวิจัยปัจจุบัน และอัลกอริทึมที่ซับซ้อนมากขึ้นมาพร้อมกับปัญหาของตัวเองสำหรับผู้ใช้ที่ไม่มีประสบการณ์ ผู้เชี่ยวชาญในวิธีเหล่านี้จะได้รับผลการค้นหาที่ดี แต่ในสถานการณ์ที่มีการทำงานพร้อมกันสูง พื้นที่และงบประมาณในการค้นหามีแนวโน้มที่จะมีความสำคัญมากกว่า

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

Vzier แบบโอเพนซอร์สมีการใช้งานการค้นหาแบบ quasi-random ตั้งค่า algorithm="QUASI_RANDOM_SEARCH" ในตัวอย่างการใช้งาน Vizier มีการติดตั้งใช้งานทางเลือกในการกวาดไฮเปอร์พารามิเตอร์นี้ ตัวอย่าง การติดตั้งใช้งานทั้ง 2 อย่างนี้จะสร้างลำดับ Halton สำหรับพื้นที่การค้นหาหนึ่งๆ (มีจุดประสงค์เพื่อใช้ลำดับ Halton ที่มีการเปลี่ยนแปลงและมีการเปลี่ยนแปลงตามที่แนะนำใน ไฮเปอร์พารามิเตอร์ที่สำคัญ: ไม่สุ่ม, ไม่ร้องไห้

ถ้าอัลกอริทึมการค้นหาแบบ quasi-random ที่อิงตามลำดับความคลาดเคลื่อนต่ำไม่สามารถใช้ได้ สามารถใช้แทนการค้นหาแบบเดียวกันเทียมแบบสุ่มแทน แต่วิธีนี้น่าจะมีประสิทธิภาพน้อยกว่าเล็กน้อย ในมิติข้อมูล 1-2 รายการ สามารถใช้การค้นหาแบบตารางกริดได้ แม้ในมิติข้อมูลที่สูงกว่า (ดู Bergstra & Bengio, 2012)

มีการทดลองกี่ครั้งเพื่อให้ได้ผลลัพธ์ที่ดีจากการค้นหาแบบ quasi-random

คุณไม่สามารถระบุจำนวนการทดลองที่ต้องใช้เพื่อให้ได้ผลลัพธ์ด้วยการค้นหาแบบ quasi-random ทั่วไป แต่คุณสามารถดูตัวอย่างที่เจาะจงได้ ดังที่รูปที่ 3 แสดงให้เห็นว่า จำนวนการทดลองในการศึกษาอาจมีผลกระทบอย่างมากต่อผลลัพธ์ ดังนี้

ผังกล่องของอัตราข้อผิดพลาดในการตรวจสอบความถูกต้อง (แกน Y) เทียบกับงบประมาณการปรับแต่ง (แกน X) โดยที่งบประมาณการปรับแต่งคือจำนวนการทดลอง โดยทั่วไป อัตราข้อผิดพลาดในการตรวจสอบความถูกต้องมักจะลดลงเนื่องจากงบประมาณการปรับแต่งเพิ่มขึ้น

รูปที่ 3: ResNet-50 ปรับแต่งใน ImageNet ผ่านการทดลอง 100 ครั้ง โดยมีการจำลองจำนวนเงินต่างๆ ของงบประมาณในการปรับแต่งโดยใช้ Bootstrapping ระบบจะแสดงผังกล่องที่แสดงประสิทธิภาพที่ดีที่สุดสําหรับงบประมาณทดลองแต่ละรายการ

 

ให้สังเกตสิ่งต่อไปนี้เกี่ยวกับรูปที่ 3:

  • ช่วงระหว่างควอไทล์เมื่อมีการสุ่มตัวอย่าง 6 ครั้งนั้นมากกว่าตอนที่สุ่มตัวอย่าง 20 ครั้งอย่างมาก
  • แม้จะมีการทดลอง 20 ครั้ง ความแตกต่างระหว่างการศึกษาแบบโชคดีกับโชคไม่ดีมักจะแตกต่างกันมากกว่าความแตกต่างทั่วไประหว่างการฝึกซ้ำของโมเดลนี้ในเมล็ดแบบสุ่มที่แตกต่างกัน ด้วยไฮเปอร์พารามิเตอร์คงที่ ซึ่งสำหรับภาระงานนี้อาจอยู่ที่ประมาณ +/- 0.1% ของอัตราข้อผิดพลาดในการตรวจสอบที่ประมาณ 23%

  1. Ben Recht และ Kevin Jamieson ได้ชี้ให้เห็นว่าการค้นหาแบบสุ่มที่ใช้งบประมาณ 2 เท่าเป็นเกณฑ์พื้นฐานมากน้อยเพียงใด (กระดาษไฮเปอร์แบนด์ก็ให้ข้อโต้แย้งที่คล้ายกัน) แต่ก็เป็นไปได้ที่การหาพื้นที่และปัญหาที่เทคนิคการเพิ่มประสิทธิภาพแบบ Bayesian อันล้ำสมัยทำลายการค้นหาแบบสุ่มที่ใช้งบประมาณมากกว่า 2 เท่า อย่างไรก็ตาม ในประสบการณ์ของเรา การเอาชนะการค้นหาแบบสุ่มที่ใช้งบประมาณ 2 เท่านั้นทำได้ยากขึ้นมากในระบบการทำงานในลักษณะเดียวกันนี้ เนื่องจากการเพิ่มประสิทธิภาพแบบ Bayesian ไม่มีโอกาสได้สังเกตผลลัพธ์ของการทดลองก่อนหน้านี้