คณิตศาสตร์สมัยใหม่ของการเรียนรู้เชิงลึกอธิบายสำหรับผู้ที่ไม่ใช่นักคณิตศาสตร์

เครือข่าย ReLU ตื้น

โครงการเรียนรู้เพนกวิน

โครงการใช้ข้อมูลเพนกวิน Palmer ที่สมบูรณ์ 342 แถว: ชุดฝึก 240 และชุดทดสอบ 102 แถว แถวฝึกที่เลือกกำหนดการปรับสเกลและพารามิเตอร์ CSV ต้นฉบับ

โครงการนี้ฝึกน้ำหนักด้วย softmax ต่างจากแล็บในหน้าแรกที่ใช้ค่าเฉลี่ยของสายพันธุ์ที่ใกล้ที่สุด ข้อมูลวัดเพนกวินชุดเดียวกัน แต่วิธีจำแนกต่างกัน คำทำนายอาจต่างกันได้

กฎทำนายและชั้นของเครือข่าย · อธิบายหรือใช้กฎทำนาย ชั้น และพารามิเตอร์

โครงการใช้กฎเชิงเส้นกับสองคุณลักษณะ น้ำหนักที่ฝึกให้คะแนนหรือมวลที่ปรับสเกล

พิจารณาแนวคิดนี้ร่วมกับโครงการ สมมติฐานของต้นฉบับอาจต่างกัน ข้อมูลชุดนี้ไม่พิสูจน์ทฤษฎีบท

ข้อมูลเข้า: 12 × 2; ประเมินชุดทดสอบ: 102 · #58 · 40.6 มม., 193 มม.. คำตอบที่ทราบ: อาเดลี; ค่าทำนาย: อาเดลี · [≈0.7383, ≈0.2444, ≈0.01737].

ใช้ในส่วนต้นฉบับเหล่านี้: 3.2 ส่วนตรงง่าย ๆ กับหลายชั้น · 3.3 วิธีอื่นในการวัดความสามารถในการแทนฟังก์ชัน

หน่วยซ่อนแต่ละหน่วยใช้ ReLU กับฟังก์ชันเชิงเส้นของ x คูณผลลัพธ์ซ่อนแต่ละค่าด้วยน้ำหนักผลลัพธ์ บวกเข้าด้วยกัน แล้วบวกไบแอสผลลัพธ์

รูปแบบนี้แสดงว่าเครือข่ายสองชั้นสร้างฟังก์ชันเชิงเส้นเป็นช่วงอย่างไร

ตัวอย่างสูตรต้นฉบับ

Φ(x)=∑i=1nwi(2)ϱR(wi(1)x+bi(1))+b(2),x∈R,\Phi(x)=\sum_{i=1}^{n}w_{i}^{(2)}{\varrho_{R}}(w_{i}^{(1)}x+b^{(1)}_{i})+b^{(2)},\quad x\in{\mathbb{R}},

ตรงตามนิยาม · ผลลัพธ์ตรงตามการคำนวณสำหรับข้อมูลเข้าสมมติจำนวนจำกัดนี้ ยกเว้นการปัดเศษตามปกติของคอมพิวเตอร์

สัญลักษณ์

nn
จำนวนหน่วยซ่อนจำนวนเต็มบวก
wi(1),bi(1)w_i^{(1)},b_i^{(1)}
น้ำหนักและไบแอสชั้นแรกสำหรับหน่วย i
wi(2),b(2)w_i^{(2)},b^{(2)}
น้ำหนักผลลัพธ์สำหรับหน่วย i และไบแอสผลลัพธ์

ตัวอย่างสูตรต้นฉบับ

ตัวอย่างต้นฉบับนี้ใช้ข้อมูลเข้าและสมมติฐานของตัวเอง การแก้ไขไม่เปลี่ยนโครงการ

แก้ค่าหรือโค้ด แล้วกดรัน ตัวอย่างนี้เป็นการคำนวณจำนวนจำกัด ไม่ใช่การพิสูจน์ทฤษฎีบท

ลำดับข้อมูลในตัวอย่างนี้

คุณเลือก

  • input.x = 2

ค่าเริ่มต้นในโค้ด

  • firstWeights = [1, -1]
  • hiddenBiases = [0, 1]
  • outputWeights = [1, 2]
  • outputBias = 1

คำนวณที่นี่

นิพจน์ผลลัพธ์: { hidden, output: hidden.reduce((sum, value, i) => sum + value * outputWeights[i], outputBias), }

  • hidden = firstWeights.map((weight, i) => Math.max(0, weight * input.x + hiddenBiases[i]), ) ใช้: firstWeights, input.x, hiddenBiases

ส่งกลับ

ผลลัพธ์ตัวอย่าง
hidden
อาร์เรย์ (2 รายการ): [2, 0]
output
3

อ่านตัวเลขจาก input แล้วคืนค่าผลลัพธ์ พื้นฐาน JavaScript.

ผลลัพธ์

เปิด JavaScript เพื่อรันตัวอย่างนี้

ข้อความทางเทคนิค

เปลี่ยนข้อมูลเข้าแล้วเรียกใช้โค้ดเดิมอีกครั้ง ผลลัพธ์ที่แสดงใช้ค่าข้างต้น

แหล่งอ้างอิง: นิพจน์จากแหล่งต้นฉบับ