CNN Note 1: การดำเนินการหมุน
สวัสดีทุกๆคน! ในขณะที่การทำงานกับความเชี่ยวชาญพิเศษของ MLOps กำลังดำเนินไป ฉันยังวางแผนที่จะเรียกคืนบันทึกเก่าๆ ของฉันเกี่ยวกับ CNN และ RNN จากความเชี่ยวชาญพิเศษของ Deep Learning บทความชุดนี้มุ่งเน้นไปที่หลักสูตร 4 ของความเชี่ยวชาญพิเศษที่ชื่อว่าConvolutional Neural Networks หวังว่าคุณจะสนุกกับบันทึกเหล่านี้ และแสดงความคิดเห็นในด้านที่ต้องปรับปรุง!
เมื่อสร้างแบบจำลองการรู้จำภาพโดยใช้ NN มาตรฐาน จนถึงตอนนี้ เราใช้ภาพที่มีขนาดเล็กเท่านั้น เช่น (64X64, 24X24 เป็นต้น) แต่ในชีวิตจริง ขนาดของรูปภาพที่เราต้องการใช้โดยทั่วไปจะเป็น (~1000 x ~1000) คือ แต่ละภาพจะเป็นเวกเตอร์ (~3 ล้าน , 1) และขนาดของน้ำหนักจะมากขึ้น ด้วยพารามิเตอร์มิติสูงเหล่านี้ เราต้องการข้อมูลขนาดใหญ่เพียงพอเพื่อป้องกันการใช้งานมากเกินไปพร้อมกับข้อกำหนดด้านการคำนวณที่สูงมาก สิ่งนี้ไม่มีประสิทธิภาพอย่างมาก
เพื่อจัดการกับปัญหานี้ เราใช้ การดำเนินการแบบ หมุนวนซึ่งเป็นหนึ่งในองค์ประกอบพื้นฐานของ CNN และเราจะแสดงภาพแบบหมุนโดยใช้ตัวอย่างการตรวจจับขอบ
การดำเนินการหมุน:
เราใช้การดำเนินการนี้เพื่อให้แน่ใจว่าความสัมพันธ์เชิงพื้นที่ระหว่างพิกเซลโดยการเรียนรู้คุณสมบัติของภาพโดยใช้ข้อมูลอินพุตสี่เหลี่ยมจัตุรัสขนาดเล็กกล่าวคือ เรานำชุดพิกเซลหนึ่งชุด เรียนรู้ความสัมพันธ์ที่กำหนดโดยตัวกรอง และจัดเก็บเอาต์พุตที่ระบุความสัมพันธ์เชิงพื้นที่ระหว่าง พิกเซล
ทีนี้ 'ความสัมพันธ์เชิงพื้นที่' คืออะไร?
เพื่อทำความเข้าใจเรื่องนี้ ลองนึกถึงหนังสือที่วางอยู่บนโต๊ะ เราจะทราบได้อย่างไรว่าหนังสือแตกต่างจากตาราง มนุษย์เรารู้ได้โดยสัญชาตญาณว่าหนังสือแตกต่างจากโต๊ะ โดยเรามองเห็นหนังสือ 3 มิติ วิเคราะห์และประมวลผลได้ เช่น เราเห็นเงาที่หนังสือทอด ความสูงของหนังสือ และลักษณะอื่นๆ อีกมากมาย
ในทำนองเดียวกัน ในการมองเห็นด้วยคอมพิวเตอร์ ก่อนอื่นเราต้องแยกความแตกต่างของวัตถุจากสิ่งรอบข้าง ซึ่งทำได้โดยการเปรียบเทียบพิกเซลกับสิ่งรอบข้าง ใน NN มาตรฐาน สิ่งที่เราทำคือศึกษาแต่ละพิกเซลและพยายามจับคู่พิกเซลทั้งชุดกับเอาต์พุตโดยใช้ฟังก์ชัน ตอนนี้ ใน CNN เราศึกษาความแตกต่างระหว่างพิกเซลกับสภาพแวดล้อมเพื่อแยกคุณลักษณะต่างๆ นี่ไม่ใช่อื่นใดนอกจาก "ความสัมพันธ์เชิงพื้นที่" ที่กล่าวมาข้างต้น
การดำเนินการที่เราทำเรียกว่าความสัมพันธ์ข้ามในทางคณิตศาสตร์ แต่ในวรรณคดี DL เราเรียกว่าการดำเนินการบิด
เพื่อให้เข้าใจกระบวนการบิดเบี้ยวมากขึ้น ให้เรายกตัวอย่างง่ายๆ ของเมทริกซ์ขนาด 5x5 (ในกรณีนี้คือรูปภาพ) และตัวกรองขนาด 3x3:
ในภาพ GIF ด้านบน เราจะเห็นว่าเมทริกซ์ขนาด 5x5 ทั้งหมดถูกแปลงเป็นเมทริกซ์ขนาด 3x3 ด้วยความช่วยเหลือของฟิลเตอร์ 3x3 เอาต์พุต 3x3 นี้ประกอบด้วยความสัมพันธ์เชิงพื้นที่ของพิกเซลที่อยู่ตรงกลางของเมทริกซ์ 5x5 [กล่าวคือ เริ่มจากค่าในตำแหน่ง (2,2) ถึง (4,4)] ซึ่งทำให้เราสูญเสียข้อมูลบนเส้นขอบของเมทริกซ์ เราจะเห็นขั้นตอนในการจัดการกับการสูญหายของข้อมูลนี้ในภายหลังเมื่อเราหารือเกี่ยวกับช่องว่างภายใน
ตัวอย่าง: การตรวจจับขอบ
การตรวจจับขอบเป็นแอปพลิเคชันที่ง่ายที่สุดโดยใช้การดำเนินการบิด เนื่องจากค่าพิกเซลแตกต่างกันอย่างมากที่ขอบ เมื่อเราสังเกตพิกเซลที่ขอบหรือขอบเขตระหว่างวัตถุ 2 ชิ้น เช่น ใบหน้าและพื้นหลัง ขอบของใบหน้าจะล้อมรอบด้วยพิกเซลใบหน้าซึ่งระบุสีผิวด้านหนึ่ง และสีของพื้นหลังบน ด้านอื่น ๆ.
นอกจากนี้เรายังสามารถย้อนกลับไปดูหนังสือก่อนหน้าในตัวอย่างตารางและดูว่าพื้นผิว สีของหนังสือแตกต่างจากตารางที่วางอยู่
ทีนี้ มาดูตัวอย่างที่ง่ายกว่ามากเพื่อทำความเข้าใจสาระสำคัญของสิ่งที่เราเพิ่งอ่านไป
ในตัวอย่างนี้ คุณจะเห็นว่าเส้นขอบอยู่ที่คอลัมน์ที่ 3 และ 4 โดยที่ด้านหนึ่งสว่าง และอีกด้านหนึ่งมืด ซึ่งเมื่อผ่านตัวกรองเราจะได้คอลัมน์สว่างตรงกลางแสดงว่าขอบอยู่ตรงกลางของพิกเซลที่พิจารณา ตอนนี้ หากภาพอินพุตถูกพลิกในแนวนอน เราจะได้ผลลัพธ์ที่ตรงกันข้ามดังที่เห็นด้านล่าง
-30 แสดงว่าการเปลี่ยนจากซ้ายไปขวาอยู่ระหว่างบริเวณที่มืดกว่าในภาพไปยังบริเวณที่สว่างกว่าในขณะที่ +30 แสดงว่าเปลี่ยนจากบริเวณที่สว่างไปยังบริเวณที่มืดกว่า
สังเกตได้ว่าตัวกรองที่เราใช้เป็นตัวกรองแนวตั้ง ซึ่งพยายามตรวจจับขอบโดยเริ่มจากด้านซ้ายของหน้าจอ ถ้าเราต้องการฟิลเตอร์สำหรับการตรวจจับขอบแนวนอน เราก็แค่เปลี่ยนตำแหน่งของฟิลเตอร์ที่เราใช้อยู่ ข้อมูลที่เราได้รับโดยใช้ตัวกรองด้านบนนั้นน้อยมาก เพื่อให้ได้ข้อมูลเพิ่มเติม เราใช้ตัวกรองที่ซับซ้อนมากมาย มีตัวกรองที่กำหนดไว้ล่วงหน้ามากมายที่เป็นตัวกรองที่มีชื่อเสียงสำหรับการตรวจจับขอบ เช่น ตัวกรอง Sobel หรือตัวกรอง Scharr เป็นต้น
แม้ว่าตัวกรองเหล่านี้จะใช้งานได้ แต่ก็ยังมีวิธีที่ดีกว่า ซึ่งก็คือการใช้การเผยแพร่ย้อนกลับเพื่อสอนตัวกรองว่าจะตรวจจับอะไร เราจะพูดถึงเรื่องนี้เร็วๆ นี้ในซีรีส์ ดังนั้น คอยติดตามเพจของฉันและอย่าลังเลที่จะตรวจสอบบทความอื่น ๆ ของฉันในระหว่างนี้!
ขอบคุณที่แวะมา! ฉันจะตรวจสอบให้แน่ใจว่าบทความถัดไปออกมาตามแผนที่วางไว้พร้อมกับกำหนดการเฉพาะ ดังนั้นจับตาดูให้ดี! ในระหว่างนี้ คุณสามารถอ่านบทความของฉันเกี่ยวกับโปรเจกต์การวิเคราะห์ข้อมูลของฉัน หรือเกี่ยวกับการเปรียบเทียบ Deep Learning Specialization ที่เป็นที่นิยมกับ Deep Learning Nanodegree ของ Udacity หรือคุณสามารถติดตามบันทึกล่าสุดของฉันเกี่ยวกับ MLOps Specialization ได้ที่นี่
Mlearning.ai ส่งข้อเสนอแนะ




































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)