日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习基础知识介绍

發(fā)布時(shí)間:2023/12/15 pytorch 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习基础知识介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

      • 背景知識
      • 深度學(xué)習(xí)又是如何運(yùn)作的呢?
      • 神經(jīng)網(wǎng)絡(luò)
      • 訓(xùn)練神經(jīng)網(wǎng)絡(luò)
      • 如何減小損失函數(shù)呢?
      • 小結(jié)

這是一篇Medium上獲得近2萬贊的深度學(xué)習(xí)入門指南,用圖文為你詳解深度學(xué)習(xí)中的各個(gè)基礎(chǔ)概念。

在我們的日常生活中,幾乎隨處可見AI和機(jī)器學(xué)習(xí)這些術(shù)語。但,絕大多數(shù)人并不明白什么是AI。

背景知識

理解深度學(xué)習(xí)如何工作的第一步是掌握下列重要術(shù)語之間的區(qū)別。

1、人工智能(AI)v.s.機(jī)器學(xué)習(xí)(ML)

人工智能是對人類智能在計(jì)算機(jī)上的復(fù)制。
機(jī)器學(xué)習(xí),指的是機(jī)器使用大量數(shù)據(jù)集而非硬編碼規(guī)則來進(jìn)行學(xué)習(xí)的能力。

在整個(gè)人工智能發(fā)展史上,幾乎一直隨同人工神經(jīng)網(wǎng)絡(luò)研究的進(jìn)展而起起伏伏。近期引發(fā)人工智能新一輪熱潮的深度學(xué)習(xí),其名稱中的“深度”某種意義上就是指人工神經(jīng)網(wǎng)絡(luò)的層數(shù),深度學(xué)習(xí)本質(zhì)上是基于多層人工神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)算法。 ML允許計(jì)算機(jī)通過自身來學(xué)習(xí)。這種學(xué)習(xí)方法得益于現(xiàn)代計(jì)算機(jī)的強(qiáng)大性能,性能保證了計(jì)算機(jī)能夠輕松處理樣本數(shù)巨大的數(shù)據(jù)集。

2、監(jiān)督學(xué)習(xí) v.s. 非監(jiān)督學(xué)習(xí)

監(jiān)督學(xué)習(xí):

從標(biāo)記的訓(xùn)練數(shù)據(jù)來推斷一個(gè)功能的機(jī)器學(xué)習(xí)任務(wù)。訓(xùn)練數(shù)據(jù)包括一套訓(xùn)練示例。在監(jiān)督學(xué)習(xí)中,每個(gè)實(shí)例都是由一個(gè)輸入對象(通常為矢量)和一個(gè)期望的輸出值(也稱為監(jiān)督信號)組成。

當(dāng)你利用監(jiān)督學(xué)習(xí)來訓(xùn)練AI時(shí),你提供給它一份輸入,并告訴它預(yù)期的輸出。

比如:預(yù)測天氣的AI便是監(jiān)督學(xué)習(xí)的典型案例之一。它通過學(xué)習(xí)過往數(shù)據(jù)來預(yù)測未來天氣,其訓(xùn)練數(shù)據(jù)擁有輸入(氣壓、濕度、風(fēng)速)和輸出(溫度)。

非監(jiān)督學(xué)習(xí):

根據(jù)類別未知(沒有被標(biāo)記)的訓(xùn)練樣本/數(shù)據(jù)來進(jìn)行學(xué)習(xí),以解決模式識別中的各種問題。

無監(jiān)督學(xué)習(xí)里典型例子是聚類。聚類的目的在于把相似的東西聚在一起,而我們并不關(guān)心這一類是什么。因此,一個(gè)聚類算法通常只需要知道如何計(jì)算相似度就可以開始工作了。

具體來說,電商網(wǎng)站上的行為預(yù)測AI就屬于非監(jiān)督學(xué)習(xí)。它在輸入數(shù)據(jù)上創(chuàng)建它自己的分類。它將會告訴你哪一種用戶最可能購買差異化的商品。

深度學(xué)習(xí)又是如何運(yùn)作的呢?

現(xiàn)在我們再來了解什么是深度學(xué)習(xí),以及它是如何運(yùn)作的。

深度學(xué)習(xí)的概念由Hinton等人于2006年提出。

它是機(jī)器學(xué)習(xí)中一種基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。在給予它一組輸入后,它使我們能夠訓(xùn)練AI來預(yù)測結(jié)果。其動機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機(jī)制來解釋數(shù)據(jù),例如圖像、聲音和文本。

我們將通過建立一個(gè)假設(shè)的機(jī)票價(jià)格預(yù)估系統(tǒng)來闡述深度學(xué)習(xí)是如何運(yùn)作的。我們將應(yīng)用監(jiān)督學(xué)習(xí)方法來訓(xùn)練它。

我們想要該機(jī)票價(jià)格預(yù)估系統(tǒng)基于下列輸入來進(jìn)行預(yù)測(為了簡潔,我們除去了返程機(jī)票):

  • 起飛機(jī)場
  • 到達(dá)機(jī)場
  • 起飛日期
  • 航空公司

神經(jīng)網(wǎng)絡(luò)

接下來我們將視角轉(zhuǎn)向AI的“大腦”內(nèi)部。

人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡稱ANNs),也簡稱為神經(jīng)網(wǎng)絡(luò)(NNs)或稱作連接模型(Connection Model),它是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型。

Image credit: CS231n
這些神經(jīng)元又被分為三種層次:

  • 輸入層
  • 隱藏層
  • 輸出層

輸入層接收輸入數(shù)據(jù)。在本案例中,在輸入層中有4個(gè)神經(jīng)元:起飛機(jī)場,到達(dá)機(jī)場,起飛日期以及航空公司。輸入層將輸入傳遞給第一個(gè)隱藏層。

隱藏層針對我們的輸入進(jìn)行數(shù)學(xué)運(yùn)算。創(chuàng)建神經(jīng)網(wǎng)絡(luò)的一大難點(diǎn)便是決定隱藏層的層數(shù),以及每層中神經(jīng)元的個(gè)數(shù)。

深度學(xué)習(xí)中的“深度”所指的是擁有多于一層的隱藏層。

輸出層返回的是輸出數(shù)據(jù)。在本案例中,輸出層返回的是價(jià)格預(yù)測。

那么它到底是如何來運(yùn)算價(jià)格預(yù)測的呢?這便是我們將要揭曉的深度學(xué)習(xí)的奇妙之處了。

每兩個(gè)神經(jīng)元之間的連接,都對應(yīng)著一個(gè)權(quán)重。該權(quán)重決定了輸入值的重要程度。初始的權(quán)重會被隨機(jī)設(shè)定。

當(dāng)預(yù)測機(jī)票價(jià)格時(shí),起飛日期是決定價(jià)格的最重要的因素之一。因此,與起飛日期這個(gè)神經(jīng)元相連的連接將會有更高的權(quán)重。


每個(gè)神經(jīng)元都有一個(gè)激活函數(shù)。若沒有數(shù)學(xué)推導(dǎo),這些函數(shù)十分晦澀難懂。

簡而言之,激活函數(shù)的作用之一便是將神經(jīng)元的結(jié)果“標(biāo)準(zhǔn)化”。

一旦一組輸入數(shù)據(jù)通過了神經(jīng)網(wǎng)絡(luò)的所有層,神經(jīng)網(wǎng)絡(luò)將會通過輸出層返回輸出數(shù)據(jù)。

一點(diǎn)也不復(fù)雜,是吧?

訓(xùn)練神經(jīng)網(wǎng)絡(luò)

訓(xùn)練AI是深度學(xué)習(xí)中最難的部分了。這又是為什么呢?

  • 你需要一個(gè)龐大的數(shù)據(jù)集
  • 你還需要強(qiáng)大的算力

對于我們的機(jī)票價(jià)格預(yù)估系統(tǒng),我們需要得到過往的票價(jià)數(shù)據(jù)。由于起始機(jī)場和起飛時(shí)間擁有大量可能的組合,所以我們需要的是一個(gè)非常龐大的票價(jià)列表。

為了訓(xùn)練機(jī)票價(jià)格預(yù)估系統(tǒng)的AI,我們需要將數(shù)據(jù)集的數(shù)據(jù)給予該系統(tǒng),然后將它輸出的結(jié)果與數(shù)據(jù)集的輸出進(jìn)行比對。因?yàn)榇藭r(shí)AI仍然沒有受過訓(xùn)練,所以它的輸出將會是錯(cuò)誤的。

一旦我們遍歷完了整個(gè)數(shù)據(jù)集,我們便能創(chuàng)造出一個(gè)函數(shù),該函數(shù)告訴我們AI的輸出和真實(shí)輸出到底相差多少。這個(gè)函數(shù)我們稱為損失函數(shù)。

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

如何減小損失函數(shù)呢?

改變神經(jīng)元之間的權(quán)重。我們可以隨機(jī)地改變這些權(quán)重直到損失函數(shù)足夠小,但是這種方法并不夠高效。

取而代之地,我們應(yīng)用一種叫做梯度下降的技巧。

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

在每次數(shù)據(jù)集迭代之后,該方法以小增量的方式改變權(quán)重。通過計(jì)算損失函數(shù)在一組確定的權(quán)重集合上的導(dǎo)數(shù)(梯度),我們便能夠知悉最小值在哪個(gè)方向。

為了最小化損失函數(shù),你需要多次迭代數(shù)據(jù)集。這便是需要高算力的原因了。利用梯度下降更新權(quán)重的過程是自動進(jìn)行的。這便是深度學(xué)習(xí)的魔力所在!

一旦我們訓(xùn)練好機(jī)票價(jià)格預(yù)估的AI之后,我們便能夠用它來預(yù)測未來的價(jià)格了。

小結(jié)

  • 深度學(xué)習(xí)應(yīng)用神經(jīng)網(wǎng)絡(luò)來模仿動物智能。
  • 神經(jīng)網(wǎng)絡(luò)中有三個(gè)層次的神經(jīng)元:輸入層、隱藏層以及輸出層。
  • 神經(jīng)元之間的連接對應(yīng)一個(gè)權(quán)重,該權(quán)重決定了各輸入數(shù)據(jù)的重要程度。
  • 神經(jīng)元中應(yīng)用一個(gè)激活函數(shù)來“標(biāo)準(zhǔn)化”神經(jīng)元輸出的數(shù)據(jù)。
  • 你需要一個(gè)龐大的數(shù)據(jù)集來訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
  • 在數(shù)據(jù)集上迭代并與輸出結(jié)果相比較,我們將會得到一個(gè)損失函數(shù),損失函數(shù)能告訴我們AI生成的結(jié)果和真實(shí)結(jié)果相差多少。
  • 在每次數(shù)據(jù)集的迭代之后,都會利用梯度下降方法調(diào)整神經(jīng)元之間的權(quán)重,以減小損失函數(shù)。
  • 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎

    總結(jié)

    以上是生活随笔為你收集整理的深度学习基础知识介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。