จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
โครงข่ายระบบประสาทเทียมแห่งแรก
ในแบบฝึกหัดนี้ เราจะฝึกโครงข่ายประสาทส่วนแรกของเรา
โครงข่ายประสาทจะช่วยให้เราสามารถเรียนรู้โมเดลแบบไม่ใช่เชิงเส้น
การใช้การข้ามฟีเจอร์ที่ชัดเจน
งานที่ 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"],[],[]]