คู่มือการเรียนรู้เชิงลึกของ 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