基于Spark MLlib的分布式自適應(yīng)隨機(jī)梯度下降算法研究
發(fā)布時(shí)間:2022-07-03 15:24
隨機(jī)梯度下降(SGD,Stochastic Gradient Descent)是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中,用于求解非凸優(yōu)化問題的標(biāo)準(zhǔn)迭代學(xué)習(xí)算法。針對SGD的不足,研究者們已經(jīng)提出了多種改進(jìn)算法。從優(yōu)化方式上可以將這些改進(jìn)算法分為基于動(dòng)量的方法、方差縮減方法和自適應(yīng)學(xué)習(xí)方法這三類。但是目前這些基于SGD的改進(jìn)算法,都沒有考慮算法訓(xùn)練過程中在當(dāng)前迭代步越過最優(yōu)解時(shí),引起收斂震蕩(oscillaition)的根本原因。傳統(tǒng)SGD方法本質(zhì)上是串行的,這使其在大數(shù)據(jù)集下變得不再適用。為此,研究者們提出了多種分布式優(yōu)化算法;趦(nèi)存計(jì)算的Apache Spark是大數(shù)據(jù)處理的主流計(jì)算平臺(tái),Spark MLlib是基于Spark的可擴(kuò)展機(jī)器學(xué)習(xí)庫,是目前最流行的機(jī)器學(xué)習(xí)平臺(tái)。然而,在MLlib庫的SGD實(shí)現(xiàn)中,梯度數(shù)據(jù)在每次迭代中都需要同步一次,這導(dǎo)致收斂速度有時(shí)非常慢;當(dāng)模型維度較高(>109)時(shí),頻繁的參數(shù)聚合操作又涉及到耗時(shí)的shuffle操作,因此效率非常低。此外,Spark的同步迭代通信模式基于Driver和Worker節(jié)點(diǎn)間的MapReduce操作,這使Spark成為了使用SGD的機(jī)...
【文章頁數(shù)】:84 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
Abstract
第一章 緒論
1.1 研究背景和意義
1.2 國內(nèi)外研究現(xiàn)狀
1.3 本文的研究內(nèi)容和主要貢獻(xiàn)點(diǎn)
1.4 本文的組織結(jié)構(gòu)
第二章 相關(guān)背景知識
2.1 優(yōu)化算法
2.1.1 梯度下降
2.1.2 隨機(jī)梯度下降
2.1.3 基于動(dòng)量的梯度下降
2.1.4 自適應(yīng)學(xué)習(xí)算法
2.2 分布式優(yōu)化算法
2.3 Spark大數(shù)據(jù)處理平臺(tái)
2.3.1 Spark概述
2.3.2 Spark程序執(zhí)行框架
2.3.3 Spark MLlib算法庫簡介
2.3.4 SGD的MLlib并行化實(shí)現(xiàn)
2.4 參數(shù)服務(wù)器
2.5 本章小結(jié)
第三章 單機(jī)自適應(yīng)SGD算法
3.1 收斂震蕩原因分析
3.2 動(dòng)量項(xiàng)的自適應(yīng)調(diào)整
3.3 學(xué)習(xí)率的自適應(yīng)調(diào)整
3.4 OAA-SGD算法收斂性質(zhì)分析
3.5 OAA-SGD算法性能分析
3.6 本章小結(jié)
第四章 基于Spark MLlib的分布式自適應(yīng)SGD算法
4.1 Spark MLlib SGD算法缺點(diǎn)分析
4.2 基于局部搜索的更新迭代優(yōu)化算法LS-SGD
4.3 基于收斂震蕩分析的分布式自適應(yīng)SGD優(yōu)化算法OL-SGD
4.4 基于參數(shù)服務(wù)器的參數(shù)存儲(chǔ)與通信優(yōu)化算法OLP-SGD
4.5 LS-SGD算法收斂性質(zhì)證明
4.6 本章小結(jié)
第五章 實(shí)驗(yàn)驗(yàn)證與分析
5.1 實(shí)驗(yàn)環(huán)境
5.2 實(shí)驗(yàn)數(shù)據(jù)集
5.3 LS-SGD和Spark MLlib SGD的性能對比
5.4 OLP-SGD和Spark MLlib SGD的性能對比
5.5 不同優(yōu)化算法間的比較
5.6 OLP-SGD算法的小批量縮放規(guī)則測試
5.7 OLP-SGD算法的可拓展性實(shí)驗(yàn)
5.8 經(jīng)驗(yàn)總結(jié)
5.9 本章小結(jié)
第六章 總結(jié)與展望
6.1 本文工作總結(jié)
6.2 進(jìn)一步工作
參考文獻(xiàn)
致謝
附錄
本文編號:3655132
【文章頁數(shù)】:84 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
Abstract
第一章 緒論
1.1 研究背景和意義
1.2 國內(nèi)外研究現(xiàn)狀
1.3 本文的研究內(nèi)容和主要貢獻(xiàn)點(diǎn)
1.4 本文的組織結(jié)構(gòu)
第二章 相關(guān)背景知識
2.1 優(yōu)化算法
2.1.1 梯度下降
2.1.2 隨機(jī)梯度下降
2.1.3 基于動(dòng)量的梯度下降
2.1.4 自適應(yīng)學(xué)習(xí)算法
2.2 分布式優(yōu)化算法
2.3 Spark大數(shù)據(jù)處理平臺(tái)
2.3.1 Spark概述
2.3.2 Spark程序執(zhí)行框架
2.3.3 Spark MLlib算法庫簡介
2.3.4 SGD的MLlib并行化實(shí)現(xiàn)
2.4 參數(shù)服務(wù)器
2.5 本章小結(jié)
第三章 單機(jī)自適應(yīng)SGD算法
3.1 收斂震蕩原因分析
3.2 動(dòng)量項(xiàng)的自適應(yīng)調(diào)整
3.3 學(xué)習(xí)率的自適應(yīng)調(diào)整
3.4 OAA-SGD算法收斂性質(zhì)分析
3.5 OAA-SGD算法性能分析
3.6 本章小結(jié)
第四章 基于Spark MLlib的分布式自適應(yīng)SGD算法
4.1 Spark MLlib SGD算法缺點(diǎn)分析
4.2 基于局部搜索的更新迭代優(yōu)化算法LS-SGD
4.3 基于收斂震蕩分析的分布式自適應(yīng)SGD優(yōu)化算法OL-SGD
4.4 基于參數(shù)服務(wù)器的參數(shù)存儲(chǔ)與通信優(yōu)化算法OLP-SGD
4.5 LS-SGD算法收斂性質(zhì)證明
4.6 本章小結(jié)
第五章 實(shí)驗(yàn)驗(yàn)證與分析
5.1 實(shí)驗(yàn)環(huán)境
5.2 實(shí)驗(yàn)數(shù)據(jù)集
5.3 LS-SGD和Spark MLlib SGD的性能對比
5.4 OLP-SGD和Spark MLlib SGD的性能對比
5.5 不同優(yōu)化算法間的比較
5.6 OLP-SGD算法的小批量縮放規(guī)則測試
5.7 OLP-SGD算法的可拓展性實(shí)驗(yàn)
5.8 經(jīng)驗(yàn)總結(jié)
5.9 本章小結(jié)
第六章 總結(jié)與展望
6.1 本文工作總結(jié)
6.2 進(jìn)一步工作
參考文獻(xiàn)
致謝
附錄
本文編號:3655132
本文鏈接:http://sikaile.net/kejilunwen/zidonghuakongzhilunwen/3655132.html
最近更新
教材專著