一文讀懂深度學習(附學習資源)

一文讀懂深度學習(附學習資源)

來源:THU數據派

原文標題:Want to know how Deep Learning works? Here’s a quick guide for everyone

作者:Radu Raicea

翻譯:程思衍

校對:馮羽

本文長度為2500字,建議閱讀6分鐘

Medium上獲得超過一萬五千讚的深度學習入門指南,結合圖文為你縷清深度學習中的各個基礎概念的內涵。

一文讀懂深度學習(附學習資源)

來源:THU數據派

原文標題:Want to know how Deep Learning works? Here’s a quick guide for everyone

作者:Radu Raicea

翻譯:程思衍

校對:馮羽

本文長度為2500字,建議閱讀6分鐘

Medium上獲得超過一萬五千讚的深度學習入門指南,結合圖文為你縷清深度學習中的各個基礎概念的內涵。

一文讀懂深度學習(附學習資源)

Image credit: Datanami

人工智能(AI)

(https://en.wikipedia.org/wiki/Artificial_intelligence)

和機器學習(ML)

(https://en.wikipedia.org/wiki/Machine_learning)

都屬於目前最熱門的話題。

在日常生活中,AI這個術語我們隨處可見。你或許會從立志高遠的開發者哪那裡聽說她(他)們想要學習AI。你又或許會從運營者那裡聽到他們想要在他們的的服務中實施AI。但往往這些人中的絕大多數都並不明白什麼是AI。

在你閱讀完這篇文章之後,你將會了解AI和ML的基本知識。而更重要的是,你將會明白深度學習(https://en.wikipedia.org/wiki/Deep_learning),這類最熱門的機器學習,是如何運作的。

這篇教程適用於所有人,所以本文並沒有涉及高級數學。

背景

理解深度學習如何工作的第一步是掌握下列重要術語之間的區別。

  • 人工智能(AI)v.s.機器學習(ML)

人工智能是人類智能在計算機上的複製。

AI的研究之初,那時的研究人員嘗試著複製人類智能來完成像玩遊戲這樣特定的任務。

他們引入了大量的計算機需要遵守的規則。有了這些規則,計算機就有了一份包含各種可能行動的清單,並基於這些規則作出決定(https://en.wikipedia.org/wiki/Expert_system)。

機器學習,指的是機器使用大量數據集而非硬編碼規則來進行學習的能力。

ML允許計算機通過自身來學習。這種學習方法得益於現代計算機的強大性能,性能保證了計算機能夠輕鬆處理樣本數巨大的數據集。

  • 監督學習 v.s. 非監督學習

監督學習

(https://en.wikipedia.org/wiki/Supervised_learning)

指的是利用已標註數據集進行的學習,該數據中包含輸入和期望輸出。

當你利用監督學習來訓練AI時,你提供給它一份輸入,並告訴它預期的輸出。

如果AI所生成的輸出是錯誤的(譯者注:與期望輸出不同),它將重新調整計算(注:應該是對公式的參數進行重新計算)。這個過程將會在數據集上迭代運行,直到AI不再犯錯誤。

預測天氣的AI便是監督學習的一個典型例子。它通過學習過往數據來預測未來天氣。該訓練數據擁有輸入(氣壓,溼度,風速)和輸出(溫度)。

非監督學習

(https://en.wikipedia.org/wiki/Unsupervised_learning)

是機器學習應用沒有指定結構的數據集來進行學習的任務。

當你應用非監督學習來訓練AI時,你可以讓AI對數據進行邏輯分類。

電商網站上的行為預測AI便是非監督學習的一個例子。它無法通過擁有輸入和輸出的已標註數據集來進行學習。相反地,它在輸入數據上創建它自己的分類。它將會告訴你哪一種用戶最可能購買差異化的商品。

深度學習又是如何運作的呢?

現在你已經準備好去理解什麼是深度學習,以及它是如何運作的。

深度學習是機器學習中的一種方法。在給予它一組輸入後,它使我們能夠訓練AI來預測結果。監督學習和非監督學習都能夠用來訓練AI。

我們將通過建立一個假設的機票價格預估系統來闡述深度學習是如何運作的。我們將應用監督學習方法來訓練它。

我們想要該機票價格預估系統基於下列輸入來進行預測(為了簡潔,我們除去了返程機票):

  • 起飛機場

  • 到達機場

  • 起飛日期

  • 航空公司

神經網絡

接下來我們將視角轉向我們的AI的大腦內部。

和動物一樣,我們預估系統AI的大腦中有神經元。將它們用圓圈表示。這些神經元在內部都是相互連接的。

一文讀懂深度學習(附學習資源)

來源:THU數據派

原文標題:Want to know how Deep Learning works? Here’s a quick guide for everyone

作者:Radu Raicea

翻譯:程思衍

校對:馮羽

本文長度為2500字,建議閱讀6分鐘

Medium上獲得超過一萬五千讚的深度學習入門指南,結合圖文為你縷清深度學習中的各個基礎概念的內涵。

一文讀懂深度學習(附學習資源)

Image credit: Datanami

人工智能(AI)

(https://en.wikipedia.org/wiki/Artificial_intelligence)

和機器學習(ML)

(https://en.wikipedia.org/wiki/Machine_learning)

都屬於目前最熱門的話題。

在日常生活中,AI這個術語我們隨處可見。你或許會從立志高遠的開發者哪那裡聽說她(他)們想要學習AI。你又或許會從運營者那裡聽到他們想要在他們的的服務中實施AI。但往往這些人中的絕大多數都並不明白什麼是AI。

在你閱讀完這篇文章之後,你將會了解AI和ML的基本知識。而更重要的是,你將會明白深度學習(https://en.wikipedia.org/wiki/Deep_learning),這類最熱門的機器學習,是如何運作的。

這篇教程適用於所有人,所以本文並沒有涉及高級數學。

背景

理解深度學習如何工作的第一步是掌握下列重要術語之間的區別。

  • 人工智能(AI)v.s.機器學習(ML)

人工智能是人類智能在計算機上的複製。

AI的研究之初,那時的研究人員嘗試著複製人類智能來完成像玩遊戲這樣特定的任務。

他們引入了大量的計算機需要遵守的規則。有了這些規則,計算機就有了一份包含各種可能行動的清單,並基於這些規則作出決定(https://en.wikipedia.org/wiki/Expert_system)。

機器學習,指的是機器使用大量數據集而非硬編碼規則來進行學習的能力。

ML允許計算機通過自身來學習。這種學習方法得益於現代計算機的強大性能,性能保證了計算機能夠輕鬆處理樣本數巨大的數據集。

  • 監督學習 v.s. 非監督學習

監督學習

(https://en.wikipedia.org/wiki/Supervised_learning)

指的是利用已標註數據集進行的學習,該數據中包含輸入和期望輸出。

當你利用監督學習來訓練AI時,你提供給它一份輸入,並告訴它預期的輸出。

如果AI所生成的輸出是錯誤的(譯者注:與期望輸出不同),它將重新調整計算(注:應該是對公式的參數進行重新計算)。這個過程將會在數據集上迭代運行,直到AI不再犯錯誤。

預測天氣的AI便是監督學習的一個典型例子。它通過學習過往數據來預測未來天氣。該訓練數據擁有輸入(氣壓,溼度,風速)和輸出(溫度)。

非監督學習

(https://en.wikipedia.org/wiki/Unsupervised_learning)

是機器學習應用沒有指定結構的數據集來進行學習的任務。

當你應用非監督學習來訓練AI時,你可以讓AI對數據進行邏輯分類。

電商網站上的行為預測AI便是非監督學習的一個例子。它無法通過擁有輸入和輸出的已標註數據集來進行學習。相反地,它在輸入數據上創建它自己的分類。它將會告訴你哪一種用戶最可能購買差異化的商品。

深度學習又是如何運作的呢?

現在你已經準備好去理解什麼是深度學習,以及它是如何運作的。

深度學習是機器學習中的一種方法。在給予它一組輸入後,它使我們能夠訓練AI來預測結果。監督學習和非監督學習都能夠用來訓練AI。

我們將通過建立一個假設的機票價格預估系統來闡述深度學習是如何運作的。我們將應用監督學習方法來訓練它。

我們想要該機票價格預估系統基於下列輸入來進行預測(為了簡潔,我們除去了返程機票):

  • 起飛機場

  • 到達機場

  • 起飛日期

  • 航空公司

神經網絡

接下來我們將視角轉向我們的AI的大腦內部。

和動物一樣,我們預估系統AI的大腦中有神經元。將它們用圓圈表示。這些神經元在內部都是相互連接的。

一文讀懂深度學習(附學習資源)

Image credit: CS231n

這些神經元又被分為三種層次:

  • 輸入層

  • 隱藏層

  • 輸出層

輸入層接收輸入數據。在本案例中,在輸入層中有4個神經元:起飛機場,到達機場,起飛日期以及航空公司。輸入層將輸入傳遞給第一個隱藏層。

隱藏層針對我們的輸入進行數學運算。創建神經網絡的一大難點便是決定隱藏層的層數,以及每層中神經元的個數。

深度學習中的“深度”所指的是擁有多於一層的隱藏層。

輸出層返回的是輸出數據。在本案例中,輸出層返回的是價格預測。

一文讀懂深度學習(附學習資源)

來源:THU數據派

原文標題:Want to know how Deep Learning works? Here’s a quick guide for everyone

作者:Radu Raicea

翻譯:程思衍

校對:馮羽

本文長度為2500字,建議閱讀6分鐘

Medium上獲得超過一萬五千讚的深度學習入門指南,結合圖文為你縷清深度學習中的各個基礎概念的內涵。

一文讀懂深度學習(附學習資源)

Image credit: Datanami

人工智能(AI)

(https://en.wikipedia.org/wiki/Artificial_intelligence)

和機器學習(ML)

(https://en.wikipedia.org/wiki/Machine_learning)

都屬於目前最熱門的話題。

在日常生活中,AI這個術語我們隨處可見。你或許會從立志高遠的開發者哪那裡聽說她(他)們想要學習AI。你又或許會從運營者那裡聽到他們想要在他們的的服務中實施AI。但往往這些人中的絕大多數都並不明白什麼是AI。

在你閱讀完這篇文章之後,你將會了解AI和ML的基本知識。而更重要的是,你將會明白深度學習(https://en.wikipedia.org/wiki/Deep_learning),這類最熱門的機器學習,是如何運作的。

這篇教程適用於所有人,所以本文並沒有涉及高級數學。

背景

理解深度學習如何工作的第一步是掌握下列重要術語之間的區別。

  • 人工智能(AI)v.s.機器學習(ML)

人工智能是人類智能在計算機上的複製。

AI的研究之初,那時的研究人員嘗試著複製人類智能來完成像玩遊戲這樣特定的任務。

他們引入了大量的計算機需要遵守的規則。有了這些規則,計算機就有了一份包含各種可能行動的清單,並基於這些規則作出決定(https://en.wikipedia.org/wiki/Expert_system)。

機器學習,指的是機器使用大量數據集而非硬編碼規則來進行學習的能力。

ML允許計算機通過自身來學習。這種學習方法得益於現代計算機的強大性能,性能保證了計算機能夠輕鬆處理樣本數巨大的數據集。

  • 監督學習 v.s. 非監督學習

監督學習

(https://en.wikipedia.org/wiki/Supervised_learning)

指的是利用已標註數據集進行的學習,該數據中包含輸入和期望輸出。

當你利用監督學習來訓練AI時,你提供給它一份輸入,並告訴它預期的輸出。

如果AI所生成的輸出是錯誤的(譯者注:與期望輸出不同),它將重新調整計算(注:應該是對公式的參數進行重新計算)。這個過程將會在數據集上迭代運行,直到AI不再犯錯誤。

預測天氣的AI便是監督學習的一個典型例子。它通過學習過往數據來預測未來天氣。該訓練數據擁有輸入(氣壓,溼度,風速)和輸出(溫度)。

非監督學習

(https://en.wikipedia.org/wiki/Unsupervised_learning)

是機器學習應用沒有指定結構的數據集來進行學習的任務。

當你應用非監督學習來訓練AI時,你可以讓AI對數據進行邏輯分類。

電商網站上的行為預測AI便是非監督學習的一個例子。它無法通過擁有輸入和輸出的已標註數據集來進行學習。相反地,它在輸入數據上創建它自己的分類。它將會告訴你哪一種用戶最可能購買差異化的商品。

深度學習又是如何運作的呢?

現在你已經準備好去理解什麼是深度學習,以及它是如何運作的。

深度學習是機器學習中的一種方法。在給予它一組輸入後,它使我們能夠訓練AI來預測結果。監督學習和非監督學習都能夠用來訓練AI。

我們將通過建立一個假設的機票價格預估系統來闡述深度學習是如何運作的。我們將應用監督學習方法來訓練它。

我們想要該機票價格預估系統基於下列輸入來進行預測(為了簡潔,我們除去了返程機票):

  • 起飛機場

  • 到達機場

  • 起飛日期

  • 航空公司

神經網絡

接下來我們將視角轉向我們的AI的大腦內部。

和動物一樣,我們預估系統AI的大腦中有神經元。將它們用圓圈表示。這些神經元在內部都是相互連接的。

一文讀懂深度學習(附學習資源)

Image credit: CS231n

這些神經元又被分為三種層次:

  • 輸入層

  • 隱藏層

  • 輸出層

輸入層接收輸入數據。在本案例中,在輸入層中有4個神經元:起飛機場,到達機場,起飛日期以及航空公司。輸入層將輸入傳遞給第一個隱藏層。

隱藏層針對我們的輸入進行數學運算。創建神經網絡的一大難點便是決定隱藏層的層數,以及每層中神經元的個數。

深度學習中的“深度”所指的是擁有多於一層的隱藏層。

輸出層返回的是輸出數據。在本案例中,輸出層返回的是價格預測。

一文讀懂深度學習(附學習資源)

那麼它到底是如何來運算價格預測的呢?

這便是我們將要揭曉的深度學習的奇妙之處了。

每兩個神經元之間的連接,都對應著一個權重。該權重決定了輸入值的重要程度。初始的權重會被隨機設定。

當預測機票價格時,起飛日期是決定價格的最重要的因素之一。因此,與起飛日期這個神經元相連的連接將會有更高的權重。

一文讀懂深度學習(附學習資源)

來源:THU數據派

原文標題:Want to know how Deep Learning works? Here’s a quick guide for everyone

作者:Radu Raicea

翻譯:程思衍

校對:馮羽

本文長度為2500字,建議閱讀6分鐘

Medium上獲得超過一萬五千讚的深度學習入門指南,結合圖文為你縷清深度學習中的各個基礎概念的內涵。

一文讀懂深度學習(附學習資源)

Image credit: Datanami

人工智能(AI)

(https://en.wikipedia.org/wiki/Artificial_intelligence)

和機器學習(ML)

(https://en.wikipedia.org/wiki/Machine_learning)

都屬於目前最熱門的話題。

在日常生活中,AI這個術語我們隨處可見。你或許會從立志高遠的開發者哪那裡聽說她(他)們想要學習AI。你又或許會從運營者那裡聽到他們想要在他們的的服務中實施AI。但往往這些人中的絕大多數都並不明白什麼是AI。

在你閱讀完這篇文章之後,你將會了解AI和ML的基本知識。而更重要的是,你將會明白深度學習(https://en.wikipedia.org/wiki/Deep_learning),這類最熱門的機器學習,是如何運作的。

這篇教程適用於所有人,所以本文並沒有涉及高級數學。

背景

理解深度學習如何工作的第一步是掌握下列重要術語之間的區別。

  • 人工智能(AI)v.s.機器學習(ML)

人工智能是人類智能在計算機上的複製。

AI的研究之初,那時的研究人員嘗試著複製人類智能來完成像玩遊戲這樣特定的任務。

他們引入了大量的計算機需要遵守的規則。有了這些規則,計算機就有了一份包含各種可能行動的清單,並基於這些規則作出決定(https://en.wikipedia.org/wiki/Expert_system)。

機器學習,指的是機器使用大量數據集而非硬編碼規則來進行學習的能力。

ML允許計算機通過自身來學習。這種學習方法得益於現代計算機的強大性能,性能保證了計算機能夠輕鬆處理樣本數巨大的數據集。

  • 監督學習 v.s. 非監督學習

監督學習

(https://en.wikipedia.org/wiki/Supervised_learning)

指的是利用已標註數據集進行的學習,該數據中包含輸入和期望輸出。

當你利用監督學習來訓練AI時,你提供給它一份輸入,並告訴它預期的輸出。

如果AI所生成的輸出是錯誤的(譯者注:與期望輸出不同),它將重新調整計算(注:應該是對公式的參數進行重新計算)。這個過程將會在數據集上迭代運行,直到AI不再犯錯誤。

預測天氣的AI便是監督學習的一個典型例子。它通過學習過往數據來預測未來天氣。該訓練數據擁有輸入(氣壓,溼度,風速)和輸出(溫度)。

非監督學習

(https://en.wikipedia.org/wiki/Unsupervised_learning)

是機器學習應用沒有指定結構的數據集來進行學習的任務。

當你應用非監督學習來訓練AI時,你可以讓AI對數據進行邏輯分類。

電商網站上的行為預測AI便是非監督學習的一個例子。它無法通過擁有輸入和輸出的已標註數據集來進行學習。相反地,它在輸入數據上創建它自己的分類。它將會告訴你哪一種用戶最可能購買差異化的商品。

深度學習又是如何運作的呢?

現在你已經準備好去理解什麼是深度學習,以及它是如何運作的。

深度學習是機器學習中的一種方法。在給予它一組輸入後,它使我們能夠訓練AI來預測結果。監督學習和非監督學習都能夠用來訓練AI。

我們將通過建立一個假設的機票價格預估系統來闡述深度學習是如何運作的。我們將應用監督學習方法來訓練它。

我們想要該機票價格預估系統基於下列輸入來進行預測(為了簡潔,我們除去了返程機票):

  • 起飛機場

  • 到達機場

  • 起飛日期

  • 航空公司

神經網絡

接下來我們將視角轉向我們的AI的大腦內部。

和動物一樣,我們預估系統AI的大腦中有神經元。將它們用圓圈表示。這些神經元在內部都是相互連接的。

一文讀懂深度學習(附學習資源)

Image credit: CS231n

這些神經元又被分為三種層次:

  • 輸入層

  • 隱藏層

  • 輸出層

輸入層接收輸入數據。在本案例中,在輸入層中有4個神經元:起飛機場,到達機場,起飛日期以及航空公司。輸入層將輸入傳遞給第一個隱藏層。

隱藏層針對我們的輸入進行數學運算。創建神經網絡的一大難點便是決定隱藏層的層數,以及每層中神經元的個數。

深度學習中的“深度”所指的是擁有多於一層的隱藏層。

輸出層返回的是輸出數據。在本案例中,輸出層返回的是價格預測。

一文讀懂深度學習(附學習資源)

那麼它到底是如何來運算價格預測的呢?

這便是我們將要揭曉的深度學習的奇妙之處了。

每兩個神經元之間的連接,都對應著一個權重。該權重決定了輸入值的重要程度。初始的權重會被隨機設定。

當預測機票價格時,起飛日期是決定價格的最重要的因素之一。因此,與起飛日期這個神經元相連的連接將會有更高的權重。

一文讀懂深度學習(附學習資源)

Image credit: CodeProject

每個神經元都有一個激活函數(https://en.wikipedia.org/wiki/Activation_function)。若沒有數學推導,這些函數十分晦澀難懂。

簡而言之,激活函數的作用之一便是將神經元的結果“標準化”。

一旦一組輸入數據通過了神經網絡的所有層,神經網絡將會通過輸出層返回輸出數據。

一點也不復雜,是吧?

訓練神經網絡

訓練AI是深度學習中最難的部分了。這又是為什麼呢?

  • 你需要一個龐大的數據集

  • 你還需要強大的算力

對於我們的機票價格預估系統,我們需要得到過往的票價數據。由於起始機場和起飛時間擁有大量可能的組合,所以我們需要的是一個非常龐大的票價列表。

為了訓練機票價格預估系統的AI,我們需要將數據集的數據給予該系統,然後將它輸出的結果與數據集的輸出進行比對。因為此時AI仍然沒有受過訓練,所以它的輸出將會是錯誤的。

一旦我們遍歷完了整個數據集,我們便能創造出一個函數,該函數告訴我們AI的輸出和真實輸出到底相差多少。這個函數我們稱為損失函數。

在理想情況下,我們希望我們的損失函數為0,該理想情況指的是AI的輸出和數據集的輸出相等之時。

如何減小損失函數呢?

改變神經元之間的權重。我們可以隨機地改變這些權重直到損失函數足夠小,但是這種方法並不夠高效。

取而代之地,我們應用一種叫做梯度下降(https://en.wikipedia.org/wiki/Gradient_descent)的技巧。

梯度下降是一種幫助我們找到函數最小值的技巧。在本案例中,我們尋找損失函數的最小值。

在每次數據集迭代之後,該方法以小增量的方式改變權重。通過計算損失函數在一組確定的權重集合上的導數(梯度),我們便能夠知悉最小值在哪個方向。

一文讀懂深度學習(附學習資源)

來源:THU數據派

原文標題:Want to know how Deep Learning works? Here’s a quick guide for everyone

作者:Radu Raicea

翻譯:程思衍

校對:馮羽

本文長度為2500字,建議閱讀6分鐘

Medium上獲得超過一萬五千讚的深度學習入門指南,結合圖文為你縷清深度學習中的各個基礎概念的內涵。

一文讀懂深度學習(附學習資源)

Image credit: Datanami

人工智能(AI)

(https://en.wikipedia.org/wiki/Artificial_intelligence)

和機器學習(ML)

(https://en.wikipedia.org/wiki/Machine_learning)

都屬於目前最熱門的話題。

在日常生活中,AI這個術語我們隨處可見。你或許會從立志高遠的開發者哪那裡聽說她(他)們想要學習AI。你又或許會從運營者那裡聽到他們想要在他們的的服務中實施AI。但往往這些人中的絕大多數都並不明白什麼是AI。

在你閱讀完這篇文章之後,你將會了解AI和ML的基本知識。而更重要的是,你將會明白深度學習(https://en.wikipedia.org/wiki/Deep_learning),這類最熱門的機器學習,是如何運作的。

這篇教程適用於所有人,所以本文並沒有涉及高級數學。

背景

理解深度學習如何工作的第一步是掌握下列重要術語之間的區別。

  • 人工智能(AI)v.s.機器學習(ML)

人工智能是人類智能在計算機上的複製。

AI的研究之初,那時的研究人員嘗試著複製人類智能來完成像玩遊戲這樣特定的任務。

他們引入了大量的計算機需要遵守的規則。有了這些規則,計算機就有了一份包含各種可能行動的清單,並基於這些規則作出決定(https://en.wikipedia.org/wiki/Expert_system)。

機器學習,指的是機器使用大量數據集而非硬編碼規則來進行學習的能力。

ML允許計算機通過自身來學習。這種學習方法得益於現代計算機的強大性能,性能保證了計算機能夠輕鬆處理樣本數巨大的數據集。

  • 監督學習 v.s. 非監督學習

監督學習

(https://en.wikipedia.org/wiki/Supervised_learning)

指的是利用已標註數據集進行的學習,該數據中包含輸入和期望輸出。

當你利用監督學習來訓練AI時,你提供給它一份輸入,並告訴它預期的輸出。

如果AI所生成的輸出是錯誤的(譯者注:與期望輸出不同),它將重新調整計算(注:應該是對公式的參數進行重新計算)。這個過程將會在數據集上迭代運行,直到AI不再犯錯誤。

預測天氣的AI便是監督學習的一個典型例子。它通過學習過往數據來預測未來天氣。該訓練數據擁有輸入(氣壓,溼度,風速)和輸出(溫度)。

非監督學習

(https://en.wikipedia.org/wiki/Unsupervised_learning)

是機器學習應用沒有指定結構的數據集來進行學習的任務。

當你應用非監督學習來訓練AI時,你可以讓AI對數據進行邏輯分類。

電商網站上的行為預測AI便是非監督學習的一個例子。它無法通過擁有輸入和輸出的已標註數據集來進行學習。相反地,它在輸入數據上創建它自己的分類。它將會告訴你哪一種用戶最可能購買差異化的商品。

深度學習又是如何運作的呢?

現在你已經準備好去理解什麼是深度學習,以及它是如何運作的。

深度學習是機器學習中的一種方法。在給予它一組輸入後,它使我們能夠訓練AI來預測結果。監督學習和非監督學習都能夠用來訓練AI。

我們將通過建立一個假設的機票價格預估系統來闡述深度學習是如何運作的。我們將應用監督學習方法來訓練它。

我們想要該機票價格預估系統基於下列輸入來進行預測(為了簡潔,我們除去了返程機票):

  • 起飛機場

  • 到達機場

  • 起飛日期

  • 航空公司

神經網絡

接下來我們將視角轉向我們的AI的大腦內部。

和動物一樣,我們預估系統AI的大腦中有神經元。將它們用圓圈表示。這些神經元在內部都是相互連接的。

一文讀懂深度學習(附學習資源)

Image credit: CS231n

這些神經元又被分為三種層次:

  • 輸入層

  • 隱藏層

  • 輸出層

輸入層接收輸入數據。在本案例中,在輸入層中有4個神經元:起飛機場,到達機場,起飛日期以及航空公司。輸入層將輸入傳遞給第一個隱藏層。

隱藏層針對我們的輸入進行數學運算。創建神經網絡的一大難點便是決定隱藏層的層數,以及每層中神經元的個數。

深度學習中的“深度”所指的是擁有多於一層的隱藏層。

輸出層返回的是輸出數據。在本案例中,輸出層返回的是價格預測。

一文讀懂深度學習(附學習資源)

那麼它到底是如何來運算價格預測的呢?

這便是我們將要揭曉的深度學習的奇妙之處了。

每兩個神經元之間的連接,都對應著一個權重。該權重決定了輸入值的重要程度。初始的權重會被隨機設定。

當預測機票價格時,起飛日期是決定價格的最重要的因素之一。因此,與起飛日期這個神經元相連的連接將會有更高的權重。

一文讀懂深度學習(附學習資源)

Image credit: CodeProject

每個神經元都有一個激活函數(https://en.wikipedia.org/wiki/Activation_function)。若沒有數學推導,這些函數十分晦澀難懂。

簡而言之,激活函數的作用之一便是將神經元的結果“標準化”。

一旦一組輸入數據通過了神經網絡的所有層,神經網絡將會通過輸出層返回輸出數據。

一點也不復雜,是吧?

訓練神經網絡

訓練AI是深度學習中最難的部分了。這又是為什麼呢?

  • 你需要一個龐大的數據集

  • 你還需要強大的算力

對於我們的機票價格預估系統,我們需要得到過往的票價數據。由於起始機場和起飛時間擁有大量可能的組合,所以我們需要的是一個非常龐大的票價列表。

為了訓練機票價格預估系統的AI,我們需要將數據集的數據給予該系統,然後將它輸出的結果與數據集的輸出進行比對。因為此時AI仍然沒有受過訓練,所以它的輸出將會是錯誤的。

一旦我們遍歷完了整個數據集,我們便能創造出一個函數,該函數告訴我們AI的輸出和真實輸出到底相差多少。這個函數我們稱為損失函數。

在理想情況下,我們希望我們的損失函數為0,該理想情況指的是AI的輸出和數據集的輸出相等之時。

如何減小損失函數呢?

改變神經元之間的權重。我們可以隨機地改變這些權重直到損失函數足夠小,但是這種方法並不夠高效。

取而代之地,我們應用一種叫做梯度下降(https://en.wikipedia.org/wiki/Gradient_descent)的技巧。

梯度下降是一種幫助我們找到函數最小值的技巧。在本案例中,我們尋找損失函數的最小值。

在每次數據集迭代之後,該方法以小增量的方式改變權重。通過計算損失函數在一組確定的權重集合上的導數(梯度),我們便能夠知悉最小值在哪個方向。

一文讀懂深度學習(附學習資源)

Image credit: Sebastian Raschka

為了最小化損失函數,你需要多次迭代數據集。這便是需要高算力的原因了。

利用梯度下降更新權重的過程是自動進行的。這便是深度學習的魔力所在!

一旦我們訓練好機票價格預估的AI之後,我們便能夠用它來預測未來的價格了。

拓展閱讀

神經網絡有非常多的種類:用於計算機視覺(https://en.wikipedia.org/wiki/Computer_vision)的卷積神經網絡(https://en.wikipedia.org/wiki/Convolutional_neural_network)以及應用於自然語言處理(https://en.wikipedia.org/wiki/Natural_language_processing)的循環神經網絡(https://en.wikipedia.org/wiki/Recurrent_neural_network)。

如果你想要學習深度學習的技術細節,我建議你參加一個在線課程。

吳恩達(https://medium.com/@andrewng)的深度學習專項課程(https://www.coursera.org/specializations/deep-learning)是當下最好的深度學習課程之一。如果你並不需要一個證書,你便可以免費旁聽這門課程。

小結

1. 深度學習應用神經網絡來模仿動物智能。

2. 神經網絡中有三個層次的神經元:輸入層、隱藏層以及輸出層。

3. 神經元之間的連接對應一個權重,該權重決定了各輸入數據的重要程度。

4. 神經元中應用一個激活函數來“標準化”神經元輸出的數據。

5. 你需要一個龐大的數據集來訓練神經網絡。

6. 在數據集上迭代並與輸出結果相比較,我們將會得到一個損失函數,損失函數能告訴我們AI生成的結果和真實結果相差多少。

7. 在每次數據集的迭代之後,都會利用梯度下降方法調整神經元之間的權重,以減小損失函數。

原文鏈接:

https://medium.freecodecamp.org/want-to-know-how-deep-learning-works-heres-a-quick-guide-for-everyone-1aedeca88076

一文讀懂深度學習(附學習資源)

來源:THU數據派

原文標題:Want to know how Deep Learning works? Here’s a quick guide for everyone

作者:Radu Raicea

翻譯:程思衍

校對:馮羽

本文長度為2500字,建議閱讀6分鐘

Medium上獲得超過一萬五千讚的深度學習入門指南,結合圖文為你縷清深度學習中的各個基礎概念的內涵。

一文讀懂深度學習(附學習資源)

Image credit: Datanami

人工智能(AI)

(https://en.wikipedia.org/wiki/Artificial_intelligence)

和機器學習(ML)

(https://en.wikipedia.org/wiki/Machine_learning)

都屬於目前最熱門的話題。

在日常生活中,AI這個術語我們隨處可見。你或許會從立志高遠的開發者哪那裡聽說她(他)們想要學習AI。你又或許會從運營者那裡聽到他們想要在他們的的服務中實施AI。但往往這些人中的絕大多數都並不明白什麼是AI。

在你閱讀完這篇文章之後,你將會了解AI和ML的基本知識。而更重要的是,你將會明白深度學習(https://en.wikipedia.org/wiki/Deep_learning),這類最熱門的機器學習,是如何運作的。

這篇教程適用於所有人,所以本文並沒有涉及高級數學。

背景

理解深度學習如何工作的第一步是掌握下列重要術語之間的區別。

  • 人工智能(AI)v.s.機器學習(ML)

人工智能是人類智能在計算機上的複製。

AI的研究之初,那時的研究人員嘗試著複製人類智能來完成像玩遊戲這樣特定的任務。

他們引入了大量的計算機需要遵守的規則。有了這些規則,計算機就有了一份包含各種可能行動的清單,並基於這些規則作出決定(https://en.wikipedia.org/wiki/Expert_system)。

機器學習,指的是機器使用大量數據集而非硬編碼規則來進行學習的能力。

ML允許計算機通過自身來學習。這種學習方法得益於現代計算機的強大性能,性能保證了計算機能夠輕鬆處理樣本數巨大的數據集。

  • 監督學習 v.s. 非監督學習

監督學習

(https://en.wikipedia.org/wiki/Supervised_learning)

指的是利用已標註數據集進行的學習,該數據中包含輸入和期望輸出。

當你利用監督學習來訓練AI時,你提供給它一份輸入,並告訴它預期的輸出。

如果AI所生成的輸出是錯誤的(譯者注:與期望輸出不同),它將重新調整計算(注:應該是對公式的參數進行重新計算)。這個過程將會在數據集上迭代運行,直到AI不再犯錯誤。

預測天氣的AI便是監督學習的一個典型例子。它通過學習過往數據來預測未來天氣。該訓練數據擁有輸入(氣壓,溼度,風速)和輸出(溫度)。

非監督學習

(https://en.wikipedia.org/wiki/Unsupervised_learning)

是機器學習應用沒有指定結構的數據集來進行學習的任務。

當你應用非監督學習來訓練AI時,你可以讓AI對數據進行邏輯分類。

電商網站上的行為預測AI便是非監督學習的一個例子。它無法通過擁有輸入和輸出的已標註數據集來進行學習。相反地,它在輸入數據上創建它自己的分類。它將會告訴你哪一種用戶最可能購買差異化的商品。

深度學習又是如何運作的呢?

現在你已經準備好去理解什麼是深度學習,以及它是如何運作的。

深度學習是機器學習中的一種方法。在給予它一組輸入後,它使我們能夠訓練AI來預測結果。監督學習和非監督學習都能夠用來訓練AI。

我們將通過建立一個假設的機票價格預估系統來闡述深度學習是如何運作的。我們將應用監督學習方法來訓練它。

我們想要該機票價格預估系統基於下列輸入來進行預測(為了簡潔,我們除去了返程機票):

  • 起飛機場

  • 到達機場

  • 起飛日期

  • 航空公司

神經網絡

接下來我們將視角轉向我們的AI的大腦內部。

和動物一樣,我們預估系統AI的大腦中有神經元。將它們用圓圈表示。這些神經元在內部都是相互連接的。

一文讀懂深度學習(附學習資源)

Image credit: CS231n

這些神經元又被分為三種層次:

  • 輸入層

  • 隱藏層

  • 輸出層

輸入層接收輸入數據。在本案例中,在輸入層中有4個神經元:起飛機場,到達機場,起飛日期以及航空公司。輸入層將輸入傳遞給第一個隱藏層。

隱藏層針對我們的輸入進行數學運算。創建神經網絡的一大難點便是決定隱藏層的層數,以及每層中神經元的個數。

深度學習中的“深度”所指的是擁有多於一層的隱藏層。

輸出層返回的是輸出數據。在本案例中,輸出層返回的是價格預測。

一文讀懂深度學習(附學習資源)

那麼它到底是如何來運算價格預測的呢?

這便是我們將要揭曉的深度學習的奇妙之處了。

每兩個神經元之間的連接,都對應著一個權重。該權重決定了輸入值的重要程度。初始的權重會被隨機設定。

當預測機票價格時,起飛日期是決定價格的最重要的因素之一。因此,與起飛日期這個神經元相連的連接將會有更高的權重。

一文讀懂深度學習(附學習資源)

Image credit: CodeProject

每個神經元都有一個激活函數(https://en.wikipedia.org/wiki/Activation_function)。若沒有數學推導,這些函數十分晦澀難懂。

簡而言之,激活函數的作用之一便是將神經元的結果“標準化”。

一旦一組輸入數據通過了神經網絡的所有層,神經網絡將會通過輸出層返回輸出數據。

一點也不復雜,是吧?

訓練神經網絡

訓練AI是深度學習中最難的部分了。這又是為什麼呢?

  • 你需要一個龐大的數據集

  • 你還需要強大的算力

對於我們的機票價格預估系統,我們需要得到過往的票價數據。由於起始機場和起飛時間擁有大量可能的組合,所以我們需要的是一個非常龐大的票價列表。

為了訓練機票價格預估系統的AI,我們需要將數據集的數據給予該系統,然後將它輸出的結果與數據集的輸出進行比對。因為此時AI仍然沒有受過訓練,所以它的輸出將會是錯誤的。

一旦我們遍歷完了整個數據集,我們便能創造出一個函數,該函數告訴我們AI的輸出和真實輸出到底相差多少。這個函數我們稱為損失函數。

在理想情況下,我們希望我們的損失函數為0,該理想情況指的是AI的輸出和數據集的輸出相等之時。

如何減小損失函數呢?

改變神經元之間的權重。我們可以隨機地改變這些權重直到損失函數足夠小,但是這種方法並不夠高效。

取而代之地,我們應用一種叫做梯度下降(https://en.wikipedia.org/wiki/Gradient_descent)的技巧。

梯度下降是一種幫助我們找到函數最小值的技巧。在本案例中,我們尋找損失函數的最小值。

在每次數據集迭代之後,該方法以小增量的方式改變權重。通過計算損失函數在一組確定的權重集合上的導數(梯度),我們便能夠知悉最小值在哪個方向。

一文讀懂深度學習(附學習資源)

Image credit: Sebastian Raschka

為了最小化損失函數,你需要多次迭代數據集。這便是需要高算力的原因了。

利用梯度下降更新權重的過程是自動進行的。這便是深度學習的魔力所在!

一旦我們訓練好機票價格預估的AI之後,我們便能夠用它來預測未來的價格了。

拓展閱讀

神經網絡有非常多的種類:用於計算機視覺(https://en.wikipedia.org/wiki/Computer_vision)的卷積神經網絡(https://en.wikipedia.org/wiki/Convolutional_neural_network)以及應用於自然語言處理(https://en.wikipedia.org/wiki/Natural_language_processing)的循環神經網絡(https://en.wikipedia.org/wiki/Recurrent_neural_network)。

如果你想要學習深度學習的技術細節,我建議你參加一個在線課程。

吳恩達(https://medium.com/@andrewng)的深度學習專項課程(https://www.coursera.org/specializations/deep-learning)是當下最好的深度學習課程之一。如果你並不需要一個證書,你便可以免費旁聽這門課程。

小結

1. 深度學習應用神經網絡來模仿動物智能。

2. 神經網絡中有三個層次的神經元:輸入層、隱藏層以及輸出層。

3. 神經元之間的連接對應一個權重,該權重決定了各輸入數據的重要程度。

4. 神經元中應用一個激活函數來“標準化”神經元輸出的數據。

5. 你需要一個龐大的數據集來訓練神經網絡。

6. 在數據集上迭代並與輸出結果相比較,我們將會得到一個損失函數,損失函數能告訴我們AI生成的結果和真實結果相差多少。

7. 在每次數據集的迭代之後,都會利用梯度下降方法調整神經元之間的權重,以減小損失函數。

原文鏈接:

https://medium.freecodecamp.org/want-to-know-how-deep-learning-works-heres-a-quick-guide-for-everyone-1aedeca88076

一文讀懂深度學習(附學習資源)

程思衍,本科畢業於北航計算機系,美國南加州大學 Data Informatics 專業在讀碩士。曾進行過問答系統、機器學習預測、高併發等方面的開發,目前主要從事問答領域的學習和研究。

一文讀懂深度學習(附學習資源)

來源:THU數據派

原文標題:Want to know how Deep Learning works? Here’s a quick guide for everyone

作者:Radu Raicea

翻譯:程思衍

校對:馮羽

本文長度為2500字,建議閱讀6分鐘

Medium上獲得超過一萬五千讚的深度學習入門指南,結合圖文為你縷清深度學習中的各個基礎概念的內涵。

一文讀懂深度學習(附學習資源)

Image credit: Datanami

人工智能(AI)

(https://en.wikipedia.org/wiki/Artificial_intelligence)

和機器學習(ML)

(https://en.wikipedia.org/wiki/Machine_learning)

都屬於目前最熱門的話題。

在日常生活中,AI這個術語我們隨處可見。你或許會從立志高遠的開發者哪那裡聽說她(他)們想要學習AI。你又或許會從運營者那裡聽到他們想要在他們的的服務中實施AI。但往往這些人中的絕大多數都並不明白什麼是AI。

在你閱讀完這篇文章之後,你將會了解AI和ML的基本知識。而更重要的是,你將會明白深度學習(https://en.wikipedia.org/wiki/Deep_learning),這類最熱門的機器學習,是如何運作的。

這篇教程適用於所有人,所以本文並沒有涉及高級數學。

背景

理解深度學習如何工作的第一步是掌握下列重要術語之間的區別。

  • 人工智能(AI)v.s.機器學習(ML)

人工智能是人類智能在計算機上的複製。

AI的研究之初,那時的研究人員嘗試著複製人類智能來完成像玩遊戲這樣特定的任務。

他們引入了大量的計算機需要遵守的規則。有了這些規則,計算機就有了一份包含各種可能行動的清單,並基於這些規則作出決定(https://en.wikipedia.org/wiki/Expert_system)。

機器學習,指的是機器使用大量數據集而非硬編碼規則來進行學習的能力。

ML允許計算機通過自身來學習。這種學習方法得益於現代計算機的強大性能,性能保證了計算機能夠輕鬆處理樣本數巨大的數據集。

  • 監督學習 v.s. 非監督學習

監督學習

(https://en.wikipedia.org/wiki/Supervised_learning)

指的是利用已標註數據集進行的學習,該數據中包含輸入和期望輸出。

當你利用監督學習來訓練AI時,你提供給它一份輸入,並告訴它預期的輸出。

如果AI所生成的輸出是錯誤的(譯者注:與期望輸出不同),它將重新調整計算(注:應該是對公式的參數進行重新計算)。這個過程將會在數據集上迭代運行,直到AI不再犯錯誤。

預測天氣的AI便是監督學習的一個典型例子。它通過學習過往數據來預測未來天氣。該訓練數據擁有輸入(氣壓,溼度,風速)和輸出(溫度)。

非監督學習

(https://en.wikipedia.org/wiki/Unsupervised_learning)

是機器學習應用沒有指定結構的數據集來進行學習的任務。

當你應用非監督學習來訓練AI時,你可以讓AI對數據進行邏輯分類。

電商網站上的行為預測AI便是非監督學習的一個例子。它無法通過擁有輸入和輸出的已標註數據集來進行學習。相反地,它在輸入數據上創建它自己的分類。它將會告訴你哪一種用戶最可能購買差異化的商品。

深度學習又是如何運作的呢?

現在你已經準備好去理解什麼是深度學習,以及它是如何運作的。

深度學習是機器學習中的一種方法。在給予它一組輸入後,它使我們能夠訓練AI來預測結果。監督學習和非監督學習都能夠用來訓練AI。

我們將通過建立一個假設的機票價格預估系統來闡述深度學習是如何運作的。我們將應用監督學習方法來訓練它。

我們想要該機票價格預估系統基於下列輸入來進行預測(為了簡潔,我們除去了返程機票):

  • 起飛機場

  • 到達機場

  • 起飛日期

  • 航空公司

神經網絡

接下來我們將視角轉向我們的AI的大腦內部。

和動物一樣,我們預估系統AI的大腦中有神經元。將它們用圓圈表示。這些神經元在內部都是相互連接的。

一文讀懂深度學習(附學習資源)

Image credit: CS231n

這些神經元又被分為三種層次:

  • 輸入層

  • 隱藏層

  • 輸出層

輸入層接收輸入數據。在本案例中,在輸入層中有4個神經元:起飛機場,到達機場,起飛日期以及航空公司。輸入層將輸入傳遞給第一個隱藏層。

隱藏層針對我們的輸入進行數學運算。創建神經網絡的一大難點便是決定隱藏層的層數,以及每層中神經元的個數。

深度學習中的“深度”所指的是擁有多於一層的隱藏層。

輸出層返回的是輸出數據。在本案例中,輸出層返回的是價格預測。

一文讀懂深度學習(附學習資源)

那麼它到底是如何來運算價格預測的呢?

這便是我們將要揭曉的深度學習的奇妙之處了。

每兩個神經元之間的連接,都對應著一個權重。該權重決定了輸入值的重要程度。初始的權重會被隨機設定。

當預測機票價格時,起飛日期是決定價格的最重要的因素之一。因此,與起飛日期這個神經元相連的連接將會有更高的權重。

一文讀懂深度學習(附學習資源)

Image credit: CodeProject

每個神經元都有一個激活函數(https://en.wikipedia.org/wiki/Activation_function)。若沒有數學推導,這些函數十分晦澀難懂。

簡而言之,激活函數的作用之一便是將神經元的結果“標準化”。

一旦一組輸入數據通過了神經網絡的所有層,神經網絡將會通過輸出層返回輸出數據。

一點也不復雜,是吧?

訓練神經網絡

訓練AI是深度學習中最難的部分了。這又是為什麼呢?

  • 你需要一個龐大的數據集

  • 你還需要強大的算力

對於我們的機票價格預估系統,我們需要得到過往的票價數據。由於起始機場和起飛時間擁有大量可能的組合,所以我們需要的是一個非常龐大的票價列表。

為了訓練機票價格預估系統的AI,我們需要將數據集的數據給予該系統,然後將它輸出的結果與數據集的輸出進行比對。因為此時AI仍然沒有受過訓練,所以它的輸出將會是錯誤的。

一旦我們遍歷完了整個數據集,我們便能創造出一個函數,該函數告訴我們AI的輸出和真實輸出到底相差多少。這個函數我們稱為損失函數。

在理想情況下,我們希望我們的損失函數為0,該理想情況指的是AI的輸出和數據集的輸出相等之時。

如何減小損失函數呢?

改變神經元之間的權重。我們可以隨機地改變這些權重直到損失函數足夠小,但是這種方法並不夠高效。

取而代之地,我們應用一種叫做梯度下降(https://en.wikipedia.org/wiki/Gradient_descent)的技巧。

梯度下降是一種幫助我們找到函數最小值的技巧。在本案例中,我們尋找損失函數的最小值。

在每次數據集迭代之後,該方法以小增量的方式改變權重。通過計算損失函數在一組確定的權重集合上的導數(梯度),我們便能夠知悉最小值在哪個方向。

一文讀懂深度學習(附學習資源)

Image credit: Sebastian Raschka

為了最小化損失函數,你需要多次迭代數據集。這便是需要高算力的原因了。

利用梯度下降更新權重的過程是自動進行的。這便是深度學習的魔力所在!

一旦我們訓練好機票價格預估的AI之後,我們便能夠用它來預測未來的價格了。

拓展閱讀

神經網絡有非常多的種類:用於計算機視覺(https://en.wikipedia.org/wiki/Computer_vision)的卷積神經網絡(https://en.wikipedia.org/wiki/Convolutional_neural_network)以及應用於自然語言處理(https://en.wikipedia.org/wiki/Natural_language_processing)的循環神經網絡(https://en.wikipedia.org/wiki/Recurrent_neural_network)。

如果你想要學習深度學習的技術細節,我建議你參加一個在線課程。

吳恩達(https://medium.com/@andrewng)的深度學習專項課程(https://www.coursera.org/specializations/deep-learning)是當下最好的深度學習課程之一。如果你並不需要一個證書,你便可以免費旁聽這門課程。

小結

1. 深度學習應用神經網絡來模仿動物智能。

2. 神經網絡中有三個層次的神經元:輸入層、隱藏層以及輸出層。

3. 神經元之間的連接對應一個權重,該權重決定了各輸入數據的重要程度。

4. 神經元中應用一個激活函數來“標準化”神經元輸出的數據。

5. 你需要一個龐大的數據集來訓練神經網絡。

6. 在數據集上迭代並與輸出結果相比較,我們將會得到一個損失函數,損失函數能告訴我們AI生成的結果和真實結果相差多少。

7. 在每次數據集的迭代之後,都會利用梯度下降方法調整神經元之間的權重,以減小損失函數。

原文鏈接:

https://medium.freecodecamp.org/want-to-know-how-deep-learning-works-heres-a-quick-guide-for-everyone-1aedeca88076

一文讀懂深度學習(附學習資源)

程思衍,本科畢業於北航計算機系,美國南加州大學 Data Informatics 專業在讀碩士。曾進行過問答系統、機器學習預測、高併發等方面的開發,目前主要從事問答領域的學習和研究。

一文讀懂深度學習(附學習資源)

點擊下方“閱讀原文”瞭解環境貓的更多信息

↓↓↓

相關推薦

推薦中...