ความแตกต่างระหว่างตัวอย่างขั้นตอนเวลาและคุณสมบัติต่าง ๆ ในโครงข่ายประสาทเทียม


17

ฉันจะผ่านบล็อกต่อไปนี้ในเครือข่ายประสาท LSTM: http://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/machinelearningmastery.com/

ผู้เขียน reshapes เวกเตอร์อินพุต X เป็น [ตัวอย่างขั้นตอนเวลาคุณสมบัติ] สำหรับการกำหนดค่า LSTM ที่แตกต่างกัน

ผู้เขียนเขียน

อันที่จริงลำดับของตัวอักษรเป็นขั้นตอนเวลาของคุณลักษณะหนึ่งมากกว่าหนึ่งขั้นตอนของคุณสมบัติแยกต่างหาก เราได้ให้บริบทกับเครือข่ายมากขึ้น แต่ไม่ได้เรียงตามที่คาดไว้

สิ่งนี้หมายความว่า?

คำตอบ:


16

ฉันพบสิ่งนี้ใต้ [ตัวอย่าง, time_steps, คุณสมบัติ] ที่คุณกังวล

X = numpy.reshape(dataX, (len(dataX), seq_length, 1))

ตัวอย่าง - นี่คือ len (dataX) หรือจำนวนจุดข้อมูลที่คุณมี

ขั้นตอนเวลา - นี่เท่ากับจำนวนขั้นตอนเวลาที่คุณเรียกใช้เครือข่ายประสาทที่เกิดซ้ำ หากคุณต้องการให้เครือข่ายของคุณมีหน่วยความจำ 60 ตัวอักษรหมายเลขนี้ควรเป็น 60

คุณสมบัติ - นี่คือจำนวนของคุณสมบัติในทุกขั้นตอน หากคุณกำลังประมวลผลรูปภาพนี่เป็นจำนวนพิกเซล ในกรณีนี้คุณดูเหมือนจะมี 1 คุณลักษณะต่อขั้นตอน


1
คุณสามารถอธิบายความแตกต่างระหว่าง: X = numpy.reshape (dataX, (len (dataX), 3, 1)) และ X = numpy.reshape (dataX, (len (dataX), 1, 3)) สิ่งนี้มีผลอย่างไร LSTM?
Vipul Jain

1
(len (dataX), 3, 1) เรียกใช้ LSTM เป็นเวลา 3 รอบโดยป้อนเวกเตอร์อินพุตของรูปร่าง (1,) (len (dataX), 1, 3) รัน LSTM สำหรับ 1 การวนซ้ำ ซึ่งหมายความว่ามันไม่มีประโยชน์เลยแม้แต่น้อยที่จะมีการเชื่อมต่อซ้ำ ๆ เนื่องจากไม่มีข้อเสนอแนะใด ๆ จากการทำซ้ำก่อนหน้านี้ ในกรณีนี้รูปร่างป้อนเข้าของ RNN มีรูปร่าง (3,)
Joonatan ซามูเอล

"(len (dataX), 3, 1) รัน LSTM สำหรับการทำซ้ำ 3 ครั้ง" เราไม่ได้ใช้ยุคนี้ มันหมายถึงเช่นเดียวกับยุค = 3?
Vipul Jain

1
หนึ่งยุคในการแปลคร่าวๆหมายความว่าเราได้ฝึกจุดข้อมูลทุกจุดในชุดข้อมูลของเรา ในขณะที่การฝึกอบรมการดูตัวอย่าง len (dataX) นับเป็น 1 ยุค อย่างไรก็ตาม RNN ใช้ข้อมูลตามลำดับ ในทุกตัวอย่างการฝึกอบรมคุณต้องป้อนข้อมูลผ่านการวนซ้ำหลายครั้ง เช่นฉันมีคำว่า "รถยนต์" และทุกครั้งที่ฉันป้อนตัวอักษรมันให้การคำนวณที่สมบูรณ์แล้วป้อนตัวอักษรถัดไป เพื่อให้การประมวลผลคำว่า "รถยนต์" สมบูรณ์ต้องใช้การวนซ้ำ 3 ตัวเพื่อประมวลผลคำตัวอักษรทั้งหมดด้วยตัวอักษร
Joonatan ซามูเอล

@JoonatanSamuel สวัสดีฉันรู้ว่าเวลาผ่านไปนานแล้ว แต่ฉันมีปัญหามากมายที่จะเข้าใจหัวข้อเดียวกัน คำตอบของคุณชัดเจนมาก แต่ฉันก็ยังสับสนอยู่ Immagine เรามีอนุกรมเวลาอธิบายยอดขายในแต่ละเดือนเป็นเวลาหลายปี (พูด) ลองนึกภาพ len (data) = 3000, data.shape = (3000,1) เป็นต้นดังนั้นเราจึงบันทึก 3000 เดือน ทำนายค่าถัดไป : ถ้าฉันต้องการใช้การสังเกตก่อนหน้านี้ N เพื่อทำนายค่าถัดไป (เฉพาะอันถัดไป!) รูปร่างของข้อมูลอินพุตเข้ากับ LSTM ควรเป็นอย่างไร ตัวอย่างเช่นถ้าเราต้องการที่จะใช้ในการทำนายt-n,..., t-2, t-1 t
Euler_Salter

0

มันสายเกินไป แต่ในกรณี; ตัวอย่างอาจจะหมายถึงตัวอย่างการฝึกอบรมของแต่ละบุคคล ตัวแปร“ batch_size” จึงนับจำนวนตัวอย่างที่คุณส่งไปยังเครือข่ายประสาทเทียม นั่นคือจำนวนตัวอย่างที่แตกต่างกันที่คุณป้อนพร้อมกับเครือข่ายประสาท

TimeStepsเป็นช่วงเวลา มันเป็นระยะเวลาในแต่ละตัวอย่างของคุณ ตัวอย่างเช่นตัวอย่างสามารถมีขั้นตอนที่ 128 เวลาซึ่งแต่ละขั้นตอนเวลาอาจเป็น 30 ของวินาทีสำหรับการประมวลผลสัญญาณ ในการประมวลผลภาษาธรรมชาติ (NLP) ขั้นตอนเวลาอาจเชื่อมโยงกับอักขระคำหรือประโยคขึ้นอยู่กับการตั้งค่า

คุณสมบัติเป็นเพียงจำนวนมิติที่เราป้อนในแต่ละขั้นตอน ตัวอย่างเช่นใน NLP คำหนึ่งคำสามารถแทนด้วย 300 คุณสมบัติโดยใช้ word2vec ในกรณีของการประมวลผลสัญญาณลองทำเป็นว่าสัญญาณของคุณเป็นแบบ 3 มิติ นั่นคือคุณมีสัญญาณ X, Y และ Z เช่นการวัดความเร่งของแต่ละแกน ซึ่งหมายความว่าคุณจะมี 3 คุณสมบัติที่ส่งในแต่ละขั้นตอนสำหรับแต่ละตัวอย่าง

โดยGuillaume


0

คำตอบของฉันพร้อมตัวอย่าง: ["สวัสดีนี่คือ xyz", "คุณเป็นอย่างไรบ้าง", "ผู้ยิ่งใหญ่ ... "]

ในกรณีนี้ "[ตัวอย่างขั้นตอนเวลาคุณสมบัติ]" หมายถึง:

  • ตัวอย่าง: 3 เพราะมี 3 องค์ประกอบในรายการ
  • ขั้นตอนเวลา:ที่นี่คุณสามารถใช้ max_length = 4 length ("hello this is xyz") = 4; ความยาว ("คุณเป็นอย่างไรบ้าง") = 4; length ("great man ... ") = 2 (หลังจากลบเครื่องหมายวรรคตอน ".") เหตุผลที่บอกว่านี่เป็นขั้นตอนเวลาในองค์ประกอบแรก "สวัสดีนี่คือ xyz" ==> t0 ("สวัสดี"), t1 ("นี้"), t2 ("คือ") และ t3 ("xyz")
  • คุณสมบัติ:ขนาดของการฝังสำหรับแต่ละคำ เช่น "hello": 50D array "this": 50D array และอื่น ๆ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.