CrashCourse AI系列課程第4集:訓練神經網絡

2020-11-19 澎湃新聞

STEAM在線

以下文章來源於大小孩er ,作者墨先sen

大小孩er

創新教育產品經理&學習科學研究僧

CrashCourse AI系列課程第4集:訓練神經網絡;

依舊是人類主持人Jabril和他的AI機器人John Green Bot.

上回說到,製作人工大腦的方法是用神經網絡,試用數百萬個神經元,神經元之間有十億或萬億各個連接。

當今的一些神經網絡又快又大,能夠比人類更好地完成一些諸如下棋和預測天氣等任務。

但是,僅僅搭建一個空的神經網絡是不夠的,神經網絡還需要通過犯錯來學習。

01

基本概念

神經網絡用一個叫「反向傳播」的算法來處理錯誤,確保所有導致錯誤的神經元會被重新調整權重。神經網絡有兩大部分:結構和權重。

結構:包括神經元和它們之間的連接。

權重:用於在計算時精確調整數字。

所以如果神經網絡犯錯誤,一般是因為權重沒有調對。我們就要更新權重,讓它下次表現更好。給神經網絡找到最佳權重的任務叫「優化」。

02

最佳擬合

下面的例子幫助理解「優化」的基本原則。

假設我管理著一個遊泳池,我想預測下周會有多少人來,以方便安排足夠多的救生員。

一個簡單方法是畫個圖,比如在過去幾周裡,每天來了多少人,當天的華氏溫度是多少。然後在圖裡尋找模式來進行預測。計算機可以用一種優化策略叫「線性回歸」。

我們先畫一條隨機直線,勉強算是擬合了一部分數據點。

為了進行優化,需要量化它的錯誤程度。

所以我們計算每個數據點到線之間的距離,把他們加起來,就得到了錯誤值。

線性回歸的目標是調整直線,使錯誤值儘可能地小。

我們希望這條線儘可能擬合訓練數據。這條線就叫「最佳擬合線」。我們可以用這條線預測任意溫度下有多少人會來遊泳。

但是,這條線有一部分很不合理。例如,超冷的天氣,來的人會是負數。而超熱的天氣,來的人比泳池能容納的還多。

為了讓結果更加準確,我們可能需要兩個以上的特徵。比如加上溼度數據,把途從2D變成3D,最佳擬合線就變成了最佳擬合面。

但假設我們加上第四個特徵,比如那天有沒有下雨,就無法將它可視化了。

特徵越多,圖的維度越多,更難優化,更難擬合訓練數據。這時候用「神經網絡」就方便了。

03

反向傳播

把很多神經元連在一起,運算時帶一個權重值,神經網絡可以學會如何解決複雜問題。其中的最佳擬合線變成了一個奇怪的多維函數。

我們給John Green Bot一個沒有訓練過的神經網絡,還是遊泳池的例子,這次特徵用溫度、溼度、是否下雨等等,輸出層預測來泳池的人數。

(先不考慮如何設計這個神經網絡的結構,只關心權重。)

和往常一樣,權重值一開始是隨機數,這次不是一條線,因為有很多輸入,所以是一個大函數,複雜到無法可視化,類似於很多奇怪的多維圖形,甚至沒法給它取名。

為了訓練神經網絡,我們給John green Bot過去10天的遊泳池數據,從第一天開始,溫度華氏80度,溼度65%,沒下雨(用0表示)。

神經元會把特徵值乘以權重,把結果相加傳到隱藏層,直到輸出神經元得到答案。

(這時John Green Bot預測泳池有145個人)。

神經網絡的輸出結果和實際人數有差異,當天實際來了100個人。因為只有一個輸出神經元,錯誤值差異是45人。

然而,其他一些神經網絡,輸出層有多個神經元,預測的答案和正確的答案之間區別不只是一個數字,這種情況下,可以用「損失函數」來表示錯誤值。

接下來,我們調整權重,讓它下次更加準確。機器人通過錯誤來學習,就像之前的感知器程序通過按鈕來監督學習。但由於神經網絡很複雜,這次沒法這樣做了。

為了幫助神經網絡學習,科學家和數學家提出了一種算法叫「誤差反向傳播」,簡稱「反向傳播」。

通過損失函數,看前一層裡哪些神經元犯的錯、看哪些神經元對錯誤結果的影響大一些,所以他們的權重調整的更多。

因為信息是向後傳遞的,所以叫「反向傳播」:輸出神經元將誤差返回到前一層,並根據誤差調整權重,而隱藏層神經元把誤差返到前一層調整應用於特徵的權重。

04

優化

我們的目標是找到權重的最佳組合,使得誤差最小。

用一個比喻來解釋優化。

想像一下,神經網絡中的權重就像地圖上的維度和經度坐標。神經網絡的誤差值是高度——越低越好。探險家John Green bot在找山谷最低點。最低點的誤差值最小,是神經網絡全局最優解的權重。

但是,John Green Bot不知道山谷最低點在哪兒,通過隨機設定初始權重,就像把它隨意扔到叢林裡。它只知道自己現在的經度、緯度和高度。也許運氣足夠好,剛好在最深處的附近,運氣不好就在很遠的山頂。

唯一的辦法是去探索。叢林太密,很難看得很遠,John Green Bot的最好方案是看看周圍並做一些猜測。

它注意到往東北方向移動可以往下一點,所以它走了一步,並更新緯度和經度。在這個新的文職,它環顧四周,走了一步,再次降低高度。走一步,再走一步,每走一步都更新坐標並降低高度。最後,John GreenBot環顧四周,發現不能再降低高度了,它因找到最低點而開始慶祝。

但它可能高興得太早了。如果看整個的地圖,我們可以看到John Green Bot只找到了一個小峽谷,比剛開始低很多,但還不是山谷的最低點。它找到了一個「局部最優解」,誤差值較小,但不是最小的。

反向傳播和學習總會有很多小步驟。對任何神經網絡來說,優化都是困難的。

繼續之前的例子,把優化比喻成探索地圖,我們永遠無法確定是否在朝正確方向前進,是否已經到了最低處的山谷(也就是全局最優解)。

但是我們可以使用一些技巧,比如,把探險家隨便放在地圖上時,它可能距離最低點很遠,中間隔了一條巨大的山脈。所以,我們可以多試幾個隨機起點,確保神經網絡不會陷入局部最優解。

或者扔很多個探險家,同時探索。如果計算機有很多個處理器,同時探索是非常有用的。

我們還可以調整探險家的步長,讓它直接跨過小山坡。一步的大小叫「學習速率」,它是神經元在每次反向傳播時,權重調整的程度。

我們總是在找更有創意的方法來解決問題:嘗試不同權重組合,讓損失函數最小化。

05

過擬合

但是,就算用了大量訓練數據和反向傳播找全局最優解,也只解決了一半問題。另一半是檢查AI能否回答新問題:解決見過的問題很容易,就像直到答案之後去考試,也許能拿到高分,但實際上沒學到什麼。要測試是否真正學會了,要解決沒有見過的問題。神經網絡也是如此。

剛才,John Green Bot用泳池數據來預測遊泳人數,有幾十個特徵:如溫度、溼度、是否下雨、星期幾、風速、草有多長、泳池邊的蝴蝶數量以及救生員的平均GPA。只要計算機能頂得住,數據越多,越好找模式和提高準確度。

隨著學習,反向傳播會調整神經元的權重使得神經網絡的輸出和訓練數據匹配。這叫「擬合訓練數據」。

因為特徵很多,是找一個多維函數來擬合。有時,「反向傳播」讓神經網絡擬合得太好了,大的數據集中有很多巧合關係。比如緬因州地離婚率和美國人造黃油的消費相關、滑雪收入和困在床單中死亡的人數相關。

神經網絡很擅長尋找這類相關關係,但可能會導致問題。如果我們給神經網絡一些新數據,新數據不符合這些愚蠢的相關性,它可能會產生一些奇怪的錯誤。這種問題叫「過擬合」。

防止過擬合最容易的方法是讓神經網絡的結構保持簡單。如果重新訓練John Green Bot的遊泳池人數的預測程序,這次不輸入青草地長度和蝴蝶地數量等數據,發現結果的準確度沒有變化,那麼最好忽略這些特徵。

所以,神經網絡的訓練不光是一堆數學問題,還要考慮如何將手上的問題用最合適的特徵來表示,以及考慮程序可能會犯哪些錯誤。

(完整視頻)

06

下集預告

下節課(如果還有下節課的話)是本課程的第一個上手實驗,我們會應用學過的知識,一起做一個神經網絡。

關聯閱讀:

CrashCourse AI系列課程:AI概述

CrashCourse AI系列課程第1集:什麼是AI

CrashCourse AI系列課程第2集:監督學習

CrashCourse AI系列課程第3集:神經網絡和深度學習

(聲明:除STEAM在線原創文章外,STEAM在線分享和轉載的文章皆為促進STEAM教育在中國的傳播,僅做學習交流,非商業用途,都會註明來源,如文章、照片的原作者有異議,請聯繫後臺快速處理或刪除,謝謝支持。)

STEAM在線交流群

1000+老師、家長,優質教育內容推薦

長按二維碼聯繫

重磅 | 教育部:2023年前將實驗操作納入考試,積極探索跨學科(STEAM)教育

沙有威專欄 | 再論中小學智慧機器人教育與競賽

於曉雅專欄 | STEM教育融入綜合實踐活動應避免的誤區辨析

獨家 | 徵集100萬條留言,著名創客教育專家吳俊傑倡導設立「世界編程日」

峰會 | STEAM教育國際峰會在同濟大學召開,中外專家論道創新教育

更多STEAM教育資訊,請點擊「閱讀原文」

點個「在看」,表示朕已閱閱讀原文

原標題:《CrashCourse AI系列課程第4集:訓練神經網絡》

閱讀原文

相關焦點

  • 讓神經網絡給符號AI「打工」,MIT和IBM聯合解決深度學習痛點,未來...
    連接主義利用知識進行訓練,讓神經網絡具有學習能力,但容易受到對抗攻擊。於是將符號主義和連接主義結合起來的混合式神經-符號AI(neurosymbolic AI)應運而生。科學家用深度神經網絡來構建符號AI所需的知識庫和命題,省去了人工預設的難題,然後使用符號AI對任務進行推理。
  • 教程| 如何使用TensorFlow構建、訓練和改進循環神經網絡
    目前有很多人工智慧應用都依賴於循環深度神經網絡,在谷歌(語音搜索)、百度(DeepSpeech)和亞馬遜的產品中都能看到RNN的身影。然而,當我們開始著手構建自己的 RNN 模型時,我們發現在使用神經網絡處理語音識別這樣的任務上,幾乎沒有簡單直接的先例可以遵循。
  • 讓神經網絡給符號AI「打工」,視覺判斷準確率將遠超人類?
    連接主義利用知識進行訓練,讓神經網絡具有學習能力,但容易受到對抗攻擊。於是將符號主義和連接主義結合起來的混合式神經-符號AI(neurosymbolic AI)應運而生。更好的是,混合AI只需要純粹深度神經網絡訓練數據的10%。混合AI還具有可解釋性,如果發生錯誤,則更容易發現問題所在。提出好問題是機器在人類的另一項技能。這是一種不斷學習世界的方式,而不必等待大量的樣本。沒有任何一種機器可以接近人類提問的能力。而神經-符號AI展現出了這方面的能力。
  • 【乾貨】這8種神經網絡結構,你掌握了幾個?
    如果你學習了Coursera機器學習課程,可能對神經網絡有所了解。神經網絡是機器學習領域中的革命性方法。神經網絡是受生物神經網絡的啟發,特別是深度神經網絡目前取得了很好的效果。神經網絡本身就是一般函數的近似,這就是為什麼它們幾乎可以被應用到任何機器學習的問題中,來學習一個從輸入到輸出空間的複雜映射。
  • 用神經網絡續寫《權力的遊戲》,這個腦洞有點大(附完整小說下載)
    ~Winter is coming……「權力的遊戲」第七季史詩結局了,但是聽說這個系列的最後六集最早要等到2019年春天的時候才會播出。因為厭倦了苦等,一位全棧軟體工程師Zack Thoutt正在訓練一個循環神經網絡(RNN)來預測未完成的第六部小說的情節。他讓神經網絡學習《冰與火之歌》前五部5000頁的文本內容,然後續寫了接下來的劇情。
  • 重建腦科學與AI之間的橋梁,人工神經網絡比機器學習更優嗎?
    1943 年,美國神經科學家麥卡洛克(Warren McCulloch)和邏輯學家皮茨(Water Pitts)在 「A Logical Calculus of Ideas Immanent in Nervous Activity」 一文中提出了神經元的數學模型,受人體大腦神經元的啟發,機器學習領域早期的重要算法 —— 人工神經網絡(Artificial Neural Networks
  • BP神經網絡
    ,這種方法就是我們本文要講的反向傳播神經網絡。  BP神經網絡作為神經網絡和深度學習力最重要的一個算法,有必要掰開了揉碎了來研究的。老規矩蓄勢完畢,開始正題吧。第一層 先直接給出每一層權重的修正公式,手工走一遍反向修正過程。後續有相對較多不太友善的數學公式,如果只是看故事了解個大概的朋友基本可以轉發連結,後文點讚了。
  • [舊文]我試著訓練了一下神經網絡來生成金庸小說
    作為一個學計算機的小學生,自然而然地,我就想到,能不能用最近很火的深度學習,訓練一個神經網絡來學習金庸先生的小說風格,然後生成類似的文章?我一開始的預期是能寫出一些像那麼回事,比較通順的句子就是算是不錯的了。說幹就幹,然後我就花了兩天時間,參考和改進了了網上前人的一些文本生成的例子。
  • 訓練深度神經網絡失敗的罪魁禍首不是梯度消失,而是退化
    在這篇文章中,我將指出一個常見的關於訓練深度神經網絡的困難的誤解。人們通常認為這種困難主要是(如果不全是)由於梯度消失問題(和/或梯度爆炸問題)。「梯度消失」指的是隨著網絡深度增加,參數的梯度範數指數式減小的現象。梯度很小,意味著參數的變化很緩慢,從而使得學習過程停滯,直到梯度變得足夠大,而這通常需要指數量級的時間。
  • Neurons字幕組 | 2分鐘帶你看懂李飛飛論文:神經網絡是怎樣給一幅圖增加文字描述,實現「看圖說話」的?(附論文下載)
    神經網絡不僅僅可以做到圖像分類,還可以「看圖說人話」!想要一探究竟嘛?今天我們將用一個2分鐘小視頻,為大家介紹人工智慧怎樣結合卷積神經網絡CNN與循環神經網絡RNN,識別圖像並輸出一句完整的描繪語句!請在WiFi下觀看小視頻,暫時無法觀看的讀者可以先收藏,或者下拉直接查看文字版要點,土豪請隨意~神經網絡是怎麼看圖說話的?神經網絡的一個分支——大名鼎鼎的卷積神經網絡CNN由於適合人類的視覺機制,從而更加適合處理和分類圖像。
  • 用深度神經網絡求解『薛丁格方程』,AI開啟量子化學新未來|Nature...
    最近,來自柏林自由大學(Freie Universität Berlin) 的科學團隊取得了突破性進展,他們發表的一篇名為《利用深度神經網絡解電子薛丁格方程》的論文,登上了《Nature Chemistry》子刊。
  • 圖神經網絡加速晶片進入倒計時 全球首款商用圖神經網絡加速IP核...
    GCU Zero  Homosapiens系列  基於混合結構設計思想,GCU Zero分別為圖神經網絡的兩個主要執行階段——圖遍歷階段和神經網絡變換階段設計相應的加速引擎,並流水兩個引擎的執行  開啟圖神經網絡加速時代  圖神經網絡被認為是推動「認知智能」發展強有力的推理方法,有望解決深度學習無法處理的關係推理、可解釋性等一系列問題,讓機器「能理解、會思考」。  不過,儘管目前在國際學術界已有團隊開展了基於圖神經網絡加速的相關研究,工業界也有了基於圖神經網絡的落地應用,但目前圖神經網絡加速晶片在國際上還是一片「無人區」。
  • 夏日專刊AI產品上新升級集錦,50餘項軟硬能力加速場景落地
    4. 新增 SDK 集成快速開始文檔,方便開發者快速集成使用,包括 Windows x86 加速版、Linux x86 GPU 加速版、Linux ARM、Android ARM、EdgeBoard(FZ)、Jetson 系列。
  • 當AI 邂逅藝術:機器寫詩綜述
    RNNLM基於 RNN 語言模型 [4] 的方法,將詩歌的整體內容,作為訓練語料送給 RNN 語言模型進行訓練。訓練完成後,先給定一些初始內容,然後就可以按照語言模型輸出的概率分布進行採樣得到下一個詞,不斷重複這個過程就產生完整的詩歌。
  • 停課不停學 | 建築學專業在線網絡課程共享
    疫情當前「停課不停學」,為了更好地響應國家堅決打贏疫情防控阻擊戰的號召,在《教育部應對新型冠狀病毒感染肺炎疫情工作領導小組辦公室關於在疫情防護期間做好普通高等學校在線教學組織與管理工作的指導意見》重要精神的指導下,截至到目前,我們網上收集了約50餘門建築學專業線上免費網絡課程
  • 一圖抵千言:帶你了解最直觀的神經網絡架構可視化
    神經網絡是複雜、多維、非線性的數組運算。如何在避免過於複雜或重複的情況下呈現深度學習模型架構的重要特徵呢?又該以何種方式清晰直觀、啟發性地呈現它們呢?(好看也是加分項!)無論研究還是教學項目對此都沒有固定標準。本文我們就來了解一下可視化整個神經網絡架構和特定模塊的工具和技巧。
  • 一次性搞清楚 crush 和 crash 的全部含義 | 不僅僅是暗戀哦
    (不是黑粉hhh)以上我們便結束對crush這個詞的分析下面我們要說一下它的異卵雙胞胎姐妹~~~crash雖然長得很像,但不要搞混鴨首先crash 最基本的意思是"撞"由這個衍生出crash的兩個用法,第一個就是撞擊的本意了,做動詞用即"to move with force"I love the sound the waves make when they crash against the pier.
  • 用於端點AI加速的10大處理器
    4uEednc應用處理器 英特爾Movidius Myriad X Myriad X由愛爾蘭初創公司Movidius開發,該公司於2016年被英特爾收購。Myriad X是Movidius的第三代視覺處理單元,也是首款搭載專用神經網絡計算引擎的處理器,可提供1TOPS的運算能力,專門用於深度神經網絡(DNN)計算。
  • 收藏版 完整10集語音系列課程《靠主邁向真愛》王華萍修女主講-新增第一集語音
    若一4:8,16這組課程共10集,其中第一集只有文字,第2-10有文字和主講音頻。點擊下面收聽。天主祝福,祝屏幕前的你被愛環繞,也給人基督之愛。         王華萍修女   語音視頻   課程    全集        ●《基礎靈修系列課程》75集視頻 全集●  聖經課程