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

3
การไล่ระดับสีแบบแบทช์กับการไล่ระดับสีแบบสุ่ม
สมมติว่าเรามีชุดการฝึกอบรมสำหรับม. นอกจากนี้สมมติว่าเราใช้อัลกอริทึมการเรียนรู้แบบมีผู้สอนในชุดฝึกอบรม สมมติฐานจะแสดงเป็นn} เราต้องการที่จะหาพารามิเตอร์ที่ลด "ระยะทาง" ระหว่างและ{(i)}) ให้(x(i),y(i))(x(i),y(i))(x_{(i)}, y_{(i)})i=1,…,mi=1,…,mi = 1, \dots, mhθ(x(i))=θ0+θ1x(i)1+⋯+θnx(i)nhθ(x(i))=θ0+θ1x(i)1+⋯+θnx(i)nh_{\theta}(x_{(i)}) = \theta_0+\theta_{1}x_{(i)1} + \cdots +\theta_{n}x_{(i)n}θθ\mathbf{\theta}y(i)y(i)y_{(i)}hθ(x(i))hθ(x(i))h_{\theta}(x_{(i)})J(θ)=12∑i=1m(y(i)−hθ(x(i))2J(θ)=12∑i=1m(y(i)−hθ(x(i))2J(\theta) = \frac{1}{2} \sum_{i=1}^{m} (y_{(i)}-h_{\theta}(x_{(i)})^{2} จากนั้นเราก็ต้องการที่จะหาที่ช่วยลดtheta) ในการไล่ระดับสีเราทำการเตรียมพารามิเตอร์แต่ละตัวและทำการอัพเดทต่อไปนี้:θθ\thetaJ(θ)J(θ)J(\theta)θj:=θj−α∂∂θjJ(θ)θj:=θj−α∂∂θjJ(θ)\theta_j := \theta_j-\alpha \frac{\partial}{\partial \theta_{j}} J(\theta) อะไรคือความแตกต่างที่สำคัญระหว่างการไล่ระดับสีแบบแบทช์และการไล่ระดับสีแบบสุ่มแบบสุ่ม ทั้งคู่ใช้กฎการอัพเดทข้างต้น แต่สิ่งหนึ่งดีกว่าอันอื่นหรือไม่

2
ใครเป็นผู้คิดค้นการไล่ระดับสีแบบสุ่มสุ่ม?
ฉันพยายามที่จะเข้าใจประวัติศาสตร์ของการไล่โทนสีเชื้อสายและStochastic การไล่ระดับสีโคตร เชื้อสายไล่โทนสีถูกคิดค้นในCauchyใน 1,847 Méthode Generale pour la ความละเอียด des systèmes d'สมsimultanées ได้ pp. 536-538 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ดูที่นี่ ตั้งแต่นั้นมาวิธีการลาดลงของการไล่ระดับสีก็ยังคงพัฒนาอยู่และฉันไม่คุ้นเคยกับประวัติของพวกเขา โดยเฉพาะอย่างยิ่งฉันสนใจในการประดิษฐ์เชื้อสายการไล่ระดับสีสุ่ม การอ้างอิงที่สามารถใช้ในงานวิชาการได้มากกว่าที่ได้รับการต้อนรับ

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

3
ขนาดของชุดงานมีผลต่อการรวมกันของ SGD และทำไม?
ฉันได้เห็นข้อสรุปที่คล้ายกันจากการพูดคุยหลายครั้งว่าเมื่อขนาดของรถมินิบัสเพิ่มขึ้นการบรรจบกันของ SGD จะยากขึ้น / แย่ลงตัวอย่างเช่นบทความนี้และคำตอบนี้ นอกจากนี้ฉันเคยได้ยินคนใช้เทคนิคเช่นอัตราการเรียนรู้ขนาดเล็กหรือขนาดชุดในระยะแรกเพื่อแก้ไขปัญหานี้ด้วยขนาดชุดใหญ่ อย่างไรก็ตามดูเหมือนว่าเคาน์เตอร์ - สัญชาตญาณขณะที่การสูญเสียเฉลี่ยของรถมินิบัสอาจจะคิดว่าเป็นการประมาณการสูญเสียข้อมูลที่คาดว่าจะกระจายข้อมูล ยิ่งขนาดแบทช์ยิ่งมีความแม่นยำมากขึ้นทำไมในทางปฏิบัติไม่เป็นเช่นนั้น?1|X|∑x∈Xl(x,w)≈Ex∼pdata[l(x,w)]1|X|∑x∈Xl(x,w)≈Ex∼pdata[l(x,w)]\frac{1}{|X|}\sum_{x\in X} l(x,w)\approx E_{x\sim p_{data}}[l(x,w)] นี่คือความคิด (อาจผิด) ของฉันที่พยายามอธิบาย พารามิเตอร์ของแบบจำลองขึ้นอยู่กับแต่ละอื่น ๆ เมื่อชุดมีขนาดใหญ่เกินไปมันจะส่งผลกระทบต่อพารามิเตอร์มากเกินไปในคราวเดียวมันยากสำหรับพารามิเตอร์ที่จะไปถึงการพึ่งพาที่มั่นคง? (เช่นปัญหากะกะแปรสภาพภายในที่กล่าวถึงในเอกสารการทำให้เป็นมาตรฐานชุด ) หรือเมื่อพารามิเตอร์เกือบทั้งหมดมีความรับผิดชอบในการวนซ้ำทุกครั้งพวกเขาจะมีแนวโน้มที่จะเรียนรู้รูปแบบที่ซ้ำซ้อนโดยนัยจึงลดความสามารถของตัวแบบ? (ฉันหมายถึงว่าสำหรับปัญหาการจำแนกเลขหลักบางรูปแบบควรมีความรับผิดชอบสำหรับจุดบางส่วนสำหรับขอบ แต่เมื่อสิ่งนี้เกิดขึ้นทุกรูปแบบพยายามที่จะรับผิดชอบรูปร่างทั้งหมด) หรือเป็นเพราะเมื่อขนาดของแบตช์ใกล้เคียงกับขนาดของชุดฝึกอบรมมินิบัสอาจไม่สามารถมองเห็นได้เหมือนไอดอลจากการกระจายข้อมูลอีกต่อไปเนื่องจากมีความน่าจะเป็นมากสำหรับมินิบัสที่สัมพันธ์กันหรือไม่ การปรับปรุง ตามที่ระบุไว้ในคำตอบของเบอนัวต์ซานเชซเหตุผลสำคัญอย่างหนึ่งคือมินิบัสขนาดใหญ่ต้องการการคำนวณที่มากขึ้นเพื่อทำให้การอัปเดตเสร็จสมบูรณ์หนึ่งครั้งและการวิเคราะห์ส่วนใหญ่ใช้จำนวนเงินที่แน่นอนของการฝึก อย่างไรก็ตามบทความนี้ (Wilson และ Martinez, 2003) แสดงให้เห็นว่าขนาดของชุดที่ใหญ่กว่านั้นยังคงเป็นข้อเสียเปรียบเล็กน้อย เป็นเช่นนั้นหรือไม่

1
โคตรการไล่ระดับสีแบบสุ่มสามารถประหยัดเวลาได้อย่างไรเมื่อเปรียบเทียบกับการไล่ระดับสีแบบมาตรฐาน
Standard Gradient Descent จะคำนวณการไล่ระดับสีสำหรับชุดข้อมูลการฝึกอบรมทั้งหมด for i in range(nb_epochs): params_grad = evaluate_gradient(loss_function, data, params) params = params - learning_rate * params_grad สำหรับจำนวน epoch ที่กำหนดไว้ล่วงหน้าเราจะคำนวณเวกเตอร์ไล่ระดับ weights_grad ของฟังก์ชันการสูญเสียสำหรับชุดข้อมูลทั้งหมด wrt พารามิเตอร์เวกเตอร์พารามิเตอร์ของเรา ความแตกต่างของการไล่ระดับสีแบบสุ่มสุ่มทำการปรับปรุงพารามิเตอร์สำหรับแต่ละตัวอย่างการฝึกอบรม x (i) และเลเบล y (i) for i in range(nb_epochs): np.random.shuffle(data) for example in data: params_grad = evaluate_gradient(loss_function, example, params) params = params …

4
มันจะถูกขังอยู่ในจุดอานได้อย่างไร?
ตอนนี้ฉันรู้สึกสับสนนิดหน่อยจากการที่การไล่ระดับสีมินิแบทช์สามารถติดอยู่ในจุดอานม้าได้ วิธีแก้ปัญหาอาจเล็กน้อยเกินไปที่ฉันไม่เข้าใจ คุณได้รับตัวอย่างใหม่ทุกยุคและคำนวณข้อผิดพลาดใหม่ตามแบทช์ใหม่ดังนั้นฟังก์ชั่นค่าใช้จ่ายจะคงที่เฉพาะสำหรับแต่ละชุดซึ่งหมายความว่าการไล่ระดับสีควรเปลี่ยนสำหรับมินิแต่ละชุด .. แต่ตามนี้ควร การใช้วานิลลามีปัญหากับคะแนน saddle หรือไม่? ความท้าทายที่สำคัญอีกประการหนึ่งของการลดฟังก์ชั่นข้อผิดพลาดแบบไม่นูนสูงที่พบได้ทั่วไปสำหรับเครือข่ายประสาทคือการหลีกเลี่ยงการติดกับดักใน minima ท้องถิ่นที่น้อยที่สุด Dauphin และคณะ [19] ยืนยันว่าความยากลำบากเกิดขึ้นจริง ๆ แล้วไม่ใช่จากท้องถิ่นน้อยที่สุด แต่มาจากจุดอานคือจุดที่มิติหนึ่งลาดขึ้นและลาดลงอีก จุดอานเหล่านี้มักจะล้อมรอบด้วยที่ราบสูงของข้อผิดพลาดเดียวกันซึ่งทำให้ยากที่จะหนีออกจากสิงคโปร์ได้เนื่องจากการไล่ระดับสีนั้นใกล้เคียงกับศูนย์ในทุกมิติ ฉันหมายความว่าโดยเฉพาะอย่างยิ่ง SGD จะมีข้อได้เปรียบที่ชัดเจนกับจุดอานม้าเนื่องจากมันแปรปรวนไปตามจุดบรรจบ ... ความผันผวนและการสุ่มตัวอย่างและฟังก์ชั่นค่าใช้จ่ายที่แตกต่างกันสำหรับยุคแต่ละครั้งควรมีเหตุผลเพียงพอ สำหรับการไล่ระดับแบตช์ที่เหมาะสมจะทำให้รู้สึกว่าสามารถติดอยู่ในจุดอานม้าได้เนื่องจากฟังก์ชันข้อผิดพลาดคงที่ ฉันสับสนเล็กน้อยในสองส่วนอื่น ๆ

1
RMSProp และ Adam เทียบกับ SGD
ฉันกำลังทำการทดลองกับชุดตรวจสอบความถูกต้องของ EMNIST โดยใช้เครือข่ายที่มี RMSProp, อดัมและ SGD ฉันได้รับความแม่นยำ 87% กับ SGD (อัตราการเรียนรู้ 0.1) และ dropout (0.1 dropout prob) รวมถึงการทำให้เป็นมาตรฐาน L2 (การลงโทษ 1e-05) เมื่อทดสอบการกำหนดค่าที่แน่นอนเดียวกันกับ RMSProp และ Adam รวมถึงอัตราการเรียนรู้เริ่มต้น 0.001 ฉันได้รับความแม่นยำ 85% และเส้นโค้งการฝึกอบรมที่ราบรื่นน้อยลงอย่างเห็นได้ชัด ฉันไม่ทราบวิธีอธิบายพฤติกรรมนี้ อะไรเป็นสาเหตุของการขาดความเรียบในช่วงการฝึกอบรมและความแม่นยำที่ลดลงและอัตราความผิดพลาดที่สูงขึ้น

1
อะไรคือความแตกต่างระหว่าง VAE และ Stochastic Backpropagation สำหรับ Deep Generative Model?
อะไรคือความแตกต่างระหว่างการเข้ารหัสอัตโนมัติ Bay Variation BayesและStochastic Backpropagation สำหรับ Deep Generative Model ? การอนุมานในทั้งสองวิธีนำไปสู่ผลลัพธ์เดียวกันหรือไม่ ฉันไม่ได้ตระหนักถึงการเปรียบเทียบที่ชัดเจนระหว่างทั้งสองวิธีแม้จะมีผู้เขียนทั้งสองกลุ่มอ้างอิงซึ่งกันและกัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.