การสร้างบล็อคของโครงข่ายประสาทเทียม: ส่วนประกอบของโครงข่ายประสาทเทียมอธิบาย

เผยแพร่แล้ว: 2020-12-16

สารบัญ

บทนำ

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

แม้ว่าโครงสร้างพื้นฐานจะมีบทบาทสำคัญในการแสดงผลลัพธ์เหล่านี้ แต่โค้ดหลักจะทำหน้าที่ประมวลผลทั้งหมดที่อยู่ใน Neural Network มาสำรวจส่วนประกอบต่างๆ ของเครือข่ายนี้กัน จากนั้นเราจะดูหน่วยพื้นฐานบางส่วนโดยใช้ส่วนประกอบเหล่านี้

ต้องอ่าน: บทนำโมเดลโครงข่ายประสาทเทียม

องค์ประกอบต่างๆ ของโครงข่ายประสาทเทียม

เซลล์ประสาท

โครงสร้างพื้นฐานของโครงข่ายประสาทเทียมคือเซลล์ประสาท แนวคิดนี้คล้ายกันมากกับโครงข่ายประสาทจริงในสมองมนุษย์ของเรา เซลล์ประสาทเทียมนี้รับอินพุตทั้งหมด รวมเข้าด้วยกัน จากนั้นขึ้นอยู่กับฟังก์ชันที่ให้เอาต์พุตของเซลล์ประสาท

โครงข่ายประสาทเทียมประกอบด้วยเซลล์ประสาทดังกล่าวจำนวนมากที่เชื่อมต่อถึงกันในรูปแบบของชั้นที่เรียกว่าชั้นอินพุต ซ่อนเร้น และเอาต์พุต เครือข่ายนี้ช่วยให้เราสามารถแมปรูปแบบข้อมูลที่ซับซ้อนใดๆ กับฟังก์ชันทางคณิตศาสตร์ และสามารถตรวจสอบได้ทางคณิตศาสตร์โดยใช้ทฤษฎีบทการประมาณสากล

น้ำหนัก

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

ฟังก์ชั่นการเปิดใช้งาน

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

ฟังก์ชันนี้เรียกว่าฟังก์ชันกระตุ้น ซึ่งจะกำหนดสถานะของเซลล์ประสาท มีฟังก์ชันการเปิดใช้งานมากมายในตลาดที่สามารถทำงานได้ แต่ทั้งหมดขึ้นอยู่กับกรณีการใช้งาน ตัวอย่าง ได้แก่ ฟังก์ชัน sigmoid, ฟังก์ชัน tanh, ฟังก์ชัน softmax, Relu (หน่วยเชิงเส้นที่แก้ไข), Relu ที่รั่ว และอื่นๆ อีกมากมาย

อัตราการเรียนรู้

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

ลองดูหน่วยพื้นฐานบางหน่วยที่ใช้ส่วนประกอบเหล่านี้ในโครงข่ายประสาทเทียมที่ใหญ่ขึ้น

MP Neuron

นี่คือรูปแบบพื้นฐานที่สุดของเซลล์ประสาทเทียมที่คำนวณผลรวมอินพุตแล้วส่งต่อไปยังฟังก์ชันการเปิดใช้งานเพื่อรับผลลัพธ์สุดท้าย นี่คือภาพของสิ่งนี้:

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

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

Perceptron Neuron

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

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

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

w = w + x ถ้า wx < 0

w = w – x ถ้า wx >= 0

อ่าน: บทแนะนำการตรวจจับวัตถุ TensorFlow สำหรับผู้เริ่มต้น

เซลล์ประสาทซิกมอยด์

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

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

y = 1 / (1 + e^ (-wx + b))

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

อัลกอริธึมการเรียนรู้สำหรับสิ่งนี้แตกต่างจากก่อนหน้านี้ ที่นี่น้ำหนักและอคติได้รับการอัปเดตตามอนุพันธ์ของฟังก์ชันการสูญเสีย

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

บทสรุป

นี่เป็นการแนะนำสั้นๆ เกี่ยวกับ Neural Networks เราเห็นองค์ประกอบพื้นฐานต่างๆ เช่น เซลล์ประสาทซึ่งทำหน้าที่เป็นสมองขนาดเล็กและประมวลผลอินพุต น้ำหนักที่ช่วยให้สมดุลของค่า อัตราการเรียนรู้เพื่อควบคุมการปรับปรุงความเร็วของน้ำหนัก และฟังก์ชันการกระตุ้นเพื่อกระตุ้นเซลล์ประสาท

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

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's PG Diploma in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT- สถานะศิษย์เก่า B, 5+ โครงการหลักที่ใช้งานได้จริง & ความช่วยเหลือด้านงานกับบริษัทชั้นนำ

โครงข่ายประสาทเทียมใน AI คืออะไร?

โครงข่ายประสาทเทียมหรือโครงข่ายประสาทเทียม (ANN) หมายถึงโครงข่ายคอมพิวเตอร์ที่ได้รับแรงบันดาลใจจากชีววิทยา กล่าวคือ โครงข่ายประสาทเทียมที่มีอยู่ในสมองของมนุษย์ เช่นเดียวกับสมองของมนุษย์ที่ประกอบด้วยเซลล์ประสาทหลายพันล้านเซลล์ที่สร้างเครือข่ายที่เชื่อมต่อถึงกัน โครงข่ายประสาทเทียมยังประกอบด้วยเซลล์ประสาทที่เชื่อมต่อถึงกันในชั้นต่างๆ เซลล์ประสาทเหล่านี้เรียกอีกอย่างว่าโหนดในขอบเขตของปัญญาประดิษฐ์ แนวคิดของโครงข่ายประสาทเทียมได้รับการพัฒนาขึ้นเพื่อให้คอมพิวเตอร์มีความสามารถเหมือนมนุษย์ในการทำความเข้าใจสิ่งต่างๆ และสร้างการตัดสินใจ โหนดหรือคอมพิวเตอร์ที่นี่ถูกตั้งโปรแกรมให้ทำหน้าที่เหมือนเซลล์ที่เชื่อมต่อถึงกันในสมองของเรา

ทักษะอะไรบ้างที่จำเป็นสำหรับการทำงานใน AI?

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

ข้อกำหนดเบื้องต้นทั่วไปสำหรับการเรียนรู้โครงข่ายประสาทเทียมมีอะไรบ้าง

ในการทำงานในโครงการปัญญาประดิษฐ์ขนาดใหญ่ใดๆ คุณจะต้องมีความเข้าใจที่ชัดเจนเกี่ยวกับพื้นฐานของโครงข่ายประสาทเทียม ในการสร้างแนวคิดพื้นฐานของโครงข่ายประสาทเทียม ก่อนอื่นคุณต้องอ่านหนังสือ บทความ และบทความข่าวให้เพียงพอ โดยทั่วไป ในบรรดาข้อกำหนดเบื้องต้นสำหรับการศึกษาแนวคิดของโครงข่ายประสาทเทียม คณิตศาสตร์มีบทบาทสำคัญ โดยเฉพาะอย่างยิ่ง สิ่งต่างๆ เช่น สถิติ พีชคณิตเชิงเส้น แคลคูลัส ความน่าจะเป็น นอกจากนั้น ทักษะการเขียนโปรแกรมคอมพิวเตอร์ในภาษาเช่น Python, Java, R และ C++ ก็เป็นสิ่งจำเป็นเช่นกัน ทักษะการเขียนโปรแกรมระดับกลางสามารถช่วยได้มากที่นี่