เชื่อมโยงเครือข่ายหน่วยความจำ

เครือข่ายประสาทเทียมประเภทนี้ทำงานบนพื้นฐานของการเชื่อมโยงรูปแบบซึ่งหมายความว่าพวกเขาสามารถจัดเก็บรูปแบบที่แตกต่างกันและในขณะที่ให้เอาต์พุตพวกเขาสามารถสร้างรูปแบบที่จัดเก็บอย่างใดอย่างหนึ่งโดยจับคู่กับรูปแบบการป้อนข้อมูลที่กำหนด ความทรงจำประเภทนี้เรียกอีกอย่างว่าContent-Addressable Memory(ลูกเบี้ยว). Associative memory ทำการค้นหาแบบขนานด้วยรูปแบบที่จัดเก็บไว้เป็นไฟล์ข้อมูล

ต่อไปนี้เป็นความทรงจำเชื่อมโยงสองประเภทที่เราสามารถสังเกตได้ -

  • Auto Associative Memory
  • หน่วยความจำ Hetero Associative

Auto Associative Memory

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

สถาปัตยกรรม

ดังแสดงในรูปต่อไปนี้สถาปัตยกรรมของเครือข่ายหน่วยความจำ Auto Associative มี ‘n’ จำนวนเวกเตอร์การฝึกป้อนข้อมูลและสิ่งที่คล้ายกัน ‘n’ จำนวนเวกเตอร์เป้าหมายเอาต์พุต

อัลกอริทึมการฝึกอบรม

สำหรับการฝึกอบรมเครือข่ายนี้ใช้กฎการเรียนรู้ Hebb หรือ Delta

Step 1 - เริ่มต้นน้ำหนักทั้งหมดเป็นศูนย์เป็น wij = 0 (i = 1 to n, j = 1 to n)

Step 2 - ทำตามขั้นตอนที่ 3-4 สำหรับเวกเตอร์อินพุตแต่ละตัว

Step 3 - เปิดใช้งานหน่วยอินพุตแต่ละหน่วยดังนี้ -

$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: ถึง \: n) $$

Step 4 - เปิดใช้งานเอาต์พุตแต่ละยูนิตดังนี้ -

$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: ถึง \: n) $$

Step 5 - ปรับน้ำหนักดังนี้ -

$$ w_ {ij} (ใหม่) \: = \: w_ {ij} (เก่า) \: + \: x_ {i} y_ {j} $$

อัลกอริทึมการทดสอบ

Step 1 - กำหนดน้ำหนักที่ได้รับระหว่างการฝึกตามกฎของเฮบบ์

Step 2 - ทำตามขั้นตอนที่ 3-5 สำหรับเวกเตอร์อินพุตแต่ละตัว

Step 3 - ตั้งค่าการเปิดใช้งานหน่วยอินพุตให้เท่ากับเวกเตอร์อินพุต

Step 4 - คำนวณอินพุตสุทธิของแต่ละหน่วยเอาต์พุต j = 1 to n

$$ y_ {อันตราย} \: = \: \ displaystyle \ sum \ LIMIT_ {i = 1} ^ n x_ {i} w_ {ij} $$

Step 5 - ใช้ฟังก์ชันการเปิดใช้งานต่อไปนี้เพื่อคำนวณผลลัพธ์

$$ y_ {j} \: = \: f (y_ {อันตราย}) \: = \: \ begin {cases} +1 & if \: y_ {อันตราย} \:> \: 0 \\ - 1 & if \: y_ {อันตราย} \: \ leqslant \: 0 \ end {cases} $$

หน่วยความจำ Hetero Associative

คล้ายกับเครือข่าย Auto Associative Memory ซึ่งเป็นเครือข่ายประสาทชั้นเดียว อย่างไรก็ตามในเครือข่ายนี้เวกเตอร์การฝึกอินพุตและเวกเตอร์เป้าหมายของเอาต์พุตจะไม่เหมือนกัน น้ำหนักจะถูกกำหนดเพื่อให้เครือข่ายเก็บชุดรูปแบบ เครือข่ายการเชื่อมโยง Hetero เป็นแบบคงที่ดังนั้นจึงไม่มีการดำเนินการที่ไม่ใช่เชิงเส้นและล่าช้า

สถาปัตยกรรม

ดังแสดงในรูปต่อไปนี้สถาปัตยกรรมของเครือข่าย Hetero Associative Memory มี ‘n’ จำนวนเวกเตอร์การฝึกป้อนข้อมูลและ ‘m’ จำนวนเวกเตอร์เป้าหมายเอาต์พุต

อัลกอริทึมการฝึกอบรม

สำหรับการฝึกอบรมเครือข่ายนี้ใช้กฎการเรียนรู้ Hebb หรือ Delta

Step 1 - เริ่มต้นน้ำหนักทั้งหมดเป็นศูนย์เป็น wij = 0 (i = 1 to n, j = 1 to m)

Step 2 - ทำตามขั้นตอนที่ 3-4 สำหรับเวกเตอร์อินพุตแต่ละตัว

Step 3 - เปิดใช้งานหน่วยอินพุตแต่ละหน่วยดังนี้ -

$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: ถึง \: n) $$

Step 4 - เปิดใช้งานเอาต์พุตแต่ละยูนิตดังนี้ -

$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: ถึง \: m) $$

Step 5 - ปรับน้ำหนักดังนี้ -

$$ w_ {ij} (ใหม่) \: = \: w_ {ij} (เก่า) \: + \: x_ {i} y_ {j} $$

อัลกอริทึมการทดสอบ

Step 1 - กำหนดน้ำหนักที่ได้รับระหว่างการฝึกตามกฎของเฮบบ์

Step 2 - ทำตามขั้นตอนที่ 3-5 สำหรับเวกเตอร์อินพุตแต่ละตัว

Step 3 - ตั้งค่าการเปิดใช้งานหน่วยอินพุตให้เท่ากับเวกเตอร์อินพุต

Step 4 - คำนวณอินพุตสุทธิของแต่ละหน่วยเอาต์พุต j = 1 to m;

$$ y_ {อันตราย} \: = \: \ displaystyle \ sum \ LIMIT_ {i = 1} ^ n x_ {i} w_ {ij} $$

Step 5 - ใช้ฟังก์ชันการเปิดใช้งานต่อไปนี้เพื่อคำนวณผลลัพธ์

$$ y_ {j} \: = \: f (y_ {อันตราย}) \: = \: \ begin {cases} +1 & if \: y_ {อันตราย} \:> \: 0 \\ 0 & if \ : y_ {อันตราย} \: = \: 0 \\ - 1 & if \: y_ {อันตราย} \: <\: 0 \ end {cases} $$