คำถามติดแท็ก gradient-descent

การไล่ระดับสีเป็นขั้นตอนวิธีการเพิ่มประสิทธิภาพแบบวนซ้ำลำดับที่หนึ่ง ในการหาค่าต่ำสุดของฟังก์ชั่นในท้องถิ่นโดยใช้การไล่ระดับสีแบบไล่ระดับจะใช้ขั้นตอนแบบสัดส่วนกับการลบของการไล่ระดับสี (หรือการไล่ระดับสีโดยประมาณ) ของฟังก์ชันที่จุดปัจจุบัน สำหรับการไล่ระดับสีแบบสุ่มสุ่มนอกจากนี้ยังมีแท็ก [sgd]

6
ทำไมไม่ใช้อนุพันธ์อันดับสามสำหรับการเพิ่มประสิทธิภาพเชิงตัวเลข?
หาก Hessians นั้นดีสำหรับการปรับให้เหมาะสม (ดูเช่นวิธีของ Newton ) ทำไมหยุดอยู่ที่นั่น ลองใช้อนุพันธ์อันดับสาม, สี่, ห้าและหกกันไหม? ทำไมไม่

4
ฟังก์ชั่นค่าใช้จ่ายเป็นอย่างไรจาก Logistic Regression
ฉันกำลังเรียนหลักสูตร Machine Learning Stanford ใน Coursera ในบทที่เกี่ยวกับการถดถอยโลจิสติกฟังก์ชันต้นทุนคือ: จากนั้นมันจะอยู่ที่นี่: ฉันพยายามหาอนุพันธ์ของฟังก์ชันต้นทุน แต่ฉันได้บางอย่างที่แตกต่างออกไปอย่างสิ้นเชิง อนุพันธ์ได้มาอย่างไร ขั้นตอนตัวกลางคืออะไร


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

1
จะกำหนดเงื่อนไขการยกเลิกสำหรับการไล่ระดับสีได้อย่างไร
ที่จริงแล้วฉันอยากถามคุณว่าฉันจะกำหนดเงื่อนไขการยุติสำหรับการไล่ระดับสีได้อย่างไร ฉันสามารถหยุดมันตามจำนวนการวนซ้ำได้หรือไม่เช่นการพิจารณาค่าพารามิเตอร์สำหรับการพูดการวนซ้ำ 100 ครั้ง หรือฉันควรรอดังกล่าวที่แตกต่างกันในค่าพารามิเตอร์ที่สอง 'ใหม่' และ 'เก่า' ที่มีขนาดเล็กมากที่จะสั่งของให้พูด ? นี้จะใช้เวลาแน่นอน10- 610-610^{-6} วิธีที่ดีที่สุดคืออะไร? ในกรณีของฉันการทำซ้ำแม้แต่ครั้งเดียวก็ใช้เวลามาก ในสถานการณ์เช่นนี้หากฉันรอเงื่อนไขที่ 2 อาจต้องใช้เวลาหลายสัปดาห์กว่าที่ฉันจะเดาได้ ดังนั้นฉันควรใช้วิธีใด วิธีจัดการกับสถานการณ์นี้

3
พิกัดเทียบกับการไล่ระดับสี
ฉันถูกสงสัยว่ากรณีการใช้งานที่แตกต่างกันสำหรับสองขั้นตอนวิธีการประสานงานโคตรและการไล่โทนสีโคตร ฉันรู้ว่าโคตรพิกัดมีปัญหากับฟังก์ชั่นที่ไม่ราบรื่น แต่ใช้ในอัลกอริทึมยอดนิยมเช่น SVM และ LASSO อย่างไรก็ตามฉันคิดว่าใช้การไล่ระดับสีอย่างแพร่หลายมากขึ้นโดยเฉพาะกับการฟื้นตัวของ ANNs และสำหรับงานการเรียนรู้ของเครื่องอื่น ๆ อีกมากมาย คำถามของฉันคือ: ปัญหาประเภทใดที่เหมาะกับปัญหาหนึ่ง แต่ไม่ใช่ปัญหาอื่นและในแง่นั้นอะไรที่ทำให้โคตรประสานงานที่เหมาะสมสำหรับ SVM และ LASSO แต่การสืบเชื้อสายที่เหมาะสมสำหรับ ANNs หนึ่งควรเลือกระหว่างทั้งสองเมื่อเลือกอัลกอริทึมการเพิ่มประสิทธิภาพได้อย่างไร

1
backpropagation ไล่ระดับสีผ่านการเชื่อมต่อ ResNet
ฉันสงสัยเกี่ยวกับวิธีการไล่ระดับสีแบบกระจายกลับผ่านเครือข่ายประสาทโดยใช้โมดูล ResNet / การเชื่อมต่อข้าม ฉันเคยเห็นคำถามสองสามข้อเกี่ยวกับ ResNet (เช่นโครงข่ายประสาทเทียมที่มีการเชื่อมต่อแบบข้ามชั้น ) แต่คำถามนี้ถามเกี่ยวกับการแพร่กระจายของการไล่ระดับสีกลับระหว่างการฝึกอบรมโดยเฉพาะ สถาปัตยกรรมพื้นฐานอยู่ที่นี่: ฉันอ่านบทความนี้การศึกษาเครือข่ายที่เหลือเพื่อการจดจำรูปภาพและในส่วนที่ 2 พวกเขาพูดถึงว่าหนึ่งในเป้าหมายของ ResNet คือการอนุญาตเส้นทางที่สั้นลง / ชัดเจนขึ้นสำหรับการไล่ระดับสีเพื่อแพร่กระจายกลับไปยังชั้นฐาน ทุกคนสามารถอธิบายได้ว่าการไล่ระดับสีไหลผ่านเครือข่ายประเภทนี้อย่างไร ฉันไม่เข้าใจวิธีการดำเนินการเพิ่มและการขาดเลเยอร์ที่มีพารามิเตอร์หลังจากนั้นช่วยให้การแพร่กระจายของการไล่ระดับสีดีขึ้น มันมีบางอย่างเกี่ยวกับวิธีที่การไล่ระดับสีไม่เปลี่ยนแปลงเมื่อไหลผ่านโอเปอเรเตอร์ Add และมีการแจกจ่ายซ้ำโดยไม่มีการคูณ? นอกจากนี้ฉันสามารถเข้าใจได้ว่าปัญหาการไล่ระดับสีที่หายไปนั้นบรรเทาลงได้อย่างไรหากการไล่ระดับสีไม่จำเป็นต้องไหลผ่านชั้นน้ำหนัก แต่ถ้าไม่มีการไล่ระดับสีแบบไหลผ่านน้ำหนักแล้วพวกเขาจะได้รับการอัปเดตอย่างไร

3
ทำไมต้องใช้การไล่ระดับสีด้วยเครือข่ายประสาท
เมื่อทำการฝึกอบรมเครือข่ายประสาทเทียมโดยใช้อัลกอริธึมการขยายพันธุ์แบบย้อนกลับจะใช้วิธีการไล่ระดับสีแบบไล่ระดับสีเพื่อกำหนดน้ำหนักการอัพเดท คำถามของฉันคือ: แทนที่จะใช้วิธีการไล่ระดับสีไล่ระดับเพื่อค้นหาจุดต่ำสุดอย่างช้าๆตามน้ำหนักที่กำหนดทำไมเราไม่ตั้งอนุพันธ์ , และหาค่าของน้ำหนักซึ่งช่วยลดข้อผิดพลาดหรือไม่wd( ข้อผิดพลาด)dW= 0d(Error)dw=0\frac{d(\text{Error})}{dw}=0Www นอกจากนี้เรามั่นใจว่าเหตุใดฟังก์ชันข้อผิดพลาดในการเผยแพร่ย้อนหลังจึงเป็นขั้นต่ำ มันไม่สามารถเปิดฟังก์ชั่นข้อผิดพลาดได้สูงสุดหรือไม่? มีคุณสมบัติเฉพาะของฟังก์ชั่นการบีบอัดที่รับประกันได้ว่าเครือข่ายที่มีจำนวนโหนดที่ซ่อนอยู่ใด ๆ ที่มีน้ำหนักตามอำเภอใจและเวกเตอร์การป้อนข้อมูลจะให้ฟังก์ชั่นข้อผิดพลาดที่มีขนาดเล็กที่สุดหรือไม่?

3
Gradient Descent เป็นไปได้สำหรับ kernelized SVMs (ถ้าเป็นเช่นนั้นทำไมผู้คนถึงใช้ Quadratic Programming)
เหตุใดผู้คนจึงใช้เทคนิคการเขียนโปรแกรม Quadratic (เช่น SMO) เมื่อต้องรับมือกับ kernelized SVM เกิดอะไรขึ้นกับ Gradient Descent มันเป็นไปไม่ได้ที่จะใช้กับเมล็ดหรือมันช้าเกินไป (และทำไม) นี่คือบริบทอีกเล็กน้อย: พยายามทำความเข้าใจ SVM ให้ดีขึ้นเล็กน้อยฉันใช้ Gradient Descent เพื่อฝึกอบรมตัวจําแนก SVM เชิงเส้นโดยใช้ฟังก์ชันต้นทุนต่อไปนี้: J(w,b)=C∑i=1mmax(0,1−y(i)(wt⋅x(i)+b))+12wt⋅wJ(w,b)=C∑i=1mmax(0,1−y(i)(wt⋅x(i)+b))+12wt⋅wJ(\mathbf{w}, b) = C {\displaystyle \sum\limits_{i=1}^{m} max\left(0, 1 - y^{(i)} (\mathbf{w}^t \cdot \mathbf{x}^{(i)} + b)\right)} \quad + \quad \dfrac{1}{2} \mathbf{w}^t \cdot \mathbf{w} ฉันใช้สัญลักษณ์ต่อไปนี้: ww\mathbf{w}เป็นตุ้มน้ำหนักคุณลักษณะของโมเดลและคือพารามิเตอร์ biasbbb x(i)x(i)\mathbf{x}^{(i)}เป็นเวกเตอร์คุณลักษณะของอินสแตนซ์การฝึกอบรมของithithi^\text{th} y(i)y(i)y^{(i)}เป็นคลาสเป้าหมาย (-1 หรือ …

3
จากกฎ Perceptron ไปยัง Gradient Descent: Perceptrons ที่มีฟังก์ชั่นการเปิดใช้งาน sigmoid แตกต่างจาก Logistic Regression อย่างไร
โดยพื้นฐานแล้วคำถามของฉันคือใน Multilayer Perceptrons, Perceptrons นั้นใช้กับฟังก์ชั่นการเปิดใช้งาน sigmoid ดังนั้นในการอัปเดตกฎจะถูกคำนวณดังนี้y^y^\hat{y} y^=11+exp(−wTxi)y^=11+exp⁡(−wTxi)\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)} Perceptron "sigmoid" นี้แตกต่างจากการถดถอยโลจิสติกอย่างไร ฉันจะบอกว่า sigmoid perceptron ชั้นเดียวเทียบเท่ากับการถดถอยโลจิสติกในแง่ที่ว่าทั้งสองใช้ในกฎการอัพเดท นอกจากนี้ทั้งสองส่งกลับในการทำนาย อย่างไรก็ตามในมัลติเลเยอร์ Perceptrons ฟังก์ชั่นการเปิดใช้งาน sigmoid จะใช้เพื่อคืนความน่าจะเป็นไม่ใช่สัญญาณเปิดปิดในทางตรงกันข้ามกับการถดถอยโลจิสติกและ perceptron ชั้นเดียวy^=11+exp(−wTxi)y^=11+exp⁡(−wTxi)\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)}sign(y^=11+exp(−wTxi))sign⁡(y^=11+exp⁡(−wTxi))\operatorname{sign}(\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)}) ฉันคิดว่าการใช้คำว่า "Perceptron" อาจจะคลุมเครือเล็กน้อยดังนั้นให้ฉันให้พื้นหลังตามความเข้าใจในปัจจุบันของฉันเกี่ยวกับ perceptrons ชั้นเดียว: กฎ Perceptron แบบคลาสสิก ประการแรกคลาสสิก perceptron โดย F. Rosenblatt ที่เรามีฟังก์ชั่นขั้นตอน: Δ wd= η( yผม- yผม^) xฉันdYผม, yผม^∈ …

2
ในมุ้งประสาททำไมใช้วิธีการไล่ระดับสีมากกว่า metaheuristics อื่น ๆ ?
ในการฝึกอบรมโครงข่ายประสาทเทียมที่ลึกและตื้นเหตุใดจึงใช้วิธีการไล่ระดับสี (เช่นการไล่ระดับสีเนสโตฟนิวตัน - ราฟสัน) ที่ใช้กันโดยทั่วไป ฉันหมายถึงวิธีการต่าง ๆ เช่นการจำลองการหลอมการเพิ่มประสิทธิภาพของฝูงมด ฯลฯ ซึ่งได้รับการพัฒนาเพื่อหลีกเลี่ยงการติดอยู่ใน minima ท้องถิ่น

3
อัลกอริทึมพันธุกรรมเป็นตัวเลือกที่ดีสำหรับการเพิ่มประสิทธิภาพเมื่อใด
อัลกอริทึมทางพันธุกรรมเป็นรูปแบบหนึ่งของวิธีการเพิ่มประสิทธิภาพ บ่อยครั้งที่การไล่ระดับสีแบบสุ่มและอนุพันธ์เป็นทางเลือกที่ดีที่สุดสำหรับการปรับฟังก์ชั่นให้ดีที่สุด แต่บางครั้งก็ยังใช้อัลกอริทึมทางพันธุกรรม ตัวอย่างเช่นเสาอากาศของยานอวกาศ ST5 ของนาซาสร้างขึ้นด้วยอัลกอริธึมทางพันธุกรรม: เมื่อใดที่การเพิ่มประสิทธิภาพทางพันธุกรรมเป็นทางเลือกที่ดีกว่าวิธีการไล่ระดับสีแบบลาดชันทั่วไป

3
จะมีคำตอบที่ดีที่สุดในท้องถิ่นหลายอย่างเมื่อเราแก้ปัญหาการถดถอยเชิงเส้นหรือไม่?
ฉันอ่านข้อความนี้ในการสอบจริง / เท็จหนึ่งครั้ง: เราสามารถหาวิธีแก้ปัญหาที่เหมาะสมในท้องถิ่นได้หลายอย่างหากเราแก้ปัญหาการถดถอยเชิงเส้นโดยการลดผลรวมของข้อผิดพลาดกำลังสองโดยใช้การไล่ระดับสี วิธีแก้ปัญหา: เท็จ คำถามของฉันคือส่วนใดของคำถามนี้ผิด ทำไมข้อความนี้ถึงเป็นเท็จ?

3
โคตรการไล่ระดับสีแบบสุ่มสามารถหลีกเลี่ยงปัญหาระดับต่ำสุดในพื้นที่ได้อย่างไร
ฉันรู้ว่าการไล่ระดับสีแบบสุ่มมีพฤติกรรมแบบสุ่ม แต่ฉันไม่รู้ว่าทำไม มีคำอธิบายเกี่ยวกับเรื่องนี้หรือไม่?

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) แสดงให้เห็นว่าขนาดของชุดที่ใหญ่กว่านั้นยังคงเป็นข้อเสียเปรียบเล็กน้อย เป็นเช่นนั้นหรือไม่

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