ML การปฏิบัติ: การแยกประเภทรูปภาพ

ขอแนะนําโครงข่ายระบบประสาทเทียมแบบ Convolutional

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

ในการเริ่มต้น CNN จะได้รับแผนที่ฟีเจอร์อินพุต ซึ่งเป็นเมทริกซ์สามมิติที่มีขนาดของ 2 มิติแรกจะสอดคล้องกับความยาวและความกว้างของรูปภาพเป็นพิกเซล ขนาด 3 คือ 3 (สอดคล้องกับ 3 ช่องรูปภาพสี ได้แก่ แดง เขียว และน้ําเงิน) CNN ประกอบด้วยกลุ่มโมดูลที่แต่ละรายการทํางาน 3 รายการ

1. การปฏิวัติ

Conv. จะแยกชิ้นส่วนแผนที่ของฟีเจอร์อินพุต และใช้ตัวกรองเพื่อคํานวณฟีเจอร์ใหม่ สร้างแผนที่ฟีเจอร์เอาต์พุต หรือฟีเจอร์นูน (ซึ่งอาจมีขนาดและความลึกต่างจากการแมปฟีเจอร์อินพุต) การปฏิวัติจะกําหนดโดยพารามิเตอร์ 2 ตัว ดังนี้

  • ขนาดของไทล์ที่แตกข้อมูล (โดยทั่วไปแล้วคือ 3x3 หรือ 5x5 พิกเซล)
  • ความลึกของแผนผังฟีเจอร์เอาต์พุต ซึ่งสอดคล้องกับจํานวนตัวกรองที่ใช้

ในระหว่างการแปลง ตัวกรอง (ที่มีขนาดเท่ากันกับขนาดชิ้นส่วน) จะเลื่อนไปยังแผนผังฟีเจอร์อินพุตในแนวนอนและแนวตั้งอย่างมีประสิทธิภาพ แยกแต่ละพิกเซลออกทีละ 1 พิกเซล (ดูรูปที่ 3)

การปฏิวัติขนาด 3x3 เหนือแผนที่คุณลักษณะ 4x4 รูปที่ 3 การซ้อน 3x3 ของความลึก 1 ทําผ่านแผนผังฟีเจอร์อินพุตขนาด 5x5 และความลึกของความลึก 1 มีตําแหน่งขนาด 3x3 ที่เป็นไปได้ 9 รายการที่สามารถแยกชิ้นส่วนจากแผนที่ฟีเจอร์ขนาด 5x5 ได้ ดังนั้นการปฏิวัตินี้จะสร้างแผนที่ฟีเจอร์เอาต์พุต 3x3

สําหรับคู่ชิ้นส่วนตัวกรองแต่ละคู่ CNN จะคูณเมทริกซ์ตัวกรองของเมทริกซ์และเมทริกซ์กระเบื้อง จากนั้นรวมองค์ประกอบทั้งหมดของเมทริกซ์ที่ได้มาเพื่อให้ได้ค่าเดียว แต่ละค่าที่ได้สําหรับแต่ละคู่ของตัวกรองชิ้นส่วน ระบบจะเอาต์พุตในเมทริกซ์ฟีเจอร์ที่สัมพันธ์กัน (ดูรูป 4a และ 4b)

แผนที่คุณลักษณะขนาด 5x5 และการปฏิวัติขนาด 3x3 รูปที่ 4a ซ้าย: แผนที่ฟีเจอร์อินพุตขนาด 5x5 (ความลึก 1) ขวา: การแปลงแบบ 3x3 (ความลึก 1)

รูปที่ 4b ซ้าย: การปฏิวัติขนาด 3x3 จะดําเนินการในแผนที่ฟีเจอร์อินพุตขนาด 5x5 Right: ฟีเจอร์ที่ทําให้เกิด Conv. คลิกค่าในแผนที่ฟีเจอร์เอาต์พุตเพื่อดูวิธีคํานวณ

ระหว่างการฝึกอบรม CNN "learn" ค่าที่ดีที่สุดสําหรับเมตริกตัวกรอง ที่ทําให้ตัวกรองสามารถดึงฟีเจอร์ที่สื่อความหมาย (พื้นผิว ขอบ รูปร่าง) จากแผนผังฟีเจอร์อินพุต เมื่อตัวกรอง (ความลึกของฟีเจอร์เอาต์พุตแผนที่) มีผลกับอินพุตที่เพิ่มขึ้น จํานวนฟีเจอร์ที่ CNN จะดึงข้อมูลได้ก็จะมีจํานวนเพิ่มขึ้นเช่นกัน แต่ก็มีข้อเสียก็คือ ตัวกรองจะจัดทรัพยากรส่วนใหญ่ที่ CNN ใช้ไป ดังนั้นเวลาการฝึกจะเพิ่มขึ้นเมื่อเพิ่มตัวกรองมากขึ้น นอกจากนี้ ตัวกรองแต่ละรายการที่เพิ่มลงในเครือข่ายจะให้มูลค่าที่เพิ่มขึ้นน้อยกว่าตัวกรองก่อนหน้านี้ ดังนั้นวิศวกรจึงมุ่งมั่นที่จะสร้างเครือข่ายที่ใช้ตัวกรองตามจํานวนขั้นต่ําที่จําเป็นในการแยกฟีเจอร์ที่จําเป็นสําหรับการจัดประเภทรูปภาพอย่างถูกต้อง

2. รีเลิฟ

หลังจากการดําเนินการต่างๆ ของ CNN แล้ว CNN ได้ใช้การเปลี่ยนรูปแบบหน่วยเชิงเส้น (ReLified Linear Unit) (ReLU) กับฟีเจอร์ที่นํามารวมกันเพื่อแนะนําโมเดลที่ไม่ใช่เชิงเส้น ฟังก์ชัน ReLU นี้ \(F(x)=max(0,x)\)จะแสดงผล x สําหรับค่าทั้งหมดของ x > 0 และแสดงผลค่า 0 สําหรับค่าทั้งหมดของ x ≤ 0

3. พูล

หลังจากที่ ReLU ได้เข้าสู่ขั้นตอนการรวมกลุ่มแล้ว CNN จะสุ่มตัวอย่างฟีเจอร์ที่ทําให้เกิด Conversion (เพื่อประหยัดเวลาในการดําเนินการ) เพื่อลดจํานวนมิติข้อมูลของแผนที่ฟีเจอร์ โดยยังคงรักษาข้อมูลฟีเจอร์ที่สําคัญที่สุดไว้ อัลกอริทึมทั่วไปที่ใช้ในขั้นตอนนี้คือการเพิ่มจํานวนสูงสุด

การรวมกลุ่มสูงสุดจะดําเนินการในลักษณะเดียวกันกับการปฏิวัติ เราเลื่อนผ่านแผนผังฟีเจอร์และแยกชิ้นส่วนขนาดที่ระบุ สําหรับแต่ละไทล์ ค่าสูงสุด จะส่งออกไปยังแมปฟีเจอร์ใหม่ และค่าอื่นๆ ทั้งหมดจะถูกทิ้ง การดําเนินการแบบสูงสุดต้องใช้พารามิเตอร์ 2 ตัว ได้แก่

  • ขนาดของตัวกรองระดับสูงสุด (โดยทั่วไปคือ 2x2 พิกเซล)
  • เส้นโครงร่าง: ระยะทางเป็นพิกเซลซึ่งแยกชิ้นส่วนที่ดึงมาแต่ละพิกเซล ซึ่งต่างจากมุมมองคอนโด สําหรับตัวกรอง 2x2 การก้าวที่ 2 จะระบุว่าการดําเนินการรวมจํานวนสูงสุดจะแยกชิ้นส่วน 2x2 ที่ไม่ซ้อนทับกันออกจากแผนที่ฟีเจอร์ (ดูรูปที่ 5)

ภาพเคลื่อนไหวของการรวมกลุ่มสูงสุดบนแผนที่ 4x4 พร้อมตัวกรองขนาด 2x2 และระยะก้าวที่ 2

รูปที่ 5 ซ้าย: การรวมกลุ่มเข้าด้วยกันบนแผนที่ขนาด 4x4 ที่มีตัวกรองขนาด 2x2 และ 2 ตัวเลือก ขวา: เอาต์พุตของการดําเนินการรวมสูงสุด โปรดทราบว่าตอนนี้แมปฟีเจอร์ได้เป็น 2x2 ซึ่งจะเก็บเฉพาะค่าสูงสุดจากแต่ละชิ้นส่วน

เลเยอร์ที่เชื่อมต่อโดยสมบูรณ์

ที่ส่วนท้ายของเครือข่ายระบบประสาทของการปฏิวัติหนึ่งๆ จะมีเลเยอร์ที่เชื่อมต่อกันเต็มรูปแบบอย่างน้อย 1 ชั้น (เมื่อเลเยอร์ 2 ชั้นเป็น "เชื่อมต่ออย่างสมบูรณ์&quot ทุกโหนดในเลเยอร์แรกจะเชื่อมต่อกับทุกโหนดในเลเยอร์ที่สอง) งานของหนูน้อยคือการจําแนก ตามฟีเจอร์ที่การปฏิวัติเกิดขึ้น โดยทั่วไป เลเยอร์ที่เชื่อมต่อกันสมบูรณ์ขั้นสุดท้ายจะมีฟังก์ชันการเปิดใช้งาน Softmax ซึ่งจะแสดงผลค่าความน่าจะเป็นตั้งแต่ 0 ถึง 1 สําหรับป้ายกํากับการแยกประเภทแต่ละโมเดลที่โมเดลพยายามจะคาดการณ์

รูปที่ 6 แสดงโครงสร้างแบบภาพรวมตั้งแต่ต้นจนจบของเครือข่ายระบบประสาทของการปฏิวัติ

แผนภาพจากต้นทางไปยังเส้นโครงข่ายระบบโครงข่ายไฟฟ้าที่มีการปฏิวัติแสดงอินพุต

รูปที่ 6 CNN ที่แสดงมีโมดูลการปฏิวัติ 2 โมดูล (Convolution + ReLU + การสร้างความร่วมมือ) สําหรับการแยกฟีเจอร์และ 2 เลเยอร์ที่เชื่อมต่ออย่างเต็มรูปแบบสําหรับการจัดประเภท CNN อื่นๆ อาจมีโมดูลที่ผสานกันเป็นจํานวนมากหรือเล็กกว่า และมีเลเยอร์ที่เชื่อมต่อทั้งหมดมากกว่าหรือน้อยกว่า วิศวกรมักทดลองคิดหาการกําหนดค่าที่จะสร้างผลลัพธ์ที่ดีที่สุดสําหรับโมเดลของตน