導航:首頁 > 網路問題 > 基於深度神經網路的異常流量

基於深度神經網路的異常流量

發布時間:2022-08-23 18:09:21

① 深度學習中經常提到的神經網路是什麼

介紹深度學習就必須要介紹神經網路,因為深度學習是基於神經網路演算法的,其實最開始只有神經網路演算法,上文也提到2006年Geoffrey Hinton老爺子提出了Deep Learning,核心還是人工神經網路演算法,換了一個新的叫法,最基本的演算法沒有變。
通過神經元接收外界信號,達到一定閾值,觸發動作電位,通過突觸釋放神經遞質,可以是興奮或抑制,影響突觸後神經元。通過此實現大腦的計算、記憶、邏輯處理等,進行做出一系列行為等。同時不斷地在不同神經元之間構建新的突觸連接和對現有突觸進行改造,來進行調整。有時候不得不感嘆大自然的鬼斧神工,900億神經元組成的神經網路可以讓大腦實現如此復雜的計算和邏輯處理。

② 深度神經網路具體的工作流程是什麼樣的

所謂神經網路演算法,就是對人類學習能力的一種模擬演算法。理論認為人的認知模式,處事方式是存儲在神經元與神經元之間的連接上的,稱為「神經元連接權重」,人腦神經布局類似網狀結構,神經元是網的交叉點,權重就是網的連線,這些連線有粗有細,也就是權重的大小不同。而人類的學習能力就是去不斷改變權重的值,從而改變自己的認知模式和處事方式,簡單的說,不同人對同一個外部事物有不同看法,就是因為同樣的初始信號,在不同粗細的神經元連線放大或縮小後,變成了側重點不同的最終信號。最開始的「感知機"只用了2層神經元,即輸入層和輸出層,發現很多問題無法模擬,最著名的就是「異或」問題。 後來聰明的人在輸入層和輸出層之間加了一層神經元叫做隱藏層,3層的神經網路已經可以模擬二維上的任意函數曲線。只不過此時對「連接權重」的訓練過程就變得非常復雜,通常使用一種叫「誤差反傳」的計算方法。參考人腦,人腦大概有億級層數的神經元(當然,人腦是多任務處理器集合,某些特定的任務如人臉識別,只需用到大腦的某個局部)。於是人們會猜想,更多的隱藏層是否會有更高的學習效果。事實證明的確如此,隨著隱藏層數的增加,一些圖片,語音的識別率越來越高。因此,就有了深度神經網路這一概念。但隱藏層數越多訓練過程也越復雜,且誤差會在多層傳遞的時候衰減,導致GradientVanish問題,最終導致訓練結果收斂在局部最優或者難以收斂。後來又有聰明的人不斷改進誤差訓練演算法,神經網路的層數深度越來越大,現在最NB的是微軟的「殘差神經網路」,已經將隱藏層提高至152層。

③ 用機器學習檢測異常點擊流

用機器學習檢測異常點擊流
本文內容是我學習ML時做的一個練手項目,描述應用機器學習的一般步驟。該項目的目標是從點擊流數據中找出惡意用戶的請求。點擊流數據長下圖這樣子,包括請求時間、IP、平台等特徵:

該項目從開始做到階段性完成,大致可分為兩個階段:演算法選擇和工程優化。演算法選擇階段挑選合適的ML模型,嘗試了神經網路、高斯分布、Isolation Forest等三個模型。由於點擊流數據本身的特性,導致神經網路和高斯分布並不適用於該場景,最終選擇了Isolation Forest。工程優化階段,最初使用單機訓練模型和預測結果,但隨著數據量的增加,最初的單機系統出現了性能瓶頸;然後開始優化性能,嘗試了分布化訓練,最終通過單機非同步化達到了性能要求。
1 演算法選擇
1.1 神經網路
剛開始沒經驗,受TensorFlow熱潮影響,先嘗試了神經網路。選用的神經網路是MLP(Multilayer Perceptron,多層感知器),一種全連接的多層網路。MLP是有監督學習,需要帶標簽的樣本,這里「帶標簽」的意思是樣本數據標注了哪些用戶請求是惡意的、哪些是正常的。但後台並沒有現成帶標簽的惡意用戶樣本數據。後來通過安全側的一些數據「間接」給用戶請求打上了標簽,然後選擇IP、平台、版本號、操作碼等數據作為MLP的輸入數據。結果當然是失敗,想了下原因有兩個:
1, 樣本的標簽質量非常差,用這些樣本訓練出來的模型性能當然也很差;
2, 輸入的特徵不足以刻畫惡意用戶。
數據的質量問題目前很難解決,所以只能棄用MLP。
1.2 高斯分布
然後嘗試其他模型。通過搜索發現,有一類ML模型專門用於異常檢測,找到了Andrew Ng介紹的基於高斯分布的異常檢測演算法:高斯分布如下圖所示:

這個演算法的思想比較簡單:與大部分樣本不一致的樣本就是異常;通過概率密度量化「不一致」。具體做法是:選擇符合高斯分布或能轉換為高斯分布的特徵,利用收集到的數據對高斯分布做參數估計,把概率密度函數值小於某個閾值的點判定為異常。
所謂的參數估計是指,給定分布數據,求分布的參數。對高斯分布來說,就是求μ和σ。用極大似然估計可以得到高斯分布參數的解析解:

得到高斯分布參數後,用下式計算概率密度:

X表示一個特徵輸入。若有多個特徵x0、x1、…、xn,一種簡單的處理方法是將其結果連乘起來即可:f(x) = f(x0)f(x1)…f(xn)。
然後選定一個閾值ε,把f(x) < ε的樣本判定為異常。ε值需根據實際情況動態調整,默認可設定ε = f(μ- 3σ)。
把這個模型初步應用於點擊流異常檢測時,效果還不錯,但在進一步實施過程中碰到一個棘手問題:樣本中最重要的一個特徵是操作碼,當前操作碼在微信後台的取值范圍是[101,1000],每個操作碼的請求次數是模型的基礎輸入,對900個特徵計算概率密度再相乘,非常容易導致結果下溢出,以致無法計算出精度合適的概率密度值。這個現象被稱為維度災難(Dimension Disaster)。
解決維度災難的一個常見做法是降維,降維的手段有多種,這里不展開討論了。在點擊流分析的實踐中,降維的效果並不好,主要原因有兩個:
1, 正常用戶和惡意用戶的訪問模式並不固定,導致很難分解出有效的特徵矩陣或特徵向量;
2, 降維的本質是有損壓縮,有損壓縮必定導致信息丟失。但在本例中每一維的信息都是關鍵信息,有損壓縮會極大破壞樣本的有效性。
高斯分布模型的維度災難在本例中較難解決,只能再嘗試其他模型了
1.3 Isolation Forest
Isolation Forest,可翻譯為孤異森林,該演算法的基本思想是:隨機選擇樣本的一個特徵,再隨機選擇該特徵取值范圍中的一個值,對樣本集做拆分,迭代該過程,生成一顆Isolation Tree;樹上葉子節點離根節點越近,其異常值越高。迭代生成多顆Isolation Tree,生成Isolation Forest,預測時,融合多顆樹的結果形成最終預測結果。Isolation Forest的基礎結構有點類似經典的隨機森林(Random Forest)。
這個異常檢測模型有效利用了異常樣本「量少」和「與正常樣本表現不一樣」的兩個特點,不依賴概率密度因此不會導致高維輸入的下溢出問題。提取少量點擊流樣本測試,它在900維輸入的情況下也表現良好,最終選擇它作為系統的模型。
2 工程優化
工程實現經歷了單機訓練、分布式訓練、單機非同步化訓練3個方案,下面內容介紹實現過程中碰到的問題和解決方法。
2.1 單機訓練
整個系統主要包括收集數據、訓練模型、預測異常、上報結果四個部分。
2.1.1 收集數據
剛開始嘗試該模型時,是通過手工方式從mmstreamstorage獲取樣本的:
1,通過logid 11357,得到手工登錄成功用戶的uin和登錄時間;
2,利用mmstreamstorage提供的介面,得到用戶登錄後10分鍾的點擊流;
但這樣做有兩個缺點:
1,上述步驟1是離線手工操作的,需要做成自動化;
2,mmstreamstorage的介面性能較差,只能提供2萬/min的查詢性能,上海IDC登錄的峰值有9萬/min。
改進辦法是復用點擊流上報模塊mmstreamstorage,增加一個旁路數據的邏輯:
1,手工登錄時在presence中記錄手工登錄時間,mmstreamstorage基於該時間旁路一份數據給mmguardstore。由於mmstreamstorage每次只能提供單挑點擊流數據,所以需要在mmguardstore中緩存;
2,mmguardstore做完數據清洗和特徵提取,然後把樣本數據落地,最後利用crontab定期將該數據同步到Hadoop集群中。
最終的數據收集模塊結構圖如下所示:

點擊流數據提供了IP、平台、版本號、操作碼等特徵,經過多次試驗,選定用戶手工登錄後一段時間內操作碼的訪問次數作為模型的輸入。
上面我們提到過點擊流的操作碼有900個有效取值,所以一個顯然的處理方法是,在mmguardstore中把用戶的點擊流數據轉化為一個900維的向量,key是cgi id,value是對應cgi的訪問次數。該向量刻畫了用戶的行為,可稱為行為特徵向量。
2.1.2 訓練模型
初起為了控制不確定性,只輸入1萬/分鍾的樣本給模型訓練和預測。系統的工作流程是先從Hadoop載入上一分鍾的樣本數據,然後用數據訓練Isolation Forest模型,最後用訓練好的模型做異常檢測,並將檢測結果同步到tdw。
在1萬/分鍾輸入下取得較好的檢測結果後,開始導入全量數據,全量數據數據的峰值為20萬/分鍾左右。出現的第一個問題是,一分鍾內無法完成載入數據、訓練模型、預測結果,單載入數據就耗時10分鍾左右。這里先解釋下為什麼有「一分鍾」的時間周期限制,主要原因有兩個:
1, 想盡快獲取檢測結果;
2, 由於點擊流異常檢測場景的特殊性,模型性能有時效性,需要經常用最新數據訓練新的模型。
解決性能問題的第一步是要知道性能瓶頸在哪裡,抽樣發現主要是載入數據和訓練模型耗時較多,預測異常和上報結果的耗時並沒有隨數據量的增加而快速上漲。
載入數據的耗時主要消耗在網路通信上:樣本文件太大了,導致系統從Hadoop同步樣本數據時碰到網路帶寬瓶頸。但由於樣本是文本類數據,對數據先壓縮再傳輸可極大減少通信量,這里的耗時比較容易優化。
訓練模型的耗時增加源於輸入數據量的增加。下圖是1萬樣本/min的輸入下,系統個階段的耗時:

其中:
載入程序: 2s
載入數據: 6s
訓練模型:11s
分類異常: 2s
保存結果: 4s
單輪總耗時:25s
需處理全量數據時,按線性關系換算,「訓練模型」耗時為:11s * 24 = 264s,約為4.4分鍾,單機下無法在1分鍾內完成計算。
最先想到的優化訓練模型耗時的辦法是分布式訓練。
2.2 分布式訓練
由於scikit-learn只提供單機版的Isolation Forest實現,所以只能自己實現它的分布式版本。了解了下目前最常用的分布式訓練方法是參數伺服器(Parameter Server,PS)模式,其想法比較簡單:訓練模型並行跑在多機上,訓練結果在PS合並。示意圖如下所示:

分布式訓練對演算法有一定要求,而Isolation Forest正好適用於分布式訓練。
然後嘗試在TensorFlow上實現Isolation Forest的分布式訓練版本。選擇TensorFlow的原因有主要兩個:
1, TensorFlow已經實現了一個分布式訓練框架;
2, TensorFlow的tf.contrib.learn包已經實現的Random Forest可作參考(Isolation Forest在結構上與Random Forest類似),只需對Isolation Forest定製一個Operation即可。
寫完代碼測試時,發現了個巨坑的問題:TenforFlow內部的序列化操作非常頻繁、性能十分差。構造了110個測試樣本,scikit-learn耗時只有0.340秒,29萬次函數調用;而TensorFlow耗時達207.831秒,有2.48億次函數調用。
TensorFlow性能抽樣:

Scikit-learn性能抽樣:

從TensorFlow的性能抽樣數據可以看到,耗時排前排的函數都不是實現Isolation Forest演算法的函數,其原因應該與TensorFlow基於Graph、Session的實現方式有關。感覺這里坑比較深,遂放棄填坑。
也了解了下基於Spark的spark-sklearn,該項目暫時還未支持Isolation Forest,也因為坑太深,一時半會搞不定而放棄了。
2.3 單機非同步化訓練
沒搞定分布式訓練,只能回到單機場景再想辦法。單機優化有兩個著力點:優化演算法實現和優化系統結構。
首先看了下scikit-learn中Isoaltion Forest的實現,底層專門用Cython優化了,再加上Joblib庫的多CPU並行,演算法實現上的優化空間已經很小了,只能從系統結構上想辦法。
系統結構上的優化有兩個利器:並行化和非同步化。之前的單機模型,載入數據、訓練模型、預測異常、上報結果在單進程中串列執行,由此想到的辦法是啟動4個工作進程分別處理相應的四個任務:非同步訓練模型、預測異常和上報結果,並行載入數據。工作進程之間用隊列通信,隊列的一個優勢是容易實現流量控制。
寫完代碼測試,卻發現YARD環境中的Python HDFS庫在多進程並發下直接拋異常。嘗試多個方法發現這個問題較難解決,暫時只能想辦法規避。經測試發現,直接從Hadoop同步所有壓縮過的樣本數據只需2秒左右,由此想到規避方法是:先單進程同步所有樣本數據,再多進程並發解壓、載入和預測。
按上述想法修改代碼測試,效果較好,處理所有樣本只需20秒左右,達到了1分鍾處理完所有樣本的要求。然後提交YARD作業線上跑,處理所有樣本耗時卻達到200~400秒:

咨詢YARD側同學,得知YARD對提交的離線作業有CPU配額的硬限制,分時段配額如下表:
00:00~09:00 80%
09:00~19:00 50%
19:00~23:00 15%
23:00~24:00 50%
晚高峰時段的配額只有15%。
與YARD側同學溝通,他們答應後續會支持scikit-learn庫的在線服務。目前通過手工方式在一台有scikit-learn的mmguardstore機器上運行在線服務,晚高峰時段處理全量數據耗時為20秒左右。
最終的系統結構圖如下圖所示:

模型訓練進程定期訓練最新的模型,並把模型通過隊列傳給預測進程。預測進程每分鍾運行一次,檢查模型隊列上是否有新模型可使用,然後載入數據、檢測異常,將檢測結果通過上報隊列傳給上報進程。上報進程block在上報隊列上,一旦發現有新數據,就根據數據類型執行上報監控、上報tdw等操作。
2.4 評估性能
安全側將異常用戶分為以下幾類:盜號、LBS/加好友、養號、欺詐、外掛/多開等。由於這些分類的異常打擊是由不同同學負責,不便於對Isolation Forest的分類結果做評估,因此需要在Isolation Forest的基礎上,再加一個分類器,標記「異常樣本」的小類。利用操作碼實現了該分類器。
接入全量數據後,每天准實時分析1億量級的樣本,檢測出500萬左右的異常,精確分類出15萬左右的惡意請求。惡意請求的uin、類型、發生時間通過tdw中轉給安全側。安全側通過線下人工分析和線上打擊,從結果看檢測效果較好。
2.5 持續優化
再回過頭觀察點擊流數據,我們使用的Isolation Forest模型只利用了操作碼的統計數據。可以明顯看到,點擊流是一個具備時間序列信息的時序數據。而自然語言處理(Natural LanguageProcessing,NLP)領域已經積累了非常多的處理時序數據的理論和實戰經驗,如LSTM、word2vec等模型。後續期望能引入NLP的相關工具挖掘出更多惡意用戶。

④ 寫一篇3千字左右的異常入侵檢測方法的小論文

2: 入侵檢測系統(IDS)概念

1980年,James P.Anderson 第一次系統闡述了入侵檢測的概念,並將入侵行為分為外部滲透、內部滲透和不法行為三種,還提出了利用審計數據監視入侵活動的思想[1]。即其之後,1986年Dorothy E.Denning提出實時異常檢測的概念[2]並建立了第一個實時入侵檢測模型,命名為入侵檢測專家系統(IDES),1990年,L.T.Heberlein等設計出監視網路數據流的入侵檢測系統,NSM(Network Security Monitor)。自此之後,入侵檢測系統才真正發展起來。
Anderson將入侵嘗試或威脅定義為:潛在的、有預謀的、未經授權的訪問信息、操作信息、致使系統不可靠或無法使用的企圖。而入侵檢測的定義為[4]:發現非授權使用計算機的個體(如「黑客」)或計算機系統的合法用戶濫用其訪問系統的權利以及企圖實施上述行為的個體。執行入侵檢測任務的程序即是入侵檢測系統。入侵檢測系統也可以定義為:檢測企圖破壞計算機資源的完整性,真實性和可用性的行為的軟體
入侵檢測系統執行的主要任務包括[3]:監視、分析用戶及系統活動;審計系統構造和弱點;識別、反映已知進攻的活動模式,向相關人士報警;統計分析異常行為模式;評估重要系統和數據文件的完整性;審計、跟蹤管理操作系統,識別用戶違反安全策略的行為。入侵檢測一般分為三個步驟:信息收集、數據分析、響應。
入侵檢測的目的:(1)識別入侵者;(2)識別入侵行為;(3)檢測和監視以實施的入侵行為;(4)為對抗入侵提供信息,阻止入侵的發生和事態的擴大;

3: 入侵檢測系統模型

美國斯坦福國際研究所(SRI)的D.E.Denning於1986年首次提出一種入侵檢測模型[2],該模型的檢測方法就是建立用戶正常行為的描述模型,並以此同當前用戶活動的審計記錄進行比較,如果有較大偏差,則表示有異常活動發生。這是一種基於統計的檢測方法。隨著技術的發展,後來人們又提出了基於規則的檢測方法。結合這兩種方法的優點,人們設計出很多入侵檢測的模型。通用入侵檢測構架(Common Intrusion Detection Framework簡稱CIDF)組織,試圖將現有的入侵檢測系統標准化,CIDF闡述了一個入侵檢測系統的通用模型(一般稱為CIDF模型)。它將一個入侵檢測系統分為以下四個組件:
事件產生器(Event Generators)
事件分析器(Event analyzers)
響應單元(Response units)
事件資料庫(Event databases)
它將需要分析的數據通稱為事件,事件可以是基於網路的數據包也可以是基於主機的系統日誌中的信息。事件產生器的目的是從整個計算機環境中獲得事件,並向系統其它部分提供此事件。事件分析器分析得到的事件並產生分析結果。響應單元則是對分析結果做出反應的功能單元,它可以做出切斷連接、修改文件屬性等強烈反應。事件資料庫是存放各種中間和最終數據的地方的通稱,它可以是復雜的資料庫也可以是簡單的文本文件。

4: 入侵檢測系統的分類

現有的IDS的分類,大都基於信息源和分析方法。為了體現對IDS從布局、採集、分析、響應等各個層次及系統性研究方面的問題,在這里採用五類標准:控制策略、同步技術、信息源、分析方法、響應方式。
按照控制策略分類
控制策略描述了IDS的各元素是如何控制的,以及IDS的輸入和輸出是如何管理的。按照控制策略IDS可以劃分為,集中式IDS、部分分布式IDS和全部分布式IDS。在集中式IDS中,一個中央節點控制系統中所有的監視、檢測和報告。在部分分布式IDS中,監控和探測是由本地的一個控制點控制,層次似的將報告發向一個或多個中心站。在全分布式IDS中,監控和探測是使用一種叫「代理」的方法,代理進行分析並做出響應決策。
按照同步技術分類
同步技術是指被監控的事件以及對這些事件的分析在同一時間進行。按照同步技術劃分,IDS劃分為間隔批任務處理型IDS和實時連續性IDS。在間隔批任務處理型IDS中,信息源是以文件的形式傳給分析器,一次只處理特定時間段內產生的信息,並在入侵發生時將結果反饋給用戶。很多早期的基於主機的IDS都採用這種方案。在實時連續型IDS中,事件一發生,信息源就傳給分析引擎,並且立刻得到處理和反映。實時IDS是基於網路IDS首選的方案。
按照信息源分類
按照信息源分類是目前最通用的劃分方法,它分為基於主機的IDS、基於網路的IDS和分布式IDS。基於主機的IDS通過分析來自單個的計算機系統的系統審計蹤跡和系統日誌來檢測攻擊。基於主機的IDS是在關鍵的網段或交換部位通過捕獲並分析網路數據包來檢測攻擊。分布式IDS,能夠同時分析來自主機系統日誌和網路數據流,系統由多個部件組成,採用分布式結構。
按照分析方法分類
按照分析方法IDS劃分為濫用檢測型IDS和異常檢測型IDS。濫用檢測型的IDS中,首先建立一個對過去各種入侵方法和系統缺陷知識的資料庫,當收集到的信息與庫中的原型相符合時則報警。任何不符合特定條件的活動將會被認為合法,因此這樣的系統虛警率很低。異常檢測型IDS是建立在如下假設的基礎之上的,即任何一種入侵行為都能由於其偏離正常或者所期望的系統和用戶活動規律而被檢測出來。所以它需要一個記錄合法活動的資料庫,由於庫的有限性使得虛警率比較高。
按照響應方式分類
按照響應方式IDS劃分為主動響應IDS和被動響應IDS。當特定的入侵被檢測到時,主動IDS會採用以下三種響應:收集輔助信息;改變環境以堵住導致入侵發生的漏洞;對攻擊者採取行動(這是一種不被推薦的做法,因為行為有點過激)。被動響應IDS則是將信息提供給系統用戶,依靠管理員在這一信息的基礎上採取進一步的行動。

5: IDS的評價標准

目前的入侵檢測技術發展迅速,應用的技術也很廣泛,如何來評價IDS的優缺點就顯得非常重要。評價IDS的優劣主要有這樣幾個方面[5]:(1)准確性。准確性是指IDS不會標記環境中的一個合法行為為異常或入侵。(2)性能。IDS的性能是指處理審計事件的速度。對一個實時IDS來說,必須要求性能良好。(3)完整性。完整性是指IDS能檢測出所有的攻擊。(4)故障容錯(fault tolerance)。當被保護系統遭到攻擊和毀壞時,能迅速恢復系統原有的數據和功能。(5)自身抵抗攻擊能力。這一點很重要,尤其是「拒絕服務」攻擊。因為多數對目標系統的攻擊都是採用首先用「拒絕服務」攻擊摧毀IDS,再實施對系統的攻擊。(6)及時性(Timeliness)。一個IDS必須盡快地執行和傳送它的分析結果,以便在系統造成嚴重危害之前能及時做出反應,阻止攻擊者破壞審計數據或IDS本身。
除了上述幾個主要方面,還應該考慮以下幾個方面:(1)IDS運行時,額外的計算機資源的開銷;(2)誤警報率/漏警報率的程度;(3)適應性和擴展性;(4)靈活性;(5)管理的開銷;(6)是否便於使用和配置。

6: IDS的發展趨

隨著入侵檢測技術的發展,成型的產品已陸續應用到實踐中。入侵檢測系統的典型代表是ISS(國際互聯網安全系統公司)公司的RealSecure。目前較為著名的商用入侵檢測產品還有:NAI公司的CyberCop Monitor、Axent公司的NetProwler、CISCO公司的Netranger、CA公司的Sessionwall-3等。國內的該類產品較少,但發展很快,已有總參北方所、中科網威、啟明星辰等公司推出產品。
人們在完善原有技術的基礎上,又在研究新的檢測方法,如數據融合技術,主動的自主代理方法,智能技術以及免疫學原理的應用等。其主要的發展方向可概括為:
(1)大規模分布式入侵檢測。傳統的入侵檢測技術一般只局限於單一的主機或網路框架,顯然不能適應大規模網路的監測,不同的入侵檢測系統之間也不能協同工作。因此,必須發展大規模的分布式入侵檢測技術。
(2)寬頻高速網路的實時入侵檢測技術。大量高速網路的不斷涌現,各種寬頻接入手段層出不窮,如何實現高速網路下的實時入侵檢測成為一個現實的問題。
(3)入侵檢測的數據融合技術。目前的IDS還存在著很多缺陷。首先,目前的技術還不能對付訓練有素的黑客的復雜的攻擊。其次,系統的虛警率太高。最後,系統對大量的數據處理,非但無助於解決問題,還降低了處理能力。數據融合技術是解決這一系列問題的好方法。
(4)與網路安全技術相結合。結合防火牆,病毒防護以及電子商務技術,提供完整的網路安全保障。

⑤ 神經網路異常檢測方法和機器學習異常檢測方法對於入侵檢測的應用

神經網路異常檢測方法

神經網路入侵檢測方法是通過訓練神經網路連續的信息單元來進行異常檢測,信息單元指的是命令。網路的輸入為用戶當前輸入的命令和已執行過的W個命令;用戶執行過的命令被神經網路用來預測用戶輸入的下一個命令,如下圖。若神經網路被訓練成預測用戶輸入命令的序列集合,則神經網路就構成用戶的輪郭框架。當用這個神經網路預測不出某用戶正確的後繼命令,即在某種程度上表明了用戶行為與其輪廓框架的偏離,這時表明有異常事件發生,以此就能作異常入侵檢測。


上面式子用來分類識別,檢測異常序列。實驗結果表明這種方法檢測迅速,而且誤警率底。然而,此方法對於用戶動態行為變化以及單獨異常檢測還有待改善。復雜的相似度量和先驗知識加入到檢測中可能會提高系統的准確性,但需要做進一步工作。

⑥ 基於神經網路的故障診斷

神經網路的是我的畢業論文的一部分
4.人工神經網路
人的思維有邏輯性和直觀性兩種不同的基本方式。邏輯性的思維是指根據邏輯規則進行推理的過程;它先將信息化成概念,並用符號表示,然後,根據符號運算按串列模式進行邏輯推理。這一過程可以寫成串列的指令,讓計算機執行。然而,直觀性的思維是將分布式存儲的信息綜合起來,結果是忽然間產生想法或解決問題的辦法。這種思維方式的根本之點在於以下兩點:1.信息是通過神經元上的興奮模式分布在網路上;2.信息處理是通過神經元之間同時相互作用的動態過程來完成的。
人工神經網路就是模擬人思維的第二種方式。這是一個非線性動力學系統,其特色在於信息的分布式存儲和並行協同處理。雖然單個神經元的結構極其簡單,功能有限,但大量神經元構成的網路系統所能實現的行為卻是極其豐富多彩的。
4.1人工神經網路學習的原理
人工神經網路首先要以一定的學習准則進行學習,然後才能工作。現以人工神經網路對手寫「A」、「B」兩個字母的識別為例進行說明,規定當「A」輸入網路時,應該輸出「1」,而當輸入為「B」時,輸出為「0」。
所以網路學習的准則應該是:如果網路做出錯誤的判決,則通過網路的學習,應使得網路減少下次犯同樣錯誤的可能性。首先,給網路的各連接權值賦予(0,1)區間內的隨機值,將「A」所對應的圖像模式輸入給網路,網路將輸入模式加權求和、與門限比較、再進行非線性運算,得到網路的輸出。在此情況下,網路輸出為「1」和「0」的概率各為50%,也就是說是完全隨機的。這時如果輸出為「1」(結果正確),則使連接權值增大,以便使網路再次遇到「A」模式輸入時,仍然能做出正確的判斷。
如果輸出為「0」(即結果錯誤),則把網路連接權值朝著減小綜合輸入加權值的方向調整,其目的在於使網路下次再遇到「A」模式輸入時,減小犯同樣錯誤的可能性。如此操作調整,當給網路輪番輸入若干個手寫字母「A」、「B」後,經過網路按以上學習方法進行若干次學習後,網路判斷的正確率將大大提高。這說明網路對這兩個模式的學習已經獲得了成功,它已將這兩個模式分布地記憶在網路的各個連接權值上。當網路再次遇到其中任何一個模式時,能夠做出迅速、准確的判斷和識別。一般說來,網路中所含的神經元個數越多,則它能記憶、識別的模式也就越多。
4.2人工神經網路的優缺點
人工神經網路由於模擬了大腦神經元的組織方式而具有了人腦功能的一些基本特徵,為人工智慧的研究開辟了新的途徑,神經網路具有的優點在於:
(1)並行分布性處理
因為人工神經網路中的神經元排列並不是雜亂無章的,往往是分層或以一種有規律的序列排列,信號可以同時到達一批神經元的輸入端,這種結構非常適合並行計算。同時如果將每一個神經元看作是一個小的處理單元,則整個系統可以是一個分布式計算系統,這樣就避免了以往的「匹配沖突」,「組合爆炸」和「無窮遞歸」等題,推理速度快。
(2)可學習性
一個相對很小的人工神經網路可存儲大量的專家知識,並且能根據學習演算法,或者利用樣本指導系統來模擬現實環境(稱為有教師學習),或者對輸入進行自適應學習(稱為無教師學習),不斷地自動學習,完善知識的存儲。
(3)魯棒性和容錯性
由於採用大量的神經元及其相互連接,具有聯想記憶與聯想映射能力,可以增強專家系統的容錯能力,人工神經網路中少量的神經元發生失效或錯誤,不會對系統整體功能帶來嚴重的影響。而且克服了傳統專家系統中存在的「知識窄台階」問題。
(4)泛化能力
人工神經網路是一類大規模的非線形系統,這就提供了系統自組織和協同的潛力。它能充分逼近復雜的非線形關系。當輸入發生較小變化,其輸出能夠與原輸入產生的輸出保持相當小的差距。
(5)具有統一的內部知識表示形式,任何知識規則都可以通過對範例的學習存儲於同一個神經網路的各連接權值中,便於知識庫的組織管理,通用性強。
雖然人工神經網路有很多優點,但基於其固有的內在機理,人工神經網路也不可避免的存在自己的弱點:
(1)最嚴重的問題是沒能力來解釋自己的推理過程和推理依據。
(2)神經網路不能向用戶提出必要的詢問,而且當數據不充分的時候,神經網路就無法進行工作。
(3)神經網路把一切問題的特徵都變為數字,把一切推理都變為數值計算,其結果勢必是丟失信息。
(4)神經網路的理論和學習演算法還有待於進一步完善和提高。
4.3神經網路的發展趨勢及在柴油機故障診斷中的可行性
神經網路為現代復雜大系統的狀態監測和故障診斷提供了全新的理論方法和技術實現手段。神經網路專家系統是一類新的知識表達體系,與傳統專家系統的高層邏輯模型不同,它是一種低層數值模型,信息處理是通過大量的簡單處理元件(結點) 之間的相互作用而進行的。由於它的分布式信息保持方式,為專家系統知識的獲取與表達以及推理提供了全新的方式。它將邏輯推理與數值運算相結合,利用神經網路的學習功能、聯想記憶功能、分布式並行信息處理功能,解決診斷系統中的不確定性知識表示、獲取和並行推理等問題。通過對經驗樣本的學習,將專家知識以權值和閾值的形式存儲在網路中,並且利用網路的信息保持性來完成不精確診斷推理,較好地模擬了專家憑經驗、直覺而不是復雜的計算的推理過程。
但是,該技術是一個多學科知識交叉應用的領域,是一個不十分成熟的學科。一方面,裝備的故障相當復雜;另一方面,人工神經網路本身尚有諸多不足之處:
(1)受限於腦科學的已有研究成果。由於生理實驗的困難性,目前對於人腦思維與記憶機制的認識還很膚淺。
(2)尚未建立起完整成熟的理論體系。目前已提出了眾多的人工神經網路模型,歸納起來,這些模型一般都是一個由結點及其互連構成的有向拓撲網,結點間互連強度所構成的矩陣,可通過某種學習策略建立起來。但僅這一共性,不足以構成一個完整的體系。這些學習策略大多是各行其是而無法統一於一個完整的框架之中。
(3)帶有濃厚的策略色彩。這是在沒有統一的基礎理論支持下,為解決某些應用,而誘發出的自然結果。
(4)與傳統計算技術的介面不成熟。人工神經網路技術決不能全面替代傳統計算技術,而只能在某些方面與之互補,從而需要進一步解決與傳統計算技術的介面問題,才能獲得自身的發展。
雖然人工神經網路目前存在諸多不足,但是神經網路和傳統專家系統相結合的智能故障診斷技術仍將是以後研究與應用的熱點。它最大限度地發揮兩者的優勢。神經網路擅長數值計算,適合進行淺層次的經驗推理;專家系統的特點是符號推理,適合進行深層次的邏輯推理。智能系統以並行工作方式運行,既擴大了狀態監測和故障診斷的范圍,又可滿足狀態監測和故障診斷的實時性要求。既強調符號推理,又注重數值計算,因此能適應當前故障診斷系統的基本特徵和發展趨勢。隨著人工神經網路的不斷發展與完善,它將在智能故障診斷中得到廣泛的應用。
根據神經網路上述的各類優缺點,目前有將神經網路與傳統的專家系統結合起來的研究傾向,建造所謂的神經網路專家系統。理論分析與使用實踐表明,神經網路專家系統較好地結合了兩者的優點而得到更廣泛的研究和應用。
離心式製冷壓縮機的構造和工作原理與離心式鼓風機極為相似。但它的工作原理與活塞式壓縮機有根本的區別,它不是利用汽缸容積減小的方式來提高汽體的壓力,而是依靠動能的變化來提高汽體壓力。離心式壓縮機具有帶葉片的工作輪,當工作輪轉動時,葉片就帶動汽體運動或者使汽體得到動能,然後使部分動能轉化為壓力能從而提高汽體的壓力。這種壓縮機由於它工作時不斷地將製冷劑蒸汽吸入,又不斷地沿半徑方向被甩出去,所以稱這種型式的壓縮機為離心式壓縮機。其中根據壓縮機中安裝的工作輪數量的多少,分為單級式和多級式。如果只有一個工作輪,就稱為單級離心式壓縮機,如果是由幾個工作輪串聯而組成,就稱為多級離心式壓縮機。在空調中,由於壓力增高較少,所以一般都是採用單級,其它方面所用的離心式製冷壓縮機大都是多級的。單級離心式製冷壓縮機的構造主要由工作輪、擴壓器和蝸殼等所組成。 壓縮機工作時製冷劑蒸汽由吸汽口軸向進入吸汽室,並在吸汽室的導流作用引導由蒸發器(或中間冷卻器)來的製冷劑蒸汽均勻地進入高速旋轉的工作輪3(工作輪也稱葉輪,它是離心式製冷壓縮機的重要部件,因為只有通過工作輪才能將能量傳給汽體)。汽體在葉片作用下,一邊跟著工作輪作高速旋轉,一邊由於受離心力的作用,在葉片槽道中作擴壓流動,從而使汽體的壓力和速度都得到提高。由工作輪出來的汽體再進入截面積逐漸擴大的擴壓器4(因為汽體從工作輪流出時具有較高的流速,擴壓器便把動能部分地轉化為壓力能,從而提高汽體的壓力)。汽體流過擴壓器時速度減小,而壓力則進一步提高。經擴壓器後汽體匯集到蝸殼中,再經排氣口引導至中間冷卻器或冷凝器中。

二、離心式製冷壓縮機的特點與特性

離心式製冷壓縮機與活塞式製冷壓縮機相比較,具有下列優點:

(1)單機製冷量大,在製冷量相同時它的體積小,佔地面積少,重量較活塞式輕5~8倍。

(2)由於它沒有汽閥活塞環等易損部件,又沒有曲柄連桿機構,因而工作可靠、運轉平穩、噪音小、操作簡單、維護費用低。

(3)工作輪和機殼之間沒有摩擦,無需潤滑。故製冷劑蒸汽與潤滑油不接觸,從而提高了蒸發器和冷凝器的傳熱性能。

(4)能經濟方便的調節製冷量且調節的范圍較大。

(5)對製冷劑的適應性差,一台結構一定的離心式製冷壓縮機只能適應一種製冷劑。

(6)由於適宜採用分子量比較大的製冷劑,故只適用於大製冷量,一般都在25~30萬大卡/時以上。如製冷量太少,則要求流量小,流道窄,從而使流動阻力大,效率低。但近年來經過不斷改進,用於空調的離心式製冷壓縮機,單機製冷量可以小到10萬大卡/時左右。

製冷與冷凝溫度、蒸發溫度的關系。

由物理學可知,回轉體的動量矩的變化等於外力矩,則

T=m(C2UR2-C1UR1)

兩邊都乘以角速度ω,得

Tω=m(C2UωR2-C1UωR1)

也就是說主軸上的外加功率N為:

N=m(U2C2U-U1C1U)

上式兩邊同除以m則得葉輪給予單位質量製冷劑蒸汽的功即葉輪的理論能量頭。 U2 C2

ω2 C2U R1 R2 ω1 C1 U1 C2r β 離心式製冷壓縮機的特性是指理論能量頭與流量之間變化關系,也可以表示成製冷

W=U2C2U-U1C1U≈U2C2U

(因為進口C1U≈0)

又C2U=U2-C2rctgβ C2r=Vυ1/(A2υ2)

故有

W= U22(1-

Vυ1

ctgβ)

A2υ2U2

式中:V—葉輪吸入蒸汽的容積流量(m3/s)

υ1υ2 ——分別為葉輪入口和出口處的蒸汽比容(m3/kg)

A2、U2—葉輪外緣出口面積(m2)與圓周速度(m/s)

β—葉片安裝角

由上式可見,理論能量頭W與壓縮機結構、轉速、冷凝溫度、蒸發溫度及葉輪吸入蒸汽容積流量有關。對於結構一定、轉速一定的壓縮機來說,U2、A2、β皆為常量,則理論能量頭W僅與流量V、蒸發溫度、冷凝溫度有關。

按照離心式製冷壓縮機的特性,宜採用分子量比較大的製冷劑,目前離心式製冷機所用的製冷劑有F—11、F—12、F—22、F—113和F—114等。我國目前在空調用離心式壓縮機中應用得最廣泛的是F—11和F—12,且通常是在蒸發溫度不太低和大製冷量的情況下,選用離心式製冷壓縮機。此外,在石油化學工業中離心式的製冷壓縮機則採用丙烯、乙烯作為製冷劑,只有製冷量特別大的離心式壓縮機才用氨作為製冷劑。

三、離心式製冷壓縮機的調節

離心式製冷壓縮機和其它製冷設備共同構成一個能量供給與消耗的統一系統。製冷機組在運行時,只有當通過壓縮機的製冷劑的流量與通過設備的流量相等時,以及壓縮機所產生的能量頭與製冷設備的阻力相適應時,製冷系統的工況才能保持穩定。但是製冷機的負荷總是隨外界條件與用戶對冷量的使用情況而變化的,因此為了適應用戶對冷負荷變化的需要和安全經濟運行,就需要根據外界的變化對製冷機組進行調節,離心式製冷機組製冷量的調節有:1°改變壓縮機的轉速;2°採用可轉動的進口導葉;3°改變冷凝器的進水量;4°進汽節流等幾種方式,其中最常用的是轉動進口導葉調節和進汽節流兩種調節方法。所謂轉動進口導葉調節,就是轉動壓縮機進口處的導流葉片以使進入到葉輪去的汽體產生旋繞,從而使工作輪加給汽體的動能發生變化來調節製冷量。所謂進汽節流調節,就是在壓縮機前的進汽管道上安裝一個調節閥,如要改變壓縮機的工況時,就調節閥門的大小,通過節流使壓縮機進口的壓力降低,從而實現調節製冷量。離心式壓縮機製冷量的調節最經濟有效的方法就是改變進口導葉角度,以改變蒸汽進入葉輪的速度方向(C1U)和流量V。但流量V必須控制在穩定工作范圍內,以免效率下降。

⑦ 深度神經網路是如何訓練的

Coursera的Ng機器學習,UFLDL都看過。沒記錯的話Ng的機器學習里是直接給出公式了,雖然你可能知道如何求解,但是即使不知道完成作業也不是問題,只要照著公式寫就行。反正我當時看的時候心裡並沒能比較清楚的明白。我覺得想了解深度學習UFLDL教程 - Ufldl是不錯的。有習題,做完的話確實會對深度學習有更加深刻的理解,但是總還不是很清晰。後來看了Li FeiFei的Stanford University CS231n: Convolutional Neural Networks for Visual Recognition,我的感覺是對CNN的理解有了很大的提升。沉下心來推推公式,多思考,明白了反向傳播本質上是鏈式法則(雖然之前也知道,但是當時還是理解的迷迷糊糊的)。所有的梯度其實都是對最終的loss進行求導得到的,也就是標量對矩陣or向量的求導。當然同時也學到了許多其他的關於cnn的。並且建議你不僅要完成練習,最好能自己也寫一個cnn,這個過程可能會讓你學習到許多更加細節和可能忽略的東西。這樣的網路可以使用中間層構建出多層的抽象,正如我們在布爾線路中做的那樣。例如,如果我們在進行視覺模式識別,那麼在第一層的神經元可能學會識別邊,在第二層的神經元可以在邊的基礎上學會識別出更加復雜的形狀,例如三角形或者矩形。第三層將能夠識別更加復雜的形狀。依此類推。這些多層的抽象看起來能夠賦予深度網路一種學習解決復雜模式識別問題的能力。然後,正如線路的示例中看到的那樣,存在著理論上的研究結果告訴我們深度網路在本質上比淺層網路更加強大。

⑧ 深度學習的現狀和趨勢

論壇

活動

招聘

專題

打開CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved

搜索博文/帖子/用戶
登錄

喜歡打醬油的老鳥
關注
深度學習技術發展趨勢淺析 轉載
2019-04-09 08:37:11
1點贊

喜歡打醬油的老鳥

碼齡2年

關注
https://mp.weixin.qq.com/s/FtIhKiENv483iHE053RPkg

當前,人工智慧發展藉助深度學習技術突破得到了全面關注和助力推動,各國政府高度重視、資本熱潮仍在加碼,各界對其成為發展熱點也達成了共識。本文旨在分析深度學習技術現狀,研判深度學習發展趨勢,並針對我國的技術水平提出發展建議。

一、深度學習技術現狀

深度學習是本輪人工智慧爆發的關鍵技術。人工智慧技術在計算機視覺和自然語言處理等領域取得的突破性進展,使得人工智慧迎來新一輪爆發式發展。而深度學習是實現這些突破性進展的關鍵技術。其中,基於深度卷積網路的圖像分類技術已超過人眼的准確率,基於深度神經網路的語音識別技術已達到95%的准確率,基於深度神經網路的機器翻譯技術已接近人類的平均翻譯水平。准確率的大幅提升使得計算機視覺和自然語言處理進入產業化階段,帶來新產業的興起。

深度學習是大數據時代的演算法利器,成為近幾年的研究熱點。和傳統的機器學習演算法相比,深度學習技術有著兩方面的優勢。一是深度學習技術可隨著數據規模的增加不斷提升其性能,而傳統機器學習演算法難以利用海量數據持續提升其性能。二是深度學習技術可以從數據中直接提取特徵,削減了對每一個問題設計特徵提取器的工作,而傳統機器學習演算法需要人工提取特徵。因此,深度學習成為大數據時代的熱點技術,學術界和產業界都對深度學習展開了大量的研究和實踐工作。

深度學習各類模型全面賦能基礎應用。卷積神經網路和循環神經網路是兩類獲得廣泛應用的深度神經網路模型。計算機視覺和自然語言處理是人工智慧兩大基礎應用。卷積神經網路廣泛應用於計算機視覺領域,在圖像分類、目標檢測、語義分割等任務上的表現大大超越傳統方法。循環神經網路適合解決序列信息相關問題,已廣泛應用於自然語言處理領域,如語音識別、機器翻譯、對話系統等。

二、深度學習發展趨勢

深度神經網路呈現層數越來越深,結構越來越復雜的發展趨勢。為了不斷提升深度神經網路的性能,業界從網路深度和網路結構兩方面持續進行探索。神經網路的層數已擴展到上百層甚至上千層,隨著網路層數的不斷加深,其學習效果也越來越好,2015年微軟提出的ResNet以152層的網路深度在圖像分類任務上准確率首次超過人眼。新的網路設計結構不斷被提出,使得神經網路的結構越來越復雜。如:2014年穀歌提出了Inception網路結構、2015年微軟提出了殘差網路結構、2016年黃高等人提出了密集連接網路結構,這些網路結構設計不斷提升了深度神經網路的性能。

深度神經網路節點功能不斷豐富。為了克服目前神經網路存在的局限性,業界探索並提出了新型神經網路節點,使得神經網路的功能越來越豐富。2017年,傑弗里•辛頓提出了膠囊網路的概念,採用膠囊作為網路節點,理論上更接近人腦的行為,旨在克服卷積神經網路沒有空間分層和推理能力等局限性。2018年,DeepMind、谷歌大腦、MIT的學者聯合提出了圖網路的概念,定義了一類新的模塊,具有關系歸納偏置功能,旨在賦予深度學習因果推理的能力。

深度神經網路工程化應用技術不斷深化。深度神經網路模型大都具有上億的參數量和數百兆的佔用空間,運算量大,難以部署到智能手機、攝像頭和可穿戴設備等性能和資源受限的終端類設備。為了解決這個問題,業界採用模型壓縮技術降低模型參數量和尺寸,減少運算量。目前採用的模型壓縮方法包括對已訓練好的模型做修剪(如剪枝、權值共享和量化等)和設計更精細的模型(如MobileNet等)兩類。深度學習演算法建模及調參過程繁瑣,應用門檻高。為了降低深度學習的應用門檻,業界提出了自動化機器學習(AutoML)技術,可實現深度神經網路的自動化設計,簡化使用流程。

⑨ 深度學習能應用在哪些領域

深度學習的快速發展,不僅使機器學習得到許多實際的應用,還拓展了整個AI(人工智慧的)的范圍。 它將任務進行拆解,使得各種類型的機器輔助變成可能,具體分為以下幾類應用:


1、無人駕駛汽車:深度學習在無人駕駛領域主要用於圖像處理,可以用於感知周圍環境、 識別可行駛區域檢測、以及識別行駛路徑識別。

2、圖片識別及分類:識別出圖片中的對象,並建立關鍵詞,對圖片進行分類。

3、機器翻譯:基於深度學習理論,藉助海量計算機模擬的神經元,在海量的互聯網資源的依託下,來模仿人腦理解語言,形成更加符合語法規范、容易理解的譯文。

4、目標識別:即不僅可以識別出是什麼物體,還可以預測物體的位置,位置一般用邊框標記。

5、情感識別:通過深度學習,幫助計算機識別新聞、微博、博客、論壇等文本內容中所包含情感態度,從而及時發現產品的正負口碑。

6、藝術創作:通過深度學習,讓計算機學會根據不同的作曲家風格進行音樂編曲或者基於各流派畫家進行繪畫創作。

⑩ 神經網路(深度學習)的幾個基礎概念

從廣義上說深度學習的網路結構也是多層神經網路的一種。傳統意義上的多層神經網路是只有輸入層、隱藏層、輸出層。其中隱藏層的層數根據需要而定,沒有明確的理論推導來說明到底多少層合適。而深度學習中最著名的卷積神經網路CNN,在原來多層神經網路的基礎上,加入了特徵學習部分,這部分是模仿人腦對信號處理上的分級的。具體操作就是在原來的全連接的層前面加入了部分連接的卷積層與降維層,而且加入的是一個層級。輸入層 - 卷積層 -降維層 -卷積層 - 降維層 -- .... -- 隱藏層 -輸出層簡單來說,原來多層神經網路做的步驟是:特徵映射到值。特徵是人工挑選。深度學習做的步驟是 信號->特徵->值。 特徵是由網路自己選擇。

閱讀全文

與基於深度神經網路的異常流量相關的資料

熱點內容
5g網路費用怎麼設置 瀏覽:437
不同網路設置方法 瀏覽:630
如何訪問zkt打卡機網路資料庫 瀏覽:630
網路無線覆蓋組網 瀏覽:972
移動網路差去哪裡反映 瀏覽:269
為啥火車上手機網路慢 瀏覽:4
路由器無線網連接上沒有網路 瀏覽:81
惠支付網路異常怎麼辦 瀏覽:939
無線滑鼠會不會影響網路 瀏覽:310
matepadpro怎麼共享手機網路 瀏覽:454
蘋果手機上的網路模塊 瀏覽:178
王家壩網路屬於哪個部門 瀏覽:19
無線網路能否播放4k 瀏覽:141
網路買哪個牌子的電腦好 瀏覽:769
為什麼電腦提示沒有網路 瀏覽:378
語文網路閱卷作文沒寫題目扣多少 瀏覽:368
app提示網路連接失敗請稍後再試 瀏覽:621
可以看網路電視但電腦無法上網 瀏覽:128
有哪些網路大型交友聊天室 瀏覽:643
移動網路欠費很多怎麼辦 瀏覽:730

友情鏈接