日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

什么是深度学习? 模仿人脑的算法

發布時間:2024/1/8 pytorch 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是深度学习? 模仿人脑的算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

深度學習定義

深度學習是機器學習的一種形式,它將數據中的模式建模為復雜的多層網絡。 因為深度學習是對問題建模的最通用方法,所以它具有解決諸如傳統計算機編程和其他機器學習技術等難題的潛力,例如計算機視覺和自然語言處理。

深度學習不僅可以在其他方法失敗的地方產生有用的結果,而且可以比其他方法建立更準確的模型,并且可以減少建立有用模型所需的時間。 但是,訓練深度學習模型需要大量的計算能力。 深度學習的另一個缺點是難以解釋深度學習模型。

[ 也在InfoWorld上:人工智能,機器學習和深度學習:您需要知道的一切 ]

深度學習的定義特征是,要訓練的模型在輸入和輸出之間具有一個以上的隱藏層 。 在大多數討論中,深度學習意味著使用深度神經網絡。 但是,除了神經網絡之外,還有一些算法可以使用其他類型的隱藏層來實現深度學習。

深度學習與機器學習

我提到深度學習是機器學習的一種形式 。 為了符合常見用法,我將非深度機器學習稱為經典機器學習 。

通常,經典的機器學習算法的運行速度比深度學習算法快得多。 一個或多個CPU通常足以訓練經典模型。 深度學習模型通常需要硬件加速器(例如GPU,TPU或FPGA)進行培訓 ,并需要大規模部署。 沒有它們,模型將需要數月的訓練。

對于許多問題,一些經典的機器學習算法將產生一個“足夠好”的模型。 對于其他問題,過去經典的機器學習算法效果不佳。

深度學習應用

有許多問題的示例,目前需要深度學習才能生成最佳模型。 自然語言處理(NLP)是一個很好的方法。

在2016年秋季,從翻譯單詞沙拉到生成與人類專業翻譯質量相近的句子,谷歌翻譯對英語-法語,英語-漢語和英語-日語對的輸出質量突然得到了顯著提高。 幕后發生的事情是, Google Brain和Google Translate團隊將Google Translate從使用舊的基于短語的統計機器翻譯算法(一種經典的機器學習算法) 改造為使用經過 Google TensorFlow框架訓練并具有詞嵌入功能的深度神經網絡 。

那不是一個容易的項目。 許多博士級研究人員花了幾個月的時間進行模型研究,并花了數千個GPU周來訓練模型。 它還促使Google創建一種新型芯片,即Tensor處理單元(TPU),以為Google Translate大規模運行神經網絡。

除了Google Translate解決的語言翻譯問題外,主要的NLP任務還包括自動摘要,共參考解析,語篇分析,形態學分割,命名實體識別,自然語言生成,自然語言理解,詞性標注,情感分析和語音識別。

深度學習應用的另一個很好的例子是圖像分類。 由于生物通過視覺皮層處理圖像,因此許多研究人員將哺乳動物視覺皮層的結構作為神經網絡的模型,以進行圖像識別。 生物學研究可以追溯到1950年代。

視覺神經網絡領域的突破是Yann LeCun的1998 LeNet-5 ,這是一個七級卷積神經網絡 (CNN),用于識別以32x32像素圖像數字化的手寫數字。 為了分析更高分辨率的圖像,LeNet-5網絡將需要擴展到更多的神經元和更多的層。

當今最好的深度圖像分類模型可以識別高清分辨率的彩色物體。 除了純深度神經網絡(DNN),有時人們還會使用混合視覺模型,該模型將深度學習與執行特定子任務的經典機器學習算法結合在一起。

深度學習解決了除基本圖像分類以外的其他視覺問題,包括具有定位的圖像分類,對象檢測,對象分割,圖像樣式轉換,圖像著色,圖像重建,圖像超分辨率和圖像合成。

通過從視頻中提取單個幀并對每個幀進行分類,可以將圖像分類擴展為視頻分類。 可以逐幀跟蹤視頻剪輯中檢測到的對象。

根據Goodfellow,Bengio和Courville在2016年撰寫的文章,深度學習已成功用于預測分子將如何相互作用,以幫助制藥公司設計新藥,搜索亞原子顆粒并自動解析用于構建的顯微鏡圖像人腦的3-D地圖。

深度學習神經網絡

“人工”神經網絡的思想可以追溯到1940年代。 基本概念是,由相互連接的閾值開關構建的人工神經元網絡可以像動物大腦和神經系統(包括視網膜)一樣學習識別模式。

反向傳播

深度神經網絡中的學習是通過在訓練過程中同時激活兩個神經元時加強兩個神經元之間的連接來進行的。 在現代神經網絡軟件中,最常見的問題是使用稱為誤差 ,反向傳播或BP 反向傳播的規則來增加神經元之間連接的權重值。

神經元

神經元如何建模? 每個都有一個傳播函數,該函數通常使用加權和來轉換連接的神經元的輸出。 傳播函數的輸出傳遞到激活函數,當其輸入超過閾值時將激活。

激活功能

在1940年代和1950年代,人工神經元使用階躍激活功能,稱為感知器 。 現代神經網絡可能會說他們正在使用感知器,但實際上它們具有平滑的激活函數,例如邏輯或乙狀結腸函數,雙曲正切和整流線性單位(ReLU)。 ReLU通常是快速收斂的最佳選擇,盡管如果將學習率設置得太高,它在訓練過程中會出現神經元“死亡”的問題。

激活函數的輸出可以傳遞到輸出函數以進行其他整形。 但是,輸出函數通常是身份函數,這意味著激活函數的輸出將傳遞到下游連接的神經元。

神經網絡拓撲

現在我們了解了神經元,我們需要了解常見的神經網絡拓撲。 在前饋網絡中,神經元被組織為不同的層:一個輸入層,任意數量的隱藏處理層和一個輸出層,并且每一層的輸出僅進入下一層。

在具有快捷連接的前饋網絡中,某些連接可以跳過一個或多個中間層。 在遞歸神經網絡中,神經元可以直接或通過下一層間接影響自己。

訓練

就像任何其他機器學習一樣,進行神經網絡的監督學習。 您向網絡提供訓練數據組,將網絡輸出與所需輸出進行比較,生成誤差向量,并根據誤差向量對網絡進行校正。 在應用校正之前一起運行的一批訓練數據稱為時期。

對于那些對細節感興趣的人,反向傳播使用誤差(或成本)函數相對于模型的權重和偏差的梯度來發現正確的方向,以最大程度地減少誤差。 有兩件事控制著校正的應用:優化算法和學習速率變量,通常需要較小變量以保證收斂并避免引起ReLU神經元死亡。

優化器

神經網絡的優化器通常使用某種形式的梯度下降算法來驅動反向傳播,通常采用一種機制來避免陷入局部最小值中,例如優化隨機選擇的微型批次(隨機梯度下降)并將動量校正應用于梯度。 一些優化算法還通過查看梯度歷史記錄(AdaGrad,RMSProp和Adam)來調整模型參數的學習率。

與所有機器學習一樣,您需要對照單獨的驗證數據集檢查神經網絡的預測。 否則,您可能會冒險創建僅記住其輸入而不學習成為廣義預測器的神經網絡。

真正的DNN

一個用于實際問題的深層神經網絡可能具有多達10個隱藏層。 它的拓撲可能很簡單,也可能很復雜。

網絡中的層越多,它可以識別的特征就越多。 不幸的是,網絡中的層越多,計算所需的時間就越長,并且訓練起來就越困難。

深度學習算法

如前所述,大多數深度學習都是通過深度神經網絡完成的。 卷積神經網絡(CNN)通常用于機器視覺。 遞歸神經網絡(RNN)通常用于自然語言和其他序列處理,例如長短期記憶(LSTM)網絡和基于注意力的神經網絡。 隨機森林,也稱為隨機決策森林,不是神經網絡,可用于一系列分類和回歸問題。

CNN神經網絡

卷積神經網絡通常使用卷積,池化,ReLU,完全連接和丟失層來模擬視覺皮層。 卷積層基本上采用許多小的重疊區域的積分。 池化層執行非線性下采樣的形式。 ReLU層應用非飽和激活函數f(x) = max(0,x) 。 在完全連接的層中,神經元與上一層中的所有激活都具有連接。 損失層使用Softmax或交叉熵損失函數進行分類,或使用歐幾里得損失函數進行回歸,來計算網絡訓練如何懲罰預測標簽與真實標簽之間的偏差。

RNN,LSTM和基于注意力的神經網絡

在前饋神經網絡中,信息從輸入經過隱藏層流到輸出。 這將網絡限制為一次只能處理一個狀態。

在遞歸神經網絡中,信息通過一個循環循環,這使網絡可以記住最近的先前輸出。 這樣可以分析序列和時間序列。 RNN有兩個常見的問題:爆炸梯度(通過固定梯度很容易固定)和消失梯度(不太容易固定)。

在LSTM中,在兩種情況下,網絡都可以通過改變權重來忘記(門控)或記住以前的信息。 這有效地為LSTM提供了長期和短期記憶,并解決了梯度消失的問題。 LSTM可以處理數百個過去輸入的序列。

注意模塊是將權重應用于輸入向量的通用門。 分層神經注意編碼器使用多層注意模塊來處理成千上萬的過去輸入。

隨機森林

另一種深度學習算法(不是深度神經網絡)是隨機森林或隨機決策森林。 隨機森林由多層構成,但不是神經元,而是由決策樹構成的,并輸出各個樹預測的統計平均值(分類模式或回歸均值)。 隨機森林的隨機方面是對各個樹使用引導聚合(也稱為裝袋 )并獲取特征的隨機子集。

深度學習框架

盡管您可以從第一條原則編寫深度學習程序,但是使用深度學習框架要高效得多,尤其是考慮到它們已針對GPU和其他加速器進行了優化。 杰出的框架是TensorFlow ,它起源于Google。 TensorFlow最受歡迎的高級API是Keras ,也可以與其他后端框架一起使用。

來自Facebook和其他公司的PyTorch是TensorFlow的強大替代方案,并且具有支持動態神經網絡的區別,其中動態拓撲網絡可以在各個時代之間變化。 Fastai是使用PyTorch作為后端的高級第三方API。

來自Amazon等公司的MXNet是TensorFlow的另一個強大替代品,聲稱具有更好的可擴展性。 膠子是用于MXNet優選高級別勢在必行API。

來自IBM,英特爾和其他公司的Chainer在某種程度上是PyTorch的靈感來源,因為它可以通過運行來定義神經網絡并支持動態神經網絡。

盡管上面提到的所有框架主要都是Python,但Deeplearning4j(DL4J)(最初來自Skymind,現在是Apache項目)主要是Java和Scala。 DL4J與Apache Spark和Hadoop兼容。

ONNX最初是作為可互換AI模型的開放生態系統提出的。 除了交換文件格式外,ONNX現在還有一個運行時。

From: https://www.infoworld.com/article/3397142/what-is-deep-learning-algorithms-that-mimic-the-human-brain.html

總結

以上是生活随笔為你收集整理的什么是深度学习? 模仿人脑的算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。