神經網路的基本思想是模擬計算機「大腦」中多個相互連接的細胞,這樣它就能從環境中學習,識別不同的模式,進而做出與人類相似的決定。
以下針對神經網路與深度學習發展的幾大重要趨勢進行說明,因為深度學習發展非常快速,本文是2016至2019年的12個發展趨勢說明,後續仍可能有更多的發展趨勢。
一、神經網路框架變得越來越複雜而精密
感知、翻譯等大多數神經網路的架構變得越來越複雜,超過簡單的前饋神經網絡或卷積神經網絡。特別要注意,神經網路正與不同的技術混合,如:LSTMs、卷積、自定義目標函數、多皮層柱(multiple cortical columns)。
* 前饋式框架(feedforward):
前饋神經網路(Feedforward Neural Network, FNN)
是最簡單的神經網路模型,
資料經由輸入層透過隱藏層,到輸出層單向傳播,神經元之間沒有連接迴路存在。
卷積式框架(convolutional):
卷積神經網路(Convolutional Neural Network, CNN)
是一種前饋神經網路,
它的人工神經元可以回應一部分覆蓋範圍內的周圍單元,
對於大型圖像處理有優秀表現。
神經網路是多數深度學習項目的根基,深度學習類似人類的大腦結構,是一層層互相連接的人工模擬神經元模仿大腦的行為,處理視覺和語言…等複雜問題。人工神經網絡不只可以收集訊息,也可以對訊息做出反應。它們能對事物的外形和聲音做出解釋,還能自行學習與工作,但這都需要極高的運算能力。
隨著計算能力的提升和算法的改進,今日神經網絡和深度學習已經成為人工智慧領域最具吸引力的流派。這些神經網絡還在變得更複雜,當年「Google 大腦」團隊最開始嘗試「無監督學習」時,就動用了1.6萬多台微處理器,創建一個有數十億連接的神經網路,在一個實驗中觀看了千萬個YouTube圖像。
二、所有最酷的系統都在使用 LSTMs
當我們在閱讀文章時,會是以理解前面的語句基礎,來理解後續的詞語,思想具有連續性,並不會丟掉已知的資訊而從頭開始思考。但傳統的神經網路有一大缺陷就是無法達到這一點,而遞歸神經網絡(RNN),它能夠解決這個問題。
RNN擁有循環結構,可以持續保存訊息。過去幾年,RNN在語音識別和翻譯…等許多問題上取得了難以置信的成功,而成功的關鍵在於一種特殊的RNN—長短期記憶網絡(LSTMs)。
* LSTMs(長短期記憶網絡,Long short-term memory):
利用記憶功能來增強人工神經網絡(模擬人類大腦的計算機系統)的方法,
也就是根據先前獲得的訊息,添加解釋文字或圖像模式的循環。
主要用來改善以前RNN的一些問題,如:Memory的設計問題。
普通的RNN可以學會預測「the clouds are in the sky」中最後一個單詞,但難以學會預測「I grew up in France… I speak fluent French.」中最後一個詞。相關訊息(clouds、France)和預測位置(sky、French)的間隔越大,神經網路就越難以學習連接訊息。這就被稱為「長期依賴關係」問題。
LSTMs被設計來克服這個問題。它有四層神經網絡層,以特殊的方式相互作用。這使得「能記住訊息很長一段時間」可以被視作LSTMs的「固有行為」,它們不需要額外學習。在大多數工作中,LSTMs已取得良好的效果。
大部分最先進的系統都將 LSTMs 納入到系統中,好讓系統具有捕捉「重複模式」的記憶力。
三、「注意力模型」在升溫
「注意力」是指神經網路在執行任務時知道要把焦點放在哪。我們可以讓神經網路在每一步都從更大的訊息集中挑選訊息作為輸入。
例如:當神經網絡為一張圖片生成標題時,它可以挑選圖像的關鍵部分作為輸入。
有些系統開始放到「注意力模型」的背景中,或者說讓神經網路在完成任務的過程中試圖學習在哪裡放置其「注意力」。這些還不是一個正規神經網路流水線中的一部分,但是已經開始出現在模型中。
* 注意力機制(Attention Mechanism)
人類的注意力機制是從直覺中獲得,
指人類利用有限的注意力資源
從大量訊息中快速篩選出高價值訊息的方法。
深度學習中的注意力機制借鏡人類的注意力思維方式,
廣泛應用於自然語言處理(Nature Language Processing,NLP)、
圖像分類及語音識別...等各種不同類型的深度學習任務中,並取得了明顯成果。
四、神經圖靈機仍然有趣,但無法應用到實際工作
當你翻譯一句話時,並不會每個詞彙進行,而是會從句子的整體結構出發。而機器難以做到這一點,這一個挑戰叫做「強耦合輸出的整體估計」。
神經網路圖靈機(Neural Turing Machine)它的背後是一種特殊類型的神經網絡,它們可以適應與外部存儲器共同工作,這使得神經網絡可以存儲記憶,還能在此後檢索記憶並執行一些有邏輯性的任務。
Google DeepMind在2014年10月發佈一台原型電腦,它可以模仿一些人類大腦短期工作記憶的特性。所有的神經圖靈機都太過複雜,目前只能解決一些「小玩具」問題。
*圖靈機:
一種簡單的計算機模型。
如現代計算機一樣,他也包含了一個外部存儲器和某種處理器。
神經網路圖靈機(Neural Turing Machines):
是一種神經網絡,
它從圖靈機中獲得靈感,
嘗試執行一些計算機可以解決得很好,
而機器學習模型並不能很好解決的工作。
它在所有讀取到的輸入上都是持續的,
是一個循環神經網絡(recurrent neural network)。
五、深度學習讓計算機視覺和自然語言處理不再是孤島
卷積神經網路(CNN)最早出現在電腦視覺,但現在許多自然語言處理(NLP)也會使用。而LSTMs與遞歸神經網絡深度學習最早出現在NLP中,但現在也被納入計算機視覺神經網絡。
第一次做出引人注目的成果是在NLP任務中,如序列到序列的翻譯(sequence-to-sequence translation)。然而,現在透過修剪被納入到電腦視覺神經網路任務中。
另外,電腦視覺和NLP的交叉部分再加上在圖片捕捉任務中使用到的常見的嵌入(embeddings)技術,目前仍很熱門。
六、符號微分法越來越重要
隨著神經網路框架和它們的目標函數可以自定義,同時也變得越來越複雜,人為手動提取它們反向傳播中的梯度變得越來越難,也容易出錯。
最新的工具,包含:Google的TensorFlow有了自動符號微分,你可以構建你的框架、目標函數,在訓練過程中工具會在眾多的碎片中,自動找出正確的微分來保證誤差梯度可以被反向傳遞。
七、神經網路模型壓縮帶來更多驚人結果
多個團隊以不同的方式壓縮訓練一個良好模型所需的素材體量,這些方法包含:二值化(binarization)、固定浮點(fixed floating point)、疊代剪枝(iterative pruning)和微調措施(fine tuning steps)…等更多。
這些方法為許多應用帶來了可能性,還有可能將很複雜的模型適配到手機上。例如:語音識別,與雲端無延遲的對話來得到結果。
另外,如果運算所需要的空間、時間降低,我們就可以極高幀率(如:30FPS)來查詢一個模型,在行動裝置上也可以運作複雜神經網路模型,來完成接近實時的新類型電腦視覺任務。
八、深度學習和強化學習仍持續交叉
如端對端(end-to-end)機器人,現在機器人已經可以一起運用深度和強化學習,將原始感官數據直接轉化為實際動作。
超越過去「分類」這種簡單工作,嘗試將「計畫」和「行動」加入方程中。
九、如果你沒使用批量正規化,那麼現在應該開始了
批量標準化(Batch Normalization),現在被視作評價一個神經網絡工具包的部分標準。
*批量標準化(Batch Normalization,BN):
和普通的數據標準化類似,
是將分散的數據統一的一種做法,也是優化神經網路的一種方法。
不僅僅對輸入層做標準化處理,
還要對每一中間層的輸入(激活函數前)做標準化處理
十、神經網路和產品應用,應該攜手同行
創造新的神經網路方法需要研究人員,還需要途徑讓這些方法快速擴展到產品中。Google的TensorFlow是少數能夠做到這些的資料庫:使用Python 或 C++等主流程式語言,研究人員可以迅速創造新的網路拓撲圖,接著在單一或多個設備上進行測試。(包含行動裝置)
十一、膠囊網路(Capsule Networks)
Geoffery Hinton發佈關於膠囊網路(Capsule networks)的論文在機器學習領域造成極大影響。它提出理論上能更好地替代卷積神經網路的方案,是當前計算機視覺領域的最新技術。
膠囊網路是一種新興的深層神經網路,其處理資訊的方式類似於人類大腦。
膠囊網路與卷積神經網路相反,雖然卷積神經網路是迄今爲止應用最廣泛的神經網路之一,但它未能考慮簡單對象和複雜對象之間存在的關鍵空間層次結構。
這導致誤分類,並帶來更高的錯誤率。在處理簡單的識別任務時,膠囊網路擁有更高的精度、更少的錯誤數量,並且不需要大量的訓練模型數據。
十二、數據增強(Lean and augmented data learning)
機器學習與深度學習遇到的最大挑戰是:需要大量使用標籤數據來訓練系統。目前有兩種應用廣泛的技巧可以幫助解決這個問題:合成新的數據、遷移學習
- 遷移學習(Transfer Learning) :就是把一個任務或領域學到的經驗,遷移到另一個任務或領域。「一次學習」指遷移學習應用到極端情況下,在只有一個相關例子,甚至沒有例子的情況下學習。由此它們成爲了「精簡數據」的學習技巧。與之相仿,當使用模擬或內插合成新的數據時,它有助於獲取更多的訓練數據,因而能夠增強現有數據以改進學習。 通過運用上述技巧,我們能夠解決更多的問題,尤其是在歷史數據較少的情況下。
想成為爬蟲工程師 、資料分析師 、資料工程師 、資料分析領域專家 、人工智慧產品經理嗎?還是你的公司正需要培養此領域人才呢?
點我了解 AI資料科學家-三階段全方位學程班 👉 https://www.tibame.com/eventpage/ai_datascientist
每日5分鐘, 提拔我園丁陪你快速添補AI/資料科學知識與技能。
若您想了解更多AI/資料科學的小知識、及各產業的相關應用,歡迎訂閱TibaMe FB及部落格,或你有其他想了解的主題歡迎在下方留言讓我們知道唷!
參考資料