ฟังก์ชั่นการเปิดใช้งานของโครงข่ายประสาทเทียมในค. ขั้นตอนต่าง ๆ ของการฝึกหนึ่งโมเดล โครงสร้างโครงข่ายประสาทเทียมแบบ Convolutional
ประเภทของฟังก์ชันการเปิดใช้งานส่วนใหญ่จะกำหนดการทำงานของโครงข่ายประสาทเทียม ตารางแสดงฟังก์ชันการเปิดใช้งานบางประเภทที่ใช้ในการออกแบบโครงข่ายประสาทเทียม
เลขที่ | ชื่อ | สูตร | ขอบเขตการใช้งาน |
เชิงเส้น | (-∞; +∞) | ||
กึ่งเชิงเส้น | (0; +∞) | ||
โลจิสติก (ซิกมอยด์) | (0; 1) | ||
แทนเจนต์ไฮเปอร์โบลิก | (-1; 1) | ||
เอ็กซ์โปเนนเชียล | (0; +∞) | ||
เกณฑ์ | (-1; 1) | ||
เป็นเส้นตรงด้วยความอิ่มตัว | (-1; 1) |
การจำแนกประเภทของโครงข่ายประสาทเทียม
การจำแนกประเภทของโครงข่ายประสาทเทียมตามประเภทของโทโพโลยี (ตามประเภทของการแพร่กระจายสัญญาณระหว่างการทำงานของโครงข่ายประสาทเทียม):
โทโพโลยีของโครงข่ายประสาทเทียมเป็นภาพกราฟิกที่แสดงว่าเซลล์ประสาทเชื่อมต่อกันในเครือข่ายนี้อย่างไร
NS ชั้นเดียว (เพอร์เซปตรอน) | NS หลายชั้น | |
NS ที่มีการเชื่อมต่อโดยตรง | ||
NS ที่มีการเชื่อมต่อข้าม | ไม่มี | |
NS พร้อมข้อเสนอแนะ (เกิดซ้ำ) | ||
NS ที่มีการเชื่อมต่อด้านข้าง (มีการยับยั้งด้านข้าง) | ไม่มี |
ในโครงข่ายประสาทเทียมที่มีการเชื่อมต่อข้าม แต่ละเลเยอร์จะมีอิทธิพลที่ละเอียดอ่อนมากขึ้นต่อเอาท์พุตของเครือข่าย โครงสร้างมีความเหมาะสมที่สุด (ย่อเล็กสุด) เมื่อเปรียบเทียบกับโครงข่ายประสาทเทียมที่มีการเชื่อมต่อแบบอนุกรม ซึ่งจะเพิ่มความเร็วของเครือข่าย
โครงข่ายประสาทเทียมแบบเกิดซ้ำถูกใช้เพื่อสร้างแบบจำลองกระบวนการไดนามิก
การจำแนกประเภทของโครงข่ายประสาทเทียมตามประเภทของการเชื่อมต่อ:
1. โครงข่ายประสาทเทียมที่เชื่อมต่ออย่างสมบูรณ์:
2. โครงข่ายประสาทเทียมที่มีการเชื่อมต่อแบบอนุกรม:
3. โครงสร้างคู่ที่หลวม:
a) สี่เหลี่ยม b) หกเหลี่ยม???
การจำแนกประเภทของโครงข่ายประสาทเทียมตามวิธีการแก้ไขปัญหา:
1. เครือข่ายที่สร้างขึ้น: ออกแบบมาสำหรับปัญหาที่เป็นทางการซึ่งมีอัลกอริธึมสำหรับการแก้ปัญหาเฉพาะที่กำหนดไว้อย่างชัดเจนบนพื้นฐานโครงข่ายประสาทเทียม
2. เครือข่ายที่มีเมทริกซ์การเชื่อมต่อที่สร้างขึ้น: ใช้สำหรับงานที่ยากต่อการจัดระบบ ตามกฎแล้วจะมีโครงสร้างเหมือนกันและแตกต่างกันเฉพาะในเมทริกซ์การเชื่อมต่อ (เครือข่าย Hopfield) ข้อดี: มีทัศนวิสัยในการทำงาน
3. เครือข่ายการเรียนรู้: ใช้เพื่อแก้ปัญหาที่ไม่เป็นระเบียบ ในระหว่างกระบวนการฝึกอบรมเครือข่าย พารามิเตอร์ เช่น ค่าสัมประสิทธิ์การเชื่อมต่อซินแนปติก และในบางกรณี โทโพโลยีจะเปลี่ยนโดยอัตโนมัติ ข้อเสีย: ใช้เวลาฝึกอบรมเครือข่ายนาน
4. เครือข่ายแบบรวม (แบบผสม): รวมคุณสมบัติของสองหรือสามประเภทเข้าด้วยกัน ตามกฎแล้ว เครือข่ายเป็นแบบหลายชั้น ซึ่งแต่ละชั้นจะแสดงด้วยโทโพโลยีที่แตกต่างกัน และได้รับการฝึกโดยใช้อัลกอริธึมเฉพาะ แพร่หลายมากที่สุดเนื่องจากให้โอกาสมากมายแก่นักพัฒนา
) เป็นส่วนหนึ่งของงานวิทยาศาสตร์ของฉันที่มหาวิทยาลัย ซึ่งฟังดูเหมือน: “ซอฟต์แวร์ที่ซับซ้อนสำหรับการตรวจจับใบหน้าในสตรีมวิดีโอโดยใช้โครงข่ายประสาทเทียมแบบม้วน” เป้าหมายของงานคือการปรับปรุงลักษณะความเร็วในกระบวนการตรวจจับใบหน้าในสตรีมวิดีโอ กล้องสมาร์ทโฟนถูกใช้เป็นสตรีมวิดีโอ PS เดสก์ท็อป (ภาษา Kotlin) ถูกเขียนขึ้นเพื่อสร้างและฝึกอบรมโครงข่ายประสาทเทียมแบบ convolutional รวมถึงแอปพลิเคชันมือถือสำหรับ Android (ภาษา Kotlin) ซึ่งใช้เครือข่ายที่ได้รับการฝึกอบรมและ "ลอง" เพื่อจดจำใบหน้าจากสตรีมวิดีโอของกล้อง ผลลัพธ์ที่ได้ออกมาค่อนข้างดี ใช้สำเนาโทโพโลยีที่ถูกต้องที่ฉันเสนอด้วยความเสี่ยงและอันตรายของคุณเอง (ฉันไม่แนะนำ)
ปัญหาทางทฤษฎี
- กำหนดปัญหาที่จะแก้ไขโดยโครงข่ายประสาทเทียม (การจำแนก การทำนาย การดัดแปลง)
- กำหนดอินพุต (ประเภท: รูปภาพ, เสียง, ขนาด: 100x100, 30x30, รูปแบบ: RGB, ระดับสีเทา) และข้อมูลเอาต์พุต (จำนวนคลาส)
- กำหนดโทโพโลยีของเครือข่าย Convolutional (จำนวน Convolutional, Subsampled, เลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์, จำนวนแผนที่คุณลักษณะ, ขนาดเคอร์เนล, ฟังก์ชันการเปิดใช้งาน)
การแนะนำ
ผลลัพธ์ที่ดีที่สุดในด้านการจดจำใบหน้าแสดงโดย Convolutional Neural Network หรือ Convolutional Neural Network (ต่อไปนี้จะเรียกว่า CNN) ซึ่งเป็นการพัฒนาเชิงตรรกะของแนวคิดของสถาปัตยกรรมเครือข่ายประสาทเช่น cognitron และ neocognitron ความสำเร็จนี้เกิดจากความสามารถในการคำนึงถึงโทโพโลยีสองมิติของภาพ ซึ่งตรงกันข้ามกับการรับรู้แบบหลายชั้นโครงข่ายประสาทเทียมแบบขดให้ความต้านทานบางส่วนต่อการเปลี่ยนแปลงขนาด การกระจัด การหมุน การเปลี่ยนแปลงมุม และการบิดเบือนอื่นๆ โครงข่ายประสาทเทียมแบบ Convolutional ผสมผสานแนวคิดทางสถาปัตยกรรมสามประการเข้าด้วยกันเพื่อให้เกิดความแปรปรวนต่อขนาด การหมุน การแปล และการบิดเบือนเชิงพื้นที่:
- ฟิลด์ตัวรับเฉพาะที่ (ให้การเชื่อมต่อเซลล์ประสาทสองมิติในพื้นที่);
- ค่าสัมประสิทธิ์ซินแนปติกทั่วไป (รับประกันการตรวจจับคุณสมบัติบางอย่างที่ใดก็ได้ในภาพและลดจำนวนค่าสัมประสิทธิ์การถ่วงน้ำหนักทั้งหมด)
- การจัดลำดับชั้นด้วยตัวอย่างย่อยเชิงพื้นที่
นั่นคือเหตุผลที่ในงานของฉันฉันใช้โครงข่ายประสาทเทียมแบบหมุนตามหลักการของนีโอโคกไนตรอนและเสริมด้วยการฝึกอบรมโดยใช้อัลกอริธึมการแพร่กระจายกลับ
โครงสร้างโครงข่ายประสาทเทียมแบบ Convolutional
CNN ประกอบด้วยเลเยอร์ประเภทต่างๆ: เลเยอร์แบบ convolutional เลเยอร์การสุ่มตัวอย่าง และเลเยอร์ของโครงข่ายประสาทเทียม "ปกติ" - เพอร์เซปตรอน ตามรูปที่ 1
รูปที่ 1 - โทโพโลยีโครงข่ายประสาทเทียมแบบหมุนวน
เลเยอร์สองประเภทแรก (convolutional, subsampling) สลับกัน สร้างเวกเตอร์คุณลักษณะอินพุตสำหรับเพอร์เซปตรอนหลายชั้น
เครือข่าย Convolutional ได้ชื่อมาจากชื่อของการดำเนินการ - Convolution ซึ่งสาระสำคัญจะอธิบายเพิ่มเติม
เครือข่ายแบบหมุนวนเป็นจุดกึ่งกลางที่มีความสุขระหว่างเครือข่ายที่เป็นไปได้ทางชีวภาพและเพอร์เซปตรอนแบบหลายชั้นทั่วไป ทุกวันนี้ ผลลัพธ์ที่ดีที่สุดในการจดจำภาพนั้นมาจากความช่วยเหลือของพวกเขา โดยเฉลี่ยแล้ว ความแม่นยำในการจดจำของเครือข่ายดังกล่าวมีมากกว่า ANN ทั่วไปถึง 10-15% CNN เป็นเทคโนโลยีสำคัญของ Deep Learning
เหตุผลหลักที่ทำให้ SNA ประสบความสำเร็จคือแนวคิดเรื่องตุ้มน้ำหนักทั่วไป แม้จะมีขนาดใหญ่ แต่เครือข่ายเหล่านี้ก็มีพารามิเตอร์ที่กำหนดค่าได้จำนวนน้อยเมื่อเทียบกับนีโอโคกไนตรอนซึ่งเป็นบรรพบุรุษ CNN (Tiled Convolutional Neural Network) มีหลากหลายรูปแบบ ซึ่งคล้ายกับ neocognitron ในเครือข่ายดังกล่าว มีการปฏิเสธน้ำหนักที่เกี่ยวข้องบางส่วน แต่อัลกอริทึมการเรียนรู้ยังคงเหมือนเดิมและขึ้นอยู่กับการแพร่กระจายกลับของข้อผิดพลาด CNN สามารถทำงานได้อย่างรวดเร็วบนเครื่องซีเรียลและเรียนรู้ได้อย่างรวดเร็วโดยการทำกระบวนการ Convolution แบบขนานในแต่ละแผนที่เพียงอย่างเดียว รวมถึงการแยกส่วนเมื่อข้อผิดพลาดแพร่กระจายผ่านเครือข่าย
รูปด้านล่างแสดงภาพของการบิดและการสุ่มตัวอย่าง:
แบบจำลองเซลล์ประสาท
โทโพโลยีโครงข่ายประสาทเทียมแบบ Convolutional
การกำหนดโทโพโลยีเครือข่ายขึ้นอยู่กับปัญหาที่กำลังแก้ไข ข้อมูลจากบทความทางวิทยาศาสตร์ และประสบการณ์การทดลองของตนเองขั้นตอนต่อไปนี้สามารถแยกแยะได้ซึ่งมีอิทธิพลต่อการเลือกโทโพโลยี:
- กำหนดปัญหาที่จะแก้ไขโดยโครงข่ายประสาทเทียม (การจำแนก การทำนาย การดัดแปลง)
- กำหนดข้อจำกัดของปัญหาที่กำลังแก้ไข (ความเร็ว ความแม่นยำของคำตอบ)
- กำหนดอินพุต (ประเภท: รูปภาพ, เสียง, ขนาด: 100x100, 30x30, รูปแบบ: RGB, ระดับสีเทา) และข้อมูลเอาต์พุต (จำนวนคลาส)
รูปที่ 2 - โทโพโลยีโครงข่ายประสาทเทียมแบบ Convolutional
เลเยอร์อินพุต
ข้อมูลอินพุตเป็นภาพ JPEG สี ขนาด 48x48 พิกเซล หากขนาดใหญ่เกินไปความซับซ้อนในการคำนวณจะเพิ่มขึ้นและข้อ จำกัด ด้านความเร็วในการตอบสนองจะถูกละเมิด การกำหนดขนาดในปัญหานี้ได้รับการแก้ไขโดยวิธีการเลือก หากคุณเลือกขนาดที่เล็กเกินไป เครือข่ายจะไม่สามารถระบุคุณสมบัติหลักของใบหน้าได้ แต่ละภาพแบ่งออกเป็น 3 ช่อง ได้แก่ แดง น้ำเงิน เขียว โดยจะได้ภาพขนาด 48x48 พิกเซลจำนวน 3 ภาพเลเยอร์อินพุตคำนึงถึงโทโพโลยีสองมิติของรูปภาพและประกอบด้วยหลายแผนที่ (เมทริกซ์) อาจมีแผนเดียวหากรูปภาพถูกนำเสนอในระดับสีเทา มิฉะนั้นจะมี 3 แผนที่โดยที่แต่ละแผนที่สอดคล้องกับรูปภาพด้วย ช่องเฉพาะ (แดง น้ำเงิน และเขียว)
ข้อมูลอินพุตของค่าพิกเซลแต่ละค่าจะถูกทำให้เป็นมาตรฐานในช่วงตั้งแต่ 0 ถึง 1 โดยใช้สูตร:
ชั้น Convolutional
เลเยอร์แบบบิดเป็นชุดของแผนที่ (ชื่ออื่นคือแผนที่คุณลักษณะ ในชีวิตประจำวันเหล่านี้เป็นเมทริกซ์ธรรมดา) แต่ละแผนที่มีแกนซินแนปติก (ในแหล่งต่าง ๆ มันถูกเรียกแตกต่างกัน: แกนการสแกนหรือตัวกรอง)จำนวนการ์ดถูกกำหนดโดยข้อกำหนดของงาน หากคุณรับการ์ดจำนวนมาก คุณภาพการจดจำจะเพิ่มขึ้น แต่ความซับซ้อนในการคำนวณจะเพิ่มขึ้น จากการวิเคราะห์บทความทางวิทยาศาสตร์ ในกรณีส่วนใหญ่จะเสนอให้ใช้อัตราส่วนหนึ่งต่อสอง นั่นคือ แต่ละแผนที่ของเลเยอร์ก่อนหน้า (เช่น ในเลเยอร์ convolutional แรก อันก่อนหน้าคืออินพุต) คือ เกี่ยวข้องกับสองแผนที่ของเลเยอร์ convolutional ตามรูปที่ 3 จำนวนการ์ด - 6
รูปที่ 3 - การจัดระเบียบการเชื่อมต่อระหว่างแผนที่ของเลเยอร์ convolutional และเลเยอร์ก่อนหน้า
ขนาดของแมปเลเยอร์แบบบิดทั้งหมดจะเท่ากันและคำนวณโดยใช้สูตร 2:
เคอร์เนลเป็นตัวกรองหรือหน้าต่างที่เลื่อนไปทั่วทั้งพื้นที่ของแผนที่ก่อนหน้าและค้นหาคุณสมบัติบางอย่างของวัตถุ ตัวอย่างเช่น หากเครือข่ายได้รับการฝึกฝนบนหลายใบหน้า หนึ่งในแกนกลางสามารถสร้างสัญญาณได้มากที่สุดในบริเวณตา ปาก คิ้ว หรือจมูกในระหว่างกระบวนการฝึก ในขณะที่อีกแกนหนึ่งสามารถตรวจจับคุณสมบัติอื่นๆ ได้ ขนาดแกนมักจะอยู่ในช่วงตั้งแต่ 3x3 ถึง 7x7 ถ้าขนาดของนิวเคลียสมีขนาดเล็ก ก็จะไม่สามารถเน้นคุณลักษณะใดๆ ได้ หากมีขนาดใหญ่เกินไป จำนวนการเชื่อมต่อระหว่างเซลล์ประสาทก็จะเพิ่มขึ้น นอกจากนี้ ขนาดเคอร์เนลยังถูกเลือกเพื่อให้ขนาดของแผนที่ของเลเยอร์ Convolutional เท่ากัน ซึ่งช่วยให้เราไม่สูญเสียข้อมูลเมื่อลดขนาดในเลเยอร์การสุ่มตัวอย่างย่อยที่อธิบายไว้ด้านล่าง
เคอร์เนลเป็นระบบของน้ำหนักหรือไซแนปส์ที่ใช้ร่วมกัน นี่เป็นหนึ่งในคุณสมบัติหลักของโครงข่ายประสาทเทียมแบบหมุนวน ในเครือข่ายหลายชั้นแบบเดิม มีการเชื่อมต่อมากมายระหว่างเซลล์ประสาท ซึ่งก็คือไซแนปส์ ซึ่งทำให้กระบวนการตรวจจับช้าลงอย่างมาก ในทางกลับกัน ในเครือข่ายแบบหมุนวน น้ำหนักที่ใช้ร่วมกันจะลดจำนวนการเชื่อมต่อ และทำให้สามารถค้นหาคุณสมบัติเดียวกันได้ทั่วทั้งพื้นที่ภาพทั้งหมด
เริ่มแรกค่าของแต่ละแผนที่เลเยอร์แบบหมุนวนจะเท่ากับ 0 ค่าของน้ำหนักเคอร์เนลจะถูกตั้งค่าแบบสุ่มในช่วงตั้งแต่ -0.5 ถึง 0.5 เคอร์เนลเลื่อนไปบนแผนที่ก่อนหน้าและดำเนินการแบบบิด ซึ่งมักใช้สำหรับการประมวลผลภาพ สูตร:
การดำเนินการนี้สามารถอธิบายอย่างไม่เป็นทางการได้ดังนี้: ด้วยหน้าต่างเคอร์เนลขนาด g เราจะดูรูปภาพทั้งหมด f ด้วยขั้นตอนที่กำหนด (ปกติคือ 1) ในแต่ละขั้นตอนเราจะคูณเนื้อหาขององค์ประกอบหน้าต่างด้วยองค์ประกอบด้วยเคอร์เนล g ผลลัพธ์จะถูกสรุปและเขียนลงในเมทริกซ์ผลลัพธ์ ดังรูปที่ 4
รูปที่ 4 - การดำเนินการ Convolution และการรับค่าของแผนที่ Convolution (ถูกต้อง)
การดำเนินการ Convolution และการรับค่าแผนที่ Convolution แกนกลางถูกเลื่อน แผนที่ใหม่มีขนาดเท่าเดิม (เหมือนเดิม)
นอกจากนี้ ขึ้นอยู่กับวิธีการประมวลผลขอบของเมทริกซ์ต้นฉบับ ผลลัพธ์อาจเล็กกว่ารูปภาพต้นฉบับ (ถูกต้อง) ขนาดเดียวกัน (เท่ากัน) หรือขนาดใหญ่กว่า (เต็ม) ตามรูปที่ 5
รูปที่ 5 - การบิดของเมทริกซ์ดั้งเดิมสามประเภท
ในรูปแบบที่เรียบง่าย สูตรสามารถอธิบายเลเยอร์นี้ได้:
ในกรณีนี้ เนื่องจากผลกระทบของขอบ ขนาดของเมทริกซ์ดั้งเดิมจึงลดลง สูตร:
ชั้นการสุ่มตัวอย่าง
เลเยอร์การสุ่มตัวอย่างย่อยมีแผนที่ แต่หมายเลขของมันตรงกับเลเยอร์ก่อนหน้า (แบบสลับ) โดยมี 6 ชั้น วัตถุประสงค์ของเลเยอร์คือการลดขนาดของแผนที่ของเลเยอร์ก่อนหน้า หากมีการระบุคุณสมบัติบางอย่างแล้วในระหว่างการดำเนินการบิดครั้งก่อน รูปภาพที่มีรายละเอียดดังกล่าวก็ไม่จำเป็นสำหรับการประมวลผลเพิ่มเติมอีกต่อไป และจะถูกบีบอัดให้เป็นภาพที่มีรายละเอียดน้อยลง นอกจากนี้ การกรองรายละเอียดที่ไม่จำเป็นออกจะช่วยหลีกเลี่ยงการฝึกมากเกินไปในระหว่างกระบวนการสแกนแผนที่ของเลเยอร์ก่อนหน้าด้วยเคอร์เนลของเลเยอร์การสุ่มตัวอย่าง (ตัวกรอง) เคอร์เนลการสแกนจะไม่ตัดกัน ต่างจากเลเยอร์แบบบิดเบี้ยว โดยทั่วไป แต่ละแผนที่จะมีเคอร์เนลขนาด 2x2 ซึ่งช่วยให้แผนที่ก่อนหน้าของเลเยอร์ Convolutional ลดลงเหลือ 2 เท่า แผนผังคุณลักษณะทั้งหมดแบ่งออกเป็นเซลล์ที่มีองค์ประกอบ 2x2 ซึ่งเลือกค่าสูงสุดไว้
โดยทั่วไปแล้ว ฟังก์ชันการเปิดใช้งาน RelU จะถูกนำไปใช้ในเลเยอร์การสุ่มตัวอย่าง การดำเนินการสุ่มตัวอย่าง (หรือ MaxPooling - การเลือกสูงสุด) ตามรูปที่ 6
รูปที่ 6 - การก่อตัวของแผนที่ใหม่ของเลเยอร์ตัวอย่างย่อยโดยอิงจากแผนที่ก่อนหน้าของเลเยอร์ convolutional การดำเนินการสุ่มตัวอย่าง (Max Pooling)
อย่างเป็นทางการ ชั้นสามารถอธิบายได้ด้วยสูตร:
เลเยอร์ที่เชื่อมต่อกันอย่างสมบูรณ์
เลเยอร์ประเภทสุดท้ายคือชั้นของเพอร์เซปตรอนหลายชั้นธรรมดา วัตถุประสงค์ของเลเยอร์คือการจำแนกประเภท โดยจำลองฟังก์ชันแบบไม่เชิงเส้นที่ซับซ้อน ซึ่งจะช่วยปรับปรุงคุณภาพของการจดจำเซลล์ประสาทในแต่ละแผนที่ของเลเยอร์ย่อยตัวอย่างก่อนหน้านี้เชื่อมต่อกับเซลล์ประสาทหนึ่งตัวในเลเยอร์ที่ซ่อนอยู่ ดังนั้น จำนวนเซลล์ประสาทในเลเยอร์ที่ซ่อนอยู่จะเท่ากับจำนวนการ์ดในเลเยอร์ตัวอย่างย่อย แต่การเชื่อมต่ออาจไม่จำเป็นต้องเหมือนกัน ตัวอย่างเช่น เพียงส่วนหนึ่งของเซลล์ประสาทของการ์ดใดๆ ในเลเยอร์ตัวอย่างย่อยเท่านั้นที่สามารถ เชื่อมต่อกับเซลล์ประสาทแรกของเลเยอร์ที่ซ่อนอยู่ และส่วนที่เหลือเชื่อมต่อกับเซลล์ประสาทที่สองหรือเซลล์ประสาททั้งหมดของแผนที่แรกเชื่อมต่อกับเซลล์ประสาท 1 และ 2 ของเลเยอร์ที่ซ่อนอยู่ การคำนวณค่าเซลล์ประสาทสามารถอธิบายได้ด้วยสูตร:
เลเยอร์เอาท์พุต
เลเยอร์เอาต์พุตเชื่อมต่อกับเซลล์ประสาททั้งหมดของเลเยอร์ก่อนหน้า จำนวนเซลล์ประสาทสอดคล้องกับจำนวนคลาสที่จดจำได้ นั่นคือ 2 - ใบหน้าและไม่ใช่ใบหน้า แต่เพื่อลดจำนวนการเชื่อมต่อและการคำนวณสำหรับกรณีไบนารี คุณสามารถใช้หนึ่งเซลล์ประสาทและเมื่อใช้แทนเจนต์ไฮเปอร์โบลิกเป็นฟังก์ชันการเปิดใช้งาน ผลลัพธ์ของเซลล์ประสาทที่มีค่า -1 หมายถึงเป็นของ "ไม่ใช่บุคคล" คลาสตรงกันข้ามผลลัพธ์ของเซลล์ประสาทที่มีค่า 1 หมายถึงเป็นของบุคคลในคลาสการเลือกฟังก์ชั่นการเปิดใช้งาน
ขั้นตอนหนึ่งของการพัฒนาโครงข่ายประสาทเทียมคือการเลือกฟังก์ชันกระตุ้นการทำงานของเซลล์ประสาท ประเภทของฟังก์ชันการเปิดใช้งานส่วนใหญ่จะกำหนดการทำงานของโครงข่ายประสาทเทียมและวิธีการฝึกอบรมเครือข่ายนี้ อัลกอริธึม backpropagation แบบคลาสสิกทำงานได้ดีกับโครงข่ายประสาทเทียมแบบสองชั้นและสามชั้น แต่ด้วยความลึกที่เพิ่มขึ้นอีก ก็เริ่มประสบปัญหา สาเหตุหนึ่งคือสิ่งที่เรียกว่าการลดทอนของการไล่ระดับสี เนื่องจากข้อผิดพลาดแพร่กระจายจากเลเยอร์เอาต์พุตไปยังเลเยอร์อินพุต ผลลัพธ์ปัจจุบันจะถูกคูณด้วยอนุพันธ์ของฟังก์ชันการเปิดใช้งานในแต่ละเลเยอร์ อนุพันธ์ของฟังก์ชันการเปิดใช้งานซิกมอยด์แบบเดิมมีค่าน้อยกว่าหนึ่งบนโดเมนคำจำกัดความทั้งหมด ดังนั้นหลังจากหลายเลเยอร์ ข้อผิดพลาดจะเข้าใกล้ศูนย์ ในทางกลับกัน หากฟังก์ชันการเปิดใช้งานมีอนุพันธ์ที่ไม่มีขอบเขต (เช่น แทนเจนต์ไฮเปอร์โบลิก) ข้อผิดพลาดอาจระเบิดขณะแพร่กระจาย ทำให้ขั้นตอนการเรียนรู้ไม่เสถียรในงานนี้ ไฮเปอร์โบลิกแทนเจนต์ถูกใช้เป็นฟังก์ชันการเปิดใช้งานในเลเยอร์ที่ซ่อนอยู่และเลเยอร์เอาท์พุต และใช้ ReLU ในเลเยอร์แบบหมุนวน มาดูฟังก์ชั่นการเปิดใช้งานทั่วไปที่ใช้ในโครงข่ายประสาทเทียม
ฟังก์ชั่นการเปิดใช้งานซิกมอยด์
ฟังก์ชันนี้เป็นของคลาสของฟังก์ชันต่อเนื่องและรับจำนวนจริงตามอำเภอใจที่อินพุต และที่เอาต์พุตจะให้จำนวนจริงในช่วงตั้งแต่ 0 ถึง 1 โดยเฉพาะอย่างยิ่ง ตัวเลขลบขนาดใหญ่ (โมดูโล) จะกลายเป็นศูนย์ และขนาดใหญ่ จำนวนบวกให้เป็นหนึ่ง ในอดีต ซิกมอยด์มีการใช้กันอย่างแพร่หลายเนื่องจากเอาท์พุตของมันถูกตีความอย่างดีว่าเป็นระดับการกระตุ้นของเซลล์ประสาท ตั้งแต่ไม่มีการกระตุ้น (0) ไปจนถึงการกระตุ้นที่อิ่มตัวเต็มที่ (1) Sigmoid แสดงโดยสูตร:กราฟของฟังก์ชันซิกมอยด์ดังแสดงด้านล่าง:
คุณสมบัติที่ไม่พึงประสงค์อย่างยิ่งของซิกมอยด์คือเมื่อฟังก์ชันอิ่มตัวในด้านใดด้านหนึ่ง (0 หรือ 1) การไล่ระดับสีในพื้นที่เหล่านี้จะใกล้เคียงกับศูนย์
โปรดจำไว้ว่าในกระบวนการของการขยายพันธุ์กลับ การไล่ระดับสีที่กำหนด (เฉพาะที่) จะถูกคูณด้วยการไล่ระดับสีโดยรวม ดังนั้น หากการไล่ระดับสีเฉพาะที่มีขนาดเล็กมาก การไล่ระดับสีโดยรวมก็จะเป็นโมฆะอย่างมีประสิทธิภาพ เป็นผลให้แทบไม่มีสัญญาณใดที่ส่งผ่านเซลล์ประสาทไปยังน้ำหนักของมันและส่งสัญญาณไปยังข้อมูลของมันแบบวนซ้ำ นอกจากนี้ เราต้องระมัดระวังอย่างมากเมื่อเริ่มต้นน้ำหนักของเซลล์ประสาทซิกมอยด์เพื่อป้องกันความอิ่มตัว ตัวอย่างเช่น หากน้ำหนักเริ่มต้นมากเกินไป เซลล์ประสาทส่วนใหญ่จะเข้าสู่สภาวะอิ่มตัว ส่งผลให้เครือข่ายเรียนรู้ได้ไม่ดี
ฟังก์ชันซิกมอยด์คือ:
- ต่อเนื่อง;
- เพิ่มขึ้นอย่างน่าเบื่อ;
- หาความแตกต่างได้
ฟังก์ชันการเปิดใช้งาน ไฮเปอร์โบลิกแทนเจนต์
ในงานนี้ ไฮเพอร์โบลิกแทนเจนต์ถูกใช้เป็นฟังก์ชันการเปิดใช้งานสำหรับเลเยอร์ที่ซ่อนอยู่และเลเยอร์เอาท์พุต นี่เป็นเพราะสาเหตุดังต่อไปนี้:- ฟังก์ชันการเปิดใช้งานแบบสมมาตร เช่น ไฮเปอร์โบลิกแทนเจนต์ ให้การลู่เข้าที่รวดเร็วกว่าฟังก์ชันลอจิสติกมาตรฐาน
- ฟังก์ชันนี้มีอนุพันธ์อันดับหนึ่งต่อเนื่องกัน
- ฟังก์ชันมีอนุพันธ์อย่างง่ายซึ่งสามารถคำนวณได้ในแง่ของมูลค่า ส่งผลให้ประหยัดในการคำนวณ
ฟังก์ชั่นการเปิดใช้งาน ReLU
เป็นที่ทราบกันดีว่าโครงข่ายประสาทเทียมสามารถประมาณฟังก์ชันที่ซับซ้อนโดยพลการได้หากมีเลเยอร์เพียงพอและฟังก์ชันการเปิดใช้งานไม่เป็นเชิงเส้น ฟังก์ชันการเปิดใช้งาน เช่น ซิกมอยด์หรือแทนเจนต์นั้นไม่เป็นเชิงเส้น แต่ทำให้เกิดปัญหากับการลดทอนหรือการขยายตัวของการไล่ระดับสี อย่างไรก็ตาม คุณสามารถใช้ตัวเลือกที่ง่ายกว่ามาก - หน่วยเชิงเส้นแบบแก้ไข (ReLU) ซึ่งแสดงโดยสูตร:กราฟของฟังก์ชัน ReLU ดังแสดงด้านล่าง:
ประโยชน์ของการใช้ ReLU:
- อนุพันธ์ของมันมีค่าเท่ากับหนึ่งหรือศูนย์ ดังนั้นการไล่ระดับสีจึงไม่สามารถเติบโตหรือสลายตัวได้เพราะว่า การคูณหนึ่งด้วยเดลต้าข้อผิดพลาด เราจะได้เดลต้าข้อผิดพลาด แต่ถ้าเราใช้ฟังก์ชันอื่น เช่น ไฮเปอร์โบลิกแทนเจนต์ เดลต้าข้อผิดพลาดอาจลดลง หรือเพิ่มขึ้น หรือคงเดิม นั่นคืออนุพันธ์ของไฮเปอร์โบลิก แทนเจนต์ส่งคืนตัวเลขที่มีเครื่องหมายและขนาดต่างกัน ซึ่งสามารถส่งผลกระทบอย่างมากต่อการลดทอนหรือการขยายตัวของการไล่ระดับสี นอกจากนี้ การใช้ฟังก์ชันนี้ยังทำให้น้ำหนักบางลง
- การคำนวณซิกมอยด์และไฮเพอร์โบลิกแทนเจนต์ต้องใช้การดำเนินการที่ต้องใช้การคำนวณสูง เช่น การยกกำลัง ในขณะที่ ReLU สามารถนำไปใช้ได้โดยใช้การแปลงเกณฑ์อย่างง่ายของเมทริกซ์การเปิดใช้งานที่ศูนย์
- ตัดส่วนที่ไม่จำเป็นในช่องออกด้วยเอาต์พุตเชิงลบ
ตัวอย่างการฝึกอบรมที่ใช้ในการทดลอง
ตัวอย่างการฝึกอบรมประกอบด้วยตัวอย่างเชิงบวกและเชิงลบ ในกรณีนี้จากบุคคลและ "ไม่ใช่บุคคล" อัตราส่วนของตัวอย่างเชิงบวกต่อเชิงลบคือ 4 ต่อ 1, บวก 8000 และลบ 2000ฐานข้อมูล LFW3D ถูกใช้เป็นชุดการฝึกอบรมเชิงบวก ประกอบด้วยภาพสี JPEG ของใบหน้าด้านหน้า 13,000 ภาพ ขนาด 90x90 พิกเซล ฐานข้อมูลมีให้ผ่านทาง FTP เข้าถึงได้โดยใช้รหัสผ่าน หากต้องการรับรหัสผ่าน คุณต้องกรอกแบบฟอร์มง่ายๆ ในหน้าหลักของเว็บไซต์ โดยระบุชื่อและอีเมลของคุณ ตัวอย่างบุคคลจากฐานข้อมูลดังแสดงในรูปด้านล่าง:
ฐานข้อมูล SUN397 ถูกใช้เป็นตัวอย่างการฝึกอบรมเชิงลบ ซึ่งมีฉากทุกประเภทจำนวนมาก ซึ่งแบ่งออกเป็นหมวดหมู่ รวม 130,000 ภาพ 908 ฉาก 313,000 ฉากวัตถุ น้ำหนักรวมของฐานข้อมูลนี้คือ 37 GB หมวดหมู่ของรูปภาพจะแตกต่างกันมาก และช่วยให้คุณเลือกสภาพแวดล้อมที่เฉพาะเจาะจงมากขึ้นที่จะใช้ PS สุดท้ายได้ ตัวอย่างเช่น หากทราบเบื้องต้นแล้วว่าเครื่องตรวจจับใบหน้ามีจุดประสงค์เพื่อการจดจำในอาคารเท่านั้น ก็ไม่มีประโยชน์ที่จะใช้ตัวอย่างการฝึกอบรมเกี่ยวกับธรรมชาติ ท้องฟ้า ภูเขา ฯลฯ ด้วยเหตุนี้ผู้เขียนผลงานจึงเลือกหมวดหมู่รูปภาพดังต่อไปนี้: ห้องนั่งเล่น สำนักงาน ห้องเรียน ห้องคอมพิวเตอร์ ภาพตัวอย่างจากชุดการฝึก SUN397 มีดังต่อไปนี้:
ผลลัพธ์
การแพร่กระจายสัญญาณโดยตรงจากภาพอินพุตขนาด 90x90 พิกเซลใช้เวลา 20 มิลลิวินาที (บนพีซี) และ 3000 มิลลิวินาทีในแอปพลิเคชันมือถือ เมื่อตรวจจับใบหน้าในสตรีมวิดีโอที่ความละเอียด 640x480 พิกเซล จะสามารถตรวจจับพื้นที่ที่ไม่ทับซ้อนกันได้ 50 พื้นที่ ขนาด 90x90 พิกเซล ผลลัพธ์ที่ได้รับจากโทโพโลยีเครือข่ายที่เลือกนั้นแย่กว่าเมื่อเปรียบเทียบกับอัลกอริธึม Viola-Jonesข้อสรุป
โครงข่ายประสาทเทียมแบบขดให้ความต้านทานบางส่วนต่อการเปลี่ยนแปลงขนาด การกระจัด การหมุน การเปลี่ยนแปลงมุม และการบิดเบือนอื่นๆแกนกลาง- เป็นฟิลเตอร์ที่เลื่อนไปทั่วทั้งภาพและค้นหาลักษณะใบหน้าที่ใดก็ได้ในภาพ (ค่าคงที่การกระจัด)
ชั้นการสุ่มตัวอย่างให้:
- เพิ่มความเร็วในการคำนวณ (อย่างน้อย 2 ครั้ง) เนื่องจากการลดขนาดของแผนที่ของเลเยอร์ก่อนหน้า
- การกรองรายละเอียดที่ไม่จำเป็นอยู่แล้ว
- ค้นหาคุณลักษณะในระดับที่สูงกว่า (สำหรับเลเยอร์ convolutional ถัดไป)
การปรับปรุงที่เป็นไปได้
- พิจารณาโครงข่ายประสาทเทียม Fast-RCNN, YOLO;
- การทำกระบวนการเรียนรู้แบบขนานบน GPU
- ใช้ Android NDK (C++) เพื่อปรับปรุงประสิทธิภาพ
การฝึกอบรมโครงข่ายประสาทเทียมแบบหมุนวนมีอธิบายไว้ใน
ออก = เค(สุทธิ),
ที่ไหน ถึง -ค่าคงที่ของฟังก์ชันขีดจำกัด
OUT = 1 ถ้า NET > T, OUT = 0 มิฉะนั้น
ที่ไหน ที -ค่าเกณฑ์คงที่บางค่า หรือฟังก์ชันที่จำลองลักษณะการถ่ายโอนแบบไม่เชิงเส้นของเซลล์ประสาทชีวภาพได้แม่นยำยิ่งขึ้น และแสดงถึงความเป็นไปได้ที่ยิ่งใหญ่สำหรับโครงข่ายประสาทเทียม
ข้าว. 3.
ในรูป 3 บล็อก กำหนดไว้ ฉรับสัญญาณ NET และส่งสัญญาณ OUT ถ้าเป็นบล็อก เอฟทำให้ช่วงการเปลี่ยนแปลงของค่า NET แคบลง ดังนั้นค่า NET ใด ๆ ของ OUT จะอยู่ในช่วงเวลาจำกัด จากนั้น เอฟเรียกว่า ฟังก์ชั่น "บีบอัด"ฟังก์ชันลอจิสติกหรือ "sigmoid" (รูปตัว S) ที่แสดงในรูปที่ 4a มักใช้เป็นฟังก์ชัน "บีบ" ฟังก์ชันนี้แสดงออกมาทางคณิตศาสตร์เป็น
ฉ(x)= 1/(1 + อี -x)
ดังนั้น,
โดยการเปรียบเทียบกับระบบอิเล็กทรอนิกส์ ฟังก์ชันการเปิดใช้งานถือได้ว่าเป็นคุณลักษณะการขยายแบบไม่เชิงเส้นของเซลล์ประสาทเทียม กำไรที่ได้รับจะคำนวณเป็นอัตราส่วนของการเพิ่มขึ้นของ OUT ต่อการเพิ่มขึ้นเล็กน้อยใน NET ที่เป็นสาเหตุ มันแสดงโดยความชันของเส้นโค้งที่ระดับหนึ่งของการกระตุ้นและแปรผันจากค่าเล็ก ๆ ที่มีการกระตุ้นเชิงลบขนาดใหญ่ (เส้นโค้งเกือบจะเป็นแนวนอน) ไปจนถึงค่าสูงสุดที่การกระตุ้นเป็นศูนย์และลดลงอีกครั้งเมื่อการกระตุ้นกลายเป็นบวกมาก Grossberg (1973) พบว่าการตอบสนองแบบไม่เชิงเส้นดังกล่าวช่วยแก้ปัญหาความอิ่มตัวของสัญญาณรบกวนของเขาได้ เครือข่ายเดียวกันจะจัดการทั้งสัญญาณอ่อนและสัญญาณแรงได้อย่างไร สัญญาณอ่อนจำเป็นต้องขยายสัญญาณสูงเพื่อสร้างสัญญาณเอาท์พุตที่ใช้งานได้ อย่างไรก็ตาม ขั้นตอนของแอมพลิฟายเออร์กำลังขยายสูงอาจทำให้เอาต์พุตอิ่มตัวด้วยสัญญาณรบกวนของแอมพลิฟายเออร์ (ความผันผวนแบบสุ่ม) ที่มีอยู่ในเครือข่ายที่ใช้งานทางกายภาพใดๆ สัญญาณอินพุตที่แรงจะทำให้ขั้นตอนของแอมพลิฟายเออร์อิ่มตัว และลดการใช้เอาต์พุตให้เกิดประโยชน์ ภาคกลางของฟังก์ชันลอจิสติกส์ซึ่งมีอัตราขยายสูงจะช่วยแก้ปัญหาการจัดการสัญญาณที่อ่อนแอ ในขณะที่ภูมิภาคที่มีอัตราขยายลดลงที่ปลายด้านบวกและด้านลบเหมาะสำหรับการกระตุ้นขนาดใหญ่ ดังนั้นเซลล์ประสาทจึงทำงานโดยมีอัตราขยายสูงในช่วงระดับสัญญาณอินพุตที่หลากหลาย
ข้าว.
ฟังก์ชันการเปิดใช้งานที่ใช้กันอย่างแพร่หลายอีกอย่างหนึ่งคือแทนเจนต์ไฮเปอร์โบลิก มีรูปแบบคล้ายกับฟังก์ชันลอจิสติก และนักชีววิทยามักใช้เป็นแบบจำลองทางคณิตศาสตร์ในการกระตุ้นเซลล์ประสาท ในฐานะที่เป็นฟังก์ชันการเปิดใช้งานของโครงข่ายประสาทเทียม จึงมีการเขียนดังนี้:
ข้าว.
เช่นเดียวกับฟังก์ชันลอจิสติก ไฮเปอร์โบลิกแทนเจนต์เป็นฟังก์ชันรูปตัว S แต่จะสมมาตรเกี่ยวกับจุดกำเนิด และที่จุด NET = 0 สัญญาณเอาท์พุต OUT จะเป็นศูนย์ (ดูรูปที่ 4b) ซึ่งแตกต่างจากฟังก์ชันลอจิสติกส์ แทนเจนต์ไฮเพอร์โบลิกใช้ค่าของสัญญาณที่แตกต่างกัน ซึ่งกลายเป็นประโยชน์สำหรับเครือข่ายจำนวนหนึ่ง
แบบจำลองง่ายๆ ของเซลล์ประสาทเทียมที่พิจารณาแล้วละเลยคุณสมบัติหลายประการของเซลล์ประสาทเทียม
ตัวอย่างเช่น ไม่คำนึงถึงการหน่วงเวลาซึ่งส่งผลต่อไดนามิกของระบบ สัญญาณอินพุตจะสร้างสัญญาณเอาต์พุตทันที และที่สำคัญกว่านั้น มันไม่ได้คำนึงถึงผลกระทบของฟังก์ชันการปรับความถี่หรือฟังก์ชันการซิงโครไนซ์ของเซลล์ประสาททางชีววิทยา ซึ่งนักวิจัยจำนวนหนึ่งพิจารณาว่ามีความสำคัญ
แม้จะมีข้อจำกัดเหล่านี้ เครือข่ายที่สร้างจากเซลล์ประสาทเหล่านี้ก็แสดงคุณสมบัติที่คล้ายกับระบบทางชีววิทยาอย่างใกล้ชิด เวลาและการวิจัยเท่านั้นที่จะสามารถตอบคำถามว่าความบังเอิญดังกล่าวเกิดขึ้นโดยบังเอิญหรือเป็นผลมาจากการที่แบบจำลองจับลักษณะที่สำคัญที่สุดของเซลล์ประสาททางชีววิทยาได้อย่างถูกต้อง
ในส่วนที่สองของบทความ เราจะพูดคุยกันต่อเกี่ยวกับความซับซ้อนของการเรียนรู้เชิงลึก
5. การเลือกฟังก์ชั่นการเปิดใช้งาน
สิ่งสำคัญที่สุดประการหนึ่งของโครงข่ายประสาทเทียมเชิงลึกก็คือ ฟังก์ชั่นการเปิดใช้งาน(ฟังก์ชั่นการเปิดใช้งาน) ซึ่งนำมาสู่เครือข่าย ความไม่เชิงเส้น- ต่อไป เราจะดูฟังก์ชันการเปิดใช้งานทั่วไปและให้คำแนะนำในการเลือกฟังก์ชันเหล่านี้
ซิกมอยด์
ซิกมอยด์แสดงโดยสูตรต่อไปนี้: σ(x) = 1 / (1 + อี -x)- ฟังก์ชันนี้รับจำนวนจริงตามอำเภอใจเป็นอินพุต และที่เอาต์พุตจะให้จำนวนจริงในช่วงตั้งแต่ 0 ถึง 1 โดยเฉพาะอย่างยิ่ง จำนวนลบขนาดใหญ่ (แบบโมดูโล) จะกลายเป็นศูนย์ และจำนวนบวกจำนวนมากให้เป็นหนึ่ง ในอดีต ซิกมอยด์มีการใช้กันอย่างแพร่หลายเนื่องจากเอาท์พุตของมันถูกตีความอย่างดีว่าเป็นระดับการกระตุ้นของเซลล์ประสาท ตั้งแต่ไม่มีการกระตุ้น (0) ไปจนถึงการกระตุ้นที่อิ่มตัวเต็มที่ (1)
ปัจจุบัน sigmoid ได้สูญเสียความนิยมในอดีตและมีการใช้น้อยมาก ฟังก์ชั่นนี้มีข้อบกพร่องร้ายแรงสองประการ:
- ความอิ่มตัวของซิกมอยด์นำไปสู่การลดทอนของการไล่ระดับสีคุณสมบัติที่ไม่พึงประสงค์อย่างมากของซิกมอยด์คือเมื่อฟังก์ชันอิ่มตัวในด้านใดด้านหนึ่ง (0 หรือ 1) การไล่ระดับสีในพื้นที่เหล่านี้จะใกล้เคียงกับศูนย์ โปรดจำไว้ว่าในกระบวนการของการขยายพันธุ์กลับ การไล่ระดับสีที่กำหนด (เฉพาะที่) จะถูกคูณด้วยการไล่ระดับสีโดยรวม ดังนั้น หากการไล่ระดับสีเฉพาะที่มีขนาดเล็กมาก การไล่ระดับสีโดยรวมก็จะเป็นโมฆะอย่างมีประสิทธิภาพ เป็นผลให้แทบไม่มีสัญญาณใดที่จะผ่านเซลล์ประสาทไปยังน้ำหนักของมันและแบบวนซ้ำไปยังข้อมูลของมัน นอกจากนี้ เราต้องระมัดระวังอย่างมากเมื่อเริ่มต้นน้ำหนักของเซลล์ประสาทซิกมอยด์เพื่อป้องกันความอิ่มตัว ตัวอย่างเช่น หากน้ำหนักเริ่มต้นมากเกินไป เซลล์ประสาทส่วนใหญ่จะเข้าสู่สภาวะอิ่มตัว ส่งผลให้เครือข่ายเรียนรู้ได้ไม่ดี
- เอาต์พุต sigmoid ไม่ได้อยู่กึ่งกลางรอบศูนย์คุณสมบัตินี้ไม่พึงปรารถนาเนื่องจากเซลล์ประสาทในเลเยอร์ต่อๆ ไปจะได้รับค่าที่ไม่อยู่กึ่งกลางรอบศูนย์ ซึ่งส่งผลต่อไดนามิกของการไล่ระดับลง หากค่าที่เข้าสู่เซลล์ประสาทเป็นค่าบวกเสมอ (เช่น x > 0องค์ประกอบต่อองค์ประกอบใน ฉ = ω T x + ข) จากนั้นในกระบวนการ backpropagation การไล่ระดับสีของน้ำหนักทั้งหมด ω จะเป็นค่าบวกหรือค่าลบ (ขึ้นอยู่กับการไล่ระดับสีของนิพจน์ทั้งหมด ฉ- สิ่งนี้สามารถนำไปสู่การเปลี่ยนแปลงน้ำหนักซิกแซกที่ไม่พึงประสงค์ อย่างไรก็ตาม ควรสังเกตว่าเมื่อมีการรวมการไล่ระดับสีเหล่านี้บนบรรจุภัณฑ์ การอัปเดตน้ำหนักครั้งสุดท้ายอาจมีสัญญาณที่แตกต่างกัน ซึ่งบางส่วนสามารถบรรเทาข้อเสียเปรียบที่อธิบายไว้ได้ ดังนั้น การขาดการวางศูนย์กลางจึงไม่สะดวก แต่จะมีผลกระทบที่ร้ายแรงน้อยกว่าปัญหาความอิ่มตัว
แทนเจนต์ไฮเปอร์โบลิก
ไฮเปอร์โบลิกแทนเจนต์ (tanh) รับจำนวนจริงตามต้องการเป็นอินพุต และสร้างจำนวนจริงในช่วงตั้งแต่ –1 ถึง 1 เป็นเอาต์พุต อย่างไรก็ตาม ไม่เหมือนกับซิกมอยด์ตรงที่เอาต์พุตของฟังก์ชันนี้มีศูนย์กลางอยู่ที่ศูนย์ ดังนั้น ในทางปฏิบัติ จึงนิยมใช้ไฮเปอร์โบลิกแทนเจนต์มากกว่าซิกมอยด์เสมอ
รีลู
ในช่วงไม่กี่ปีที่ผ่านมา ฟังก์ชันการเปิดใช้งานที่เรียกว่าวงจรเรียงกระแส ซึ่งคล้ายกับวงจรเรียงกระแสแบบครึ่งคลื่นในวิศวกรรมไฟฟ้า ได้รับความนิยมอย่างมาก เซลล์ประสาทที่มีฟังก์ชันกระตุ้นการทำงานนี้เรียกว่า ReLU (หน่วยเชิงเส้นที่แก้ไข) ReLU มีสูตรดังนี้ ฉ(x) = สูงสุด(0, x)และใช้การเปลี่ยนแปลงเกณฑ์อย่างง่ายที่ศูนย์
เรามาดูด้านบวกและด้านลบของ ReLU กัน
ด้านบวก:
- การคำนวณซิกมอยด์และแทนเจนต์ไฮเปอร์โบลิกต้องใช้การดำเนินการที่ต้องใช้การคำนวณสูง เช่น การยกกำลัง ในขณะที่ ReLU สามารถนำไปใช้ได้โดยใช้การเปลี่ยนแปลงเกณฑ์ง่ายๆ ของเมทริกซ์การเปิดใช้งานที่ศูนย์ นอกจากนี้ ReLU ยังไม่อยู่ภายใต้ความอิ่มตัว
- การใช้ ReLU จะเพิ่มความเร็วการบรรจบกันของการไล่ระดับสีแบบสุ่ม (ในบางกรณีสูงถึง 6 เท่า) อย่างมีนัยสำคัญ เมื่อเปรียบเทียบกับซิกมอยด์และแทนเจนต์ไฮเปอร์โบลิก เชื่อกันว่านี่เป็นเพราะธรรมชาติเชิงเส้นและขาดความอิ่มตัวของฟังก์ชันนี้
เชิงลบ:
- น่าเสียดายที่ ReLU ไม่น่าเชื่อถือเพียงพอเสมอไปและอาจล้มเหลว (“ตาย”) ในระหว่างกระบวนการฝึกอบรม ตัวอย่างเช่น การไล่ระดับสีขนาดใหญ่ที่ผ่าน ReLU อาจทำให้น้ำหนักได้รับการอัปเดตจนไม่มีการยิงเซลล์ประสาทอีกเลย หากสิ่งนี้เกิดขึ้น จากนี้ไป เกรเดียนต์ที่ผ่านเซลล์ประสาทนี้จะเป็นศูนย์เสมอ ดังนั้นเซลล์ประสาทนี้จะถูกปิดการใช้งานอย่างถาวร ตัวอย่างเช่น หากอัตราการเรียนรู้สูงเกินไป อาจกลายเป็นว่า ReLU มากถึง 40% “ตาย” (นั่นคือ ไม่เคยเปิดใช้งาน) ปัญหานี้แก้ไขได้โดยการเลือกอัตราการเรียนรู้ที่เหมาะสม
ปัจจุบันมีการปรับเปลี่ยน ReLU ที่แตกต่างกันทั้งหมด ต่อไปเราจะดูคุณสมบัติของพวกเขา
สำหรับ LReLU αi มีค่าคงที่ สำหรับ PReLU αi จะถูกกำหนดตามข้อมูล สำหรับ RReLU αji จะถูกสร้างขึ้นแบบสุ่มจากช่วงเวลาที่กำหนดระหว่างการฝึกและคงที่ในระหว่างการทดสอบ
ReLU รั่ว
Leaky ReLU (LReLU) คือความพยายามครั้งหนึ่งในการแก้ปัญหาความล้มเหลวของ ReLU แบบเดิมที่อธิบายไว้ข้างต้น ReLU ปกติตามช่วงเวลา x< 0 ให้เอาต์พุตเป็นศูนย์ ในขณะที่ LReLU มีค่าลบเล็กน้อยในช่วงเวลานี้ (ความชันประมาณ 0.01) นั่นคือฟังก์ชันสำหรับ LReLU มีรูปแบบ ฉ(x) = αxที่ x< 0 และ ฉ(x) = xที่ x ≥ 0โดยที่ α เป็นค่าคงที่เล็กน้อย นักวิจัยบางคนรายงานความสำเร็จในการใช้ฟังก์ชันการเปิดใช้งานนี้ แต่ผลลัพธ์ที่ได้อาจไม่สอดคล้องกันเสมอไป
พาราเมตริก ReLU
สำหรับ Parametric ReLU (parametric ReLU, PRELU) ความชันของช่วงค่าลบไม่ได้ถูกกำหนดไว้ล่วงหน้า แต่จะถูกกำหนดตามข้อมูล ผู้เขียนสิ่งพิมพ์อ้างว่าการใช้ฟังก์ชันการเปิดใช้งานนี้เป็นปัจจัยสำคัญในการก้าวข้ามระดับมนุษย์ในงานจดจำรูปภาพ ImageNet กระบวนการ backpropagation และอัพเดตสำหรับ PRELU (หน้า 43 สไลด์) ค่อนข้างง่ายและคล้ายกับกระบวนการที่เกี่ยวข้องสำหรับ ReLU แบบดั้งเดิม
ReLU แบบสุ่ม
สำหรับ ReLU แบบสุ่ม (ReLU แบบสุ่ม, RReLU) ความชันของช่วงลบจะถูกสร้างขึ้นแบบสุ่มจากช่วงเวลาที่กำหนดระหว่างการฝึก และคงที่ในระหว่างการทดสอบ ในฐานะส่วนหนึ่งของการแข่งขัน Kaggle ของ National Data Science Bowl (NDSB) RReLU สามารถลดการติดตั้งมากเกินไปได้เนื่องจากองค์ประกอบโดยธรรมชาติของการสุ่ม ตามที่ผู้ชนะการแข่งขันครั้งนี้ระหว่างการฝึกซ้อมค่า α ฉันเกิดจากการสุ่มแจกแจง 1/ยู(3, 8)และในระหว่างการทดสอบค่าจะคงที่และเท่ากับค่าคาดหวังทางคณิตศาสตร์: 2 / (ล + ยู) = 2/11.
การทำให้เป็นมาตรฐานของ L1 มีคุณสมบัติที่น่าสนใจที่ทำให้เวกเตอร์น้ำหนักกระจัดกระจาย (นั่นคือ ใกล้กับศูนย์มาก) กล่าวอีกนัยหนึ่ง เซลล์ประสาทที่ควบคุมด้วย L1 จะลงเอยด้วยการใช้เพียงส่วนย่อยเล็กๆ ของอินพุตที่สำคัญที่สุด จึงไม่ได้รับผลกระทบจากอินพุตที่มีเสียงดังมากนัก
ในทางปฏิบัติ หากไม่จำเป็นต้องเลือกคุณสมบัติโดยตรง การทำให้เป็นมาตรฐาน L2 จะให้ผลลัพธ์ที่ดีกว่าเมื่อเปรียบเทียบกับการทำให้เป็นมาตรฐาน L1
ข้อจำกัดของบรรทัดฐานของเวกเตอร์น้ำหนัก
วิธีการทำให้เป็นมาตรฐานอีกวิธีหนึ่งคือวิธีการจำกัดบรรทัดฐานของเวกเตอร์น้ำหนัก (ข้อจำกัดบรรทัดฐานสูงสุด) ในวิธีนี้ เราได้กำหนดขีดจำกัดบนสัมบูรณ์สำหรับบรรทัดฐานของเวกเตอร์น้ำหนักของเซลล์ประสาทแต่ละอัน ข้อจำกัดนี้บังคับใช้โดยใช้การไล่ระดับสีแบบไล่ระดับที่คาดการณ์ไว้ ในทางปฏิบัติ มีการดำเนินการดังนี้: ตุ้มน้ำหนักจะได้รับการอัปเดตตามปกติ จากนั้นจึงอัปเดตเวกเตอร์ของตุ้มน้ำหนัก ω เซลล์ประสาทแต่ละอันถูกจำกัดเพื่อให้เป็นไปตามเงื่อนไข ||ω|| 2< c - โดยปกติแล้วจะมีค่า คอยู่ในลำดับที่ 3 หรือ 4 นักวิจัยบางคนรายงานผลเชิงบวกเมื่อใช้วิธีการทำให้เป็นมาตรฐานนี้ คุณสมบัติที่มีประโยชน์ประการหนึ่งของวิธีนี้คือป้องกันไม่ให้ตุ้มน้ำหนักระเบิดแม้ว่าอัตราการเรียนรู้จะสูงเกินไป เนื่องจากการอัปเดตน้ำหนักจะถูกจำกัดอยู่เสมอ
การออกกลางคัน
การออกกลางคันเป็นวิธีการทำให้เป็นมาตรฐานที่ง่ายและมีประสิทธิภาพมากซึ่งช่วยเสริมวิธีการข้างต้น เพิ่งถูกนำเสนอในงาน สาระสำคัญของวิธีการคือในระหว่างกระบวนการฝึกอบรม เครือข่ายย่อยจะถูกสุ่มเลือกจากเครือข่ายทั่วไปหลายครั้ง และน้ำหนักจะได้รับการอัปเดตเฉพาะภายในเครือข่ายย่อยนี้เท่านั้น เซลล์ประสาทตกอยู่ในเครือข่ายย่อยด้วยความน่าจะเป็น พีซึ่งเรียกว่าสัมประสิทธิ์การออกกลางคัน ในระหว่างการทดสอบ จะไม่มีการใช้การออกกลางคัน แต่น้ำหนักจะถูกคูณด้วยปัจจัยการออกกลางคัน ส่งผลให้ได้คะแนนเฉลี่ยสำหรับเครือข่ายย่อยทั้งหมด ในทางปฏิบัติอัตราส่วนการออกกลางคัน พีโดยปกติจะเลือกเป็น 0.5 แต่สามารถปรับได้โดยใช้ชุดข้อมูลการตรวจสอบความถูกต้อง
การออกกลางคันเป็นหนึ่งในวิธีการทำให้เป็นมาตรฐานที่ได้รับความนิยมมากที่สุด Google ได้ยื่นคำขอรับสิทธิบัตรสำหรับวิธีนี้ในปี 2014
7. การแสดงภาพ
ในระหว่างกระบวนการเรียนรู้ การสร้างภาพข้อมูลเพื่อติดตามประสิทธิผลของการเรียนรู้จะเป็นประโยชน์
ดังที่ทราบ อัตราการเรียนรู้เป็นตัวแปรที่ละเอียดอ่อนมาก ในรูปที่ 1 ด้านล่าง เราจะเห็นว่าที่อัตราการเรียนรู้ที่สูงมาก เส้นโค้งข้อผิดพลาดจะมีรูปร่างที่ยอมรับไม่ได้ ด้วยอัตราการเรียนรู้ที่ต่ำ ข้อผิดพลาดจะลดลงอย่างช้าๆ แม้ว่าจะผ่านยุคสมัยมามากมายก็ตาม ที่อัตราการเรียนรู้ที่สูง ข้อผิดพลาดจะลดลงอย่างรวดเร็วในตอนแรก แต่จากนั้นก็ตกไปอยู่ที่ค่าต่ำสุดในพื้นที่ ซึ่งส่งผลให้เครือข่ายอาจไม่บรรลุผลที่ดี ในกรณีที่เลือกอัตราการเรียนรู้อย่างถูกต้อง (ดี) (เส้นสีแดง) ข้อผิดพลาดจะลดลงอย่างราบรื่นและถึงค่าต่ำสุดในที่สุด
ตอนนี้เรามาดูเส้นโค้งข้อผิดพลาดในระดับที่ใหญ่ขึ้น ยุคสมัยหนึ่งสอดคล้องกับการส่งผ่านชุดข้อมูลการฝึกอบรมเพียงครั้งเดียว แต่ละยุคจึงมีชุดย่อยจำนวนมาก หากเรามองเห็นข้อผิดพลาดสำหรับแต่ละชุดย่อย เส้นโค้งข้อผิดพลาดจะมีลักษณะเหมือนรูปที่ 2 ดังที่กล่าวไว้ในรูปที่ 1 หากเส้นโค้งข้อผิดพลาดมีรูปร่างใกล้เคียงกับเส้นตรง แสดงว่าอัตราการเรียนรู้ต่ำ หากข้อผิดพลาดลดลงอย่างช้าๆ แสดงว่าอัตราการเรียนรู้อาจเร็วเกินไป "ความกว้าง" ของเส้นโค้งสอดคล้องกับขนาดของมินิแบทช์ หาก "ความกว้าง" มีขนาดใหญ่เกินไป กล่าวคือ การแพร่กระจายระหว่างมินิแพ็กเก็ตใหญ่เกินไป จำเป็นต้องเพิ่มขนาดของมินิแพ็กเก็ต
สามารถสรุปข้อสรุปอีกประการหนึ่งได้โดยใช้เส้นโค้งความแม่นยำ ในรูปที่ 3 เส้นโค้งสีแดงแสดงถึงความแม่นยำของชุดข้อมูลการฝึก และเส้นโค้งสีเขียวบนชุดข้อมูลการตรวจสอบ ระยะห่างระหว่างเส้นโค้งแสดงให้เห็นว่าโมเดลมีประสิทธิภาพเพียงใด ระยะห่างที่มากบ่งชี้ว่าเครือข่ายสามารถจำแนกข้อมูลการฝึกอบรมได้ดี และจำแนกข้อมูลการตรวจสอบความถูกต้องได้ไม่ดี ดังนั้นในกรณีนี้จึงมีการฝึกมากเกินไป เพื่อแก้ไขปัญหานี้ จำเป็นต้องมีการเสริมสร้างความสม่ำเสมอ หากไม่มีระยะห่างระหว่างเส้นโค้ง และเส้นโค้งทั้งสองสอดคล้องกับระดับความแม่นยำต่ำ แสดงว่าแบบจำลองของเรามีความสามารถในการเรียนรู้ไม่เพียงพอ ในกรณีนี้ เพื่อปรับปรุงผลลัพธ์ จำเป็นต้องเพิ่มความจุของโมเดล
8. การรวมตัวของเครือข่ายลึก
ขั้นตอนต่าง ๆ ของการฝึกหนึ่งโมเดล
ในกรณีที่กระบวนการเรียนรู้ต้องใช้ทรัพยากรมาก คุณสามารถรวมขั้นตอนต่างๆ ของการฝึกอบรมของโมเดลหนึ่ง (จุดตรวจสอบ) เข้าด้วยกันเป็นชุดได้ เช่น หลังจากแต่ละยุค วิธีนี้ไม่ได้ให้ความหลากหลายมากนัก แต่ในทางปฏิบัติสามารถให้ผลลัพธ์ที่ค่อนข้างดี
ตัวอย่างการปฏิบัติ:
ในปัญหาในชีวิตจริง ข้อมูลมักจะกระจายไม่เท่ากันในชั้นเรียน กล่าวคือ บางชั้นเรียนมีอิมเมจการฝึกอบรมจำนวนมาก และบางชั้นเรียนมีจำนวนน้อยกว่ามาก ตามที่รายงานในรายงานล่าสุด ข้อมูลการฝึกอบรมที่ไม่สมดุลอาจส่งผลเสียร้ายแรงต่อประสิทธิภาพโดยรวมของเครือข่าย Deep Convolution วิธีแก้ไขที่ง่ายที่สุดสำหรับปัญหานี้คือการทำซ้ำรูปภาพในคลาสที่มีรูปภาพจำนวนน้อย หรือแยกรูปภาพออกจากคลาสที่มีรูปภาพจำนวนมาก วิธีแก้ไขปัญหาอีกประการหนึ่งซึ่งเราใช้ในบริบทของการแข่งขันที่อธิบายไว้ข้างต้นคือการวางเฟรม เนื่องจากรูปภาพต้นฉบับของกิจกรรมทางวัฒนธรรมมีการกระจายอย่างไม่สม่ำเสมอในชั้นเรียน เราจึงแยกแพตช์รูปภาพสำหรับชั้นเรียนที่มีอินสแตนซ์การฝึกอบรมจำนวนไม่มาก แนวทางหนึ่งให้ข้อมูลการฝึกอบรมที่หลากหลาย และในทางกลับกัน ช่วยให้เราสามารถแก้ไขปัญหาความไม่สมดุลได้
เพื่อแก้ไขปัญหาที่อธิบายไว้ คุณยังสามารถใช้กลยุทธ์การปรับแต่งของโมเดลที่ได้รับการฝึกล่วงหน้าอย่างละเอียดได้ โดยเฉพาะอย่างยิ่ง ชุดข้อมูลการฝึกอบรมดั้งเดิมสามารถแบ่งออกเป็นสองส่วนเพื่อให้ส่วนหนึ่งมีคลาสที่แสดงด้วยรูปภาพจำนวนมาก และอีกส่วนหนึ่งมีคลาสที่แสดงด้วยรูปภาพจำนวนเล็กน้อย แต่ละส่วนจะค่อนข้างสมดุล หลังจากนี้ ขั้นแรกคุณต้องฝึกโมเดลในคลาสที่มีรูปภาพจำนวนมาก จากนั้นจึงฝึกโมเดลในคลาสที่มีรูปภาพจำนวนน้อย
แปลโดย Stanislav Petrenko
งานห้องปฏิบัติการหมายเลข 1
แบบจำลองเซลล์ประสาทเทียม
วัตถุประสงค์ของงาน:ได้รับทักษะในการศึกษาฟังก์ชั่นการเปิดใช้งานและแบบจำลองเซลล์ประสาทโดยใช้แพ็คเกจการจำลอง Simulink ของระบบ MATLAB
คำหลัก
■ค่าสัมประสิทธิ์การถ่วงน้ำหนักของเซลล์ประสาท;
■อินพุตของเซลล์ประสาทถ่วงน้ำหนัก;
■สัญญาณอินพุต (อินพุต) ของเซลล์ประสาท;
■ สัญญาณเอาท์พุต (เอาท์พุต) ของเซลล์ประสาท;
■ เซลล์ประสาท;
■ชั้นโครงข่ายประสาทเทียม;
■ การกระจัดของเซลล์ประสาท;
■ ฟังก์ชั่นการเปิดใช้งาน (ฟังก์ชั่นการถ่ายโอน):
■ โสดด้วยข้อจำกัดที่เข้มงวด;
■ เชิงเส้น;
■ โลจิสติก;
เซลล์ประสาทที่เรียบง่าย
เซลล์ปฐมภูมิของโครงข่ายประสาทเทียมคือ เซลล์ประสาท - โครงสร้างของเซลล์ประสาทที่มีอินพุตสเกลาร์เดียวแสดงไว้ในรูปที่ 1 1.1, ก.
ข้าว. 1.1.บล็อกไดอะแกรมของเซลล์ประสาทที่มีอินพุตสเกลาร์เดียว
ก) โดยไม่มีการเคลื่อนที่ ข) พร้อมออฟเซ็ต
นี่คือสเกลาร์ สัญญาณอินพุต (ทางเข้า ) คูณด้วยสเกลาร์ ปัจจัยการถ่วงน้ำหนัก และผลที่ตามมา รายการแบบถ่วงน้ำหนัก คืออาร์กิวเมนต์ของฟังก์ชันกระตุ้นเซลล์ประสาท ซึ่งสร้างสเกลาร์ สัญญาณเอาท์พุต (ออก ) .
เซลล์ประสาทที่แสดงในรูปที่. 3.1, ขเสริมด้วยสเกลาร์ การกระจัด - ออฟเซ็ตจะถูกเพิ่มเข้าไปในอินพุตแบบถ่วงน้ำหนัก และทำให้อาร์กิวเมนต์ของฟังก์ชันเปลี่ยนตาม ผลของอคติสามารถลดลงเป็นวงจรถ่วงน้ำหนักได้โดยการจินตนาการว่าเซลล์ประสาทมีอินพุตที่สองที่มีค่าเท่ากับ 1 ข้อมูลป้อนเข้าของฟังก์ชันกระตุ้นการทำงานของเซลล์ประสาทยังคงเป็นสเกลาร์และเท่ากับผลรวมของอินพุตถ่วงน้ำหนักและอคติ ผลรวมนี้เป็นอาร์กิวเมนต์ของฟังก์ชันการเปิดใช้งาน ซึ่งสร้างสัญญาณที่เอาต์พุต
สัญญาณเอาท์พุตของเซลล์ประสาทสามารถแสดงเป็นสัญญาณอินพุทเชิงเส้นรวมกันและ 1:
.
หลักการทำงานโครงข่ายประสาทเทียมประกอบด้วยการปรับพารามิเตอร์ของเซลล์ประสาทเพื่อให้การทำงานของเครือข่ายสอดคล้องกับพฤติกรรมที่ต้องการ ด้วยการปรับพารามิเตอร์น้ำหนักหรืออคติ คุณสามารถ "ฝึก" เครือข่ายให้ทำงานเฉพาะเจาะจงได้ อาจเป็นไปได้ว่าเครือข่ายจะปรับพารามิเตอร์เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ
ฟังก์ชั่นการเปิดใช้งาน
ฟังก์ชั่นการเปิดใช้งาน (ฟังก์ชั่นการถ่ายโอน ) เซลล์ประสาทสามารถมีการแสดงออกได้หลากหลาย โดยทั่วไปแล้ว ฟังก์ชันการเปิดใช้งานจะอยู่ในคลาสของฟังก์ชัน sigmoid ที่มีอาร์กิวเมนต์และเอาต์พุต
มาดูฟังก์ชันการเปิดใช้งานที่ใช้บ่อยที่สุดสามฟังก์ชัน:
1) ฟังก์ชั่นการเปิดใช้งานครั้งเดียวพร้อมข้อจำกัดที่เข้มงวด
กราฟของฟังก์ชันการเปิดใช้งานเดียวที่มีข้อจำกัดที่เข้มงวดและสัญลักษณ์จะแสดงอยู่ในรูปที่ 1 1.2.
ฟังก์ชั่นการเปิดใช้งานแบบจำกัดฮาร์ดถูกนำมาใช้เป็นไฟล์ M-hardlim ในแพ็คเกจส่วนขยาย Neural Network Toolbox ของระบบ MATLAB
2) ฟังก์ชั่นการเปิดใช้งานเชิงเส้น - มันถูกอธิบายโดยความสัมพันธ์
และกราฟและสัญลักษณ์แสดงไว้ในรูปที่. 1.3;
ในแพ็คเกจส่วนขยาย Neural Network Toolbox ฟังก์ชันการเปิดใช้งานเชิงเส้นจะถูกนำไปใช้เป็นไฟล์ purelin M
3) ฟังก์ชั่นการเปิดใช้งานลอจิสติก - มันถูกอธิบายโดยความสัมพันธ์
และกราฟและสัญลักษณ์แสดงไว้ในรูปที่. 1.4;
ฟังก์ชันนี้เป็นของคลาสของฟังก์ชัน sigmoid อาร์กิวเมนต์สามารถรับค่าใดก็ได้จาก ถึง และเอาต์พุตจะแตกต่างกันไปในช่วงตั้งแต่ 0 ถึง 1
ในแพ็คเกจส่วนขยาย Neural Network Toolbox ฟังก์ชันการเปิดใช้งานโลจิสติกจะถูกนำไปใช้ในรูปแบบของบันทึกไฟล์ M เนื่องจากคุณสมบัติในการสร้างความแตกต่าง ฟังก์ชันนี้จึงมักถูกใช้ในเครือข่ายที่มีการเรียนรู้แบบ backpropagation
สัญลักษณ์ที่อยู่ในสี่เหลี่ยมจัตุรัสที่มุมขวาบนของกราฟ (ดูรูปที่ 1.2 - 1.4) แสดงถึงลักษณะการทำงานของฟังก์ชันการเปิดใช้งาน สัญลักษณ์เหล่านี้จะใช้ในการพรรณนาไดอะแกรมโครงสร้างของโครงข่ายประสาทเทียม
มีคุณสมบัติการเปิดใช้งานอื่นๆ ในชุดเสริม Neural Network Toolbox นอกจากนี้ ผู้ใช้สามารถสร้างฟังก์ชันของตนเองโดยใช้ภาษาการเขียนโปรแกรม MATLAB
นิวรอนที่มีการป้อนข้อมูลเวกเตอร์
ในรูป รูปที่ 1.5 แสดงแผนภาพของเซลล์ประสาทที่มีการป้อนข้อมูลเวกเตอร์หนึ่งรายการซึ่งประกอบด้วยองค์ประกอบ , , ..., ที่นี่แต่ละองค์ประกอบอินพุตจะถูกคูณด้วยค่าสัมประสิทธิ์การถ่วงน้ำหนัก , , ... ตามลำดับและค่าที่ถ่วงน้ำหนักจะถูกป้อนเข้ากับอินพุตของแอดเดอร์ ผลรวมของพวกเขาเท่ากับผลคูณสเกลาร์ของเวกเตอร์ของสัมประสิทธิ์การถ่วงน้ำหนักและเวกเตอร์อินพุต
เซลล์ประสาทมีอคติที่เพิ่มผลรวมถ่วงน้ำหนักของอินพุต จำนวนผลลัพธ์จะถูกกำหนดตามนิพจน์
และเป็นอาร์กิวเมนต์ของฟังก์ชันการเปิดใช้งาน ในรูปแบบภาษาโปรแกรม MATLAB นิพจน์นี้เขียนได้ดังนี้:
แผนภาพเซลล์ประสาทที่แสดงในรูปที่ 1.5 มีรายละเอียดที่ไม่จำเป็นมากมาย เมื่อพิจารณาโครงข่ายประสาทเทียมที่ประกอบด้วยเซลล์ประสาทจำนวนมาก จะใช้บล็อกไดอะแกรมที่ขยายใหญ่ขึ้นของเซลล์ประสาท (รูปที่ 1.6)
ข้อมูลเข้าของเซลล์ประสาทจะแสดงเป็นเส้นแนวตั้งสีเข้ม ซึ่งมีการระบุจำนวนองค์ประกอบข้อมูลเข้า ขนาดอินพุตจะแสดงอยู่ใต้ลูกศรที่เล็ดลอดออกมาจากอินพุต (ในรูปที่ 1.6 ระบุไว้) เวกเตอร์อินพุตจะคูณด้วยเวกเตอร์แถวที่มีมิติ เช่นเดียวกับเมื่อก่อน ค่าคงที่ 1 จะถือเป็นข้อมูลเข้าที่ถูกคูณด้วยค่าชดเชยสเกลาร์ ข้อมูลเข้าของฟังก์ชันกระตุ้นเซลล์ประสาทคือผลรวมของดอทโปรดัคและอคติ ผลรวมนี้ถูกแปลงโดยฟังก์ชันการเปิดใช้งาน ซึ่งเอาต์พุตคือปริมาณ ซึ่งในกรณีนี้คือสเกลาร์