當前位置:首頁 » 英文單詞 » 自然步長英語怎麼說及英文單詞

自然步長英語怎麼說及英文單詞

發布時間: 2024-07-02 03:16:53

㈠ 求Deep learning 【Yann LeCun 1,2 , Yoshua Bengio 3 & Geoffrey Hinton 4,5】全文中文翻譯

原文摘要:深度學習可以讓那些擁有多個處理層的計算模型來學習具有多層次抽象的數據的表示。這些方法在許多方面都帶來了顯著的改善,包括最先進的語音識別、視覺對象識別、對象檢測和許多其它領域,例如葯物發現和基因組學等。深度學習能夠發現大數據中的復雜結構。它是利用BP演算法來完成這個發現過程的。BP演算法能夠指導機器如何從前一層獲取誤差而改變本層的內部參數,這些內部參數可以用於計算表示。深度卷積網路在處理圖像、視頻、語音和音頻方面帶來了突破,而遞歸網路在處理序列數據,比如文本和語音方面表現出了閃亮的一面。
機器學習技術在現代社會的各個方面表現出了強大的功能:從Web搜索到社會網路內容過濾,再到電子商務網站上的商品推薦都有涉足。並且它越來越多地出現在消費品中,比如相機和智能手機。
機器學習系統被用來識別圖片中的目標,將語音轉換成文本,匹配新聞元素,根據用戶興趣提供職位或產品,選擇相關的搜索結果。逐漸地,這些應用使用一種叫深度學習的技術。傳統的機器學習技術在處理未加工過的數據時,體現出來的能力是有限的。幾十年來,想要構建一個模式識別系統或者機器學習系統,需要一個精緻的引擎和相當專業的知識來設計一個特徵提取器,把原始數據(如圖像的像素值)轉換成一個適當的內部特徵表示或特徵向量,子學習系統,通常是一個分類器,對輸入的樣本進行檢測或分類。特徵表示學習是一套給機器灌入原始數據,然後能自動發現需要進行檢測和分類的表達的方法。深度學習就是一種特徵學習方法,把原始數據通過一些簡單的但是非線性的模型轉變成為更高層次的,更加抽象的表達。通過足夠多的轉換的組合,非常復雜的函數也可以被學習。對於分類任務,高層次的表達能夠強化輸入數據的區分能力方面,同時削弱不相關因素。比如,一副圖像的原始格式是一個像素數組,那麼在第一層上的學習特徵表達通常指的是在圖像的特定位置和方向上有沒有邊的存在。第二層通常會根據那些邊的某些排放而來檢測圖案,這時候會忽略掉一些邊上的一些小的干擾。第三層或許會把那些圖案進行組合,從而使其對應於熟悉目標的某部分。隨後的一些層會將這些部分再組合,從而構成待檢測目標。深度學習的核心方面是,上述各層的特徵都不是利用人工工程來設計的,而是使用一種通用的學習過程從數據中學到的。
深度學習正在取得重大進展,解決了人工智慧界的盡最大努力很多年仍沒有進展的問題。它已經被證明,它能夠擅長發現高維數據中的復雜結構,因此它能夠被應用於科學、商業和政府等領域。除了在圖像識別、語音識別等領域打破了紀錄,它還在另外的領域擊敗了其他機器學習技術,包括預測潛在的葯物分子的活性、分析粒子加速器數據、重建大腦迴路、預測在非編碼DNA突變對基因表達和疾病的影響。也許更令人驚訝的是,深度學習在自然語言理解的各項任務中產生了非常可喜的成果,特別是主題分類、情感分析、自動問答和語言翻譯。我們認為,在不久的將來,深度學習將會取得更多的成功,因為它需要很少的手工工程,它可以很容易受益於可用計算能力和數據量的增加。目前正在為深度神經網路開發的新的學習演算法和架構只會加速這一進程。
監督學習
機器學習中,不論是否是深層,最常見的形式是監督學習。試想一下,我們要建立一個系統,它能夠對一個包含了一座房子、一輛汽車、一個人或一個寵物的圖像進行分類。我們先收集大量的房子,汽車,人與寵物的圖像的數據集,並對每個對象標上它的類別。在訓練期間,機器會獲取一副圖片,然後產生一個輸出,這個輸出以向量形式的分數來表示,每個類別都有一個這樣的向量。我們希望所需的類別在所有的類別中具有最高的得分,但是這在訓練之前是不太可能發生的。通過計算一個目標函數可以獲得輸出分數和期望模式分數之間的誤差(或距離)。然後機器會修改其內部可調參數,以減少這種誤差。這些可調節的參數,通常被稱為權值,它們是一些實數,可以被看作是一些「旋鈕」,定義了機器的輸入輸出功能。在典型的深學習系統中,有可能有數以百萬計的樣本和權值,和帶有標簽的樣本,用來訓練機器。為了正確地調整權值向量,該學習演算法計算每個權值的梯度向量,表示了如果權值增加了一個很小的量,那麼誤差會增加或減少的量。權值向量然後在梯度矢量的相反方向上進行調整。我們的目標函數,所有訓練樣本的平均,可以被看作是一種在權值的高維空間上的多變地形。負的梯度矢量表示在該地形中下降方向最快,使其更接近於最小值,也就是平均輸出誤差低最低的地方。
在實際應用中,大部分從業者都使用一種稱作隨機梯度下降的演算法(SGD)。它包含了提供一些輸入向量樣本,計算輸出和誤差,計算這些樣本的平均梯度,然後相應的調整權值。通過提供小的樣本集合來重復這個過程用以訓練網路,直到目標函數停止增長。它被稱為隨機的是因為小的樣本集對於全體樣本的平均梯度來說會有雜訊估計。這個簡單過程通常會找到一組不錯的權值,同其他精心設計的優化技術相比,它的速度讓人驚奇。訓練結束之後,系統會通過不同的數據樣本——測試集來顯示系統的性能。這用於測試機器的泛化能力——對於未訓練過的新樣本的識別能力。
當前應用中的許多機器學習技術使用的是線性分類器來對人工提取的特徵進行分類。一個2類線性分類器會計算特徵向量的加權和。當加權和超過一個閾值之後,輸入樣本就會被分配到一個特定的類別中。從20世紀60年代開始,我們就知道了線性分類器只能夠把樣本分成非常簡單的區域,也就是說通過一個超平面把空間分成兩部分。
但像圖像和語音識別等問題,它們需要的輸入-輸出函數要對輸入樣本中不相關因素的變化不要過於的敏感,如位置的變化,目標的方向或光照,或者語音中音調或語調的變化等,但是需要對於一些特定的微小變化非常敏感(例如,一隻白色的狼和跟狼類似的白色狗——薩莫耶德犬之間的差異)。在像素這一級別上,兩條薩莫耶德犬在不同的姿勢和在不同的環境下的圖像可以說差異是非常大的,然而,一隻薩摩耶德犬和一隻狼在相同的位置並在相似背景下的兩個圖像可能就非常類似。

圖1 多層神經網路和BP演算法
多層神經網路(用連接點表示)可以對輸入空間進行整合,使得數據(紅色和藍色線表示的樣本)線性可分。注意輸入空間中的規則網格(左側)是如何被隱藏層轉換的(轉換後的在右側)。這個例子中只用了兩個輸入節點,兩個隱藏節點和一個輸出節點,但是用於目標識別或自然語言處理的網路通常包含數十個或者數百個這樣的節點。獲得C.Olah (http://colah.github.io/)的許可後重新構建的這個圖。
鏈式法則告訴我們兩個小的變化(x和y的微小變化,以及y和z的微小變化)是怎樣組織到一起的。x的微小變化量Δx首先會通過乘以∂y/∂x(偏導數)轉變成y的變化量Δy。類似的,Δy會給z帶來改變Δz。通過鏈式法則可以將一個方程轉化到另外的一個——也就是Δx通過乘以∂y/∂x和∂z/∂y(英文原文為∂z/∂x,系筆誤——編輯注)得到Δz的過程。當x,y,z是向量的時候,可以同樣處理(使用雅克比矩陣)。 具有兩個隱層一個輸出層的神經網路中計算前向傳播的公式。每個都有一個模塊構成,用於反向傳播梯度。在每一層上,我們首先計算每個節點的總輸入z,z是前一層輸出的加權和。然後利用一個非線性函數f(.)來計算節點的輸出。簡單期間,我們忽略掉了閾值項。神經網路中常用的非線性函數包括了最近幾年常用的校正線性單元(ReLU)f(z) = max(0,z),和更多傳統sigmoid函數,比如雙曲線正切函數f(z) = (exp(z) − exp(−z))/(exp(z) + exp(−z)) 和logistic函數f(z) = 1/(1 + exp(−z))。 計算反向傳播的公式。在隱層,我們計算每個輸出單元產生的誤差,這是由上一層產生的誤差的加權和。然後我們將輸出層的誤差通過乘以梯度f(z)轉換到輸入層。在輸出層上,每個節點的誤差會用成本函數的微分來計算。如果節點l的成本函數是0.5*(yl-tl)^2, 那麼節點的誤差就是yl-tl,其中tl是期望值。一旦知道了∂E/∂zk的值,節點j的內星權向量wjk就可以通過yj ∂E/∂zk來進行調整。 一個線性分類器或者其他操作在原始像素上的淺層分類器不能夠區分後兩者,雖然能夠將前者歸為同一類。這就是為什麼淺分類要求有良好的特徵提取器用於解決選擇性不變性困境——提取器會挑選出圖像中能夠區分目標的那些重要因素,但是這些因素對於分辨動物的位置就無能為力了。為了加強分類能力,可以使用泛化的非線性特性,如核方法,但這些泛化特徵,比如通過高斯核得到的,並不能夠使得學習器從學習樣本中產生較好的泛化效果。傳統的方法是手工設計良好的特徵提取器,這需要大量的工程技術和專業領域知識。但是如果通過使用通用學習過程而得到良好的特徵,那麼這些都是可以避免的了。這就是深度學習的關鍵優勢。
深度學習的體系結構是簡單模塊的多層棧,所有(或大部分)模塊的目標是學習,還有許多計算非線性輸入輸出的映射。棧中的每個模塊將其輸入進行轉換,以增加表達的可選擇性和不變性。比如說,具有一個5到20層的非線性多層系統能夠實現非常復雜的功能,比如輸入數據對細節非常敏感——能夠區分白狼和薩莫耶德犬,同時又具有強大的抗干擾能力,比如可以忽略掉不同的背景、姿勢、光照和周圍的物體等。
反向傳播來訓練多層神經網路
在最早期的模式識別任務中,研究者的目標一直是使用可以訓練的多層網路來替代經過人工選擇的特徵,雖然使用多層神經網路很簡單,但是得出來的解很糟糕。直到20世紀80年代,使用簡單的隨機梯度下降來訓練多層神經網路,這種糟糕的情況才有所改變。只要網路的輸入和內部權值之間的函數相對平滑,使用梯度下降就湊效,梯度下降方法是在70年代到80年代期間由不同的研究團隊獨立發明的。
用來求解目標函數關於多層神經網路權值梯度的反向傳播演算法(BP)只是一個用來求導的鏈式法則的具體應用而已。反向傳播演算法的核心思想是:目標函數對於某層輸入的導數(或者梯度)可以通過向後傳播對該層輸出(或者下一層輸入)的導數求得(如圖1)。反向傳播演算法可以被重復的用於傳播梯度通過多層神經網路的每一層:從該多層神經網路的最頂層的輸出(也就是改網路產生預測的那一層)一直到該多層神經網路的最底層(也就是被接受外部輸入的那一層),一旦這些關於(目標函數對)每層輸入的導數求解完,我們就可以求解每一層上面的(目標函數對)權值的梯度了。
很多深度學習的應用都是使用前饋式神經網路(如圖1),該神經網路學習一個從固定大小輸入(比如輸入是一張圖)到固定大小輸出(例如,到不同類別的概率)的映射。從第一層到下一層,計算前一層神經元輸入數據的權值的和,然後把這個和傳給一個非線性激活函數。當前最流行的非線性激活函數是rectified linear unit(ReLU),函數形式:f(z)=max(z,0)。過去的幾十年中,神經網路使用一些更加平滑的非線性函數,比如tanh(z)和1/(1+exp(-z)),但是ReLU通常會讓一個多層神經網路學習的更快,也可以讓一個深度網路直接有監督的訓練(不需要無監督的pre-train)。
達到之前那種有pre-train的效果。通常情況下,輸入層和輸出層以外的神經單元被稱為隱藏單元。隱藏層的作用可以看成是使用一個非線性的方式打亂輸入數據,來讓輸入數據對應的類別在最後一層變得線性可分。
在20世紀90年代晚期,神經網路和反向傳播演算法被大多數機器學習團隊拋棄,同時也不受計算機視覺和語音識別團隊的重視。人們普遍認為,學習有用的、多級層次結構的、使用較少先驗知識進行特徵提取的這些方法都不靠譜。確切的說是因為簡單的梯度下降會讓整個優化陷入到不好的局部最小解。
實踐中,如果在大的網路中,不管使用什麼樣的初始化條件,局部最小解並不算什麼大問題,系統總是得到效果差不多的解。最近的理論和實驗表明,局部最小解還真不是啥大問題。相反,解空間中充滿了大量的鞍點(梯度為0的點),同時鞍點周圍大部分曲面都是往上的。所以這些演算法就算是陷入了這些局部最小值,關系也不太大。
2006年前後,CIFAR(加拿大高級研究院)把一些研究者聚集在一起,人們對深度前饋式神經網路重新燃起了興趣。研究者們提出了一種非監督的學習方法,這種方法可以創建一些網路層來檢測特徵而不使用帶標簽的數據,這些網路層可以用來重構或者對特徵檢測器的活動進行建模。通過預訓練過程,深度網路的權值可以被初始化為有意思的值。然後一個輸出層被添加到該網路的頂部,並且使用標準的反向傳播演算法進行微調。這個工作對手寫體數字的識別以及行人預測任務產生了顯著的效果,尤其是帶標簽的數據非常少的時候。
使用這種與訓練方法做出來的第一個比較大的應用是關於語音識別的,並且是在GPU上做的,這樣做是因為寫代碼很方便,並且在訓練的時候可以得到10倍或者20倍的加速。2009年,這種方法被用來映射短時間的系數窗口,該系統窗口是提取自聲波並被轉換成一組概率數字。它在一組使用很少詞彙的標準的語音識別基準測試程序上達到了驚人的效果,然後又迅速被發展到另外一個更大的數據集上,同時也取得驚人的效果。從2009年到到2012年底,較大的語音團隊開發了這種深度網路的多個版本並且已經被用到了安卓手機上。對於小的數據集來說,無監督的預訓練可以防止過擬合,同時可以帶來更好的泛化性能當有標簽的樣本很小的時候。一旦深度學習技術重新恢復,這種預訓練只有在數據集合較少的時候才需要。
然後,還有一種深度前饋式神經網路,這種網路更易於訓練並且比那種全連接的神經網路的泛化性能更好。這就是卷積神經網路(CNN)。當人們對神經網路不感興趣的時候,卷積神經網路在實踐中卻取得了很多成功,如今它被計算機視覺團隊廣泛使用。 卷積神經網路
卷積神經網路被設計用來處理到多維數組數據的,比如一個有3個包含了像素值2-D圖像組合成的一個具有3個顏色通道的彩色圖像。很多數據形態都是這種多維數組的:1D用來表示信號和序列包括語言,2D用來表示圖像或者聲音,3D用來表示視頻或者有聲音的圖像。卷積神經網路使用4個關鍵的想法來利用自然信號的屬性:局部連接、權值共享、池化以及多網路層的使用。

圖2 卷積神經網路內部
一個典型的卷積神經網路結構(如圖2)是由一系列的過程組成的。最初的幾個階段是由卷積層和池化層組成,卷積層的單元被組織在特徵圖中,在特徵圖中,每一個單元通過一組叫做濾波器的權值被連接到上一層的特徵圖的一個局部塊,然後這個局部加權和被傳給一個非線性函數,比如ReLU。在一個特徵圖中的全部單元享用相同的過濾器,不同層的特徵圖使用不同的過濾器。使用這種結構處於兩方面的原因。首先,在數組數據中,比如圖像數據,一個值的附近的值經常是高度相關的,可以形成比較容易被探測到的有區分性的局部特徵。其次,不同位置局部統計特徵不太相關的,也就是說,在一個地方出現的某個特徵,也可能出現在別的地方,所以不同位置的單元可以共享權值以及可以探測相同的樣本。在數學上,這種由一個特徵圖執行的過濾操作是一個離線的卷積,卷積神經網路也是這么得名來的。
卷積層的作用是探測上一層特徵的局部連接,然而池化層的作用是在語義上把相似的特徵合並起來,這是因為形成一個主題的特徵的相對位置不太一樣。一般地,池化單元計算特徵圖中的一個局部塊的最大值,相鄰的池化單元通過移動一行或者一列來從小塊上讀取數據,因為這樣做就減少的表達的維度以及對數據的平移不變性。兩三個這種的卷積、非線性變換以及池化被串起來,後面再加上一個更多卷積和全連接層。在卷積神經網路上進行反向傳播演算法和在一般的深度網路上是一樣的,可以讓所有的在過濾器中的權值得到訓練。
深度神經網路利用的很多自然信號是層級組成的屬性,在這種屬性中高級的特徵是通過對低級特徵的組合來實現的。在圖像中,局部邊緣的組合形成基本圖案,這些圖案形成物體的局部,然後再形成物體。這種層級結構也存在於語音數據以及文本數據中,如電話中的聲音,因素,音節,文檔中的單詞和句子。當輸入數據在前一層中的位置有變化的時候,池化操作讓這些特徵表示對這些變化具有魯棒性。
卷積神經網路中的卷積和池化層靈感直接來源於視覺神經科學中的簡單細胞和復雜細胞。這種細胞的是以LNG-V1-V2-V4-IT這種層級結構形成視覺迴路的。當給一個卷積神經網路和猴子一副相同的圖片的時候,卷積神經網路展示了猴子下顳葉皮質中隨機160個神經元的變化。卷積神經網路有神經認知的根源,他們的架構有點相似,但是在神經認知中是沒有類似反向傳播演算法這種端到端的監督學習演算法的。一個比較原始的1D卷積神經網路被稱為時延神經網路,可以被用來識別語音以及簡單的單詞。
20世紀90年代以來,基於卷積神經網路出現了大量的應用。最開始是用時延神經網路來做語音識別以及文檔閱讀。這個文檔閱讀系統使用一個被訓練好的卷積神經網路和一個概率模型,這個概率模型實現了語言方面的一些約束。20世紀90年代末,這個系統被用來美國超過10%的支票閱讀上。後來,微軟開發了基於卷積神經網路的字元識別系統以及手寫體識別系統。20世紀90年代早期,卷積神經網路也被用來自然圖形中的物體識別,比如臉、手以及人臉識別(face recognition )。
使用深度卷積網路進行圖像理解
21世紀開始,卷積神經網路就被成功的大量用於檢測、分割、物體識別以及圖像的各個領域。這些應用都是使用了大量的有標簽的數據,比如交通信號識別,生物信息分割,面部探測,文本、行人以及自然圖形中的人的身體部分的探測。近年來,卷積神經網路的一個重大成功應用是人臉識別。
值得一提的是,圖像可以在像素級別進行打標簽,這樣就可以應用在比如自動電話接聽機器人、自動駕駛汽車等技術中。像Mobileye以及NVIDIA公司正在把基於卷積神經網路的方法用於汽車中的視覺系統中。其它的應用涉及到自然語言的理解以及語音識別中。

圖3 從圖像到文字
盡管卷積神經網路應用的很成功,但是它被計算機視覺以及機器學習團隊開始重視是在2012年的ImageNet競賽。在該競賽中,深度卷積神經網路被用在上百萬張網路圖片數據集,這個數據集包含了1000個不同的類。該結果達到了前所未有的好,幾乎比當時最好的方法降低了一半的錯誤率。這個成功來自有效地利用了GPU、ReLU、一個新的被稱為dropout的正則技術,以及通過分解現有樣本產生更多訓練樣本的技術。這個成功給計算機視覺帶來一個革命。如今,卷積神經網路用於幾乎全部的識別和探測任務中。最近一個更好的成果是,利用卷積神經網路結合回饋神經網路用來產生圖像標題。
如今的卷積神經網路架構有10-20層採用ReLU激活函數、上百萬個權值以及幾十億個連接。然而訓練如此大的網路兩年前就只需要幾周了,現在硬體、軟體以及演算法並行的進步,又把訓練時間壓縮到了幾小時。
基於卷積神經網路的視覺系統的性能已經引起了大型技術公司的注意,比如Google、Facebook、Microsoft、IBM,yahoo!、Twitter和Adobe等,一些快速增長的創業公司也同樣如是。
卷積神經網路很容易在晶元或者現場可編程門陣列(FPGA)中高效實現,許多公司比如NVIDIA、Mobileye、Intel、Qualcomm以及Samsung,正在開發卷積神經網路晶元,以使智能機、相機、機器人以及自動駕駛汽車中的實時視覺系統成為可能。
分布式特徵表示與語言處理
與不使用分布式特徵表示(distributed representations )的經典學習演算法相比,深度學習理論表明深度網路具有兩個不同的巨大的優勢。這些優勢來源於網路中各節點的權值,並取決於具有合理結構的底層生成數據的分布。首先,學習分布式特徵表示能夠泛化適應新學習到的特徵值的組合(比如,n元特徵就有2n種可能的組合)。其次,深度網路中組合表示層帶來了另一個指數級的優勢潛能(指數級的深度)。
多層神經網路中的隱層利用網路中輸入的數據進行特徵學習,使之更加容易預測目標輸出。下面是一個很好的示範例子,比如將本地文本的內容作為輸入,訓練多層神經網路來預測句子中下一個單詞。內容中的每個單詞表示為網路中的N分之一的向量,也就是說,每個組成部分中有一個值為1其餘的全為0。在第一層中,每個單詞創建不同的激活狀態,或單詞向量(如圖4)。在語言模型中,網路中其餘層學習並轉化輸入的單詞向量為輸出單詞向量來預測句子中下一個單詞,可以通過預測詞彙表中的單詞作為文本句子中下一個單詞出現的概率。網路學習了包含許多激活節點的、並且可以解釋為詞的獨立特徵的單詞向量,正如第一次示範的文本學習分層表徵文字元號的例子。這些語義特徵在輸入中並沒有明確的表徵。而是在利用「微規則」(『micro-rules』,本文中直譯為:微規則)學習過程中被發掘,並作為一個分解輸入與輸出符號之間關系結構的好的方式。當句子是來自大量的真實文本並且個別的微規則不可靠的情況下,學習單詞向量也一樣能表現得很好。利用訓練好的模型預測新的事例時,一些概念比較相似的詞容易混淆,比如星期二(Tuesday)和星期三(Wednesday),瑞典(Sweden)和挪威(Norway)。這樣的表示方式被稱為分布式特徵表示,因為他們的元素之間並不互相排斥,並且他們的構造信息對應於觀測到的數據的變化。這些單詞向量是通過學習得到的特徵構造的,這些特徵不是由專家決定的,而是由神經網路自動發掘的。從文本中學習得單詞向量表示現在廣泛應用於自然語言中。

圖4 詞向量學習可視化
特徵表示問題爭論的中心介於對基於邏輯啟發和基於神經網路的認識。在邏輯啟發的範式中,一個符號實體表示某一事物,因為其唯一的屬性與其他符號實體相同或者不同。該符號實例沒有內部結構,並且結構與使用是相關的,至於理解符號的語義,就必須與變化的推理規則合理對應。相反地,神經網路利用了大量活動載體、權值矩陣和標量非線性化,來實現能夠支撐簡單容易的、具有常識推理的快速「直覺」功能。
介紹神經語言模型前,簡述下標准方法,其是基於統計的語言模型,該模型沒有使用分布式特徵表示。而是基於統計簡短符號序列出現的頻率增長到N(N-grams,N元文法)。可能的N-grams的數字接近於VN,其中V是詞彙表的大小,考慮到文本內容包含成千上萬個單詞,所以需要一個非常大的語料庫。N-grams將每個單詞看成一個原子單元,因此不能在語義相關的單詞序列中一概而論,然而神經網路語言模型可以,是因為他們關聯每個詞與真是特徵值的向量,並且在向量空間中語義相關的詞彼此靠近(圖4)。
遞歸神經網路
首次引入反向傳播演算法時,最令人興奮的便是使用遞歸神經網路(recurrent neural networks,下文簡稱RNNs)訓練。對於涉及到序列輸入的任務,比如語音和語言,利用RNNs能獲得更好的效果。RNNs一次處理一個輸入序列元素,同時維護網路中隱式單元中隱式的包含過去時刻序列元素的歷史信息的「狀態向量」。如果是深度多層網路不同神經元的輸出,我們就會考慮這種在不同離散時間步長的隱式單元的輸出,這將會使我們更加清晰怎麼利用反向傳播來訓練RNNs(如圖5,右)。

圖5 遞歸神經網路
RNNs是非常強大的動態系統,但是訓練它們被證實存在問題的,因為反向傳播的梯度在每個時間間隔內是增長或下降的,所以經過一段時間後將導致結果的激增或者降為零。
由於先進的架構和訓練方式,RNNs被發現可以很好的預測文本中下一個字元或者句子中下一個單詞,並且可以應用於更加復雜的任務。例如在某時刻閱讀英語句子中的單詞後,將會訓練一個英語的「編碼器」網路,使得隱式單元的最終狀態向量能夠很好地表徵句子所要表達的意思或思想。這種「思想向量」(thought vector)可以作為聯合訓練一個法語「編碼器」網路的初始化隱式狀態(或者額外的輸入),其輸出為法語翻譯首單詞的概率分布。如果從分布中選擇一個特殊的首單詞作為編碼網路的輸入,將會輸出翻譯的句子中第二個單詞的概率分布,並直到停止選擇為止。總體而言,這一過程是根據英語句子的概率分布而產生的法語詞彙序列。這種簡單的機器翻譯方法的表現甚至可以和最先進的(state-of-the-art)的方法相媲美,同時也引起了人們對於理解句子是否需要像使用推理規則操作內部符號表示質疑。這與日常推理中同時涉及到根據合理結論類推的觀點是匹配的。
剩下的超過字數限制了……

㈡ 哥哥姐姐們跪求C++有哪些術語 比如英文單詞啊 標點符號啊 誰能告訴我下感激不盡啊

按照順序羅列了一下,可供參考,查閱。
1.asm(匯編),用法如下:
asm (指罩埋令字元串);
允許在C++程序中嵌入匯編代碼。

2. auto(自動,automatic)是存儲類型標識符,表明變數「自動」具有本地范圍,塊范圍的變數聲明(如for循環體內的變數聲明)默認為auto存儲類型。

3. bool(布爾)類型,C++中的基本數據結構,其值可選為true(真)或者false(假)。C++中的bool類型可以和int混用,具體來說就是0代表false,
非0代表true。bool類型常用於條件判斷和函數返回值。

4. break(中斷、跳出),用在switch語句或者循環語句中。程序遇到break後,即跳過該程序段,繼續後面的語句執行。

5. case用於switch語句中,用於判斷不同的條件類型。

6. catch catch和try語句一起用於異常處理。

7. char char(字元,character)類型,C++中的基本數據結構,其值一般為0~255的int。這256個字元對應著256個ASCII碼。char類型的數據需要用單
引號』』括起來。

8. class class(類)是C++面向對象設計的基礎。使用class關鍵字聲明一個類。

9. const const(常量的,constant)所修飾的對象或變數不能被改變,修飾函數時,該函數不能改變在該函數外面聲明的變數也不能調用任何非const函數。在函數的聲明與定義時都要加上const,放在函數參數列表的最後一
個括弧後。在C++中,用const聲明一個變數,意味著該變數就是一個帶類型的常量,可以代替#define,且比#define多一個類型信息,且它執行內鏈接,可放在頭文件中聲明;但在C中,其聲明則必須放在源文件(即.C文件)中,在C中const聲明一個變數,除了不能改變其值外,它仍是一具變數。

10. const_cast用法:const_cast<type_id> (expression)
該運算符用來修改類型的脊衫const或volatile屬性。除了const 或volatile修飾之外, type_id和expression的類型是一樣的。常量指針被轉化成非常量指針物野螞,並且仍然指向原來的對象;
常量引用被轉換成非常量引用,並且仍然指向原來的對象;常量對象被轉換成非常量對象。

11. continue
continue(繼續)關鍵字用於循環結構。它使程序跳過代碼段後部的部分,與break不同的是,continue不是進入代碼段後的部分執行,而是重新開始新的循環。因而它是「繼續循環」之意,不是break(跳出)。

12. default

default(默認、預設)用於switch語句。當switch所有的case都不滿足時,將進入default執行。default只能放在switch語句所有的case之後,並且是可選的。

13. delete delete(刪除)釋放程序動態申請的內存空間。delete後面通常是一個指針或者數組[],並且只能delete通過new關鍵字申請的指針,否則會發生段錯誤。

14. do do-while是一類循環結構。與while循環不同,do-while循環保證至少要進入循環體一次。

15. double
double(雙精度)類型,C++中的基本數據結構,以雙精度形式存儲一個浮點數。

16. dynamic_cast
dynamic_cast(動態轉換),允許在運行時刻進行類型轉換,從而使程序能夠在一個類層次結構安全地轉換類型。dynamic_cast提供了兩種轉換方式,把基類指針轉換成派生類指針,或者把指向基類的左值轉換成派生類的引用。

17. else else緊跟在if後面,用於對if不成立的情況的選擇。

18. enum
enum(枚舉)類型,給出一系列固定的值,只能在這裡面進行選擇一個。

19. explicit
explicit(顯式的)的作用是「禁止單參數構造函數」被用於自動型別轉換,其中比較典型的例子就是容器類型。在這種類型的構造函數中你可以將初始長度作為參數傳遞給構造函數。

20. export
為了訪問其他編譯單元(如另一代碼文件)中的變數或對象,對普通類型(包括基本數據類、結構和類),可以利用關鍵字extern,來使用這些變數或對象時;但是對模板類型,則必須在定義這些模板類對象和模板函數時,使用標准C++新增加的關鍵字export(導出)。

21. extern

extern(外部的)聲明變數或函數為外部鏈接,即該變數或函數名在其它文件中可見。被其修飾的變數(外部變數)是靜態分配空間的,即程序開始時分配,結束時釋放。用其聲明的變數或函數應該在別的文件或同一文件的其它地方定義(實現)。在文件內聲明一個變數或函數默認

為可被外部使用。在C++中,還可用來指定使用另一語言進行鏈接,這時需要與特定的轉換符一起使用。目前僅支持」C」轉換標記,來支持C編譯器鏈接。使用這種情況有兩種形式:
extern 「C」 聲明語句
extern 「C」 { 聲明語句塊 }

22. false
false(假的),C++的基本數據結構bool類型的值之一。等同於int的0值。

23. float
float(浮點數),C++中的基本數據結構,精度小於double。

24. for
for是C++中的循環結構之一,用於有確定開始和結束以及需要確定步長的循環結構。

25. friend
friend(友元)聲明友元關系。友元可以訪問與其有friend關系的類中的private/protected成員,通過友元直接訪問類中的private/protected成員的主要目的是提高效率。友元包括友元函數和友元類。

26. goto
goto(轉到),用於無條件跳轉到某一標號處開始執行。

27. if
if(如果),C++中的條件語句之一,可以根據後面的bool類型的值選擇進入一個分支執行。

28. inline
inline(內聯)函數的定義將在編譯時在調用處展開。inline函數一般由短小的語句組成,可以提高程序效率。

29. int
int(整型,integer),C++中的基本數據結構,用於表示整數,精度小於long。

30. long
long(長整型,long integer),C++中的基本數據結構,用於表示長整數。

31. mutable
mutable(易變的)是C++中一個不常用的關鍵字。只能用於類的非靜態和非常量數據成員。由於一個對象的狀態由該對象的非靜態數據成員決定,所以隨著數據成員的改變,對像的狀態也會隨之發生變化。如果一個類的成員函數被聲明為const類型,表示該函數不會改變對象的狀態,也就是該函數不會修改類的非靜態數據成員。但是有些時候需要在該類函數中對類的數據成員進行賦值,這個時候就需要用到mutable關鍵字。

32. namespace
namespace(命名空間)用於在邏輯上組織類,是一種比類大的結構。

33. new
new(新建)用於新建一個對象。new運算符總是返回一個指針。由new創建的對象需要在恰當的地方進行delete操作。

34. operator
operator(操作符)用於操作符重載。這是C++中的一種特殊的函數。

35. private
private(私有的),C++中的訪問控制符。被標明為private的欄位只能在本類以及友元中訪問。

36. protected
protected(受保護的),C++中的訪問控制符。被標明為protected的欄位只能在本類以及其繼承類和友元中訪問。

37. public
public(公有的),C++中的訪問控制符。被標明為public的欄位可以在任何類中進行訪問。

38. register
register(寄存器)聲明的變數稱著寄存器變數,在可能的情況下會直接存放在機器的寄存器中;但對32位編譯器不起作用,當global optimizations(全局優化)開的時候,它會做出選擇是否放在自己的寄存器中;不過其它與register關鍵字有關的其它符號都對32位編譯器有效。

39. reinterpret_cast
用法:reinpreter_cast<type-id> (expression)type-id必須是一個指針、引用、算術類型、函數指針或者成員指針。它可以把一個指針轉換成一個整數,也可以把一個整數轉換成一個指針(先把一個指針轉換成一個整數,在把該整數轉換成原類型的指針,還可以得到原先的指針值)。

40. return
return(返回)用於在函數中返回值。程序在執行到return語句後立即返回,return後面的語句無法執行到。

41. short
short(短整型,short integer),C++中的基本數據結構,用於表示整數,精度小於int。

42. signed

signed(有符號),表明該類型是有符號數,和unsigned相反。數字類型(整型和浮點型)都可以用signed修飾。但默認就是signed,所以一般不會顯式使用。

43. sizeof
由於C++每種類型的大小都是由編譯器自行決定的,為了增加可移植性,可以用sizeof運算符獲得該數據類型佔用的位元組數。

44. static
static(靜態的)靜態變數作用范圍在一個文件內,程序開始時分配空間,結束時釋放空間,默認初始化為0,使用時可改變其值。靜態變數或靜態函數,只有本文件內的代碼才可訪問它,它的名字(變數名或函數名)在其它文件中不可見。因此也稱為「文件作用域」。在C++類的成員變數被聲明為static(稱為靜態成員變數),意味著它被該類的所有實例所共享,也就是說當某個類的實例修改了該靜態成員變數,其修改值為該類的其它所有實例所見;而類的靜態成員函數也只能訪問靜態成員(變數或函數)。類的靜態成員變數必須在聲明它的文件范圍內進行初始化才能使用,private類型的也不例外。

45. static_cast
用法:static_cast < type-id > ( expression ) 該運算符把expression轉換為type-id類型,但沒有運行時類型檢查來保證轉換的安全性。它主要有如下幾種用法:
① 用於類層次結構中基類和子類之間指針或引用的轉換。進行上行轉換(把子類的指針或引用轉換成基類表示)是安全的;進行下行轉換(把基類指針或引用轉換成子類表示)時,由於沒有動態類型檢查,所以是不安全的。
② 用於基本數據類型之間的轉換,如把int轉換成char,把int轉換成enum。這種轉換的安全性也要開發人員來保證。
③ 把空指針轉換成目標類型的空指針。
④ 把任何類型的表達式轉換成void類型。
注意:static_cast不能轉換掉expression的const、volitale、或者__unaligned屬性。

46. struct
struct(結構)類型,類似於class關鍵字,與C語言兼容(class關鍵字是不與C語言兼容的),可以實現面向對象程序設計

47. switch
switch(轉換)類似於if-else-if語句,是一種多分枝語句。它提供了一種簡潔的書寫,並且能夠生成效率更好的代碼。但是,switch後面的判斷只能是int(char也可以,但char本質上也是一種int類型)。switch語句最後的default分支是可選的。其用法為:

48. template
template(模板),C++中泛型機制的實現。

49. this
this返回調用者本身的指針。
50. throw
throw(拋出)用於實現C++的異常處理機制,可以通過throw關鍵字「拋出」一個異常。

51. true
true(真的),C++的基本數據結構bool類型的值之一。等同於int的非0值。

52. try
try(嘗試)用於實現C++的異常處理機制。可以在try中調用可能拋出異常的函數,然後在try後面的catch中捕獲並進行處理。

53. typedef
typedef(類型定義,type define),其格式為:typedef 類型 定義名;
類型說明定義了一個數據類型的新名字而不是定義一種新的數據類型。定義名表示這個類型的新名字。

54. typeid
指出指針或引用指向的對象的實際派生類型。

55. typename
typename(類型名字)關鍵字告訴編譯器把一個特殊的名字解釋成一個類型。在下列情況下必須對一個name使用typename關鍵字:
1. 一個唯一的name(可以作為類型理解),它嵌套在另一個類型中的。

2. 依賴於一個模板參數,就是說:模板參數在某種程度上包含這個name。當模板參數使編譯器在指認一個類型時產生了誤解。
56. union
union(聯合),類似於enum。不同的是enum實質上是int類型的,而union可以用於所有類型,並且其佔用空間是隨著實際類型大小變化的。
57. unsigned
unsigned(無符號),表明該類型是無符號數,和signed相反。
58. using
表明使用namespace。
59. virtual
virtual(虛的),C++中用來實現多態機制。
60. void
void(空的),可以作為函數返回值,表明不返回任何數據;可以作為參數,表明沒有參數傳入(C++中不是必須的);可以作為指針使用。

61. volatile
volatile(不穩定的)限定一個對象可被外部進程(操作系統、硬體或並發線程等)改變,聲明時的語法如下:
int volatile nVint;
這樣的聲明是不能達到最高效的,因為它們的值隨時會改變,系統在需要時會經常讀寫這個對象的值。因此常用於像中斷處理程序之類的非同步進程進行內存單元訪問。

62. wchar_t
wchar_t是寬字元類型,每個wchar_t類型佔2個位元組,16位寬。漢字的表示就要用到wchar_t。

63. while

C++中循環語句之一,和do…while不同之處在於while是在開始處進行判斷的,因而可能一次都不進入循環。

㈢ 專業英語單詞(電子製造類的)

DOA:到貨即損。經銷商收到廠家的貨後,開箱就是壞的,就可以退貨和更換,但是這是有個期限的。一般7天到60天不等。
如果超過DOA期限,就屬於RMA:壞品維修期限了。不能退貨的。
PM=PageMaker
排版軟體
PS=PhotoShop
圖象圖象處理軟體
兩個都是Adobe公司的
PL=piao
liang
=漂亮
PL是Polarizing
的縮寫。Polarizer
指的是偏振光
PL鏡也就是偏振鏡或偏光鏡
財務核算GLD模塊
QC即英文QUALITY
CONTROL的簡稱,中文
意義是品質控制,其在ISO8402:1994的定義
是「為達到品質要求所採取的作業技術和活動」
。有些推行ISO9000的組織會設置這樣一個部門
或崗位,
負責ISO9000標准所要求的有關品質控制的職
能,擔任這類工作的人員就叫做QC人員,相當
於一般企業中的產品檢驗員,包括進貨檢驗員
(IQC)、製程檢驗員(IPQC)和最終檢驗員
(FQC)
QC舊七大手法指的是:檢查表、層別法、柏拉圖、因果圖、散布圖、直方圖、管制圖。
推行QC七大手法的情況,一定程度上表明了公司管理的先進程度。這些手法的應用之成敗,將成為公司升級市場的一個重要方面:幾乎所有的OEM客戶,都會把統計技術應用情況作為審核的重要方面,例如TDI、MOTOROLA等。
ADC=
Analog-to-Digital
Converter的縮寫,指模/數轉換器或者模擬/數字轉換器。真實世界的模擬信號,例如溫度、壓力、聲音或者圖像等,需要轉換成更容易儲存、處理和發射的數字形式。
高性能模數轉換器(ADC)和數模轉換器(DAC)與單晶元處理器和外圍設備集成在一起,用來增加對模擬電路的支持。
895中的f/w
updrade是干什麼
用的

是安了無驅版的固件的小艾升級固件時用的。無驅版直接在機器上升。有驅版是接到電腦上通過管理軟體升。
OQA(Output
Quality
Assurance
出貨質量保證人員)
什麼是SOP
所謂SOP,是
Standard
Operation
Procere三個單詞中首字母的大寫
,即標准作業程序,就是將某一事件的標准操作步驟和要求以統一的格式描述出來,用來指導和規范日常的工作.SOP的精髓,就是將細節進行量化,用更通俗的話來說,SOP就是對某一程序中的關鍵控制點進行細化和量化.從對SOP的上述基本界定來看,SOP具有以下一些內在的特徵:
SOP是一種程序.SOP是對一個過程的描述,不是一個結果的描述.同時,SOP又不是制度,也不是表單,是流程下面某個程序中關控制點如何來規范的程序.
SOP是一種作業程序.SOP首是一種操作層面的程序,是實實在在的,具體可操作的,不是理念層次上的東西.如果結合ISO9000體系的標准,SOP是屬於三階文件,即作業性文件.
SOP是一種標準的作業程序.所謂標准,在這里有最優化的概念,即不是隨便寫出來的操作程序都可以稱做SOP,而一定是經過不斷實踐總結出來的在當前條件下可以實現的最優化的操作程序設計.說得更通俗一些,所謂的標准,就是盡可能地將相關操作步驟進行細化,量化和優化,細化,量化和優化的度就是在正常條件下大家都能理解又不會產生歧義.
SOP不是單個的,是一個體系.雖然我們可以單獨地定義每一個SOP,但真正從企業管理來看,SOP不可能只是單個的,必然是一個整體和體系,也是企業不可或缺的.余世維在他的講座中也特別提到:一個公司要有兩本書,一本書是紅皮書,是公司的策略,即作戰指導綱領;另一本書是藍皮書,即SOP,標准作業程序,而且這個標准作業程序一定是要做到細化和量化.
當口(
)是具有某種特性的時變序列時,(1)式為變步長LMS演算法.藉助於梯度修正定義,導出了兩個具有擬最小二乘性的自適應濾波演算法,稱為PLS演算法或PLS演算法對
pls是什麼類型的文件
網路流媒體
目前流行的windows
media
player採用連續播放的一種格式比如你有三個wma或mp3文件,想採用windows
media
player連續播放的話,可以這么編寫成.pls文件aaa.pls
什麼是DET1.0專家系統生成工具
DET1.0專家系統開發工具是一個建造專家系統應用程序的軟體工具平台,它採用Agent技術基於模型知識表示和案例推理的方法,把您在多種編輯器下寫好的專業領域知識(也稱源知識庫)"轉變"成計算機應用軟體...
PCS就是一種單位的英文縮寫
即pieces
一片
==================
所謂PCS其實就是美國數字移動通信系統服務的總稱。具體而言,PCS就是一個包含數字手機、無繩電話(Codeless
Phone)和固定無線連接(FWA)等范圍更加廣泛的通信服務的總稱。雖然在日本也把包括PHS在內的行動電話總稱為「手機」,但是PCS則是一個意義更加廣泛的術語。
============================================
PCS是美國sprint推出的一種網路服務,它的前身是PTT(PushToTalk)是一種主要用於一對多打電話的服務網路,最開始只有TALK功能,後來有了voicemail等增值服務,於是改名叫做PTC(PushToCommunication)到現在這項服務已經非常成熟,全稱叫做Sprint
PCS
vision
PCS全稱也就是push
to
communication
service

㈣ 三角形、圓形、長方形、正方形的英文怎麼寫

三角形triangle、圓形circle、長方形、正方形square。

一、三角形Triangle

例句:它的輪廓大致形成一個等邊三角形。

.

(4)自然步長英語怎麼說及英文單詞擴展閱讀:

幾何圖形分為立體圖形和平面圖形,各部分不在同一平面內的圖形叫做立體圖形;各部分都在同一平面內的圖形叫做平面圖形。

平面幾何圖形可分為以下幾類:

1、圓形:包括正圓,橢圓,多焦點圓-卵圓。

2、多邊形:三角形、四邊形、五邊形等。

3、弓形:優弧弓、劣弧弓、拋物線弓等。

4、多弧形:月牙形、穀粒形、太極形、葫蘆形等。

熱點內容
支持單詞英語怎麼說 發布:2024-07-04 05:21:28 瀏覽:330
冉英語怎麼說及英語單詞 發布:2024-07-04 05:15:42 瀏覽:868
寫得的英語怎麼翻譯 發布:2024-07-04 05:05:21 瀏覽:735
在以前我的頭發很長英語怎麼翻譯 發布:2024-07-04 05:00:37 瀏覽:804
期待已久翻譯成英語怎麼說 發布:2024-07-04 04:44:09 瀏覽:13
我們有一樣的時間英語怎麼翻譯 發布:2024-07-04 04:34:58 瀏覽:632
越看越喜歡英語怎麼寫 發布:2024-07-04 03:47:19 瀏覽:835
英語姓氏怎麼翻譯 發布:2024-07-04 03:38:15 瀏覽:962
甜蜜的感覺翻譯成英語怎麼寫 發布:2024-07-04 03:28:20 瀏覽:570
轉導推理英語怎麼說及英文單詞 發布:2024-07-04 03:27:39 瀏覽:908