คำถามติดแท็ก neural-network

โครงข่ายประสาทเทียม (ANN) ประกอบด้วย 'เซลล์ประสาท' - การสร้างโปรแกรมที่เลียนแบบคุณสมบัติของเซลล์ประสาทชีวภาพ ชุดของการเชื่อมต่อแบบถ่วงน้ำหนักระหว่างเซลล์ประสาททำให้สามารถเผยแพร่ข้อมูลผ่านเครือข่ายเพื่อแก้ปัญหาปัญญาประดิษฐ์โดยที่ผู้ออกแบบเครือข่ายมีแบบจำลองของระบบจริง

10
ชั้น deconvolutional คืออะไร?
ฉันเพิ่งอ่านเครือข่าย Convolutional ครบวงจรสำหรับการแบ่งส่วนแบบ Semanticโดย Jonathan Long, Evan Shelhamer, Trevor Darrell ฉันไม่เข้าใจว่า "เลเยอร์ deconvolutional" ทำอะไร / ทำงานอย่างไร ส่วนที่เกี่ยวข้องคือ 3.3 การยกกลับคือการบิดอย่างช้าๆ อีกวิธีหนึ่งในการเชื่อมต่อเอาต์พุตหยาบกับพิกเซลหนาแน่นคือการแก้ไข ตัวอย่างเช่นการประมาณค่าแบบสองจังหวะง่ายคำนวณแต่ละเอาต์พุตจากอินพุตสี่ที่ใกล้ที่สุดโดยแผนที่เชิงเส้นที่ขึ้นอยู่กับตำแหน่งสัมพัทธ์ของเซลล์อินพุตและเอาต์พุตเท่านั้น เรียกอีกอย่างว่าการยกตัวอย่างด้วยแฟคเตอร์fนั้นจะทำให้เกิดการโน้มน้าวใจด้วยการป้อนข้อมูลเศษส่วนที่ 1 / f ตราบใดที่ฉเป็นส่วนประกอบสำคัญเป็นวิธีธรรมชาติในการ upsample จึงย้อนกลับบิด (บางครั้งเรียก deconvolution) กับกางเกงของการส่งออกของ ฉ การดำเนินการเช่นนี้ไม่สำคัญที่จะนำมาใช้เพราะมันเพียงแค่ย้อนกลับไปข้างหน้าและย้อนกลับผ่านการบิดyijyijy_{ij}fffffffff ดังนั้นการสุ่มตัวอย่างจะดำเนินการในเครือข่ายสำหรับการเรียนรู้แบบ end-to-end โดย backpropagation จากการสูญเสียพิกเซล โปรดทราบว่าตัวกรอง deconvolution ในเลเยอร์ดังกล่าวไม่จำเป็นต้องได้รับการแก้ไข (เช่นไปยังการสุ่มตัวอย่าง bilinear) แต่สามารถเรียนรู้ได้ สแต็คของ deconvolution เลเยอร์และฟังก์ชั่นการเปิดใช้งานยังสามารถเรียนรู้การยกตัวอย่างแบบไม่เชิงเส้น ในการทดลองของเราเราพบว่าการอัปแซมปลิงในเครือข่ายนั้นรวดเร็วและมีประสิทธิภาพสำหรับการเรียนรู้การทำนายที่หนาแน่น สถาปัตยกรรมการแบ่งส่วนที่ดีที่สุดของเราใช้เลเยอร์เหล่านี้เพื่อเรียนรู้ที่จะยกตัวอย่างสำหรับการทำนายที่ละเอียดในหัวข้อ 4.2 …

17
ห้องสมุดไพ ธ อนที่ดีที่สุดสำหรับเครือข่ายประสาทเทียม
ฉันใช้โครงข่ายประสาทเทียมเพื่อแก้ปัญหาการเรียนรู้ของเครื่องที่แตกต่างกัน ฉันใช้ Python และpybrainแต่ห้องสมุดนี้เกือบจะหยุดแล้ว มีทางเลือกอื่นที่ดีใน Python หรือไม่?

5
ปัญหา“ ตาย ReLU” ในเครือข่ายประสาทคืออะไร?
อ้างอิงจากบันทึกของหลักสูตรสแตนฟอร์ดเกี่ยวกับเครือข่ายประสาทเทียมเพื่อการจดจำภาพย่อหน้าบอกว่า: "น่าเสียดายที่หน่วย ReLU นั้นบอบบางในระหว่างการฝึกและสามารถ" ตาย "ได้ตัวอย่างเช่นการไล่ระดับสีขนาดใหญ่ที่ไหลผ่านเซลล์ประสาท ReLU อาจทำให้น้ำหนักนั้นอัปเดตในลักษณะที่เซลล์ประสาทจะไม่เปิดใช้งานบน datapoint ใด ๆ อีก เกิดขึ้นแล้วการไล่ระดับสีที่ไหลผ่านหน่วยจะเป็นศูนย์จากจุดนั้นตลอดไปนั่นคือหน่วย ReLU สามารถตายอย่างไม่สามารถกลับคืนได้ในระหว่างการฝึกอบรมเนื่องจากพวกเขาสามารถชนกับข้อมูลได้มากมายตัวอย่างเช่นคุณอาจพบว่า 40 % ของเครือข่ายของคุณอาจเป็น "ตาย" (เช่นเซลล์ประสาทที่ไม่เคยเปิดใช้งานในชุดข้อมูลการฝึกอบรมทั้งหมด) หากอัตราการเรียนรู้สูงเกินไปหากตั้งค่าอัตราการเรียนรู้ที่เหมาะสมจะทำให้เกิดปัญหาน้อยลง " การตายของเซลล์ประสาทที่นี่หมายถึงอะไร คุณช่วยกรุณาอธิบายคำอธิบายที่เข้าใจง่ายด้วยคำศัพท์ที่ง่ายขึ้นได้ไหม

6
เมื่อใดที่จะใช้ GRU ผ่าน LSTM
แตกต่างที่สำคัญระหว่าง GRU และ LSTM เป็นที่ GRU มีสองประตู ( ตั้งค่าและการปรับปรุงประตู) ขณะที่ LSTM มีสามประตู (คือการป้อนข้อมูล , การส่งออกและลืมประตู) ทำไมเราใช้ประโยชน์จาก GRU เมื่อเราควบคุมเครือข่ายได้อย่างชัดเจนผ่านโมเดล LSTM (เนื่องจากเรามีสามประตู) ในสถานการณ์ใดที่ GRU ต้องการมากกว่า LSTM

8
การเลือกอัตราการเรียนรู้
ฉันกำลังทำงานเกี่ยวกับการใช้ Stochastic Gradient Descent SGDสำหรับอวนประสาทโดยใช้การขยายพันธุ์กลับและในขณะที่ฉันเข้าใจวัตถุประสงค์ของมันฉันมีคำถามเกี่ยวกับวิธีเลือกค่าสำหรับอัตราการเรียนรู้ อัตราการเรียนรู้ที่เกี่ยวข้องกับรูปร่างของการไล่ระดับสีผิดพลาดตามที่กำหนดอัตราการลดลงหรือไม่? ถ้าเป็นเช่นนั้นคุณจะใช้ข้อมูลนี้เพื่อแจ้งการตัดสินใจของคุณเกี่ยวกับคุณค่าอย่างไร หากไม่ใช่สิ่งที่ฉันควรเลือกค่าประเภทใดและฉันควรเลือกพวกเขาอย่างไร ดูเหมือนว่าคุณต้องการค่าเล็ก ๆ น้อย ๆ เพื่อหลีกเลี่ยงการแก้ไขปัญหา แต่คุณจะเลือกได้อย่างไรว่าคุณจะไม่ติดอยู่ใน minima ท้องถิ่นหรือใช้เวลานานในการสืบทอด มันสมเหตุสมผลหรือไม่ที่จะมีอัตราการเรียนรู้ที่คงที่หรือฉันควรใช้ตัวชี้วัดบางอย่างเพื่อเปลี่ยนค่าของมันเมื่อฉันเข้าใกล้การไล่ระดับสีน้อยที่สุด? กล่าวโดยย่อ: ฉันจะเลือกอัตราการเรียนรู้สำหรับ SGD ได้อย่างไร

15
คุณมองเห็นสถาปัตยกรรมเครือข่ายประสาทเทียมได้อย่างไร
เมื่อเขียนบทความ / นำเสนอเกี่ยวกับหัวข้อที่เกี่ยวกับโครงข่ายประสาทเทียมมักจะแสดงภาพสถาปัตยกรรมเครือข่าย อะไรคือวิธีที่ดี / ง่ายในการมองเห็นสถาปัตยกรรมทั่วไปโดยอัตโนมัติ

5
วิธีการวาดไดอะแกรมสถาปัตยกรรมเครือข่ายการเรียนรู้ระดับลึก
ฉันสร้างแบบจำลองของฉันแล้ว ตอนนี้ฉันต้องการวาดแผนภาพสถาปัตยกรรมเครือข่ายสำหรับงานวิจัยของฉัน ตัวอย่างที่แสดงด้านล่าง:

3
Backprop ผ่านเลเยอร์ Max-Pooling?
นี่เป็นคำถามเชิงแนวคิดขนาดเล็กที่จู้จี้ฉันอยู่ครู่หนึ่ง: เราจะเผยแพร่กลับผ่านเลเยอร์ max-pooling ในเครือข่ายประสาทได้อย่างไร ฉันเจอเลเยอร์แบบรวมกำไรสูงสุดในขณะที่ทำตามบทช่วยสอนนี้สำหรับห้องสมุด nn ของ Torch 7 ไลบรารีจะสรุปการคำนวณการไล่ระดับสีและส่งต่อสำหรับแต่ละเลเยอร์ของเครือข่ายที่ลึก ฉันไม่เข้าใจวิธีการคำนวณการไล่ระดับสีสำหรับเลเยอร์ที่รวมกำไรสูงสุด ฉันรู้ว่าถ้าคุณมีอินพุตเข้าสู่เซลล์ประสาทของเลเยอร์ดังนั้น (นิยามเป็น ) มอบให้โดย: zilzil{z_i}^liiilllδilδil{\delta_i}^lδil=∂E∂zilδil=∂E∂zil{\delta_i}^l = \frac{\partial E}{\partial {z_i}^l}δil=θ′(zil)∑jδjl+1wl,l+1i,jδil=θ′(zil)∑jδjl+1wi,jl,l+1 {\delta_i}^l = \theta^{'}({z_i}^l) \sum_{j} {\delta_j}^{l+1} w_{i,j}^{l,l+1} ดังนั้นเลเยอร์ที่รวมกำไรสูงสุดจะได้รับของเลเยอร์ถัดไปตามปกติ แต่เนื่องจากฟังก์ชั่นการเปิดใช้งานสำหรับเซลล์ประสาท max-pooling ใช้เวลาในเวกเตอร์ของค่า (ซึ่งมัน maxes) เป็นอินพุตไม่ใช่หมายเลขเดียวอีกต่อไป แต่เวกเตอร์ (จะต้องถูกแทนที่ด้วย ) นอกจากนี้ซึ่งเป็นฟังก์ชันสูงสุดแล้วยังไม่สามารถแยกความแตกต่างได้ด้วยความเคารพของอินพุตδjl+1δjl+1{\delta_j}^{l+1}δilδil{\delta_i}^{l}θ′(zjl)θ′(zjl)\theta^{'}({z_j}^l)∇θ({zjl})∇θ({zjl})\nabla \theta(\left\{{z_j}^l\right\})θθ\theta ดังนั้น .... มันจะออกมาดียังไง

4
1x1 Convolutions เหมือนกับเลเยอร์ที่เชื่อมต่ออย่างเต็มที่อย่างไร
ฉันเพิ่งอ่านYan LeCuns แสดงความคิดเห็นใน 1x1 convolutions : ใน Convolutional Nets ไม่มีสิ่งเช่น "เลเยอร์ที่เชื่อมต่อเต็มที่" มีเลเยอร์ Convolution เพียงชั้นเดียวที่มีเมล็ดคอนวีเนียน 1x1 และตารางการเชื่อมต่อเต็มรูปแบบ มันเป็นความจริงที่ไม่ค่อยเข้าใจมากนักที่ ConvNets ไม่จำเป็นต้องมีอินพุตที่มีขนาดคงที่ คุณสามารถฝึกอบรมพวกเขาเกี่ยวกับอินพุตที่เกิดขึ้นเพื่อสร้างเวกเตอร์เอาต์พุตเดี่ยว (โดยไม่มีขอบเขต) แล้วนำไปใช้กับภาพที่มีขนาดใหญ่ขึ้น แทนที่จะเป็นเวกเตอร์เอาต์พุตเดี่ยวคุณก็จะได้แผนที่อวกาศของเวกเตอร์เอาต์พุต เวกเตอร์แต่ละตัวจะเห็นหน้าต่างอินพุตในตำแหน่งต่างๆของอินพุต ในสถานการณ์นั้น "เลเยอร์ที่เชื่อมต่ออย่างเต็มที่" ทำหน้าที่เป็นความเชื่อมั่น 1x1 ฉันต้องการดูตัวอย่างง่ายๆสำหรับสิ่งนี้ ตัวอย่าง สมมติว่าคุณมีเครือข่ายที่เชื่อมต่ออย่างสมบูรณ์ มันมีเพียงชั้นเข้าและชั้นออก เลเยอร์อินพุตมี 3 โหนดชั้นเลเยอร์มี 2 โหนด เครือข่ายนี้มีพารามิเตอร์เพื่อให้เป็นรูปธรรมมากยิ่งขึ้นสมมติว่าคุณมีฟังก์ชั่นการเปิดใช้งาน ReLU ในชั้นเอาต์พุตและเมทริกซ์น้ำหนัก3⋅2=63⋅2=63 \cdot 2 = 6 Wb=(021315)∈R2×3=(813)∈R2W=(011235)∈R2×3b=(813)∈R2 \begin{align} W &= \begin{pmatrix} 0 …

3
RNN vs CNN ในระดับสูง
ฉันกำลังคิดเกี่ยวกับ Recurring Neural Networks (RNN) และความหลากหลายของพวกเขาและ Convolutional Neural Networks (CNN) และพันธุ์ของพวกเขา สองประเด็นนี้จะยุติธรรมหรือไม่ที่จะพูดว่า: ใช้ CNN เพื่อแยกส่วนประกอบ (เช่นรูปภาพ) ออกเป็นคอมโพเนนต์ย่อย (เช่นวัตถุในภาพเช่นโครงร่างของวัตถุในภาพ ฯลฯ ) ใช้ RNN เพื่อสร้างการรวมกันของคอมโพเนนต์ย่อย (คำบรรยายภาพ, การสร้างข้อความ, การแปลภาษา ฯลฯ ) ฉันจะขอบคุณถ้าใครต้องการชี้ให้เห็นความไม่ถูกต้องใด ๆ ในงบเหล่านี้ เป้าหมายของฉันที่นี่คือการได้รับรากฐานที่ชัดเจนยิ่งขึ้นเกี่ยวกับการใช้ CNN และ RNNs

2
ควรใช้การเริ่มต้นปกติ (He หรือ Glorot) มากกว่าการเริ่มต้นสม่ำเสมอหรือไม่ และผลกระทบอะไรกับ Batch Normalization
ฉันรู้ว่าเครือข่ายที่เหลือ (ResNet) ทำให้เขาเริ่มต้นปกติเป็นที่นิยม ใน ResNet จะใช้การกำหนดค่าเริ่มต้นตามปกติขณะที่ชั้นแรกใช้การกำหนดค่าเริ่มต้นที่สม่ำเสมอ ฉันได้ดูกระดาษ ResNet และกระดาษ "Delving Deep to Rectifiers" (เขาเริ่มต้นกระดาษ) แต่ฉันไม่พบพูดถึงเกี่ยวกับ init ปกติกับชุด init นอกจากนี้: การทำให้เป็นมาตรฐานแบบกลุ่มช่วยให้เราสามารถใช้อัตราการเรียนรู้ที่สูงขึ้นมากและระวังการเริ่มต้นน้อยลง ในบทคัดย่อของ Batch Normalization นั้นมีการกล่าวกันว่า Batch Normalization นั้นช่วยให้เราระมัดระวังการเริ่มต้นน้อยลง ResNet เองยังคงสนใจว่าเมื่อใดควรใช้ init ปกติกับชุด init (แทนที่จะใช้เพียงกับ init init) ดังนั้น: ควรใช้การเริ่มต้น (He หรือ Glorot) แบบกระจายทั่วไปมากกว่าการเริ่มต้นสม่ำเสมอหรือไม่ การกำหนดค่าเริ่มต้นทั่วไปที่กระจายด้วย Batch Normalization คืออะไร หมายเหตุด้าน: มันเป็นเพลงที่ใช้ init ปกติกับ Batch …

3
วิธีการต่อสู้ underfitting ในตาข่ายประสาทลึก
เมื่อฉันเริ่มต้นด้วยโครงข่ายใยประสาทเทียม (NN) ฉันคิดว่าฉันต้องต่อสู้กับปัญหาล้นใจเป็นปัญหาหลัก แต่ในทางปฏิบัติฉันไม่สามารถทำให้ NN ของฉันผ่านอุปสรรคอัตราความผิดพลาด 20% ได้ ฉันไม่สามารถเอาชนะคะแนนของฉันในป่าสุ่ม! ฉันกำลังมองหาคำแนะนำที่กว้างมากหรือไม่ควรให้คำแนะนำทั่วไปว่าควรทำอะไรเพื่อให้ NN เริ่มจับภาพแนวโน้มของข้อมูล สำหรับการใช้งาน NN ฉันใช้ Theano Stacked Auto Encoder กับโค้ดจากบทช่วยสอนที่ใช้งานได้ดี (อัตราความผิดพลาดน้อยกว่า 5%) สำหรับการจำแนกชุดข้อมูล MNIST มันเป็นตรอนหลายชั้นด้วยชั้น softmax ด้านบนกับแต่ละซ่อนภายหลังเป็นก่อนการฝึกอบรมเป็น autoencoder (อธิบายอย่างเต็มที่ในการกวดวิชา , บทที่ 8) มีคุณสมบัติอินพุต ~ 50 และ ~ 10 คลาสเอาต์พุต NN มี sigmoid neurons และข้อมูลทั้งหมดถูกทำให้เป็นมาตรฐาน [0,1] ฉันลองการกำหนดค่าต่าง ๆ มากมาย: จำนวนเลเยอร์และเซลล์ประสาทที่ซ่อนอยู่ในนั้น (100-> …

4
โครงข่ายประสาท: ฟังก์ชั่นค่าใช้จ่ายที่จะใช้?
ฉันใช้TensorFlowสำหรับการทดลองกับเครือข่ายประสาทเป็นหลัก แม้ว่าตอนนี้ฉันได้ทำการทดลองบ้างแล้ว (XOR-Problem, MNIST, Regression บางอย่าง, ... ) ตอนนี้ฉันต่อสู้กับการเลือกฟังก์ชั่นต้นทุนที่ "ถูกต้อง" สำหรับปัญหาเฉพาะเพราะโดยรวมแล้วฉันถือว่าเป็นมือใหม่ ก่อนที่จะมาที่ TensorFlow ฉันเขียนรหัส MLP ที่เชื่อมต่ออย่างเต็มที่และเครือข่ายที่เกิดขึ้นเองด้วยPythonและNumPyแต่ส่วนใหญ่ฉันมีปัญหาที่ข้อผิดพลาดยกกำลังสองง่ายและการไล่ระดับสีอย่างง่ายนั้นเพียงพอ อย่างไรก็ตามเนื่องจาก TensorFlow มีฟังก์ชั่นค่าใช้จ่ายค่อนข้างมากเช่นเดียวกับการสร้างฟังก์ชั่นค่าใช้จ่ายที่กำหนดเองฉันต้องการที่จะทราบว่ามีการสอนบางอย่างที่เฉพาะเจาะจงสำหรับฟังก์ชั่นค่าใช้จ่ายในเครือข่ายประสาท (ฉันทำไปแล้วเหมือนครึ่งหนึ่งของแบบฝึกหัด TensorFlow อย่างเป็นทางการ แต่พวกเขาไม่ได้อธิบายว่าทำไมฟังก์ชั่นค่าใช้จ่ายเฉพาะหรือผู้เรียนใช้สำหรับปัญหาเฉพาะ - อย่างน้อยไม่ใช่สำหรับผู้เริ่มต้น) ในการให้ตัวอย่าง: cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(y_output, y_train)) ฉันเดาว่ามันใช้ฟังก์ชั่น softmax กับทั้งสองอินพุตเพื่อให้ผลรวมของเวกเตอร์หนึ่งเท่ากับ 1 แต่ไขว้เอนโทรปีของการบันทึกคืออะไร ฉันคิดว่ามันสรุปค่าและคำนวณค่าเอนโทรปีของการไขว้ ... ดังนั้นการวัดบางอย่าง?! นี่จะไม่เหมือนกันหรือไม่ถ้าฉันเอาท์พุทเป็นปกติ, หาผลรวมมันออกมา นอกจากนี้เหตุใดจึงใช้สิ่งนี้เช่นสำหรับ MNIST (หรือปัญหาที่ยากกว่า) เมื่อฉันต้องการที่จะจัดเช่น 10 หรือแม้กระทั่ง 1000 เรียนไม่ได้ข้อสรุปถึงค่าที่สมบูรณ์ทำลายข้อมูลใด ๆ เกี่ยวกับการที่ชั้นเป็นจริงการส่งออกหรือไม่ …

1
ความแตกต่างระหว่าง LeakyReLU และ PReLU คืออะไร
ฉันคิดว่าทั้ง PReLU และ LeLe ReLU นั้นคือ f(x)=max(x,αx) with α∈(0,1)f(x)=max(x,αx) with α∈(0,1)f(x) = \max(x, \alpha x) \qquad \text{ with } \alpha \in (0, 1) Keras แต่มีฟังก์ชั่นทั้งในเอกสาร ReLU ที่รั่วไหล แหล่งที่มาของ LeakyReLU : return K.relu(inputs, alpha=self.alpha) ดังนั้น (ดูรหัส relu ) f1(x)=max(0,x)−αmax(0,−x)f1(x)=max(0,x)−αmax(0,−x)f_1(x) = \max(0, x) - \alpha \max(0, -x) PReLU แหล่งที่มาของ PReLU : def …

4
การเพิ่มคุณสมบัติให้กับ Time Series รุ่น LSTM
ได้รับการอ่านขึ้นเล็กน้อยเกี่ยวกับ LSTM และการใช้งานของพวกเขาสำหรับชุดเวลาและมันน่าสนใจ แต่ก็ยากในเวลาเดียวกัน สิ่งหนึ่งที่ฉันมีปัญหาในการทำความเข้าใจคือวิธีการเพิ่มคุณลักษณะเพิ่มเติมลงในรายการคุณลักษณะของอนุกรมเวลาอยู่แล้ว สมมติว่าคุณมีชุดข้อมูลของคุณเช่นนี้: T-3, T-2, T-1, เอาท์พุท ตอนนี้ให้บอกว่าคุณรู้ว่าคุณมีคุณสมบัติที่มีผลต่อการส่งออก แต่ไม่จำเป็นต้องเป็นคุณลักษณะอนุกรมเวลาให้บอกว่าสภาพอากาศภายนอก นี่คือสิ่งที่คุณสามารถเพิ่มได้และ LSTM จะสามารถแยกแยะความแตกต่างของอนุกรมเวลาและอะไรไม่ได้

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