ส่งความคิดเห็น
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
โครงข่ายระบบประสาทเทียมแห่งแรก
ในแบบฝึกหัดนี้ เราจะฝึกโครงข่ายประสาทส่วนแรกของเรา
โครงข่ายประสาทจะช่วยให้เราสามารถเรียนรู้โมเดลแบบไม่ใช่เชิงเส้น
การใช้การข้ามฟีเจอร์ที่ชัดเจน
งานที่ 1: โมเดลตามที่ระบุจะรวมฟีเจอร์อินพุต 2 รายการเข้าด้วยกันเป็น
เซลล์ประสาทเดี่ยว โมเดลนี้จะเรียนรู้สิ่งไม่เชิงเส้นได้ไหม เรียกใช้เพื่อยืนยัน
เดา
ภารกิจที่ 2: ลองเพิ่มจำนวนเซลล์ประสาทในชั้นที่ซ่อนอยู่จาก
1 เป็น 2 และลองเปลี่ยนจากการเปิดใช้งานเชิงเส้นเป็นการเปิดใช้งานแบบไม่เชิงเส้นด้วย
อย่าง ReLU คุณจะสร้างโมเดลที่เรียนรู้สิ่งที่ไม่เป็นเชิงเส้นได้ไหม สร้างแบบจำลองได้ไหม
ข้อมูลได้อย่างมีประสิทธิภาพ
ภารกิจที่ 3: ลองเพิ่มจำนวนเซลล์ประสาทในชั้นที่ซ่อนอยู่จาก
2 ถึง 3 โดยใช้การเปิดใช้งานแบบไม่เชิงเส้น เช่น ReLU สร้างโมเดลข้อมูลได้ไหม
มีประสิทธิภาพหรือไม่ คุณภาพของโมเดลแตกต่างกันอย่างไรในการเรียกใช้แต่ละครั้ง
งานที่ 4: ดำเนินการทดสอบต่อโดยการเพิ่มหรือนำเลเยอร์ที่ซ่อนไว้ออก
และเซลล์ประสาทต่อเลเยอร์ และคุณสามารถเปลี่ยนอัตราการเรียนรู้
การเขียนมาตรฐาน และการตั้งค่าการเรียนรู้อื่นๆ หน้าจอที่เล็กที่สุด คืออะไร
จำนวนเซลล์และเลเยอร์ที่คุณใช้ได้ซึ่งทำให้สูญเสียการทดสอบ
0.177 หรือต่ำกว่า
การเพิ่มขนาดโมเดลช่วยเพิ่มความพอดี หรือความรวดเร็วในการบรรจบกัน
การเปลี่ยนแปลงนี้จะเปลี่ยนความถี่ในการบรรจบกันของโมเดลที่ดีหรือไม่ ตัวอย่างเช่น ลอง
สถาปัตยกรรมต่อไปนี้:
ชั้นแรกที่ซ่อนอยู่ซึ่งมีเซลล์ประสาท 3 เซลล์
ชั้นที่ 2 ที่ซ่อนอยู่ซึ่งมีเซลล์ประสาท 3 เซลล์
ชั้นที่ 3 ที่ซ่อนอยู่ซึ่งมีเซลล์ประสาท 2 เซลล์
(คำตอบจะปรากฏใต้แบบฝึกหัด)
คลิกไอคอนบวกเพื่อดูคำตอบของงานที่ 1
การเปิดใช้งานมีการตั้งค่าเป็นเชิงเส้น ดังนั้นโมเดลนี้จึงเรียนรู้ไม่ได้
ความเป็นเชิงเส้น ขาดทุนสูงมาก และเราบอกว่าโมเดลนี้ได้มาตรฐานและไม่เพียงพอ
ข้อมูลดังกล่าว
คลิกไอคอนบวกเพื่อดูคำตอบของงานที่ 2
ฟังก์ชันการเปิดใช้งานแบบไม่เชิงเส้นสามารถเรียนรู้โมเดลที่ไม่ใช่เชิงเส้นได้ อย่างไรก็ตาม
ชั้นที่ซ่อนอยู่ชั้นเดียวที่มี 2 เซลล์ไม่สามารถสะท้อนถึงสิ่งที่ไม่เป็นเชิงเส้นทั้งหมดใน
ชุดข้อมูลนี้ และจะสูญเสียข้อมูลสูงแม้จะไม่มีเสียงรบกวน:
ประเมิน ข้อมูลได้ การออกกำลังกายเหล่านี้ไม่ได้กำหนดอย่างตายตัว ดังนั้นบางการวิ่ง
จะไม่ได้เรียนรู้โมเดลที่มีประสิทธิภาพ
ในขณะที่การเรียกใช้อื่นๆ จะทำงานได้ดีทีเดียว
โมเดลที่ดีที่สุดอาจไม่มีรูปทรงตามที่คุณคาดหวังไว้!
คลิกไอคอนบวกเพื่อดูคำตอบของงานที่ 3
แบบฝึกหัดนี้มีลักษณะเฉพาะตัวของ Playground ต
เลเยอร์ที่ซ่อนอยู่ 1 ชั้นที่มีเซลล์ประสาท 3 เซลล์ก็เพียงพอที่จะจำลองชุดข้อมูล (ไม่มี
นอยส์) แต่ไม่ใช่ทุกการวิ่งที่จะตรงกับโมเดลที่ดี
เซลล์ประสาท 3 เซลล์ก็เพียงพอแล้วเนื่องจากฟังก์ชัน XOR สามารถแสดงเป็นระนาบครึ่งทางร่วมกัน 3 ระนาบ (การเปิดใช้งาน ReLU) ได้ ซึ่งดูได้จาก
ภาพของเซลล์ประสาท ซึ่งแสดงเอาต์พุตของเซลล์ประสาทแต่ละเซลล์ อยู่ในรูปแบบที่ดี
ที่มีเซลล์ประสาท 3 เซลล์และการเปิดใช้งาน ReLU จะมี 1 ภาพที่มี
ในแนวตั้ง ตรวจพบว่า X1 เป็นบวก (หรือเป็นค่าลบ สัญลักษณ์อาจ
สลับ) ภาพ 1 ภาพที่มีเส้นเกือบแนวนอนและตรวจหาสัญญาณของ
X2 และรูปภาพ 1 รูปที่มีเส้นทแยงมุมกำลังตรวจหา
การโต้ตอบ
อย่างไรก็ตาม ไม่ใช่ว่าทุกการเรียกใช้ไปถึงโมเดลที่ดีได้ บางการเรียกใช้จะไม่เปลี่ยน
ดีกว่าโมเดลที่มีเซลล์ประสาท 2 เซลล์ และคุณจะเห็นเซลล์ประสาทที่ซ้ำกัน
กรณี
คลิกไอคอนบวกเพื่อดูคำตอบของงานที่ 4
เลเยอร์ที่ซ่อนอยู่ 1 ชั้นที่มีเซลล์ประสาท 3 เซลล์ช่วยสร้างแบบจำลองข้อมูลได้ แต่จริงๆ แล้วไม่มี
การซ้ำซ้อน ดังนั้นในการวิ่งหลายครั้ง เซลล์ประสาทจะสูญเสียเซลล์ประสาทไปในที่สุดและไม่เรียนรู้
เป็นตัวอย่างที่ดี ชั้นเดียวที่มีเซลล์ประสาทมากกว่า 3 เซลล์มีความซ้ำซ้อนมากกว่า และ
ดังนั้นจึงมีแนวโน้ม
ที่จะนำไปยังโมเดลที่ดี
ดังที่เห็น เลเยอร์ที่ซ่อนอยู่ชั้นเดียวที่มีเซลล์ประสาทเพียง 2 เซลล์ไม่สามารถสร้างโมเดลข้อมูลได้
เมื่อลองทดสอบ คุณจะเห็นว่ารายการทั้งหมดในเลเยอร์เอาต์พุต
จะเป็นได้เฉพาะรูปร่างที่ประกอบด้วยเส้นจาก 2 โหนดนี้เท่านั้น ในกรณีนี้
เครือข่ายที่ลึกขึ้นสามารถสร้างแบบจำลองชุดข้อมูลได้ดีกว่าเลเยอร์ที่ซ่อนอยู่ชั้นแรกเพียงอย่างเดียว:
เซลล์ประสาทเดี่ยวในชั้นที่ 2 อาจสร้างแบบจำลองรูปทรงที่ซับซ้อนมากขึ้น เช่น
จตุภาคด้านขวาบน โดยการรวมเซลล์ประสาทในชั้นแรก ระหว่างกำลังเพิ่ม
เลเยอร์ที่ซ่อนอยู่เป็นชั้นที่สองจึงยังคงสร้างแบบจำลองชุดข้อมูลได้ดีกว่าชุดแรกที่ซ่อนอยู่
อย่างเดียว การจะเพิ่มโหนดเพิ่มเติมให้กับเลเยอร์แรกอาจเหมาะสมกว่า
ให้เส้นเพิ่มเติมเป็นส่วนหนึ่งของชุดที่ชั้นที่สองจะสร้าง
รูปร่าง
แต่โมเดลที่มีเซลล์ประสาท 1 เซลล์ในชั้นที่ซ่อนอยู่ชั้นแรกไม่สามารถเรียนรู้
โดยไม่คำนึงว่าลึกเพียงใด เนื่องจากเอาต์พุตของ
เลเยอร์จะแปรผันตามมิติเดียวเท่านั้น (โดยปกติจะเป็นเส้นทแยงมุม) ซึ่งไม่
มากพอที่จะสร้างแบบจำลองชุดข้อมูลนี้ได้ดี เลเยอร์ถัดๆ ไปจะช่วยชดเชยสิ่งนี้ไม่ได้
มีความซับซ้อนเพียงใด ข้อมูลในอินพุตไม่สามารถกู้คืนได้
แพ้
จะเป็นอย่างไรถ้าแทนที่เราจะมีเครือข่ายขนาดเล็ก เรามีเลเยอร์มากมาย
เซลล์ประสาทจำนวนมาก สำหรับโจทย์ง่ายๆ แบบนี้ อย่างที่เราเห็นกันไปแล้ว
จะสามารถทดลองความลาดชันของเส้นต่างๆ ได้มากมาย และองค์ประกอบที่ 2
เลเยอร์ใหม่จะมีความสามารถในการสะสม
เป็นรูปทรงต่างๆ มากมาย
ที่มีรูปร่างจำนวนมากไหลลงมาผ่านเลเยอร์ต่อๆ มา
ทำให้โมเดลสามารถพิจารณารูปร่างต่างๆ มากมายผ่าน
เซลล์ประสาทที่ซ่อนอยู่ที่แตกต่างกัน คุณสร้างพื้นที่เพียงพอให้โมเดลเริ่มต้น
มากเกินไป กับสิ่งรบกวนในชุดการฝึก ทำให้
รูปทรงที่ซับซ้อนให้ตรงกับข้อมูลการฝึกใช้งาน
ข้อมูลที่เป็นความจริงโดยทั่วไป ในตัวอย่างนี้ โมเดลขนาดใหญ่อาจซับซ้อน
เพื่อจับคู่กับจุดข้อมูลที่แม่นยำ ในกรณีที่รุนแรง โมเดลขนาดใหญ่
เรียนรู้เกาะรอบๆ จุดรบกวนต่างๆ ได้ ซึ่งเรียกว่า
การจดจำ ข้อมูล เมื่อปล่อยให้โมเดลมีขนาดใหญ่มากๆ คุณจะ
เห็นว่าจริงๆ แล้วโมเดลทำงานได้แย่กว่า
ให้เซลล์ประสาทช่วยแก้โจทย์
ส่งความคิดเห็น
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2024-08-22 UTC
หากต้องการบอกให้เราทราบเพิ่มเติม
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2024-08-22 UTC"],[[["This exercise explores training a neural network to learn nonlinearities and model data effectively."],["Increasing the number of neurons and using nonlinear activation functions like ReLU improves model performance."],["A single hidden layer with 3 neurons using ReLU can sufficiently model the data, but model quality varies between runs."],["Deeper and wider networks risk overfitting, potentially memorizing noise instead of generalizing patterns."],["While adding layers can improve model performance, redundant layers and neurons might lead to worse results compared to a simpler, well-structured model."]]],[]]