深度學習中關於優化演算法的問題

2021-10-06 19:05:12 字數 2638 閱讀 4405

模型微調:利用預訓練模型進行模型微調,預訓練模型即在其他資料集上訓練的比較的模型,預訓練模型通常在特徵上有很好的語義表達,此時只需要將模型在小資料集上進行微調就能獲得比較好的結果。

單樣本或者少樣本學習,這種方式適用於樣本類別數遠遠大於樣本數量的極端情況。少樣本學習同樣需要借助預訓練模型,但區別在於微調仍然在學習不同類別間的語義,而少數樣本學習通常需要學習樣本之間的距離度量。、

資料增強:通過在原始資料上新增雜訊,例如:對影象資料進行平移,旋轉、投影等操作,文字資料可以通過大小寫轉化,同義詞替換,隨機詞替換,回譯等。

正則化:訓練樣本較小的情況下,模型太複雜容易產生過擬合。

半監督學習:結合無標記資料。

深度學習能取得目前的成果,很大一部分依賴於海量的資料集以及高效能的密集計算硬體。因此當資料集過小的情況下,需要考慮與傳統機器學習之間的誰更具有優勢。

深度學習目前在視覺,自然語言處理等領域都有取得不錯的成果。這些領域最大的特點就是具有區域性相關性。例如影象中,人的耳朵位於兩側,鼻子位於兩眼之間,文字中單詞組成句子。這些都是具有區域性相關性的,一旦被打亂則會破壞語義或者有不同的語義。所以當資料不具備這種相關性的時候,深度學習就很難取得效果。

常用判斷是否存在共線性的方法有:

(1)相關性分析。當相關性係數高於0.8,表明存在多重共線性;但相關係數低,並不能表示不存在多重共線性;

(2)方差膨脹因子vif。當vif大於5或10時,代表模型存在嚴重的共線性問題;

(3)條件係數檢驗。 當條件數大於100、1000時,代表模型存在嚴重的共線性問題。

通常可通過pca降維、逐步回歸法和lasso回歸等方法消除共線性。

物件本身會有許多屬性。所謂特徵,即能在某方面最能表徵物件的乙個或者一組屬性。一般地,我們可以把特徵分為如下三個型別:

(2)無關特徵:在特定的任務和場景下完全無用的屬性,這些屬性對物件在本目標環境下完全無用;

(3)冗餘特徵:同樣是在特定的任務和場景下具有一定幫助的屬性,但這類屬性已過多的存在,不具有產生任何新的資訊的能力。

當完成資料預處理之後,對特定的場景和目標而言很多維度上的特徵都是不具有任何判別或者表徵能力的,所以需要對資料在維度上進行篩選。一般地,可以從以下兩個方面考慮來選擇特徵:

(1)特徵是否具有發散性:某個特徵若在所有樣本上的都是一樣的或者接近一致,即方差非常小。 也就是說所有樣本的都具有一致的表現,那這些就不具有任何資訊。

二階優化存在以下問題:

計算量大;對黑塞矩陣求逆計算量太大,訓練速度非常慢

二階方法能夠更快地求得更高精度的解,這在淺層模型是有益的。而在神經網路這類深層模型中對引數的精度要求不高,甚至不高的精度對模型還有益處,能夠提高模型的泛化能力。

穩定性:二階方法能更快遞求高精度的解,同樣對資料本身的精度要求也會相應的變高,這就會導致穩定性上的問題。

在訓練模型時,無論是調整超引數,還是調整不同的模型演算法,我們都需要乙個有效的評價指標,這個評價標準能幫助我們快速了解新的嘗試後模型的效能是否更優。例如在分類時,我們通常會選擇選擇準確率,當樣本不平衡時,查準率和查全率又會是更好的評價指標。所以在訓練模型時,如果設定了單一數字的評估指標通常能很快的反應出我們模型的改進是否直接產生了收益,從而加速我們的演算法改進過程。若在訓練過程中,發現優化目標進一步深入,現有指標無法完全反應進一步的目標時,就需要重新選擇評估指標了。

通常對於分類系統而言,系統會對某個未知樣本進行所有已知樣本的匹配,並給出該未知樣本在每個已知類別上的概率。其中最大的概率就是系統系統判定最可能的乙個類別。top5則就是在前五個最大概率的類別。top5錯誤率,即**最可能的五類都不是該樣本類別的錯誤率。

資料角度:增強資料集。有監督還是無監督學習,資料永遠是最重要的驅動力。更多的型別資料對良好的模型能帶來更好的穩定性和對未知資料的可預見性。對模型來說,「看到過的總比沒看到的更具有判別的信心」。但增大資料並不是盲目的,模型容限能力不高的情況下即使增大資料也對模型毫無意義。而從資料獲取的成本角度,對現有資料進行有效的擴充也是個非常有效且實際的方式。良好的資料處理,常見的處理方式如資料縮放、歸一化和標準化等。

模型角度:模型的容限能力決定著模型可優化的空間。在資料量充足的前提下,對同型別的模型,增大模型規模來提公升容限無疑是最直接和有效的手段。但越大的引數模型優化也會越難,所以需要在合理的範圍內對模型進行引數規模的修改。而不同型別的模型,在不同資料上的優化成本都可能不一樣,所以在探索模型時需要盡可能挑選優化簡單,訓練效率更高的模型進行訓練

調參優化角度:如果你知道模型的效能為什麼不再提高了,那已經向提公升效能跨出了一大步。 超引數調整本身是乙個比較大的問題。一般可以包含模型初始化的配置,優化演算法的選取、學習率的策略以及如何配置正則和損失函式等等。這裡需要提出的是對於同一優化演算法,相近引數規模的前提下,不同型別的模型總能表現出不同的效能。這實際上就是模型優化成本。從這個角度的反方向來考慮,同一模型也總能找到一種比較適合的優化演算法。所以確定了模型後選擇乙個適合模型的優化演算法也是非常重要的手段。

訓練角度:很多時候我們會把優化和訓練放一起。但這裡我們分開來講,主要是為了強調充分的訓練。在越大規模的資料集或者模型上,誠然乙個好的優化演算法總能加速收斂。但你在未探索到模型的上限之前,永遠不知道訓練多久算訓練完成。所以在改善模型上充分訓練永遠是最必要的過程。充分訓練的含義不僅僅只是增大訓練輪數。有效的學習率衰減和正則同樣是充分訓練中非常必要的手段。

機器學習and 深度學習 and 優化演算法

ssh keygen t rsa c 我的ssh金鑰 將 我的金鑰 替換為新的自己命名的就行,然後github建倉進行ssh繫結 git remote v 檢視遠倉庫 git remote set url origin git github.com username newrepo.git 切換到自...

深度學習中模型的優化

準備 整理資料集 將各個標籤的資料放於不同的資料夾中,並統計各個標籤的數目 如 第一列是路徑,最後一列是數目。ps 可能會存在某些標籤樣本很少 多,記下來模型效果不好就怨它。樣本均衡,樣本不會絕對均衡,差不多就行了 如 控制最大類 最小類 切分樣本集 如 90 用於訓練,10 留著測試,比例自己定。...

深度學習中常見的優化演算法

有批量梯度下降法 batch gradient descent,bgd 和 隨機梯度下降 stochastic gradient descent,sgd 牛頓法是一種在實數域和複數域上近似求解方程的方法。特點是收斂速度很快。擬牛頓法是求解非線性優化問題最有效的方法之一,常用的擬牛頓法有dfp演算法和...