“เทคนิค Prompt: การปรับน้ำหนักและผสมคำ”

Stableduffusion a1111 inpaint

การสร้าง Prompt ที่ดีใน Stable Diffusion ไม่ใช่เรื่องง่าย แต่ด้วยการใช้เทคนิคที่ถูกต้อง เราสามารถสร้างผลลัพธ์ที่น่าประทับใจได้ หนึ่งในเทคนิคที่สำคัญคือการให้ “น้ำหนัก” หรือ “weight” เป็นวิธีการกำหนดความสำคัญของคำใน Prompt ให้มากขึ้นหรือน้อยลง

การให้น้ำหนักของคำ

การให้น้ำหนักของคำแต่ละคำใน Stable Diffusion ทำได้โดยใช้ Prompt รูปแบบ (keyword: factor) โดย factor จะมีค่า 1 เป็นค่ากลาง ถ้ากำหนดให้น้อยกว่า 1 หมายความว่าคำนั้นมีความสำคัญน้อยลง และถ้ามากกว่า 1 หมายความว่าคำนั้นมีความสำคัญมากขึ้น

ตัวอย่างเช่น ถ้าเราปรับน้ำหนักของคำว่า “cat” จะได้ดังนี้

Prompt : (Cats:0.5) are running and playing in the grass under the apple trees in the evening when the rays of light seep through the leaves.
(Cats:1)
(Cats:1.5)
(Cats:0.5)

การเพิ่มน้ำหนักของ “cat” จะเห็นว่ามีผลต่อจำนวนของแมว และที่สำคัญกว่านั้นคือน้ำหนักส่งผลต่อรายละเอียดภาพด้วยเช่น ที่ (Cats:1.5) จะทำให้ได้แมวเต็มภาพมากกว่า รายละเอียดใบหน้ามากกว่า (Cats:1) แต่ข้อควรระวังคือการใส่น้ำหนักที่มากเกินไปอาจทำให้ภาพเละได้ ผลที่เกิดขึ้นกับภาพนั้นอาจจะไม่เหมือนกันในทุกครั้งที่เจน เพราะการปรับค่าน้ำหนักนั้นเป็นเรื่องของการให้ความสำคัญในเชิงสถิติ ภาพอาจจะออกมาตามน้ำหนักนั้นหรือไม่ออกก็ได้

การใช้สัญลักษณ์ () และ []

ใน Stable Diffusion สามารถใช้สัญลักษณ์ () และ [ ] เพื่อปรับน้ำหนักของ prompt ตัวอย่างเช่น (cat) จะเพิ่มน้ำหนักเป็น 1.1 ซึ่งเทียบเท่ากับการใช้ (cat:1.1) ในขณะที่การใช้ [cat] จะลดน้ำหนักลงเป็น 0.9 ซึ่งเทียบเท่ากับการใช้ (keyword:0.9)

การใช้วงเล็กซ้อนๆ กัน ผลลัพธ์จะเป็นการคูณกัน ตัวอย่างเช่น

(keyword): 1.1
((keyword)): 1.21
(((keyword))): 1.33

[keyword]: 0.9
[[keyword]]: 0.81
[[[keyword]]]: 0.73

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

Prompt สามารถผสมกันได้ด้วยนะ – Keyword blending

“Keyword blending” หรือการผสมคำ เป็นเทคนิคที่ใช้ในการสร้างผลลัพธ์ให้มีความหลากหลายและเฉพาะเจาะจงมากขึ้น โดยการนำคำสองคำหรือมากกว่านั้นมาผสมกัน โดยใช้รูปแบบการเขียนคำสั่งดังนี้ [keyword1: keyword2: factor] โดย factor จะควบคุม keyword1 ก่อนจะถูกกเปลี่ยนเป็น keyword2 โดย factor จะมีค่าระหว่าง 0 และ 1

ตัวอย่างเช่น ถ้าเราใช้คำสั่ง “photo of [parrot: tiger: 0.5]” และกำหนด Sampling steps ที่ 30 คำสั่งนี้จะทำงานด้วย “photo of parrot” ใน steps 1-15 จากนั้นจะทำ “photo of tiger” ใน step ที่ 16-30 โดย factor จะเป็นตัวกำหนด step จากตัวอย่างคือ 30 x 0.5 = 15 step

photo of [parrot: tiger: 0.5]

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

prompt-weight-keyword-blending
prompt-weight-keyword-blending

Related Posts