Synthetic Dataset for LoRA Training
เรียนรู้วิธีการสร้าง synthetic dataset สำหรับการเทรน LoRA เมื่อมีรูปต้นแบบจำกัด เพิ่มความหลากหลายของท่าทางและมุมมอง
เคยไหม อยากเทรน LoRA ตัวละคร แต่มีรูปต้นแบบแค่ไม่กี่ภาพ ทำให้ LoRA เรียนรู้ได้ไม่เต็มที่ และไม่สามารถสร้างท่าทางที่หลากหลายได้ บทความนี้จะมาแชร์เทคนิค
แต่ก่อนอื่น เรามาทำความรู้จัก LoRA กันก่อน
LoRA (Low-Rank Adaptation) เป็นเทคนิคการ fine-tune โมเดล AI สร้างภาพที่มีประสิทธิภาพสูง โดยใช้ทรัพยากรน้อยกว่าการ fine-tune แบบเต็มรูปแบบ เรียนรู้ได้เร็วกว่า และให้ไฟล์ผลลัพธ์ขนาดเล็ก
วิธีการของ LoRA คือการ เลือกปรับเฉพาะส่วนสำคัญของโมเดล แทนที่จะปรับทั้งหมด เหมือนกับการแก้ไขเฉพาะจุดที่ต้องการ ทำให้ประหยัดเวลาและทรัพยากรได้มาก
สิ่งที่ต้องระวังคือ การเทรนที่มากเกินไป (overfitting) เนื่องจากใช้ข้อมูล Dataset น้อย ทำให้ตัวละครที่เราเทรนไม่สามารถทำท่าทางได้หลากหลายตามที่เราต้องการ
ในตัวอย่างที่ผมใช้ในวันนี้ มีจำนวนรูปภาพตั้งต้นที่ใช้ในการเทรนเพียง 5 ภาพข้างบนนี้ ซึ่งในการเทรนรอบแรก มีข้อจำกัดในการสร้างภาพท่าทางและพื้นหลังพอสมควร
3 วิธีง่ายๆในการเพิ่มจำนวน Synthetic Dataset เพื่อให้มีข้อมูลสำหรับเทรน LoRA ให้หลากหลายขึ้น
1. เทรน LoRA เวอร์ชั่นแรกจาก Dataset ที่มีจำกัด จากนั้นใช้ Text2image สร้างภาพเพิ่มเท่าที่ทำได้
ถึงแม้ว่าการสร้างภาพด้วย LoRA ที่มีข้อมูลน้อยจะทำให้การใช้งานไม่ยืดหยุ่นและไม่หลากหลาย แต่ก็เพียงพอสำหรับการสร้างภาพท่าทางง่ายๆ พื้นหลังธรรมดาๆ เพื่อมาเพิ่มจำนวน Dataset ให้มีมากขึ้นได้
2. ใช้การตัดต่อด้วย Photoshop หรือใช้ Ai เพื่อเปลี่ยนภาพเฉพาะจุดเช่น เพิ่มวัตถุ หรือเปลี่ยนพื้นหลัง
การแก้ไขภาพด้วยการเพิ่มวัตถุหรือเปลี่ยนพื้นหลังให้ภาพ ที่เราสร้างมาก่อนหน้านี้ จะทำให้โมเดลที่จะเทรนในอนาคตมีความหลากหลายยิ่งขึ้นไปอีก และจะมีความยืดหยุ่นในการสร้างภาพให้ตัวละครของเราไปอยู่ในสถานที่และสภาพแวดล้อมต่างๆได้ดีขึ้น
3. ใช้ IC-light V2 ทำให้ Dataset มีภาพที่แสงเงาสมจริงขึ้น
การใช้ IC-light V2 จะเน้นสร้าง dataset ที่มีแสงเงาสมจริง ทำให้ LoRA ตัวละคร 2D ของเราสามารถทำภาพแนว realistic ที่มีแสงและเงาที่ซับซ้อนได้
(อยู่ที่ความต้องการ ถ้าต้องการให้โมเดลเน้นทำภาพ 2D ตามต้นแบบ(ให้ข้ามขั้นตอนนี้) เข้าไปลองใช้งานได้ที่ huggingface.co/spaces/lllyasviel/iclight-v2
จากนั้นเราก็นำภาพ Dataset เริ่มต้น 5 ภาพไปรวมกับ synthetic dataset ที่เราสร้างขึ้นมาตามสามข้อข้างบน เราก็จะมี dataset มากพอที่จะทำให้โมเดล LoRA ตัวใหม่มีความยืดหยุ่นและทำท่าทางได้หลายหลายมากขึ้น รวมทั้งสามารถใส่ สไตล์ แสงและเงา สภาพแวดล้อมต่างๆให้กับตัวละครของเอาได้อีกด้วย
สามารถนำไปใช้งานต่อได้ทั้งใน SD-WebUI และ ComfyUI