คำถามติดแท็ก lstm

LSTM ย่อมาจาก Long Short-Term Memory เมื่อเราใช้คำนี้เกือบตลอดเวลาเราอ้างถึงเครือข่ายประสาทที่เกิดซ้ำหรือบล็อก (บางส่วน) ของเครือข่ายที่ใหญ่กว่า

1
การทำนายอนุกรมเวลาโดยใช้ LSTM: ความสำคัญของการสร้างอนุกรมเวลาให้ไม่หยุดนิ่ง
ในลิงค์นี้เกี่ยวกับ Stationarity และดิฟเฟอเรนเชียลมันถูกกล่าวถึงว่าโมเดลเช่น ARIMA ต้องการอนุกรมเวลาสำหรับการพยากรณ์เนื่องจากคุณสมบัติทางสถิติเช่นค่าเฉลี่ยความแปรปรวนความสัมพันธ์แบบออโตคอร์เรชั่น ฯลฯ คงที่ตลอดเวลา เนื่องจาก RNNs มีความสามารถที่ดีกว่าในการเรียนรู้ความสัมพันธ์ที่ไม่ใช่เชิงเส้น ( ตามที่กำหนดไว้ที่นี่: สัญญาของเครือข่ายประสาทที่เกิดขึ้นอีกสำหรับการพยากรณ์อนุกรมเวลา ) และทำงานได้ดีกว่าโมเดลอนุกรมเวลาทั่วไปเมื่อข้อมูลมีขนาดใหญ่ ข้อมูลจะมีผลต่อผลลัพธ์ คำถามที่ฉันต้องรู้คำตอบมีดังนี้: ในกรณีที่มีรูปแบบการพยากรณ์อนุกรมเวลาแบบดั้งเดิมความคงที่ของข้อมูลอนุกรมเวลาทำให้ง่ายต่อการคาดการณ์ว่าทำไมและอย่างไร ในขณะที่สร้างแบบจำลองการทำนายอนุกรมเวลาโดยใช้LSTM จำเป็นหรือไม่ที่จะต้องทำให้ข้อมูลอนุกรมเวลาคงที่ ถ้าเป็นเช่นนั้นทำไม

2
หน้าต่างบานเลื่อนนำไปสู่การ overfitting ใน LSTM?
ฉันจะใช้ LSTM ของฉันให้มากเกินไปได้หรือไม่ถ้าฉันฝึกฝนผ่านทางหน้าต่างบานเลื่อน? เหตุใดผู้คนจึงไม่ใช้ LSTM สำหรับตัวอย่างที่ง่ายสมมติว่าเราต้องทำนายลำดับของอักขระ: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z มันไม่ดี (หรือดีกว่า) ถ้าฉันฝึก LSTM ด้วยมินิบัสต่อไปนี้: A B C D E F G H I J K L M …


4
ช่วงเวลาการทำนายรอบการคาดการณ์อนุกรมเวลา LSTM
มีวิธีการคำนวณช่วงเวลาการทำนาย (การแจกแจงความน่าจะเป็น) รอบการพยากรณ์อนุกรมเวลาจากเครือข่ายประสาท LSTM (หรือการเกิดขึ้นอีกครั้ง) หรือไม่? ตัวอย่างเช่นฉันคาดการณ์ 10 ตัวอย่างในอนาคต (t + 1 ถึง t + 10) ตามตัวอย่างที่สังเกตได้ 10 รายการล่าสุด (t-9 ถึง t) ฉันคาดว่าการทำนายที่ t + 1 จะมากกว่านี้ แม่นยำกว่าการทำนายที่ t + 10 โดยปกติแล้วหนึ่งอาจวาดแถบข้อผิดพลาดรอบการทำนายเพื่อแสดงช่วงเวลา ด้วยโมเดล ARIMA (ภายใต้สมมติฐานของข้อผิดพลาดแบบกระจายทั่วไป) ฉันสามารถคำนวณช่วงการทำนาย (เช่น 95%) รอบค่าที่ทำนายแต่ละค่า ฉันสามารถคำนวณแบบเดียวกัน (หรือบางอย่างที่เกี่ยวข้องกับช่วงเวลาการทำนาย) จากแบบจำลอง LSTM ได้หรือไม่ ฉันทำงานกับ LSTM ใน Keras / Python …

3
เอาต์พุตของฟังก์ชัน model.predict จาก Keras หมายถึงอะไร
ฉันได้สร้างแบบจำลอง LSTM เพื่อทำนายคำถามที่ซ้ำกันในชุดข้อมูลอย่างเป็นทางการของ Quora ป้ายทดสอบเป็น 0 หรือ 1 1 หมายถึงคู่คำถามซ้ำกัน หลังจากสร้างแบบจำลองโดยใช้model.fitฉันทดสอบแบบจำลองโดยใช้model.predictกับข้อมูลการทดสอบ ผลลัพธ์คืออาร์เรย์ของค่าบางอย่างดังนี้: [ 0.00514298] [ 0.15161049] [ 0.27588326] [ 0.00236167] [ 1.80067325] [ 0.01048524] [ 1.43425131] [ 1.99202418] [ 0.54853892] [ 0.02514757] ฉันแค่แสดง 10 ค่าแรกในอาร์เรย์ ฉันไม่เข้าใจค่าเหล่านี้หมายถึงอะไรและป้ายกำกับที่คาดการณ์ไว้สำหรับคู่คำถามแต่ละคู่คืออะไร

2
วิธีการใช้การทำนายลำดับแบบ "หนึ่งต่อหลายคน" และ "หลายต่อหลายคน" ใน Keras อย่างไร
ฉันพยายามตีความความแตกต่างของการเข้ารหัสของ Keras สำหรับการเรียงลำดับแบบหนึ่งต่อหลายคน (เช่นการจัดประเภทของภาพเดี่ยว) และการติดฉลากแบบลำดับต่อเนื่อง (เช่นการจำแนกประเภทของลำดับภาพ) ฉันเห็นรหัสที่แตกต่างกันสองประเภท: ประเภท 1 คือที่ที่ไม่มีการเผยแพร่ TimeDistributed ดังนี้ model=Sequential() model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1], border_mode="valid", input_shape=[1, 56,14])) model.add(Activation("relu")) model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1])) model.add(Activation("relu")) model.add(MaxPooling2D(pool_size=pool_size)) model.add(Reshape((56*14,))) model.add(Dropout(0.25)) model.add(LSTM(5)) model.add(Dense(50)) model.add(Dense(nb_classes)) model.add(Activation("softmax")) ประเภทที่ 2 คือที่ TimeDistributed ถูกนำไปใช้เช่นนี้ model = Sequential() model.add(InputLayer(input_shape=(5, 224, 224, 3))) model.add(TimeDistributed(Convolution2D(64, (3, 3)))) model.add(TimeDistributed(MaxPooling2D((2,2), strides=(2,2)))) model.add(LSTM(10)) model.add(Dense(3)) …
13 keras  rnn  lstm  sequence 

1
การคาดการณ์ชุดเวลาหลายมิติและหลายตัวแปร (RNN / LSTM) Keras
ฉันได้รับการพยายามที่จะเข้าใจวิธีการที่จะเป็นตัวแทนของข้อมูลและรูปร่างที่จะทำให้Multidimentionalและหลายตัวแปรเวลาคาดการณ์โดยใช้ Keras (หรือ TensorFlow) ชุด แต่ผมยังไม่ชัดเจนมากหลังจากอ่านบล็อกโพสต์หลาย tutorials / / เอกสารเกี่ยวกับวิธีการที่จะนำเสนอข้อมูลใน รูปร่างที่ถูกต้อง (ตัวอย่างส่วนใหญ่มีค่าน้อยกว่าเล็กน้อย ชุดข้อมูลของฉัน: หลายเมือง ที่ฉันมีข้อมูลเกี่ยวกับพูดอุณหภูมิการจราจรรถยนต์ความชื้น สำหรับพูด 2 ปีที่ผ่านมา (บันทึกหนึ่งรายการในแต่ละวัน) สิ่งที่ฉันต้องการจะทำ: ฉันต้องการที่จะคาดการณ์สำหรับแต่ละเมืองอุณหภูมิที่ฉันคาดหวังสำหรับปีถัดไปโดยใช้รุ่นที่อาจล่าช้า, การจราจรรถยนต์และความชื้น (แน่นอนว่าจะมีคุณสมบัติอื่น ๆ อีกมากมาย แต่นี่เป็นเพียง ตัวอย่างความคิด) สิ่งที่ฉันสับสนเกี่ยวกับ: หากฉันมี 2 เมืองซึ่งฉันบันทึกคุณสมบัติ 3 แห่งไว้สำหรับ 365 วัน ฉันจะกำหนดรูปแบบการป้อนข้อมูลของฉันอย่างไรเพื่อให้แบบจำลองสามารถส่งออกการพยากรณ์เป็นเวลา 365 วันสำหรับเมืองทั้งสองนี้ (เช่นชุดข้อมูลอุณหภูมิ 2 ชุดเป็นเวลา 365 วัน) รูปทรงเทนเซอร์นั้นเป็นไปอย่างง่ายดาย(?, 365, 3)สำหรับ 365 วันและ 3 คุณสมบัติ …
12 python  keras  rnn  lstm 

1
ดังนั้นสิ่งที่จับกับ LSTM?
ฉันกำลังขยายความรู้ของฉันเกี่ยวกับแพคเกจ Keras และฉันใช้เครื่องมือกับรุ่นที่มีอยู่ ฉันมีปัญหาการจำแนกเลขฐานสองแบบ NLP ที่ฉันพยายามแก้ไขและใช้โมเดลที่แตกต่างกัน หลังจากทำงานกับผลลัพธ์และอ่านเพิ่มเติมเกี่ยวกับ LSTM มากขึ้นดูเหมือนว่าวิธีการนี้ดีกว่าสิ่งอื่น ๆ ที่ฉันได้ลอง (ในชุดข้อมูลหลายชุด) ฉันคิดกับตัวเองอยู่เสมอว่า "ทำไม / เมื่อไหร่คุณจะไม่ใช้ LSTM" การใช้ประตูเพิ่มเติมซึ่งเป็นของ LSTM ทำให้ฉันมีความรู้สึกสมบูรณ์แบบหลังจากมีบางรุ่นที่ต้องทนทุกข์ทรมานจากการไล่ระดับสีที่หายไป ดังนั้นสิ่งที่จับกับ LSTM? พวกเขาไม่ทำดีที่ไหน ฉันรู้ว่าไม่มีสิ่งเช่นอัลกอริทึม "หนึ่งขนาดเหมาะกับทุกคน" ดังนั้นจึงต้องมีข้อเสียของ LSTM

3
มีรูปแบบภาษาที่ดีนอกกรอบสำหรับงูใหญ่หรือไม่?
ฉันกำลังสร้างต้นแบบแอปพลิเคชันและฉันต้องการโมเดลภาษาเพื่อคำนวณความงุนงงในประโยคที่สร้างขึ้น มีรูปแบบภาษาที่ผ่านการฝึกอบรมในภาษาไพ ธ อนที่ฉันสามารถใช้ได้หรือไม่? บางสิ่งที่เรียบง่ายเช่น model = LanguageModel('en') p1 = model.perplexity('This is a well constructed sentence') p2 = model.perplexity('Bunny lamp robert junior pancake') assert p1 < p2 ฉันดูบางกรอบ แต่ไม่สามารถค้นหาสิ่งที่ฉันต้องการ ฉันรู้ว่าฉันสามารถใช้สิ่งที่ชอบ: from nltk.model.ngram import NgramModel lm = NgramModel(3, brown.words(categories='news')) สิ่งนี้ใช้การแจกแจงความน่าจะเป็นที่ดีใน Brown Corpus แต่ฉันกำลังมองหาโมเดลที่สร้างขึ้นอย่างดีในชุดข้อมูลขนาดใหญ่เช่นชุดข้อมูลคำ 1b สิ่งที่ฉันสามารถเชื่อถือได้จริง ๆ ผลลัพธ์สำหรับโดเมนทั่วไป (ไม่เพียงข่าว)
11 python  nlp  language-model  r  statistics  linear-regression  machine-learning  classification  random-forest  xgboost  python  sampling  data-mining  orange  predictive-modeling  recommender-system  statistics  dimensionality-reduction  pca  machine-learning  python  deep-learning  keras  reinforcement-learning  neural-network  image-classification  r  dplyr  deep-learning  keras  tensorflow  lstm  dropout  machine-learning  sampling  categorical-data  data-imputation  machine-learning  deep-learning  machine-learning-model  dropout  deep-network  pandas  data-cleaning  data-science-model  aggregation  python  neural-network  reinforcement-learning  policy-gradients  r  dataframe  dataset  statistics  prediction  forecasting  r  k-means  python  scikit-learn  labels  python  orange  cloud-computing  machine-learning  neural-network  deep-learning  rnn  recurrent-neural-net  logistic-regression  missing-data  deep-learning  autoencoder  apache-hadoop  time-series  data  preprocessing  classification  predictive-modeling  time-series  machine-learning  python  feature-selection  autoencoder  deep-learning  keras  tensorflow  lstm  word-embeddings  predictive-modeling  prediction  machine-learning-model  machine-learning  classification  binary  theory  machine-learning  neural-network  time-series  lstm  rnn  neural-network  deep-learning  keras  tensorflow  convnet  computer-vision 

2
การออกกลางคันของ LSTM ชั้นใด
ควรใช้หลายชั้นLSTMพร้อมกับดรอปเอาท์หรือไม่แนะนำให้วางออกกลางคันบนเลเยอร์ที่ซ่อนอยู่ทั้งหมดรวมถึงเอาท์พุทเลเยอร์หนาแน่น ในกระดาษของฮินตัน (ซึ่งเสนอให้ออกกลางคัน) เขาแค่วางกลางคันลงบนชั้นที่หนาแน่นเท่านั้น แต่นั่นเป็นเพราะชั้นในที่ซ่อนอยู่นั้นเป็นรูปธรรม เห็นได้ชัดว่าฉันสามารถทดสอบรูปแบบเฉพาะของฉัน แต่ฉันสงสัยว่ามีฉันทามติเกี่ยวกับเรื่องนี้หรือไม่?

3
LSTM, BiLSTM คืออะไรและใช้เมื่อใด?
ฉันยังใหม่ต่อการเรียนรู้เชิงลึกและฉันสนใจที่จะรู้ว่า LSTM และ BiLSTM คืออะไรและควรใช้เมื่อใด (พื้นที่ใช้งานหลัก) เหตุใด LSTM และ BILSTM จึงได้รับความนิยมมากกว่า RNN เราสามารถใช้สถาปัตยกรรมการเรียนรู้ลึกเหล่านี้ในปัญหาที่ไม่มีผู้ดูแลได้หรือไม่?

1
ใช้ RNN (LSTM) สำหรับระบบจดจำท่าทาง
ฉันกำลังพยายามสร้างระบบรู้จำท่าทางเพื่อจำแนกASL (ภาษามือแบบอเมริกัน)ท่าทางดังนั้นการป้อนข้อมูลของฉันควรเป็นลำดับของเฟรมไม่ว่าจะเป็นจากกล้องหรือไฟล์วิดีโอจากนั้นมันจะตรวจจับลำดับและแมปตามความเหมาะสม ชั้นเรียน (การนอนหลับการช่วยเหลือการกินการวิ่งเป็นต้น) สิ่งนี้คือฉันได้สร้างระบบที่คล้ายกันแล้ว แต่สำหรับรูปภาพแบบสแตติก (ไม่รวมการเคลื่อนไหว) มันมีประโยชน์สำหรับการแปลตัวอักษรเฉพาะในการสร้างซีเอ็นเอ็นนั้นเป็นงานที่ตรงไปตรงมาเนื่องจากมือไม่ขยับมากและ โครงสร้างชุดข้อมูลก็จัดการได้เช่นกันเมื่อฉันใช้kerasและอาจยังตั้งใจจะทำเช่นนั้น (ทุก ๆ โฟลเดอร์มีชุดภาพสำหรับสัญญาณเฉพาะและชื่อของโฟลเดอร์คือชื่อคลาสของเครื่องหมายนี้เช่น A, B, C , .. ) คำถามของฉันที่นี่ว่าฉันสามารถจัดชุดข้อมูลของฉันเพื่อให้สามารถป้อนข้อมูลลงในRNNใน keras และสิ่งที่ฟังก์ชั่นบางอย่างที่ฉันควรใช้ให้เกิดประสิทธิภาพในการฝึกอบรมรุ่นและพารามิเตอร์ใด ๆ ที่จำเป็นของฉันบางคนแนะนำให้ใช้TimeDistributedชั้น แต่ฉันทำไม่ได้ มีความคิดที่ชัดเจนเกี่ยวกับวิธีการใช้เพื่อประโยชน์ของฉันและคำนึงถึงรูปร่างอินพุตของทุกเลเยอร์ในเครือข่าย การพิจารณาว่าชุดข้อมูลของฉันจะประกอบด้วยภาพฉันอาจต้องใช้เลเยอร์ convolutional เป็นไปได้อย่างไรที่จะรวมเลเยอร์Convเข้ากับLSTMหนึ่ง (ฉันหมายถึงในแง่ของรหัส) ตัวอย่างเช่นฉันจินตนาการว่าชุดข้อมูลของฉันเป็นแบบนี้ โฟลเดอร์ที่ชื่อว่า 'Run' มี 3 โฟลเดอร์ 1, 2 และ 3 แต่ละโฟลเดอร์สอดคล้องกับเฟรมในลำดับ ดังนั้นRun_1จะมีชุดของภาพสำหรับกรอบแรกบางRun_2สำหรับกรอบสองและRun_3สำหรับสามรูปแบบของฉันวัตถุประสงค์คือการได้รับการอบรมที่มีลำดับนี้การส่งออกคำเรียก

1
Keras LSTM พร้อมอนุกรมเวลา 1D
ฉันเรียนรู้วิธีการใช้ Keras และผมเคยประสบความสำเร็จที่เหมาะสมกับชุดที่มีป้ายกำกับของฉันโดยใช้ตัวอย่างใน Chollet ของการเรียนรู้ลึกหลาม ชุดข้อมูลคือ ~ 1000 Time Series ที่มีความยาว 3125 กับ 3 คลาสที่อาจเกิดขึ้น ฉันต้องการไปไกลกว่าเลเยอร์หนาแน่นพื้นฐานซึ่งให้อัตราการคาดคะเนประมาณ 70% และหนังสือเล่มนี้จะพูดถึงเลเยอร์ LSTM และ RNN ตัวอย่างทั้งหมดดูเหมือนจะใช้ชุดข้อมูลที่มีคุณสมบัติหลายอย่างสำหรับแต่ละชุดเวลาและฉันพยายามหาวิธีนำข้อมูลมาใช้ให้เกิดประโยชน์ ตัวอย่างเช่นฉันมี 1000x3125 Time Series ฉันจะป้อนสิ่งนั้นลงในเลเยอร์ SimpleRNN หรือ LSTM ได้อย่างไร ฉันขาดความรู้พื้นฐานเกี่ยวกับเลเยอร์เหล่านี้หรือไม่? รหัสปัจจุบัน: import pandas as pd import numpy as np import os from keras.models import Sequential from keras.layers import …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.