想知道深度學習如何運作?這是所有工程師的快速指南
“AI“一詞隨處可見,你會聽到一些很有抱負的開發者表示,他們想要開始學習人工智慧,也會聽到高管們表示,他們希望在自己的服務中實施AI。但其實很多人都不明白AI到底是什麼。
閱讀完本文後,您將瞭解AI和ML的基礎知識。更重要的是,您將瞭解最流行的ML型別深度學習是如何工作的。
本指南適用於所有人,因此不會涉及高等數學的部分。
背景
瞭解深度學習如何運作的第一步是掌握重要術語之間的差異。
人工智慧與機器學習
人工智慧是計算機中人類智慧的複製
當AI研究首次開始時,研究人員正試圖複製人類智慧以執行特定任務:比如玩遊戲。
他們引入了計算機需要尊重的大量規則。計算機有一個特定的可能行動清單,並根據這些規則做出決定。
機器學習是指機器使用大型資料集,而不是硬編碼規則學習的能力。
ML允許計算機自己學習,這種型別的學習利用了現代計算機的處理能力,可以輕鬆處理大型資料集。
監督學習與無監督學習
監督學習涉及使用具有輸入和預期輸出的標記資料集。
當您使用監督學習訓練AI時,您可以 給它 一個輸入並告訴它預期的輸出。
如果AI生成的輸出錯誤,則會重新調整其計算結果。這個過程在資料集上迭代完成,直到AI不再犯錯誤為止。
監督學習的一個例子是天氣預測AI。它學會使用歷史資料預測天氣。該訓練資料具有輸入(壓力、溼度、風速)和輸出(溫度)。
無監督學習是使用沒有指定結構的資料集進行機器學習的任務。
當您使用無監督學習訓練AI時,您可以讓AI對資料進行邏輯分類。
無監督學習的一個例子是電子商務網站的行為預測AI,它不會透過使用標記的輸入和輸出資料集來學習。
相反,它將建立自己的輸入資料分類,它會告訴您哪種使用者最有可能購買不同的產品。
現在,深度學習如何運作?
現在,您已經準備好了解深度學習是什麼以及它是如何工作的。
深度學習是一種機器學習方法。它允許我們在給定一組輸入的情況下訓練AI來預測輸出。有監督和無監督學習都可以用來訓練AI。
我們將透過建立假設的機票價格估算服務來了解深度學習的工作原理。我們將使用有監督的學習方法對其進行訓練。
我們希望機票價格估算器使用以下輸入預測價格(為簡單起見,我們不包括退票):
-
出發機場
-
目的地機場
-
出發日期
-
航空公司
神經網路
讓我們看看人工智慧的大腦。
像動物一樣,我們的估算器AI的大腦有神經元。它們由圓圈表示。這些神經元相互關聯。
神經元被分為三種不同型別的層:
-
輸入層
-
隱藏層
-
輸出層
輸入層接收輸入資料。在我們的例子中,我們在輸入層有四個神經元:Origin Airport、Destination Airport、Departure Date和Airline。輸入層將輸入傳遞給第一個隱藏層。
隱藏層對我們的輸入執行數學計算。建立神經網路的挑戰之一是決定隱藏層的數量,以及每層的神經元數量。
深度學習中的“深層”是指具有多個隱藏層。
輸出層返回輸出資料。在我們的例子中,它給了我們價格預測。
那麼它如何計算價格預測呢?
這就是深度學習的魔力所在。
神經元之間的每個連線與權重相關聯。這個權重決定了輸入值的重要性。初始權重是隨機設定的。
在預測機票價格時,出發日期是較重的因素之一。因此,出發日期神經元連線將具有很大的權重。
每個神經元都有一個啟用功能。沒有數學推理,這些函式很難理解。
簡而言之,其目的之一是“標準化”神經元的輸出。
一旦輸入資料集透過神經網路的所有層,它就會透過輸出層返回輸出資料。
沒什麼複雜的吧?
訓練神經網路
訓練AI是深度學習中最難的部分。為什麼?
-
您需要一個大型資料集。
-
還需要大量的計算能力。
對於我們的機票價格估算器,我們需要查詢機票價格的歷史資料。由於有大量可能的機場和起飛日期組合,我們需要一個非常大的機票價格清單。
為了訓練AI,我們需要從資料集中提供輸入,並將其輸出與資料集的輸出進行比較。由於人工智慧尚未經過訓練,其產出將是錯誤的。
一旦我們遍歷整個資料集,我們就可以建立一個函式,向我們展示AI輸出與實際輸出的錯誤。此功能稱為成本函式。
理想情況下,我們希望我們的成本函式為零。那時我們的AI輸出與資料集輸出相同。
我們如何降低成本函式?
我們改變神經元之間的權重,可以隨機更改它們直到我們的成本函式很低,但這不是很有效。
相反,我們將使用一種名為Gradient Descent的技術。
Gradient Descent是一種允許我們找到函式最小值的技術。在我們的例子中,我們正在尋找成本函式的最小值。
它的工作原理是在每次資料集迭代後以小增量改變權重。透過計算成本函式在某一組權重下的導數(或梯度),我們能夠看出最小值的方向。
要最小化成本函式,您需要多次遍歷資料集。這就是您需要大量計算能力的原因。
使用梯度下降更新權重是自動完成的。這就是深度學習的魔力!
一旦我們訓練了我們的機票價格估算器AI,我們就可以用它來預測未來的價格。
我在哪裡可以瞭解更多?
還有許多其他型別的神經網路:用於計算機視覺的卷積神經網路和用於自然語言處理的遞迴神經網路。
如果您想學習深度學習的技術方面,我建議您參加線上課程。目前,深度學習的最佳課程之一是吳恩達的深度學習專業。
綜上所述...
-
深度學習使用神經網路來模仿動物智力。
-
神經網路中有三種型別的神經元層:輸入層、隱藏層和輸出層。
-
神經元之間的連線與權重相關聯,決定了輸入值的重要性。
-
神經元對資料應用啟用函式以“標準化”來自神經元的輸出。
-
要訓練神經網路,您需要一個大型資料集。
-
迭代資料集並比較輸出將產生一個成本函式,表明AI從實際輸出中脫離了多少。
-
在透過資料集的每次迭代之後,使用梯度下降來調整神經元之間的權重以降低成本函式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2640341/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深度學習框架新手快速上手指南深度學習框架
- Python機器學習、深度學習:快速、完全的Numpy入門指南Python機器學習深度學習
- 如何快速學習複雜事物的指南 - BaldauLDA
- 這是一份你們需要的Windows版深度學習軟體安裝指南Windows深度學習
- 這才是深度學習的本源深度學習
- [譯] TypeScript 快速學習指南TypeScript
- 如何利用深度學習製作專業水準的照片?深度學習
- DNS 是什麼?如何運作的?DNS
- Linux 是如何成功運作的Linux
- 【深度學習】不要被深度學習一葉障目不見泰山;NLP 解決方案是如何被深度學習改寫的?...深度學習
- 運維工程師是做什麼工作的?linux運維入門學習運維工程師Linux
- 目前,深度學習已成功運用於這三大領域深度學習
- 深度學習工程師的4個檔次深度學習工程師
- 最“全”深度學習的完整硬體指南!深度學習
- 深度學習是什麼深度學習
- 機器學習是深度學習之母機器學習深度學習
- 求助 我想知道學習 JAVA 的要求。。。Java
- 臺大2020年深度學習課程作業二(搬運)深度學習
- Python入門深度學習完整指南Python深度學習
- 手繪漫畫:Google 是如何運作的?Go
- 【深度學習】如何從零開始構建深度學習專案?這裡有一份詳細的教程深度學習
- 百度王海峰:深度學習框架是智慧時代的作業系統深度學習框架作業系統
- Android 動畫:這是一份詳細 & 清晰的 動畫學習指南Android動畫
- Java工程師學習指南(入門篇)Java工程師
- Java工程師學習指南(初級篇)Java工程師
- Java工程師學習指南(中級篇)Java工程師
- Java工程師學習指南(完結篇)Java工程師
- Java工程師學習指南 入門篇Java工程師
- Java工程師學習指南 初級篇Java工程師
- Java工程師學習指南 中級篇Java工程師
- Java工程師學習指南 完結篇Java工程師
- 從起源到具體演算法,這是一份適合所有人讀的深度學習綜述論文演算法深度學習
- 深度學習運算元優化-FFT深度學習優化FFT
- 什麼是深度強化學習? 又是如何應用在遊戲中的?強化學習遊戲
- 大規模深度學習系統技術是如何應用的深度學習
- 我是這樣學習前端的前端
- 什麼是深度學習的影片標註?深度學習
- Linux運維新手如何快速入門?Linux學習方法Linux運維