0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PyTorch教程-9.3. 語言模型

jf_pJlTbmA9 ? 來源:PyTorch ? 作者:PyTorch ? 2023-06-05 15:44 ? 次閱讀

在9.2 節(jié)中,我們將看到如何將文本序列映射到標(biāo)記中,其中這些標(biāo)記可以被視為一系列離散的觀察結(jié)果,例如單詞或字符。假設(shè)文本序列中的標(biāo)記長度T依次是 x1,x2,…,xT. 語言模型的目標(biāo)是估計整個序列的聯(lián)合概率:

(9.3.1)P(x1,x2,…,xT),

其中可以應(yīng)用第 9.1 節(jié)中的統(tǒng)計工具。

語言模型非常有用。例如,一個理想的語言模型將能夠自行生成自然文本,只需一次繪制一個標(biāo)記即可 xt~P(xt∣xt?1,…,x1). 與使用打字機(jī)的猴子完全不同,從這種模型中出現(xiàn)的所有文本都將作為自然語言傳遞,例如英文文本。此外,只需在先前的對話片段上調(diào)節(jié)文本,就足以生成有意義的對話。顯然,我們離設(shè)計這樣一個系統(tǒng)還有很長的路要走,因為它需要理解文本,而不僅僅是生成語法合理的內(nèi)容。

盡管如此,語言模型即使在其有限的形式下也能提供很好的服務(wù)。例如,“to recognize speech”和“to wreck a nice beach”這兩個短語聽起來非常相似。這可能會導(dǎo)致語音識別中出現(xiàn)歧義,這很容易通過一種語言模型來解決,該模型拒絕將第二種翻譯認(rèn)為是古怪的。同樣,在文檔摘要算法中,值得知道“狗咬人”比“人咬狗”更頻繁,或者“我想吃奶奶”是一個相當(dāng)令人不安的陳述,而“我想吃,奶奶”要溫和得多。

import torch
from d2l import torch as d2l

from mxnet import np, npx
from d2l import mxnet as d2l

npx.set_np()

from jax import numpy as jnp
from d2l import jax as d2l

No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)

import tensorflow as tf
from d2l import tensorflow as d2l

9.3.1. 學(xué)習(xí)語言模型

顯而易見的問題是我們應(yīng)該如何對文檔甚至一系列標(biāo)記進(jìn)行建模。假設(shè)我們在單詞級別標(biāo)記文本數(shù)據(jù)。讓我們從應(yīng)用基本概率規(guī)則開始:

(9.3.2)P(x1,x2,…,xT)=∏t=1TP(xt∣x1,…,xt?1).

例如,包含四個單詞的文本序列的概率為:

(9.3.3)P(deep,learning,is,fun)=P(deep)P(learning∣deep)P(is∣deep,learning)P(fun∣deep,learning,is).

9.3.1.1. 馬爾可夫模型和n-克

在9.1節(jié)的序列模型分析中,我們將馬爾可夫模型應(yīng)用到語言建模中。序列上的分布滿足一階馬爾可夫性質(zhì),如果 P(xt+1∣xt,…,x1)=P(xt+1∣xt). 更高的階數(shù)對應(yīng)更長的依賴關(guān)系。這導(dǎo)致我們可以應(yīng)用一些近似值來對序列建模:

(9.3.4)P(x1,x2,x3,x4)=P(x1)P(x2)P(x3)P(x4),P(x1,x2,x3,x4)=P(x1)P(x2∣x1)P(x3∣x2)P(x4∣x3),P(x1,x2,x3,x4)=P(x1)P(x2∣x1)P(x3∣x1,x2)P(x4∣x2,x3).

涉及一個、兩個和三個變量的概率公式通常分別稱為一元模型、二元模型和三元模型。為了計算語言模型,我們需要計算單詞的概率和給定前幾個單詞的單詞的條件概率。請注意,此類概率是語言模型參數(shù)。

9.3.1.2. 詞頻

在這里,我們假設(shè)訓(xùn)練數(shù)據(jù)集是一個大型文本語料庫,例如所有維基百科詞條、古騰堡計劃和網(wǎng)絡(luò)上發(fā)布的所有文本。可以根據(jù)訓(xùn)練數(shù)據(jù)集中給定單詞的相對單詞頻率計算單詞的概率。例如,估計P^(deep)可以計算為任何以單詞“deep”開頭的句子的概率。一種不太準(zhǔn)確的方法是計算“deep”這個詞的所有出現(xiàn)次數(shù),然后除以語料庫中的單詞總數(shù)。這工作得很好,特別是對于頻繁出現(xiàn)的單詞。繼續(xù),我們可以嘗試估計

(9.3.5)P^(learning∣deep)=n(deep, learning)n(deep),

在哪里n(x)和n(x,x′)分別是單個詞和連續(xù)詞對的出現(xiàn)次數(shù)。不幸的是,估計單詞對的概率有點(diǎn)困難,因為“深度學(xué)習(xí)”的出現(xiàn)頻率要低得多。特別是,對于一些不常見的單詞組合,可能很難找到足夠多的出現(xiàn)次數(shù)來獲得準(zhǔn)確的估計。正如第 9.2.5 節(jié)中的實證結(jié)果所表明的那樣,對于三詞組合及以上,情況會變得更糟。將有許多我們可能不會在我們的數(shù)據(jù)集中看到的似是而非的三詞組合。除非我們提供一些解決方案來分配此類單詞組合的非零計數(shù),否則我們將無法在語言模型中使用它們。如果數(shù)據(jù)集很小或者單詞非常罕見,我們可能連一個都找不到。

9.3.1.3. 拉普拉斯平滑

一種常見的策略是執(zhí)行某種形式的拉普拉斯平滑。解決方案是為所有計數(shù)添加一個小常數(shù)。表示為n 訓(xùn)練集中的單詞總數(shù)和m唯一單詞的數(shù)量。該解決方案有助于單例,例如,通過

(9.3.6)P^(x)=n(x)+?1/mn+?1,P^(x′∣x)=n(x,x′)+?2P^(x′)n(x)+?2,P^(x″∣x,x′)=n(x,x′,x″)+?3P^(x″)n(x,x′)+?3.

這里?1,?2, 和?3是超參數(shù)。拿?1例如:當(dāng) ?1=0, 沒有應(yīng)用平滑;什么時候?1 接近正無窮大,P^(x)接近均勻概率1/m. 以上是其他技術(shù)可以實現(xiàn)的相當(dāng)原始的變體 (Wood等人,2011 年)。

不幸的是,由于以下原因,這樣的模型很快就會變得笨拙。首先,如第 9.2.5 節(jié)所述 ,許多n-grams 很少出現(xiàn),這使得拉普拉斯平滑不適合語言建模。其次,我們需要存儲所有計數(shù)。第三,這完全忽略了文字的意思。例如,“cat”和“feline”應(yīng)該出現(xiàn)在相關(guān)的語境中。很難將此類模型調(diào)整到其他上下文,而基于深度學(xué)習(xí)的語言模型非常適合將這一點(diǎn)考慮在內(nèi)。最后,長單詞序列幾乎肯定是新穎的,因此簡單地計算以前見過的單詞序列頻率的模型在這方面肯定表現(xiàn)不佳。因此,我們將在本章的其余部分重點(diǎn)介紹使用神經(jīng)網(wǎng)絡(luò)進(jìn)行語言建模。

9.3.2. 困惑

接下來,讓我們討論如何衡量語言模型的質(zhì)量,這將在后續(xù)部分中用于評估我們的模型。一種方法是檢查文本有多令人驚訝。一個好的語言模型能夠用高精度的標(biāo)記來預(yù)測我們接下來會看到什么??紤]不同語言模型提出的短語“It is raining”的以下延續(xù):

“外面下雨了”

“香蕉樹下雨了”

“正在下雨 piouw;kcj pwepoiut”

就質(zhì)量而言,示例 1 顯然是最好的。言辭合情合理,邏輯連貫。雖然它可能不能完全準(zhǔn)確地反映出哪個詞在語義上跟隨(“在舊金山”和“在冬天”將是完全合理的擴(kuò)展),但該模型能夠捕捉到哪個詞跟隨在后面。示例 2 通過生成無意義的擴(kuò)展而變得相當(dāng)糟糕。盡管如此,至少該模型已經(jīng)學(xué)會了如何拼寫單詞以及單詞之間的某種程度的相關(guān)性。最后,示例 3 表明訓(xùn)練有素的模型無法正確擬合數(shù)據(jù)。

我們可以通過計算序列的可能性來衡量模型的質(zhì)量。不幸的是,這是一個難以理解和比較的數(shù)字。畢竟,較短的序列比較長的序列更有可能出現(xiàn),因此評估托爾斯泰的巨著《戰(zhàn)爭與和平》中的模型將不可避免地產(chǎn)生比圣埃克蘇佩里的中篇小說《小王子》小得多的可能性。缺少的是相當(dāng)于平均值。

信息論在這里派上用場。我們在介紹 softmax 回歸時定義了熵、驚奇和交叉熵(第 4.1.3 節(jié))。如果我們想壓縮文本,我們可以詢問在給定當(dāng)前標(biāo)記集的情況下預(yù)測下一個標(biāo)記。更好的語言模型應(yīng)該能讓我們更準(zhǔn)確地預(yù)測下一個標(biāo)記。因此,它應(yīng)該允許我們在壓縮序列時花費(fèi)更少的比特。所以我們可以通過對所有數(shù)據(jù)進(jìn)行平均的交叉熵?fù)p失來衡量它n序列的標(biāo)記:

(9.3.7)1n∑t=1n?log?P(xt∣xt?1,…,x1),

在哪里P由語言模型給出,并且xt是在時間步觀察到的實際標(biāo)記t從序列。這使得不同長度文檔的性能具有可比性。由于歷史原因,自然語言處理領(lǐng)域的科學(xué)家更喜歡使用一種叫做困惑度的量。簡而言之,它是(9.3.7)的指數(shù):

(9.3.8)exp?(?1n∑t=1nlog?P(xt∣xt?1,…,x1)).

困惑度可以最好地理解為我們在決定下一步選擇哪個標(biāo)記時所擁有的實際選擇數(shù)量的幾何平均值。讓我們看一些案例:

在最好的情況下,模型總是完美地將目標(biāo)標(biāo)記的概率估計為 1。在這種情況下,模型的困惑度為 1。

在最壞的情況下,模型總是預(yù)測目標(biāo)標(biāo)記的概率為 0。在這種情況下,困惑度為正無窮大。

在基線上,該模型預(yù)測詞匯表中所有可用標(biāo)記的均勻分布。在這種情況下,困惑度等于詞匯表中唯一標(biāo)記的數(shù)量。事實上,如果我們要在不進(jìn)行任何壓縮的情況下存儲序列,這將是我們對它進(jìn)行編碼所能做的最好的事情。因此,這提供了一個重要的上限,任何有用的模型都必須擊敗它。

9.3.3. 分區(qū)序列

我們將使用神經(jīng)網(wǎng)絡(luò)設(shè)計語言模型,并使用困惑度來評估模型在給定文本序列中的當(dāng)前標(biāo)記集的情況下預(yù)測下一個標(biāo)記的能力。在介紹該模型之前,我們假設(shè)它一次處理一小批具有預(yù)定義長度的序列。現(xiàn)在的問題是如何隨機(jī)讀取輸入序列和目標(biāo)序列的小批量。

假設(shè)數(shù)據(jù)集采用一系列的形式T中的令牌索引corpus。我們將把它分成子序列,其中每個子序列有n令牌(時間步長)。為每個時期迭代(幾乎)整個數(shù)據(jù)集的所有標(biāo)記并獲得所有可能的長度 -n子序列,我們可以引入隨機(jī)性。更具體地說,在每個時代的開始,丟棄第一個d令牌,在哪里d∈[0,n)是隨機(jī)均勻采樣的。然后將序列的其余部分劃分為 m=?(T?d)/n?子序列。表示為 xt=[xt,…,xt+n?1]長度-n 從令牌開始的子序列xt在時間步t. 所結(jié)果的m分區(qū)子序列是 xd,xd+n,…,xd+n(m?1).每個子序列將用作語言模型的輸入序列。

對于語言建模,目標(biāo)是根據(jù)我們目前看到的標(biāo)記預(yù)測下一個標(biāo)記,因此目標(biāo)(標(biāo)簽)是原始序列,移動一個標(biāo)記。任何輸入序列的目標(biāo)序列xt是xt+1有長度n.

pYYBAGR9NmyAYow8AAIPqjz08xs740.svg

圖 9.3.1從分割的長度為 5 的子序列中獲得 5 對輸入序列和目標(biāo)序列。

圖 9.3.1顯示了獲得 5 對輸入序列和目標(biāo)序列的示例n=5和d=2.

@d2l.add_to_class(d2l.TimeMachine) #@save
def __init__(self, batch_size, num_steps, num_train=10000, num_val=5000):
  super(d2l.TimeMachine, self).__init__()
  self.save_hyperparameters()
  corpus, self.vocab = self.build(self._download())
  array = torch.tensor([corpus[i:i+num_steps+1]
            for i in range(len(corpus)-num_steps)])
  self.X, self.Y = array[:,:-1], array[:,1:]

@d2l.add_to_class(d2l.TimeMachine) #@save
def __init__(self, batch_size, num_steps, num_train=10000, num_val=5000):
  super(d2l.TimeMachine, self).__init__()
  self.save_hyperparameters()
  corpus, self.vocab = self.build(self._download())
  array = np.array([corpus[i:i+num_steps+1]
            for i in range(len(corpus)-num_steps)])
  self.X, self.Y = array[:,:-1], array[:,1:]

@d2l.add_to_class(d2l.TimeMachine) #@save
def __init__(self, batch_size, num_steps, num_train=10000, num_val=5000):
  super(d2l.TimeMachine, self).__init__()
  self.save_hyperparameters()
  corpus, self.vocab = self.build(self._download())
  array = jnp.array([corpus[i:i+num_steps+1]
            for i in range(len(corpus)-num_steps)])
  self.X, self.Y = array[:,:-1], array[:,1:]

@d2l.add_to_class(d2l.TimeMachine) #@save
def __init__(self, batch_size, num_steps, num_train=10000, num_val=5000):
  super(d2l.TimeMachine, self).__init__()
  self.save_hyperparameters()
  corpus, self.vocab = self.build(self._download())
  array = tf.constant([corpus[i:i+num_steps+1]
            for i in range(len(corpus)-num_steps)])
  self.X, self.Y = array[:,:-1], array[:,1:]

為了訓(xùn)練語言模型,我們將在小批量中隨機(jī)抽取輸入序列和目標(biāo)序列對。以下數(shù)據(jù)加載器每次從數(shù)據(jù)集中隨機(jī)生成一個小批量。參數(shù) batch_size指定每個小批量中子序列示例的數(shù)量,并且num_steps是以標(biāo)記為單位的子序列長度。

@d2l.add_to_class(d2l.TimeMachine) #@save
def get_dataloader(self, train):
  idx = slice(0, self.num_train) if train else slice(
    self.num_train, self.num_train + self.num_val)
  return self.get_tensorloader([self.X, self.Y], train, idx)

正如我們在下面看到的,可以通過將輸入序列移動一個標(biāo)記來獲得一小批目標(biāo)序列。

data = d2l.TimeMachine(batch_size=2, num_steps=10)
for X, Y in data.train_dataloader():
  print('X:', X, 'nY:', Y)
  break

X: tensor([[ 0, 5, 10, 14, 6, 15, 20, 10, 16, 15],
    [ 5, 10, 7, 7, 6, 19, 6, 15, 4, 6]])
Y: tensor([[ 5, 10, 14, 6, 15, 20, 10, 16, 15, 0],
    [10, 7, 7, 6, 19, 6, 15, 4, 6, 0]])

data = d2l.TimeMachine(batch_size=2, num_steps=10)
for X, Y in data.train_dataloader():
  print('X:', X, 'nY:', Y)
  break

X: [[14. 6. 15. 21. 0. 14. 26. 0. 5. 6.]
 [ 0. 2. 0. 7. 16. 22. 19. 21. 9. 0.]]
Y: [[ 6. 15. 21. 0. 14. 26. 0. 5. 6. 2.]
 [ 2. 0. 7. 16. 22. 19. 21. 9. 0. 5.]]

data = d2l.TimeMachine(batch_size=2, num_steps=10)
for X, Y in data.train_dataloader():
  print('X:', X, 'nY:', Y)
  break

X: [[13 10 14 10 21 20 0 22 20 0]
 [ 0 14 16 23 6 20 0 10 15 21]]
Y: [[10 14 10 21 20 0 22 20 0 21]
 [14 16 23 6 20 0 10 15 21 6]]

data = d2l.TimeMachine(batch_size=2, num_steps=10)
for X, Y in data.train_dataloader():
  print('X:', X, 'nY:', Y)
  break

X: tf.Tensor(
[[13 26 0 21 24 16 0 5 10 14]
 [22 20 15 6 20 20 0 14 16 23]], shape=(2, 10), dtype=int32)
Y: tf.Tensor(
[[26 0 21 24 16 0 5 10 14 6]
 [20 15 6 20 20 0 14 16 23 6]], shape=(2, 10), dtype=int32)

9.3.4. 總結(jié)與討論

語言模型估計文本序列的聯(lián)合概率。對于長序列,n-grams 通過截斷依賴關(guān)系提供了一個方便的模型。然而,有很多結(jié)構(gòu)但沒有足夠的頻率來通過拉普拉斯平滑有效地處理不常見的單詞組合。因此,我們將在后續(xù)部分重點(diǎn)介紹神經(jīng)語言建模。為了訓(xùn)練語言模型,我們可以在小批量中隨機(jī)抽取輸入序列和目標(biāo)序列對。訓(xùn)練結(jié)束后,我們將使用 perplexity 來衡量語言模型的質(zhì)量。

語言模型可以隨著數(shù)據(jù)大小、模型大小和訓(xùn)練計算量的增加而擴(kuò)展。大型語言模型可以通過給定輸入文本指令預(yù)測輸出文本來執(zhí)行所需的任務(wù)。正如我們稍后將討論的(例如, 第 11.9 節(jié)),目前,大型語言模型構(gòu)成了跨不同任務(wù)的最先進(jìn)系統(tǒng)的基礎(chǔ)。

9.3.5. 練習(xí)

假設(shè)有100,000訓(xùn)練數(shù)據(jù)集中的單詞。一個四文庫需要存儲多少詞頻和多詞鄰頻?

你將如何模擬對話?

您還能想到哪些其他方法來讀取長序列數(shù)據(jù)?

考慮我們在每個紀(jì)元開始時丟棄前幾個標(biāo)記的均勻隨機(jī)數(shù)的方法。

它真的會導(dǎo)致文檔序列的完美均勻分布嗎?

你必須做些什么才能使事情變得更加統(tǒng)一?

如果我們想讓一個序列示例是一個完整的句子,這在小批量抽樣中會引入什么樣的問題?我們?nèi)绾谓鉀Q這個問題?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 語言模型
    +關(guān)注

    關(guān)注

    0

    文章

    487

    瀏覽量

    10201
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    794

    瀏覽量

    13010
收藏 人收藏

    評論

    相關(guān)推薦

    請問電腦端Pytorch訓(xùn)練的模型如何轉(zhuǎn)化為能在ESP32S3平臺運(yùn)行的模型

    由題目, 電腦端Pytorch訓(xùn)練的模型如何轉(zhuǎn)化為能在ESP32S3平臺運(yùn)行的模型? 如何把這個Pytorch模型燒錄到ESP32S3上去?
    發(fā)表于 06-27 06:06

    Pytorch模型訓(xùn)練實用PDF教程【中文】

    ?模型部分?還是優(yōu)化器?只有這樣不斷的通過可視化診斷你的模型,不斷的對癥下藥,才能訓(xùn)練出一個較滿意的模型。本教程內(nèi)容及結(jié)構(gòu):本教程內(nèi)容主要為在 PyTorch 中訓(xùn)練一個
    發(fā)表于 12-21 09:18

    Pytorch模型如何通過paddlelite部署到嵌入式設(shè)備?

    Pytorch模型如何通過paddlelite部署到嵌入式設(shè)備?
    發(fā)表于 12-23 09:38

    怎樣去解決pytorch模型一直無法加載的問題呢

    rknn的模型轉(zhuǎn)換過程是如何實現(xiàn)的?怎樣去解決pytorch模型一直無法加載的問題呢?
    發(fā)表于 02-11 06:03

    pytorch模型轉(zhuǎn)化為onxx模型的步驟有哪些

    首先pytorch模型要先轉(zhuǎn)化為onxx模型,然后從onxx模型轉(zhuǎn)化為rknn模型直接轉(zhuǎn)化會出現(xiàn)如下問題,環(huán)境都是正確的,論壇詢問后也沒給出
    發(fā)表于 05-09 16:36

    怎樣使用PyTorch Hub去加載YOLOv5模型

    在Python>=3.7.0環(huán)境中安裝requirements.txt,包括PyTorch>=1.7。模型和數(shù)據(jù)集從最新的 YOLOv5版本自動下載。簡單示例此示例從
    發(fā)表于 07-22 16:02

    通過Cortex來非常方便的部署PyTorch模型

    到軟件中。如何從“跨語言語言模型”轉(zhuǎn)換為谷歌翻譯?在這篇博客文章中,我們將了解在生產(chǎn)環(huán)境中使用 PyTorch 模型意味著什么,然后介紹一種允許部署任何
    發(fā)表于 11-01 15:25

    Pytorch模型轉(zhuǎn)換為DeepViewRT模型時出錯怎么解決?

    我正在尋求您的幫助以解決以下問題.. 我在 Windows 10 上安裝了 eIQ Toolkit 1.7.3,我想將我的 Pytorch 模型轉(zhuǎn)換為 DeepViewRT (.rtm) 模型,這樣
    發(fā)表于 06-09 06:42

    如何將PyTorch模型與OpenVINO trade結(jié)合使用?

    無法確定如何轉(zhuǎn)換 PyTorch 掩碼 R-CNN 模型以配合OpenVINO?使用。
    發(fā)表于 08-15 07:04

    pytorch模型轉(zhuǎn)換需要注意的事項有哪些?

    什么是JIT(torch.jit)? 答:JIT(Just-In-Time)是一組編譯工具,用于彌合PyTorch研究與生產(chǎn)之間的差距。它允許創(chuàng)建可以在不依賴Python解釋器的情況下運(yùn)行的模型
    發(fā)表于 09-18 08:05

    PyTorch教程9.3.語言模型

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程9.3.語言模型.pdf》資料免費(fèi)下載
    發(fā)表于 06-05 09:59 ?0次下載
    <b class='flag-5'>PyTorch</b>教程<b class='flag-5'>9.3.</b>之<b class='flag-5'>語言</b><b class='flag-5'>模型</b>

    如何加速生成2 PyTorch擴(kuò)散模型

    加速生成2 PyTorch擴(kuò)散模型
    的頭像 發(fā)表于 09-04 16:09 ?960次閱讀
    如何加速生成2 <b class='flag-5'>PyTorch</b>擴(kuò)散<b class='flag-5'>模型</b>

    使用PyTorch搭建Transformer模型

    Transformer模型自其問世以來,在自然語言處理(NLP)領(lǐng)域取得了巨大的成功,并成為了許多先進(jìn)模型(如BERT、GPT等)的基礎(chǔ)。本文將深入解讀如何使用PyTorch框架搭建T
    的頭像 發(fā)表于 07-02 11:41 ?1066次閱讀

    如何使用PyTorch建立網(wǎng)絡(luò)模型

    PyTorch是一個基于Python的開源機(jī)器學(xué)習(xí)庫,因其易用性、靈活性和強(qiáng)大的動態(tài)圖特性,在深度學(xué)習(xí)領(lǐng)域得到了廣泛應(yīng)用。本文將從PyTorch的基本概念、網(wǎng)絡(luò)模型構(gòu)建、優(yōu)化方法、實際應(yīng)用等多個方面,深入探討使用
    的頭像 發(fā)表于 07-02 14:08 ?247次閱讀

    pytorch中有神經(jīng)網(wǎng)絡(luò)模型

    當(dāng)然,PyTorch是一個廣泛使用的深度學(xué)習(xí)框架,它提供了許多預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型。 PyTorch中的神經(jīng)網(wǎng)絡(luò)模型 1. 引言 深度學(xué)習(xí)是一種基于人工神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)技術(shù),它在圖像
    的頭像 發(fā)表于 07-11 09:59 ?527次閱讀