คู่มือการเรียนรู้เชิงลึกของ CNN
เผยแพร่แล้ว: 2022-10-14ความสามารถของปัญญาประดิษฐ์ในการปิดช่องว่างระหว่างทักษะของมนุษย์และเครื่องจักรได้เพิ่มขึ้นอย่างมาก ทั้งมืออาชีพและมือสมัครเล่นให้ความสำคัญกับหลายด้านเพื่อให้ได้ผลลัพธ์ที่ยอดเยี่ยม สาขาวิชาคอมพิวเตอร์วิทัศน์เป็นหนึ่งในสาขาวิชาดังกล่าว
โปรแกรม AI & ML ของเราในสหรัฐอเมริกา
วิทยาศาสตรมหาบัณฑิตสาขาวิชา Machine Learning & AI จาก LJMU และ IIITB | Executive PG Program in Machine Learning & Artificial Intelligence จาก IIITB |
หากต้องการสำรวจหลักสูตรทั้งหมดของเรา โปรดไปที่หน้าด้านล่าง | |
หลักสูตรการเรียนรู้ของเครื่อง |
สาขาวิชานี้มีจุดมุ่งหมายเพื่อให้คอมพิวเตอร์สามารถมองเห็นและเข้าใจโลกเหมือนมนุษย์ และใช้ความเข้าใจนี้สำหรับงานต่างๆ รวมถึงการจดจำภาพและวิดีโอ การวิเคราะห์และการจัดหมวดหมู่ภาพ การสร้างสื่อใหม่ ระบบการแนะนำ การประมวลผลภาษาธรรมชาติ เป็นต้น Convolutional Neural Network เป็นอัลกอริธึมหลักที่ใช้ในการพัฒนาและปรับแต่งการปรับปรุงการเรียนรู้เชิงลึกในการมองเห็นด้วยคอมพิวเตอร์เมื่อเวลาผ่านไป มาหาข้อมูลเพิ่มเติมเกี่ยวกับอัลกอริธึมการเรียนรู้เชิงลึกกัน!
รับใบรับรองการเรียนรู้ของเครื่องจากมหาวิทยาลัยชั้นนำของโลก รับ Masters, Executive PGP หรือ Advanced Certificate Programs เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
Convolution Neural Network คืออะไร?
Convolutional Neural Network หรือ CNN เป็นวิธีการเรียนรู้เชิงลึกที่สามารถรับภาพที่ป้อนเข้า ให้องค์ประกอบและวัตถุต่างๆ ในความสำคัญของภาพ เช่น น้ำหนักและอคติที่เรียนรู้ได้ และแยกความแตกต่างระหว่างกัน ในการเปรียบเทียบ CNN ต้องการการประมวลผลล่วงหน้าน้อยกว่าเทคนิคการจำแนกประเภทอื่นๆ อย่างมาก CNN มีความสามารถในการเรียนรู้ตัวกรองและคุณสมบัติเหล่านี้ ในขณะที่ในเทคนิคดั้งเดิม ตัวกรองได้รับการออกแบบด้วยมือ
สถาปัตยกรรมของ CNN ได้รับอิทธิพลจากการจัดระเบียบ Visual Cortex และคล้ายกับเครือข่ายการเชื่อมต่อของเซลล์ประสาทในสมองของมนุษย์ เซลล์ประสาทแต่ละเซลล์ตอบสนองต่อสิ่งเร้าเฉพาะในพื้นที่การมองเห็นที่จำกัดซึ่งเรียกว่าสนามรับ ชุดของการซ้อนทับกันดังกล่าวครอบคลุมพื้นที่การมองเห็นทั้งหมด
สถาปัตยกรรมของ Convolution Neural Network
สถาปัตยกรรมของโครงข่ายประสาทเทียมแตกต่างจากโครงข่ายประสาททั่วไป โครงข่ายประสาทเทียมปกติจะแปลงอินพุต โดยส่งผ่านเลเยอร์ที่ซ่อนอยู่หลายชั้น แต่ละชั้นประกอบด้วยชุดของเซลล์ประสาทที่เชื่อมโยงกับเซลล์ประสาททั้งหมดในชั้นที่อยู่ด้านล่าง เลเยอร์เอาต์พุตที่เชื่อมต่ออย่างสมบูรณ์ขั้นสุดท้ายคือตำแหน่งที่แสดงการคาดการณ์
โครงข่ายประสาทเทียมมีโครงสร้างแตกต่างกันเล็กน้อย ขั้นแรกจะจัดเรียงเลเยอร์ในสามมิติ: ความกว้าง ความสูง และความลึก นอกจากนี้ มีเพียงส่วนหนึ่งของเซลล์ประสาทในชั้นต่อไปนี้เท่านั้นที่เชื่อมต่อกับเซลล์ในชั้นด้านล่าง ผลลัพธ์จะถูกย่อให้เป็นเวกเตอร์คะแนนความน่าจะเป็นเดียวและจัดกลุ่มพร้อมกับเลเยอร์การบิด
CNN ประกอบด้วยสองส่วน:
การสกัดคุณสมบัติจากเลเยอร์ที่ซ่อนอยู่
เครือข่ายจะทำชุดของการดำเนินการ convolutional และ pooling ในส่วนนี้เพื่อตรวจหาคุณลักษณะ นี่คือจุดที่เครือข่ายจะระบุลายของเสือ หูสองข้าง และสี่ขาหากคุณมีรูปเป็นหนึ่ง
การจำแนกหมวด
ด้านบนของคุณสมบัติที่ดึงมาเหล่านี้ เลเยอร์การบิดจะทำงานเป็นตัวแยกประเภทในกรณีนี้ พวกเขาจะให้โอกาสที่วัตถุของภาพตรงกับการทำนายของอัลกอริทึม
การสกัดคุณสมบัติ
องค์ประกอบสำคัญของ CNN ประการหนึ่งคือการบิดเบี้ยว การรวมทางคณิตศาสตร์ของสองฟังก์ชันเพื่อให้ได้ฟังก์ชันที่สามเรียกว่าการบิด มันรวมข้อมูลสองชุด แมปคุณลักษณะถูกสร้างขึ้นโดยดำเนินการแปลงข้อมูลอินพุตในกรณีของ CNN โดยใช้ตัวกรองหรือเคอร์เนล การบิดงอทำได้โดยการย้ายตัวกรองไปเหนืออินพุต สถานที่แต่ละแห่งทำการคูณเมทริกซ์และรวมเอาท์พุตลงบนแผนที่คุณลักษณะ
เราทำการบิดหลายครั้งในอินพุต โดยใช้ตัวกรองที่แตกต่างกันสำหรับแต่ละการดำเนินการ เป็นผลให้มีการสร้างแผนที่คุณลักษณะต่างๆ ผลลัพธ์ของเลเยอร์ Convolution ถูกประกอบขึ้นโดยใช้แผนที่คุณลักษณะทั้งหมดเหล่านี้
เช่นเดียวกับโครงข่ายประสาทเทียมอื่น ๆ เราใช้กระบวนการเปิดใช้งานเพื่อทำให้เอาต์พุตของเราไม่เป็นเชิงเส้น โดยที่ฟังก์ชันการเปิดใช้งานจะใช้เพื่อส่งสัญญาณออกของการบิดในโครงข่ายประสาทเทียม
ประเภทของโครงข่ายประสาทเทียม
ชั้น Convolution:
องค์ประกอบพื้นฐานของ CNN คือชั้นการบิด มันดำเนินการโหลดการคำนวณส่วนใหญ่บนเครือข่าย เลเยอร์นี้สร้างผลิตภัณฑ์ดอทระหว่างเมทริกซ์สองตัว ซึ่งหนึ่งในนั้นคือเคอร์เนล คอลเลกชั่นของพารามิเตอร์ที่เรียนรู้ได้ และอีกอันคือพื้นที่จำกัดของฟิลด์ที่เปิดกว้าง เมื่อเทียบกับรูปภาพ เคอร์เนลมีขนาดเล็กกว่าในเนื้อที่แต่ลึกกว่า นี่แสดงว่าความกว้างและความสูงของเคอร์นจะเล็กเชิงพื้นที่ถ้ารูปภาพประกอบด้วยสามช่องสัญญาณ แม้ว่าความลึกจะเพิ่มขึ้นทั้งสามช่องทาง
เคอร์เนลจะเคลื่อนที่ผ่านความสูงและความกว้างของรูปภาพในระหว่างการส่งต่อ ทำให้เกิดการแสดงภาพของภูมิภาคที่รับได้ ด้วยเหตุนี้ การแสดงภาพสองมิติที่เรียกว่าแผนที่เปิดใช้งานจึงถูกสร้างขึ้น ซึ่งเผยให้เห็นการตอบสนองของเคอร์เนลในแต่ละตำแหน่งในภาพ การก้าวเป็นชื่อสำหรับขนาดที่เลื่อนได้ของเคอร์เนล
การรวมเลเยอร์:
เลเยอร์นี้ลดกำลังการประมวลผลที่จำเป็นในการประมวลผลข้อมูลเท่านั้น ทำได้โดยการลดมิติของเมทริกซ์ที่เน้นสีเพิ่มเติม เราพยายามแยกคุณลักษณะที่โดดเด่นออกจากส่วนเล็กๆ ของพื้นที่ใกล้เคียงในเลเยอร์นี้
การรวมเฉลี่ยและการรวมสูงสุดเป็นกลยุทธ์การรวมสองประเภทที่แตกต่างกัน
ตรงกันข้ามกับ Max-pooling ซึ่งใช้ค่าสูงสุดในบรรดาค่าทั้งหมดที่อยู่ในขอบเขตของการรวม ค่าเฉลี่ยการรวมค่าเฉลี่ยออกค่าทั้งหมดภายในขอบเขตของการรวม
ตอนนี้เรามีเมทริกซ์ที่มีองค์ประกอบหลักของรูปภาพหลังจากรวมเลเยอร์ และเมทริกซ์นี้มีขนาดที่เล็กกว่า ซึ่งจะมีประโยชน์มากในระยะต่อไป
เลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์:
วิธีการที่ไม่แพงในการเรียนรู้การเรียงสับเปลี่ยนแบบไม่เชิงเส้นของคุณลักษณะระดับสูงที่จัดเตรียมโดยเอาต์พุตของเลเยอร์แบบ Convolutional คือการเพิ่มเลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์ ในพื้นที่นั้น เลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์กำลังเรียนรู้ฟังก์ชันที่อาจไม่เป็นเชิงเส้น
หลังจากแปลงเป็นรูปแบบที่เหมาะสมสำหรับ perceptron หลายระดับแล้ว เราจะปรับภาพที่ป้อนเข้าให้เป็นเวกเตอร์คอลัมน์ โครงข่ายประสาทแบบ feed-forward จะได้รับผลลัพธ์ที่แบนราบ และ backpropagation จะใช้สำหรับการทำซ้ำการฝึกอบรมแต่ละครั้ง โมเดลสามารถจัดหมวดหมู่ภาพโดยใช้วิธีการจำแนกแบบ Softmax โดยการระบุคุณลักษณะระดับต่ำที่โดดเด่นและเฉพาะเจาะจงในหลายยุคสมัย
ชั้นที่ไม่ใช่เชิงเส้น:
เลเยอร์ที่ไม่เป็นเชิงเส้นมักถูกรวมไว้หลังจากเลเยอร์ที่เกิดการบิดเบี้ยวเพื่อเพิ่มความไม่เป็นเชิงเส้นลงในแผนที่การเปิดใช้งานเนื่องจากการบิดเป็นการดำเนินการเชิงเส้น และรูปภาพก็ไม่ใช่เชิงเส้น
การดำเนินการที่ไม่ใช่เชิงเส้นมีหลายรูปแบบ ซึ่งโดยทั่วไปได้แก่:
ซิกมอยด์
สูตรทางคณิตศาสตร์สำหรับซิกมอยด์ไม่เชิงเส้นคือ () = 1/(1+e ) มันทำลายตัวเลขที่มีค่าจริงในช่วงระหว่าง 0 ถึง 1 การไล่ระดับสีของ sigmoid จะกลายเป็นศูนย์เกือบเมื่อการเปิดใช้งานอยู่ที่ส่วนท้าย ซึ่งเป็นคุณลักษณะ sigmoid ที่ไม่เอื้ออำนวยอย่างมาก Backpropagation จะฆ่าการไล่ระดับสีอย่างมีประสิทธิภาพหากการไล่ระดับสีในพื้นที่มีขนาดเล็กเกินไป นอกจากนี้ สมมติว่าอินพุตไปยังเซลล์ประสาทนั้นเป็นค่าบวกเท่านั้น ในกรณีดังกล่าว เอาต์พุต sigmoid จะเป็นค่าบวกเท่านั้นหรือค่าลบเพียงอย่างเดียว ซึ่งนำไปสู่การเปลี่ยนแปลงการไล่ระดับสีแบบซิกแซกแบบไดนามิกสำหรับน้ำหนัก
Tanh
Tanh ย่อจำนวนที่มีค่าจริงเป็นช่วง [-1, 1] เช่นเดียวกับเซลล์ประสาทซิกมอยด์ การกระตุ้นจะอิ่มตัว แต่ต่างจากเซลล์ประสาทเหล่านี้ เอาต์พุตของมันคือศูนย์
ReLU
Rectified Linear Unit (ReLU) เพิ่งได้รับความนิยมอย่างมาก ทำหน้าที่คำนวณ ()=max (0,) พูดอีกอย่างก็คือ การเปิดใช้งานนั้นไม่มีขีดจำกัด ReLU เร่งความเร็วการบรรจบกันถึงหกเท่าและเชื่อถือได้มากกว่า sigmoid และ tanh
น่าเสียดายที่ ReLU อาจเปราะบางระหว่างการฝึก ซึ่งเป็นข้อเสียเปรียบ การไล่ระดับสีที่รุนแรงสามารถอัปเดตได้โดยการป้องกันไม่ให้เซลล์ประสาทอัปเดตเพิ่มเติม อย่างไรก็ตาม เราสามารถทำได้โดยเลือกอัตราการเรียนรู้ที่เหมาะสม
บล็อกการเรียนรู้ของเครื่องยอดนิยมและปัญญาประดิษฐ์
IoT: ประวัติศาสตร์ ปัจจุบัน และอนาคต | บทช่วยสอนการเรียนรู้ของเครื่อง: เรียนรู้ ML | อัลกอริทึมคืออะไร? ง่ายและสะดวก |
เงินเดือนวิศวกรหุ่นยนต์ในอินเดีย: บทบาททั้งหมด | วันหนึ่งในชีวิตของวิศวกรแมชชีนเลิร์นนิง: พวกเขาทำอะไร? | IoT คืออะไร (Internet of Things) |
การเปลี่ยนแปลงและการรวมกัน: ความแตกต่างระหว่างการเปลี่ยนแปลงและการรวมกัน | แนวโน้ม 7 อันดับแรกในปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง | แมชชีนเลิร์นนิงกับ R: ทุกสิ่งที่คุณต้องรู้ |
เริ่มต้นคำแนะนำของคุณเกี่ยวกับ CNN Deep Learning ด้วย UpGrad
ลงทะเบียนเรียนวิทยาศาสตรมหาบัณฑิตสาขาการเรียนรู้ของเครื่องและปัญญาประดิษฐ์ที่ UpGrad โดยความร่วมมือกับ LJMU
โปรแกรมใบรับรองเตรียมนักเรียนสำหรับบทบาททางเทคนิคในปัจจุบันและในอนาคตโดยการจัดหาหัวข้อที่เกี่ยวข้องกับอุตสาหกรรม โครงการจริง กรณีศึกษาหลายกรณี และนักวิชาการระดับนานาชาติที่เสนอโดยผู้เชี่ยวชาญเฉพาะเรื่องก็ได้รับการเน้นย้ำอย่างมากในโปรแกรมเช่นกัน
เมื่อสมัครใช้งาน คุณจะใช้ประโยชน์จากคุณลักษณะเฉพาะของ UpGrad เช่น การตรวจสอบเครือข่าย เซสชันการศึกษา และการสนับสนุนการเรียนรู้แบบ 360 องศา
อัลกอริทึมการเรียนรู้เชิงลึกของ CNN คืออะไร
วิธีดำเนินการของ CNN คือการรับรูปภาพ กำหนดน้ำหนักตามรายการต่างๆ ในภาพ จากนั้นจึงแยกรูปภาพออกจากกัน เมื่อเทียบกับอัลกอริธึมการเรียนรู้เชิงลึกอื่น ๆ CNN ต้องการการประมวลผลข้อมูลล่วงหน้าเพียงเล็กน้อย
อะไรที่ทำให้ CNN แตกต่างจากการเรียนรู้เชิงลึก?
การเรียนรู้เชิงลึกมักถูกใช้ในการตลาดเพื่อให้ฟังดูเป็นมืออาชีพมากกว่าที่เป็นอยู่ โครงข่ายประสาทลึกมีหลายประเภท รวมทั้งซีเอ็นเอ็น CNN เป็นที่ชื่นชอบเนื่องจากมีประโยชน์มากมายในการระบุรูปภาพ
เหตุใด CNN จึงเหนือกว่าการเชื่อมต่ออย่างสมบูรณ์
Convolutions ไม่มีการเชื่อมต่อที่หนาแน่น และไม่ใช่ว่าทุกโหนดอินพุตจะมีผลกระทบต่อโหนดเอาต์พุตทุกอัน ด้วยเหตุนี้ เลเยอร์ที่บิดเบี้ยวจึงสามารถเรียนรู้ได้อย่างยืดหยุ่นมากขึ้น นอกจากนี้ยังมีน้ำหนักต่อเลเยอร์น้อยลง ซึ่งเป็นประโยชน์ต่ออินพุตที่มีมิติสูง เช่น ข้อมูลรูปภาพ
CNN ใช้สำหรับรูปภาพเท่านั้นหรือไม่?
ใช่. สามารถประมวลผลข้อมูลอาร์เรย์ 2D และ 3D ได้โดยใช้ CNN