คำถามติดแท็ก deep-learning

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

1
การป้องกันการโอเวอร์โหลดของ LSTM ในชุดข้อมูลขนาดเล็ก
ฉันกำลังสร้างแบบจำลอง 15000 ทวีตสำหรับการคาดการณ์ความเชื่อมั่นโดยใช้เลเยอร์ LSTM เดียวกับหน่วยที่ซ่อนอยู่ 128 หน่วยโดยใช้การแทนคำที่เหมือนคำ 2vec ด้วย 80 มิติ ฉันได้รับความแม่นยำในการสืบเชื้อสาย (38% กับการสุ่ม = 20%) หลังจาก 1 ยุค การฝึกอบรมเพิ่มเติมทำให้ความถูกต้องในการตรวจสอบความถูกต้องเริ่มลดลงเนื่องจากความแม่นยำในการฝึกอบรมเริ่มขึ้น ฉันจึงคิดหาวิธีที่จะทำให้เป็นมาตรฐาน ฉันไม่ต้องการลดจำนวนหน่วยที่ซ่อนอยู่ (128 หน่วยดูเหมือนน้อยไปแล้ว) ขณะนี้ฉันใช้การออกกลางคันด้วยความน่าจะเป็น 50% แต่อาจเพิ่มขึ้นได้ เครื่องมือเพิ่มประสิทธิภาพคืออดัมพร้อมพารามิเตอร์เริ่มต้นสำหรับ Keras ( http://keras.io/optimizers/#adam ) วิธีที่มีประสิทธิภาพในการลดการ overfitting สำหรับโมเดลนี้ในชุดข้อมูลของฉันคืออะไร?

1
วิธีฝึกเลเยอร์ LSTM ของเครือข่ายลึก
ฉันใช้เครือข่าย lstm และ feed-forward เพื่อจำแนกข้อความ ฉันแปลงข้อความเป็นเวกเตอร์ที่ร้อนแรงหนึ่งรายการและป้อนให้แต่ละรายการเป็น lstm เพื่อที่ฉันจะสามารถสรุปได้ว่าเป็นการแทนเพียงครั้งเดียว จากนั้นฉันก็ป้อนไปยังเครือข่ายอื่น แต่ฉันจะฝึก lstm ได้อย่างไร ฉันต้องการจัดลำดับข้อความ - ฉันควรป้อนโดยไม่ต้องฝึกอบรมหรือไม่? ฉันแค่ต้องการแสดงข้อความเป็นรายการเดียวที่ฉันสามารถป้อนลงในเลเยอร์อินพุตของตัวแยกประเภท ฉันขอขอบคุณคำแนะนำใด ๆ อย่างมาก! ปรับปรุง: ดังนั้นฉันมี lstm และลักษณนาม ฉันเอาเอาท์พุตทั้งหมดของ lstm และ mean-pool พวกมันจากนั้นฉันป้อนค่าเฉลี่ยนั้นลงในลักษณ ปัญหาของฉันคือฉันไม่รู้วิธีฝึก lstm หรือตัวจําแนก ฉันรู้ว่าอินพุตควรเป็นอะไรสำหรับ lstm และเอาต์พุตของตัวแยกประเภทที่ควรใช้สำหรับอินพุตนั้น เนื่องจากเป็นเครือข่ายสองเครือข่ายที่เพิ่งเปิดใช้งานตามลำดับฉันจำเป็นต้องทราบและไม่ทราบว่าอุดมคติของเอาต์พุตควรเป็น lstm ซึ่งจะเป็นอินพุตสำหรับตัวแยกประเภท มีวิธีทำเช่นนี้หรือไม่?

3
โครงข่ายประสาทเทียมแบบ Convolutional ใช้วิธีการแบบ Convolitis แทนการคูณเมทริกซ์อย่างไร?
ฉันกำลังอ่านหนังสือของ Yoshua Bengio เกี่ยวกับการเรียนรู้ที่ลึกซึ้งและมันบอกไว้ในหน้า 224: เครือข่าย Convolutional เป็นเพียงเครือข่ายประสาทที่ใช้ convolution แทนการคูณเมทริกซ์ทั่วไปอย่างน้อยหนึ่งชั้น อย่างไรก็ตามฉันไม่แน่ใจ 100% ของวิธีการ "แทนที่การคูณเมทริกซ์ด้วยการโน้มน้าว" ในแง่ที่แม่นยำทางคณิตศาสตร์ สิ่งที่ฉันสนใจจริงๆคือการกำหนดสิ่งนี้สำหรับเวกเตอร์อินพุตใน 1D (เช่นใน ) ดังนั้นฉันจะไม่ป้อนข้อมูลเป็นภาพและพยายามหลีกเลี่ยงการบิดในแบบ 2Dx ∈ Rdx∈Rdx \in \mathbb{R}^d ตัวอย่างเช่นในเครือข่ายประสาท "ปกติ" การดำเนินการและรูปแบบของผู้ให้บริการอาหารสามารถแสดงให้เห็นได้อย่างชัดเจนดังที่บันทึกไว้ในบันทึกของ Andrew Ng: W( l )a( l )= z( l + 1 )W(l)a(l)=z(l+1) W^{(l)} a^{(l)} = z^{(l+1)} ฉ( z( l + 1 )) …

1
ทำไมอัลกอริธึม“ Saddle-Free Newton” ที่ไม่ได้นำมาใช้ในทางปฏิบัติ?
เมื่อเร็ว ๆ นี้ฉันได้อ่านบทความโดย Yann Dauphin และคณะ การระบุและโจมตีปัญหาจุดอานในการเพิ่มประสิทธิภาพแบบ non-convex ในระดับสูงซึ่งพวกเขาแนะนำอัลกอริธึมที่น่าสนใจที่เรียกว่าSaddle-Free Newtonซึ่งดูเหมือนว่าจะเหมาะสำหรับการเพิ่มประสิทธิภาพเครือข่ายประสาทและไม่ควรติดอยู่ที่จุดอาน ชอบวิธีการสั่งซื้อครั้งแรกเช่นวานิลลา SGD กระดาษวันที่กลับไปในปี 2014 ดังนั้นจึงไม่มีอะไรใหม่ แต่ฉันไม่ได้เห็นมันถูกใช้ "ในป่า" ทำไมไม่ใช้วิธีนี้? การคำนวณแบบ Hessian เป็นข้อห้ามเกินไปสำหรับปัญหา / เครือข่ายขนาดจริงหรือไม่? มีการใช้โอเพ่นซอร์สของอัลกอริทึมนี้หรือไม่และอาจใช้กับกรอบการเรียนรู้ที่สำคัญบางส่วนได้หรือไม่? อัปเดต ก.พ. 2019:มีการติดตั้งใช้งานแล้ว: https://github.com/dave-fernandes/SaddleFreeOptimizer )

2
การเรียนรู้เชิงลึกมีประโยชน์สำหรับการเพิ่มประสิทธิภาพ combinatorial หรือไม่
มีกลุ่มวิจัยที่ทำงานเกี่ยวกับการใช้การเรียนรู้เชิงลึกสำหรับปัญหาการปรับให้เหมาะสมแบบ combinatorial หรือไม่?

2
Keras: ทำไมสูญเสียลดลงในขณะที่ val_loss เพิ่มขึ้น?
ฉันตั้งค่าการค้นหากริดสำหรับกลุ่มของพารามิเตอร์ ฉันกำลังพยายามหาพารามิเตอร์ที่ดีที่สุดสำหรับ Keras neural net ที่จัดหมวดหมู่แบบไบนารี เอาต์พุตเป็น 1 หรือ 0 มีคุณลักษณะประมาณ 200 รายการ เมื่อฉันทำการค้นหากริดฉันได้รับแบบจำลองมากมายและพารามิเตอร์ของพวกเขา แบบจำลองที่ดีที่สุดมีพารามิเตอร์เหล่านี้: Epochs : 20 Batch Size : 10 First Activation : sigmoid Learning Rate : 1 First Init : uniform และผลลัพธ์สำหรับโมเดลนั้นคือ: loss acc val_loss val_acc 1 0.477424 0.768542 0.719960 0.722550 2 0.444588 0.788861 0.708650 0.732130 3 …

1
การเลือกขนาดของมินิบัสที่เหมาะสมสำหรับการไล่ระดับสีแบบสุ่ม (SGD)
มีวรรณกรรมใดบ้างที่ตรวจสอบการเลือกขนาดของมินิบัสเมื่อทำการโคตรลาดลงแบบสุ่ม? จากประสบการณ์ของฉันดูเหมือนว่าจะเป็นทางเลือกเชิงประจักษ์ซึ่งมักพบผ่านการตรวจสอบข้ามหรือการใช้กฎง่ายๆ เป็นความคิดที่ดีหรือไม่ที่จะเพิ่มขนาดมินิบัสช้าลงเนื่องจากข้อผิดพลาดในการตรวจสอบความถูกต้องลดลง? สิ่งนี้จะมีผลกระทบอะไรกับข้อผิดพลาดการวางนัยทั่วไป? ฉันดีกว่าถ้าใช้มินิบัสขนาดเล็กมากและอัปเดตโมเดลของฉันนับแสนครั้งหรือไม่ ฉันจะดีกว่าด้วยจำนวนที่สมดุลระหว่างที่เล็กมากและแบตช์หรือไม่? ฉันควรปรับขนาดของรถมินิบัสตามขนาดของชุดข้อมูลหรือจำนวนคุณลักษณะที่คาดหวังภายในชุดข้อมูลหรือไม่ เห็นได้ชัดว่าฉันมีคำถามมากมายเกี่ยวกับการใช้แผนการเรียนรู้ของมินิบัส น่าเสียดายที่เอกสารส่วนใหญ่ที่ฉันอ่านไม่ได้ระบุวิธีการที่พวกเขาเลือกพารามิเตอร์นี้ ฉันเคยประสบความสำเร็จจากนักเขียนเช่น Yann LeCun โดยเฉพาะจาก Tricks of the Trade คอลเลกชันของเอกสาร อย่างไรก็ตามฉันยังไม่เห็นคำถามเหล่านี้ตอบอย่างเต็มที่ ไม่มีใครมีคำแนะนำสำหรับเอกสารหรือคำแนะนำเกี่ยวกับเกณฑ์ที่ฉันสามารถใช้เพื่อกำหนดขนาดรถมินิบัสที่ดีเมื่อพยายามเรียนรู้คุณสมบัติ

2
โมเดล Google Inception: ทำไมมี softmax หลายอัน?
โทโพโลยีของโมเดล Google Inception สามารถพบได้ที่นี่: Google Inception Netowrk ฉันสังเกตเห็นว่ามีซอฟต์แม็กซ์ 3 เลเยอร์ในรุ่นนี้ (# 154, # 152, # 145) และ 2 ในนั้นเป็นรุ่นแรก ๆ ของรุ่นนี้ จากสิ่งที่ฉันรู้เลเยอร์ softmax เป็นผลลัพธ์สุดท้ายดังนั้นทำไมจึงมีมากมาย จุดประสงค์ของอีก 2 เลเยอร์คืออะไร

3
โครงข่ายประสาทเทียม (เช่นเครือข่ายประสาทเทียม) สามารถรับน้ำหนักเชิงลบได้หรือไม่?
เป็นไปได้ไหมที่จะมีน้ำหนักติดลบ (หลังจากยุคที่เพียงพอ) สำหรับเครือข่ายประสาทเทียมที่ลึกล้ำเมื่อเราใช้ ReLU สำหรับเลเยอร์การเปิดใช้งานทั้งหมด?

5
มีเครื่องมือทางสายตาสำหรับการออกแบบและการใช้มุ้งประสาท / การเรียนรู้เชิงลึกหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามดังนั้นจึงเป็นหัวข้อสำหรับการตรวจสอบข้าม ปิดให้บริการใน10 เดือนที่ผ่านมา ฉันรู้ว่ามีห้องสมุดจำนวนมากสำหรับการเรียนรู้ของเครื่องและการเรียนรู้อย่างลึกซึ้งเช่น caffe, Theano, TensorFlow, keras, ... แต่สำหรับฉันดูเหมือนว่าฉันต้องรู้จักสถาปัตยกรรมของโครงข่ายประสาทที่ฉันต้องการใช้ มีเครื่องมือ (ภาพ) ที่อนุญาตให้ทำการทดลองกับการออกแบบเครือข่ายที่แตกต่างกันและนำไปใช้กับข้อมูลของตัวเองหรือไม่? ฉันกำลังคิดเกี่ยวกับบางสิ่งเช่นสนามเด็กเล่น TensorFlowแต่มีข้อมูล n-มิติและเลเยอร์ชนิดต่าง ๆ ขอบคุณล่วงหน้า!

1
รูปแบบเมทริกซ์ของการแพร่กระจายย้อนกลับพร้อมการทำให้เป็นมาตรฐาน
การทำให้เป็นมาตรฐานของแบทช์ได้รับเครดิตด้วยการปรับปรุงประสิทธิภาพอย่างมากในอวนตาข่ายประสาท วัสดุจำนวนมากบนอินเทอร์เน็ตแสดงวิธีใช้งานบนพื้นฐานการเปิดใช้งานโดยการเปิดใช้งาน ฉันใช้ backprop ไปแล้วโดยใช้พีชคณิตเมทริกซ์และเนื่องจากฉันทำงานในภาษาระดับสูง (ในขณะที่พึ่งพาRcpp(และในที่สุด GPU ของ) สำหรับการคูณเมทริกซ์หนาแน่น) การฉีกทุกอย่างออกไปและหันไปใช้forลูปของฉัน อย่างมีนัยสำคัญนอกเหนือไปจากความเจ็บปวดขนาดใหญ่ ฟังก์ชั่นการปรับสภาพแบทช์คือ โดยที่b(xp)=γ(xp−μxp)σ−1xp+βb(xp)=γ(xp−μxp)σxp−1+β b(x_p) = \gamma \left(x_p - \mu_{x_p}\right) \sigma^{-1}_{x_p} + \beta คือ Pโหนด, th ก่อนที่มันจะได้รับการเปิดใช้งานxpxpx_pppp และ βเป็นพารามิเตอร์สเกลาร์γγ\gammaββ\beta และ σ x พีมีค่าเฉลี่ยและ SD ของ xพี (โปรดสังเกตว่าปกติใช้สแควร์รูทของความแปรปรวนบวกกับฟัดจ์แฟคเตอร์ - สมมติว่าองค์ประกอบที่ไม่ใช่ศูนย์เพื่อความกะทัดรัด)μxpμxp\mu_{x_p}σxpσxp\sigma_{x_p}xpxpx_p ในรูปแบบเมทริกซ์ฟื้นฟูชุดสำหรับชั้นทั้งจะ ที่b(X)=(γ⊗1p)⊙(X−μX)⊙σ−1X+(β⊗1p)b(X)=(γ⊗1p)⊙(X−μX)⊙σX−1+(β⊗1p) b(\mathbf{X}) = \left(\gamma\otimes\mathbf{1}_p\right)\odot \left(\mathbf{X} - \mu_{\mathbf{X}}\right) \odot\sigma^{-1}_{\mathbf{X}} + \left(\beta\otimes\mathbf{1}_p\right) คือ …

3
สถาปัตยกรรมระบบประสาท: การออกแบบข้อมูลอัตโนมัติ
ความคืบหน้าล่าสุดในเครือข่ายนิวรัลถูกสรุปโดยลำดับของสถาปัตยกรรมใหม่ที่โดดเด่นด้วยความซับซ้อนของการออกแบบที่เพิ่มขึ้น ตั้งแต่ LeNet5 (1994) ถึง AlexNet (2012) ถึง Overfeat (2013) และ GoogleLeNet / Inception (2014) และอื่น ๆ ... มีความพยายามที่จะให้เครื่องตัดสินใจหรือออกแบบสถาปัตยกรรมใดที่จะใช้ขึ้นอยู่กับข้อมูลหรือไม่?

4
จะปรับอัตราการเรียนรู้อย่างเป็นระบบโดยใช้ Gradient Descent เป็นเครื่องมือเพิ่มประสิทธิภาพได้อย่างไร
คนนอกถึงฟิลด์ ML / DL; เริ่มหลักสูตร Udacity Deep Learning ซึ่งมีพื้นฐานจาก Tensorflow; ทำงานที่ได้รับมอบหมาย 3 ปัญหา 4; พยายามปรับอัตราการเรียนรู้ด้วยการกำหนดค่าต่อไปนี้: ชุดขนาด 128 จำนวนขั้นตอน: เพียงพอที่จะเติม 2 epochs ขนาดของเลเยอร์ที่ซ่อนอยู่: 1024, 305, 75 การกำหนดค่าเริ่มต้นน้ำหนัก: ตัดปกติด้วย std ส่วนเบี่ยงเบนของ sqrt (2 / n) โดยที่ n คือขนาดของเลเยอร์ก่อนหน้า ความน่าจะเป็นที่จะออกกลางคัน: 0.75 การทำให้เป็นมาตรฐาน: ไม่ได้ใช้ อัลกอริทึมอัตราการเรียนรู้: การสลายตัวแบบเลขชี้กำลัง เล่นกับพารามิเตอร์อัตราการเรียนรู้; ดูเหมือนว่าพวกเขาจะไม่มีผลในกรณีส่วนใหญ่; รหัสที่นี่ ; ผล: Accuracy learning_rate decay_steps …

2
การดักจับรูปแบบเริ่มต้นเมื่อใช้การขยายส่วนแบ็คอัปที่ผ่านการตัดทอนผ่านเวลา (RNN / LSTM)
บอกว่าฉันใช้ RNN / LSTM เพื่อทำการวิเคราะห์ความเชื่อมั่นซึ่งเป็นวิธีการแบบตัวต่อตัว (ดูบล็อกนี้ ) เครือข่ายได้รับการฝึกฝนผ่านการ backpropagation ที่ถูกตัดทอนผ่านช่วงเวลา (BPTT) ซึ่งเครือข่ายไม่ได้ถูกควบคุมในขั้นตอนสุดท้ายเพียง 30 ขั้นตอนตามปกติ ในกรณีของฉันแต่ละส่วนข้อความของฉันที่ฉันต้องการจัดหมวดหมู่นั้นมีความยาวมากกว่า 30 ขั้นตอนที่ไม่ได้ถูกควบคุม (ประมาณ 100 คำ) จากความรู้ของฉัน BPTT ใช้เวลาเพียงครั้งเดียวสำหรับส่วนข้อความเดียวซึ่งก็คือเมื่อมันผ่านส่วนข้อความทั้งหมดและคำนวณเป้าหมายการจำแนกเลขฐานสองซึ่งเปรียบเทียบกับฟังก์ชันการสูญเสียเพื่อค้นหาข้อผิดพลาดyyy การไล่ระดับสีจะไม่ถูกคำนวณโดยคำนึงถึงคำแรกของแต่ละส่วนข้อความ RNN / LSTM จะยังสามารถปรับน้ำหนักเพื่อจับรูปแบบเฉพาะที่เกิดขึ้นภายในสองสามคำแรกเท่านั้นได้อย่างไร ตัวอย่างเช่นสมมติว่าประโยคทั้งหมดที่ทำเครื่องหมายว่าเริ่มต้นด้วย "ฉันรักสิ่งนี้" และประโยคทั้งหมดที่ทำเครื่องหมายว่าเริ่มต้นด้วย "ฉันเกลียดสิ่งนี้" RNN / LSTM จะจับได้อย่างไรว่าเมื่อมันถูกยกเลิกการลงทะเบียนสำหรับ 30 ขั้นตอนสุดท้ายเมื่อพบกับจุดสิ้นสุดของลำดับความยาว 100 ขั้นตอนpositivepositivepositivenegativenegativenegative

2
ทำไมฟังก์ชั่นการสูญเสีย 0-1 จึงเป็นเรื่องยาก?
ในหนังสือการเรียนรู้ลึกของเอียนกู๊ดเฟลโลว์มันเขียนไว้ว่า บางครั้งฟังก์ชั่นการสูญเสียที่เราสนใจ (พูดว่าการจำแนกผิดพลาด) ไม่ใช่สิ่งที่สามารถเพิ่มประสิทธิภาพได้อย่างมีประสิทธิภาพ ตัวอย่างเช่นการลดการสูญเสียที่คาดไว้ 0-1 ให้น้อยที่สุดนั้นเป็นไปไม่ได้ ในสถานการณ์เช่นนี้มักจะปรับฟังก์ชันการสูญเสียตัวแทนให้เหมาะสมซึ่งทำหน้าที่เป็นพร็อกซี แต่มีข้อดี เหตุใดการสูญเสีย 0-1 จึงเป็นเรื่องยากหรืออธิบายได้อย่างไรในมิติข้อมูลเข้า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.