วิธี 'การลบแบบสุ่ม' ทำงานอย่างไรใน PyTorch

Withi Kar Lb Baeb Sum Thangan Xyangri Ni Pytorch



ประสิทธิภาพของกรอบงาน PyTorch สำหรับการพัฒนาโมเดล Machine Learning ที่ซับซ้อนและล้ำสมัยนั้นเนื่องมาจากคุณสมบัติเสริมที่หลากหลายและ “ การลบแบบสุ่ม ” วิธีการก็เป็นหนึ่งในนั้น ตามชื่อที่แนะนำ ระบบจะสุ่มเลือกรูปภาพและลบข้อมูลบางส่วนออกเพื่อเลียนแบบสถานการณ์ในโลกแห่งความเป็นจริงที่มีการนำเสนอข้อมูลที่ไม่สมบูรณ์ สิ่งนี้จะช่วยเพิ่มความสามารถของแบบจำลองในการปรับตัวและทำงานได้ดีในสถานการณ์ใหม่และท้าทาย

บล็อกนี้จะกล่าวถึงวิธีการ “ การลบแบบสุ่ม ” วิธีการทำงานใน PyTorch

เหตุใดจึงใช้วิธี 'การลบแบบสุ่ม' ใน PyTorch

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







วิธีการ “สุ่มลบ” ทำงานอย่างไรใน PyTorch

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



ขั้นตอนที่ 1: ตั้งค่า Colaboratory IDE

Google Colab เป็นตัวเลือกที่เหมาะสมที่สุดสำหรับการพัฒนาโมเดล AI โดยใช้เฟรมเวิร์ก PyTorch นำทางไปยัง Colaboratory เว็บไซต์ และเปิดตัว “ โน๊ตบุ๊คใหม่ ”:







ขั้นตอนที่ 2: นำเข้าไลบรารีที่จำเป็น

ใช้ ' !ปิ๊ป ” ตัวติดตั้งแพ็คเกจที่ Python จัดทำขึ้นเพื่อติดตั้งไลบรารี่และใช้คำสั่ง “ นำเข้า ” คำสั่งเพื่อนำเข้าสู่โปรเจ็กต์:

นำเข้า คบเพลิง

นำเข้า การมองเห็นคบเพลิง แปลงร่าง เช่น ทีเอส

จาก พิล นำเข้า ภาพ

นำเข้า matplotlib พล็อต เช่น plt

คำอธิบายของรหัสที่กำหนดมีดังนี้:



  • นำเข้า “ คบเพลิง ” ห้องสมุดโดยใช้ “ นำเข้า ' สั่งการ.
  • torchvision.การเปลี่ยนแปลง ” แพ็คเกจประกอบด้วยการแปลงสำหรับการลบแบบสุ่ม
  • พิล ” คือไลบรารีรูปภาพ Python และมีฟังก์ชันสำหรับการประมวลผลรูปภาพ
  • matplotlib.pyplot ” ไลบรารี่ใช้สำหรับแสดงภาพต้นฉบับและภาพที่ถูกแปลง:

ขั้นตอนที่ 3: อัปโหลดภาพที่ป้อน

อัปโหลดรูปภาพในส่วนไฟล์:

ถัดไป โหลดภาพที่ป้อนโดยใช้ปุ่ม “ เปิด() ” วิธีการของโมดูล “รูปภาพ”:

ภาพ = ภาพ. เปิด ( 'a2.jpeg' )

ขั้นตอนที่ 4: ระบุการแปลงเพื่อทำการแปลง

ตอนนี้ให้กำหนด ' สุ่มลบ ” หม้อแปลงไฟฟ้าที่จะแปลงภาพโดยเลือกพื้นที่สี่เหลี่ยมแบบสุ่มและลบพิกเซล นอกจากนี้ ให้แปลงภาพที่ป้อนเข้าเป็นเซ็นเซอร์ไฟฉายโดยใช้ปุ่ม “ โทเทนเซอร์() ” หากเป็นอิมเมจ PIL แล้วแปลงกลับเป็นอิมเมจ PIL โดยใช้ปุ่ม “ ToPILรูปภาพ() ”:

แปลง = ทีเอส เขียน ( [ ทีเอส โทเทนเซอร์ ( ) , ทีเอส สุ่มลบ ( พี = 0.5 , มาตราส่วน = ( 0.02 , 0.33 ) , อัตราส่วน = ( 0.3 , 3.3 ) , ค่า = 0 , ในสถานที่ = เท็จ ) , ทีเอส ถึง PILImage ( ) ] )

พารามิเตอร์ที่ใช้ในข้างต้น “ สุ่มลบ ” หม้อแปลงไฟฟ้ามีคำอธิบายด้านล่าง:

  • พี: แสดงถึงความน่าจะเป็นที่การดำเนินการสุ่มเลี้ยงจะสำเร็จ
  • มาตราส่วน: โดยจะระบุช่วงของพื้นที่ที่ถูกลบของภาพที่นำเข้า
  • อัตราส่วน: มันแสดงถึงอัตราส่วนกว้างยาวของขอบเขตที่ถูกลบ
  • ค่า: ระบุค่าการลบซึ่งเป็น '0' โดยค่าเริ่มต้น ถ้าเป็นจำนวนเต็มตัวเดียว มันจะลบพิกเซลทั้งหมด และถ้าเป็นสิ่งทูเพิลที่มีจำนวนเต็มสามตัว มันจะลบช่อง R, G และ B ตามลำดับ
  • ในสถานที่: มันเป็นค่า 'บูลีน' ที่ทำให้หม้อแปลงลบแบบสุ่มที่กำหนดเข้ามาแทนที่ โดยค่าเริ่มต้นจะเป็น 'เท็จ'

ขั้นตอนที่ 5: ใช้ความเข้าใจในพจนานุกรมเพื่อส่งออกรูปภาพ

ใช้แนวคิดความเข้าใจพจนานุกรมเพื่อนำรูปภาพเอาต์พุตทั้งสี่ภาพ:

ภาพ = [ แปลง ( ภาพ ) สำหรับ _ ใน พิสัย ( 4 ) ]

ขั้นตอนที่ 6: แสดงภาพเอาท์พุตสี่ภาพ

สุดท้ายนี้ แสดงภาพที่ส่งออกทั้งสี่ภาพโดยใช้บล็อกโค้ดที่ระบุด้านล่าง:

รูปที่ = plt. รูป ( ขนาดรูป = ( 7 , 4 ) )

แถว , คอลัมน์ = 2 , 2

สำหรับ เจ ใน พิสัย ( 0 , เท่านั้น ( ภาพ ) ) : :

รูปที่. add_subplot ( แถว , คอลัมน์ , เจ+ 1 )

plt. ฉันแสดง ( ภาพ [ เจ ] )

plt. ติ๊ก ( [ ] )

plt. ใช่เลย ( [ ] )

plt. แสดง ( )

คำอธิบายโค้ดข้างต้นเป็นดังนี้:

  • ใช้ “ plt.รูป() ” วิธีการลงจุดภาพทั้ง 4 ภาพที่มีความกว้างและความสูงที่กำหนด
  • จากนั้น ระบุแถวและคอลัมน์ที่ต้องการเพื่อปรับภาพทั้งสี่ภาพ
  • หลังจากนั้นให้เริ่มต้นลูป 'for' ที่ใช้ ' แผนย่อย() ” วิธีการกำหนดแผนย่อย วิธีการ “show()” เพื่อแสดงภาพ และ “ plt.xticks() ” เช่นเดียวกับ “ plt.yticks() ” เพื่อตั้งค่าตำแหน่งขีดปัจจุบันและป้ายกำกับของแกน x และ y
  • สุดท้ายนี้ ใช้เครื่องหมาย “ plt.show() ” วิธีการพิมพ์ภาพเพื่อส่งออก:

บันทึก : ผู้ใช้สามารถเข้าถึง Colab Notebook ของเราได้โดยใช้สิ่งที่ให้มา ลิงค์ .

โปรทิป

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

ความสำเร็จ! เราได้แสดงให้เห็นว่าวิธีการสุ่มลบทำงานอย่างไรใน PyTorch

บทสรุป

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