關于深度學習,這些知識點你需要了解一下

? ??深度學習概述

o??? 受限玻爾茲曼機和深度信念網絡

o??? Dropout

o??? 處理不平衡的技巧

o??? SMOTE:合成少數過采樣技術

o??? 神經網絡中對成本敏感的學習

深度學習概述

2006年之前,訓練深度監督前饋神經網絡總是失敗的,其主要原因都是導致過度擬合,即訓練錯誤減少,而驗證錯誤增加。

深度網絡通常意味著具有多于1個隱藏層的人工神經網絡。訓練深層隱藏層需要更多的計算能力,具有更深的深度似乎更好,因為直覺神經元可以使用下面圖層中的神經元完成的工作,從而導致數據的分布式表示。

Bengio 認為隱藏層中的神經元可被看作是其下面的層中的神經元所學到的特征檢測器(feature detector)。這個結果處于作為一個神經元子集的更好泛化(generalization)中,而這個神經元子集可從輸入空間中的特定區域的數據上進行學習。

而且,由于相同功能所需的計算單元越少,效率就越高,所以更深的架構可以更高效。分布式背后的核心思想是共享統計優勢,將不同架構的組件重用于不同的目的。

深度神經架構是由多個利用非線性操作的層組成的,例如在帶有許多隱藏層的神經網絡中。數據集中常常存在各種變化的因素,例如數據各自的性質經常可能獨立地變化。

深度學習算法可以獲取解釋數據中的統計變化,以及它們如何相互作用以生成我們觀察到的數據類型。較低層次的抽象更直接地與特定的觀察聯系在一起,另一方面,更高層次的更抽象,因為他們與感知數據的聯系更加偏遠。

深度架構學習的重點是自動發現從低級特征到更高級別概念的抽象。算法可以在不需要手動定義必要抽象的情況下啟用發現這些定義。

數據集中的訓練樣本的多樣性必須至少與測試集中的一樣多,否則算法就不能一概而論。深度學習方法旨在學習特征層次結構,將更低層次的特征組合成更高層次的抽象。

具有大量參數的深度神經網絡是非常強大的機器學習系統。但是,過度擬合在深度網絡中是一個嚴重的問題。過度擬合是指當驗證錯誤開始增加而訓練錯誤下降時。Dropout是解決這個問題的正則化技術之一,這將在后面討論。

今天,深度學習技術取得成功的最重要因素之一是計算能力的提高。圖形處理單元(GPU)和云計算對于將深度學習應用于許多問題至關重要。

云計算允許計算機集群和按需處理,通過并行訓練神經網絡來幫助減少計算時間。另一方面,GPU是用于高性能數學計算的專用芯片,加速了矩陣的計算。

06-07這一年,三篇論文徹底改變了深度學習的學科。他們工作中的關鍵原則是每層都可以通過無監督學習進行預先訓練,一次完成一層。最后,通過誤差反向傳播的監督訓練微調所有層,使得這種通過無監督學習進行的初始化比隨機初始化更好。

受限玻爾茲曼機和深度信念網絡

其中有一種無監督算法是受限玻爾茲曼機(RBM),可用于預訓練深層信念網絡。RBM是波爾茲曼機的簡化版本,它的設計靈感來自于統計力學,它可以模擬給定數據集的基本分布的基于能量的概率,從中可以得出條件分布。

玻爾茲曼機是隨機處理可見單元和隱藏單元的雙向連接網絡。原始數據對應于'可見'神經元和樣本到觀察狀態,而特征檢測器對應'隱藏'神經元。在波爾茲曼機中,可見神經元為網絡和其運行環境提供輸入。訓練過程中,可見神經元被鉗制(設置成定義值,由訓練數據確定)。另一方面,隱藏的神經元可以自由操作。

然而,玻爾茲曼機因為其連通性而非常難以訓練。一個 RBM 限制了連通性從而使得學習變得簡單。在組成二分圖(bipartite graph)的單層中,隱藏單元沒有連接。它的優勢是隱藏單位可以獨立更新,并且與給定的可見狀態平行。

這些網絡由確定隱藏/可見狀態概率的能量函數控制。隱藏/可見單位的每個可能的連接結構( joint configurations )都有一個由權重和偏差決定的 Hopfield 能量。連接結構的能量由吉布斯采樣優化,它可通過最小化 RBM 的最低能量函數學習參數。

ab08c4164c03db086a85e5a232593d177f8a8fae

在上圖中,左層代表可見層,右層代表隱藏層。

在深度信念網絡(DBN)中,RBM由輸入數據進行訓練,輸入數據具有隱藏層中隨機神經元捕獲的輸入數據的重要特征。在第二層中,訓練特征的激活被視為輸入數據。第二個RBM層的學習過程可以看作是學習特征的特征每次當一個新的層被添加到深度信念網絡中時,原始訓練數據的對數概率上的可變的更低的界限就會獲得提升。

7ef3aa63b7f31f8d506e135ca7534d540239c54a

上圖顯示了RBM將其數據分布轉換為隱藏單元的后驗分布。

隨機初始化RBM的權重,導致px)和qx)的分布差異。學習期間,迭代調整權重以最小化px)和qx)之間的誤差。qx)是原始數據的近似值,px)是原始數據。

調整來自神經元和另一神經元的突觸權重的規則不依賴于神經元是可見的還是隱藏的。由RBM層更新的參數被用作DBN中的初始化,通過反向傳播的監督訓練來微調所有層。

對于KDD Cup 1999IDS數據,使用多模態(Bernoulli-GaussianRBM是不錯的選擇,因為KDD Cup 1999由混合數據類型組成,特別是連續和分類。在多模RBM中是使用兩個不同的通道輸入層,一個是用于連續特征的高斯輸入單元,另一個是使用二進制特征的伯努利輸入單元層。今天我們就不進行詳細講解。

Dropout

最近的發展是想深度網絡引入強大的正規化矩陣來減少過度擬合。在機器學習中,正則化是附加信息,通常是一種懲罰機制被引入,以懲罰導致過度擬合的模型的復雜性。

Dropout是由Hinton引入的深度神經網絡的正則化技術,其包括通過在每一個訓練迭代上隨機關掉一部分神經元,而是在測試時間使用整個網絡(權重按比例縮小),從而防止特征檢測器的共適應。

Dropout 通過等同于訓練一個共享權重的指數模型減少過擬合。對于給定的訓練迭代,存在不同 dropout 配置的不同指數,所以幾乎可以肯定每次訓練出的模型都不一樣。在測試階段,使用了所有模型的平均值,作為強大的總體方法。

6dc5624d35c5daf4d133c0ab97a5a437bf835056

在上圖中,dropout隨機舍棄神經網絡層之間的連接

497e4edb278675d4410ab42701bbca8f0e7c75ba

在上圖中,連接被丟棄的概率,同時在訓練時間中權重按比例縮小到pw

在機器學習競賽中,平均很多模型通常是許多機器學習競賽獲勝者的關鍵,使用許多不同類型的模型,然后在測試時間將其結合起來進行預測。

隨機森林是一個非常強大的bagging算法,它是通過對許多決策樹進行平均而創建的,給它們提供了不同的訓練樣本集和替換。眾所周知,決策樹很容易適應數據并且在測試時間快速,因此通過給予不同的訓練集合來平均不同的單獨樹木是可以承受的。

然而,對深度神經網絡使用相同的方法,在計算上是非常昂貴。訓練單獨的深度神經網絡和訓練多個深度神經網絡計算成本已經很高了,然后平均似乎是不切實際的。此外,我們需要的是在測試有效的單個網絡,而不是有大量的大型神經網絡。

Dropout是平均許多大型神經網絡的有效方法。每次訓練模型時,隱藏單元都可以省略。因此,在測試時我們應該使用權重減半的“平均網絡”模型。平均網絡等同于將??所有可能網絡預測的標簽上概率分布的幾何平均值與單個隱藏的單位層和softmax輸出層。

另一種看待Dropout的方法是,它能夠防止特征檢測器之間的共適應(co-adaption)。特征檢測器的共適應意味著如果隱藏單元知道存在哪些其他隱藏單元,則可以在訓練數據上與它們進行協調。但是,在測試數據集上,復合協調很可能無法一概而論。

Dropout也可以以一種較低的概率在輸入層中使用,通常為20%的概率。這里的概念和降噪自動編碼器發展出的概念相同。在此方法中,一些輸入會被遺漏。這會對準確性造成傷害,但也能改善泛化能力,其方式類似于在訓練時將噪聲添加到數據集中。

2013年出現了Dropout的一種變體,稱為Drop connect。它不再是以特定的概率權重舍棄隱藏單位,而是以一定的概率隨機舍棄。實驗結果已經表明,在MNIST數據集上Drop connect網絡比的dropout網絡表現的更好。

處理類別失衡的技巧

當一個類別(少數類)相比于其他類別(多數類)明顯代表性不足的時候就會產生類別失衡問題。這個難題有著現實意義,會對誤分類少數類造成極高的代價,比如檢測欺詐或入侵這樣的異常活動。這里有多種技術可以處理類別失衡難題,如下面解釋的這一種:

SMOTE:合成少數過采樣技術

解決類失衡問題的一種廣泛使用的方法是對數據集進行重采樣。抽樣方法涉及通過調整少數群體和多數群體的先驗分布來預處理和平衡訓練數據集。SMOTE是一種過抽樣的方法,其中通過創建“合成”示例而不是通過對替換進過行采樣來對少數類別進行過采樣。

已經有人提出說通過替換進行的少數類過采樣不能顯著改進結果,不如說它趨于過擬合少數類的分類。相反,SMOTE算法在“特征空間”而不是“數據空間”中運行。它通過對少數類別進行過度抽樣來創建合成樣本,從而更好地推廣。

這個想法的靈感來自于通過對真實數據進行操作來創建額外的訓練數據,以便有更多數據有助于推廣預測。

在此算法中第一個最近鄰(neighbours)是為了少數類計算的。然后,就可以以下列方式計算少數類的合成特征:選擇最鄰近的一個隨機數字,然后使用這一數字與原始少數類數據點的距離。

該距離乘以01之間的隨機數,并將結果作為附加樣本添加到原始少數類數據的特征向量,從而創建合成的少數類樣本。

神經網絡中成本敏感的學習

成本敏感性學習似乎是解決分類問題的類不均衡問題的一種非常有效的方法。接下來我們描述特定于神經網絡的三種成本敏感的方法。

在測試未見過的示例時,將該類的先驗概率合并到神經網絡的輸出層中:

3903cba03b2dd24778d9996a44a5202493c9d7f6

根據成本調整學習率。應將更高的學習率分配給具有高誤分類成本的樣本,從而對這些例子的權重變化產生更大的影響:

6d568308c91fd50efffc6e07a42eff8d741bbe41

修改均方誤差函數。結果是,反向傳播進行的學習將最小化誤分類成本。新的誤差函數是:

4f8ad0ae68d566d6f4fbfbc1a2fece4840b96f8b

其成本因子是K[ij]

這個新的誤差函數產生一個新的增量規則,用于更新網絡的權重:

12781f1c355117075372f763c2c1bea4c9c0ad82

其中第一個方程表示輸出神經元的誤差函數,第二個方程表示隱層神經元的誤差函數。

數十款阿里云產品限時折扣中,趕緊點擊領劵開始云上實踐吧!

本文由@阿里云云棲社區組織翻譯。

文章原標題《demystifying-generative-adversarial-networks》,

譯者:虎說八道,審校:袁虎。

文章為簡譯,更為詳細的內容,請查看原文?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277894.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277894.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277894.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

發送不同類型的ActivityFeed

上一篇文章講到了如何使用最新的Graph API來給一個用戶發送一個簡單的 Activity Feed。我們這篇文章來詳細講一下發送三種不同類型的消息。 發送 Chat 相關的 Activity Notification API 為 POST https://graph.microsoft.com/beta/chats/{chat-id}/sendActivityNotification…

git add * 提示warning: LF will be replaced by CRLF in 解決辦法

在使用git的時候,每次執行 $ git add * 都會提示這樣一個警告消息: 雖然說沒有什么影響吧。 不過就是覺得太礙眼了, 按照這樣設置就沒有問題了: git config core.autocrlf false 這樣設置git的配置后在執行add操作就沒有問題了。 奮斗的年紀你…

git 放棄本地修改,強制拉取更新

開發時,對于本地的項目中修改不做保存操作(或代碼改崩),可以用到Git pull的強制覆蓋,具體代碼如下: git fetch --all git reset --hard origin/master git pull //可以省略 git fetch 指令是下載遠程倉庫最…

發送ActivityFeed的隱藏功能

前兩篇文章介紹了如何發送 activity notification,這篇文章主要介紹兩個隱藏功能,實際上所謂的隱藏功能是指大家在閱讀官方文檔是會忽略的兩個點,但是實際上也是很實用的兩個功能點。 text 類型的 topic 之前文章中提到我們的 activity not…

Dispatch Queue 之 Invoke 當前隊列

 轉載于:https://www.cnblogs.com/huahuahu/p/dispatch-queue-zhi-invoke-dang-qian-dui-lie.html

js或jQuery獲取當前屏幕的各種高度

Javascript: 網頁可見區域寬: document.body.clientWidth 網頁可見區域高: document.body.clientHeight 網頁可見區域寬: document.body.offsetWidth (包括邊線的寬) 網頁可見區域高: document.body.offsetHeight (包括邊線的高) …

Teams數據統計 - 用戶在線離線狀態

前幾天我在wechat的moments里看到以為朋友發了騰迅會議的對用戶個人的年度數據統計,看上去很有大數據感。 實際上 Teams 也具備的類似的能力,只是它把這個能力開放給了開發人員,我們可以通過強大的 Graph API,獲取大量的數據信息&…

我們是如何通過全球第一免費開源ERP Odoo做到項目100%交付

傳統友商ERP的交付過程 一、先初步需求調研,后選型功能模塊 傳統友商ERP第一件事情先對客戶方進行初步的調研,客戶方無論說什么,友商聽過算過,只關心你人數多少,有哪些人涉及到哪些模塊,接著對模塊進行所謂…

HDU 4747 Mex

4747 思路: 線段樹 先求出mex(1,1), mex(1, 2) , mex(1,3),...,mex(1,n)(單調上升),先將這些mex放進線段樹里求和 然后再求出next[i]表示下一次出現a[i] 的位置 然后從前…

Teams數據統計 - 通話記錄

上篇文章介紹了如何獲取用戶的在線狀態,這篇文章我們記錄介紹如何統計用戶通話記錄。 首先,Teams為了安全,它要求 app 要有 CallRecords.Read.All 權限。然后就可以通過這個api來獲取 call record。 GET /communications/callRecords/{id}這…

linux下mysql的數據庫簡單備份腳本

應用于整個庫的備份。 #!/bin/bash PATH$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin # 數據庫名稱 databases(myname) # 備份目錄 basepath/home/databak/ cd $basepath if [ ! -d "$basepath" ]; thenmkdir -p "$basepath" fi#遍歷數據庫名稱 for …

解決JS浮點數(小數)計算加減乘除的BUG

2019獨角獸企業重金招聘Python工程師標準>>> //浮點數減法運算function FloatSub(arg1,arg2){var r1,r2,m,n;try{r1arg1.toString().split(".")[1].length}catch(e){r10}try{r2arg2.toString().split(".")[1].length}catch(e){r20}mMath.pow(10…

Teams數據統計 - 聊天消息

前兩篇文章介紹了如何對用戶的在線狀態和通話記錄進行數據統計。這篇文章我們來看看如何統計用戶的聊天消息。 在介紹具體 api 如何調用前,我們可以先看一下 Teams 里對于 Message 的層級結構,在 Teams 里,message有兩種,一種是 …

vis.js

1、官網&#xff1a;http://visjs.org/docs/network/ 2、示例&#xff1a; <!doctype html>  <html>     <head>     <title>vis.js</title>     <script type"text/javascript" src"vis.js"></scri…

暑期實習面試——艾锝科技,Python實習生

遠程筆試過&#xff0c;拒絕現場面轉載于:https://www.cnblogs.com/qinziang/p/9123339.html

Teams App 如何使用設備的能力

我們以前講到過&#xff0c;Teams有很多中可以擴展的方面&#xff0c;其中有一種是Tab&#xff0c;開發者可以開發一個web page/app&#xff0c;然后以tab的方式嵌入到teams里面。 除了基本的功能&#xff0c;這種tab也可以使用teams客戶端設備所帶的一些能力&#xff0c;比如…

實驗室3

實驗3.1 1 #include<stdio.h>2 int main()3 { long int sum,i;4 sum0;5 for(i22;i<1003;i20){6 sumsumi;7 }8 printf("sum%ld",sum);9 return 0; 10 } 11 1 #include<stdio.h>2 int main()3 { 4 long int…

寫出整潔的高效的js代碼

Variables:變量 使用有意義的可發音的變量名 Bad: var yyyymmdstr moment().format(YYYY/MM/DD);Good: var yearMonthDay moment().format(YYYY/MM/DD);使用可搜索的命名 在開發過程中&#xff0c;我們閱讀代碼的時間會遠遠超過編寫代碼的時間&#xff0c;因此保證代碼的可讀…

Teams App自定義

當我們開發的 app 被企業安裝后&#xff0c;有些企業挺希望能做一些自定義&#xff0c;如果把app的圖標改的更加符合企業風格一點&#xff0c;或者把app的名字改成讓本企業員工更容易理解一些&#xff0c;或者把app界面的主題色改成個企業風格更加搭配一些&#xff0c;或者對于…

實驗四:xl命令的常見子命令以及操作

實驗名稱&#xff1a; xl命令的常見子命令以及操作 實驗環境&#xff1a; 這里我們需要正常安裝一臺虛擬機&#xff0c;如下圖&#xff1a; 我們這里以一臺busybox為例&#xff0c;來進行這些簡單的常見的操作&#xff1b; 實驗要求&#xff1a; 這里我們準備了5個常見操作&…