กำหนดเครือข่ายประสาทที่ใช้เป็น input ข้อมูลจุด: x_n เราบอกว่าเป็นการเปลี่ยนแปลงที่ไม่แปรเปลี่ยนถ้า
สำหรับการเปลี่ยนแปลงใด ๆปี่
ใครช่วยแนะนำจุดเริ่มต้น (บทความตัวอย่างหรือกระดาษอื่น ๆ ) สำหรับการเปลี่ยนแปลงโครงข่ายประสาทเทียม
กำหนดเครือข่ายประสาทที่ใช้เป็น input ข้อมูลจุด: x_n เราบอกว่าเป็นการเปลี่ยนแปลงที่ไม่แปรเปลี่ยนถ้า
สำหรับการเปลี่ยนแปลงใด ๆปี่
ใครช่วยแนะนำจุดเริ่มต้น (บทความตัวอย่างหรือกระดาษอื่น ๆ ) สำหรับการเปลี่ยนแปลงโครงข่ายประสาทเทียม
คำตอบ:
เท่าที่ฉันรู้ไม่มีใครได้ลองสิ่งนี้เนื่องจากวิธีการที่โครงสร้างเครือข่าย แต่ละอินพุตมีชุดของน้ำหนักที่เชื่อมต่อกับอินพุตเพิ่มเติม หากสลับอินพุตเอาต์พุตก็จะเหมือนกัน
อย่างไรก็ตามคุณสามารถสร้างเครือข่ายที่เข้าใกล้พฤติกรรมนี้ ในชุดการฝึกอบรมของคุณให้ใช้การเรียนรู้แบบแบทช์และสำหรับแต่ละตัวอย่างการฝึกอบรมให้การเรียงสับเปลี่ยนที่เป็นไปได้ทั้งหมดให้กับเครือข่าย สิ่งนี้จะไม่เปลี่ยนแปลงอย่างแน่นอน แต่มันอาจจะใกล้เคียงกัน
อีกวิธีหนึ่งในการทำเช่นนี้คือการให้น้ำหนักซ้ำสำหรับอินพุตทั้งหมด ตัวอย่างเช่นสมมติว่าคุณมี 3 อินพุต (i0, i1, i2) และเลเยอร์ที่ซ่อนถัดไปมี 2 โหนด (hl0, hl1) และฟังก์ชั่นการเปิดใช้งาน F. สมมติว่าเป็นเลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์คุณมี 2 น้ำหนัก w0 และ w1 โหนดของเลเยอร์ที่ซ่อนอยู่จะได้รับ hl0 และ hl1 ตามลำดับโดย
hl0 = F (i0w0 + i1w0 + i2w0)
hl1 = F (i0w1 + i1w1 + i2w1)
ดังนั้นให้เลเยอร์ที่ซ่อนอยู่ซึ่งมีค่าการเปลี่ยนแปลงที่เปลี่ยนแปลงจากอินพุต จากนี้ไปคุณสามารถเรียนรู้และสร้างเครือข่ายที่เหลือตามที่เห็นสมควร นี่เป็นวิธีการที่ได้มาจากเลเยอร์ convolutional
นอกหัวข้อนี้ดูเหมือนจะเป็นโครงการเจ๋ง ๆ หากคุณต้องการที่จะร่วมมือในโครงการวิจัยบางอย่างติดต่อฉัน (ตรวจสอบรายละเอียดของฉัน)
นี่คือสิ่งที่คุณกำลังมองหา:
ฉันได้ติดตั้ง Permutational Layer ที่นี่โดยใช้ Keras: https://github.com/off99555/superkeras/blob/master/permutational_layer.py
คุณสามารถเรียกใช้PermutationalModule
ฟังก์ชั่นนี้ได้
ดำเนินการตามกระดาษนี้: https://arxiv.org/pdf/1612.04530.pdf
แนวคิดคือการเปรียบเทียบคู่ทั้งหมดของN ^ 2คู่จากอินพุตNใช้โมเดลที่มีน้ำหนักที่ใช้ร่วมกันจากนั้นใช้ฟังก์ชันการรวมกำไรNครั้งกับอินพุตN เอาท์พุทที่คุณสามารถใช้ร่วมกันอีกครั้ง แต่ในกระดาษพวกเขาไม่ได้พูดถึงการรวมกำไรกันอีก